Skip to content

gpxpod stopped working: Unknown column 'token' in 'field list'

Hello,

first of all thank you for the great app. Unfortunately it stopped working a few weeks ago. I hoped, there would be an update so I waited a little.

My installation:

  • Debian Buster
  • Nextcloud 18
  • Gpxpod 4.2.1
  • MariaDB 10.1
  • PHP 7.3

When I try to use the gpxpod app, I get an error in the web ui

Internal Server Error

The server was unable to complete your request.
If this happens again, please send the technical details below to the server administrator.
More details can be found in the server log.

The logs in the admin window are more verbose. It seems that a column was forgotten to be added to the database. I manually looked for it but I was also unable to find it.

[index] Error: Doctrine\DBAL\Exception\InvalidFieldNameException: An exception occurred while executing 'SELECT `servername`, `type`, `url`, `layers`, `version`, `token`, `format`, `opacity`, `transparent`, `minzoom`, `maxzoom`, `attribution` FROM `oc_gpxpod_tile_servers` `ts` WHERE (`user` = ?) AND (`type` = ?)' with params ["MyUser", "tile"]:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'token' in 'field list' at <<closure>>

 0. /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php line 169
    Doctrine\DBAL\Driver\AbstractMySQLDriver->convertException("An exception oc ... '", Doctrine\DBAL\Dr ... ]})
 1. /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php line 145
    Doctrine\DBAL\DBALException::wrapException(Doctrine\DBAL\Driver\PDOMySql\Driver {}, Doctrine\DBAL\Dr ... ]}, "An exception oc ... '")
 2. /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php line 911
    Doctrine\DBAL\DBALException::driverExceptionDuringQuery(Doctrine\DBAL\Driver\PDOMySql\Driver {}, Doctrine\DBAL\Dr ... ]}, "SELECT `servern ... )", {1: "MyUser",2: "tile"})
 3. /var/www/nextcloud/lib/private/DB/Connection.php line 199
    Doctrine\DBAL\Connection->executeQuery("SELECT `servern ... )", ["MyUser","tile"], [2,2], null)
 4. /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php line 200
    OC\DB\Connection->executeQuery("SELECT `servern ... )", {dcValue1: "Lord ... "}, {dcValue1: 2,dcValue2: 2})
 5. /var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php line 215
    Doctrine\DBAL\Query\QueryBuilder->execute()
 6. /var/www/nextcloud/apps/gpxpod/controller/pagecontroller.php line 158
    OC\DB\QueryBuilder\QueryBuilder->execute()
 7. /var/www/nextcloud/apps/gpxpod/controller/pagecontroller.php line 253
    OCA\GpxPod\Controller\PageController->getUserTileServers("tile")
 8. /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php line 170
    OCA\GpxPod\Controller\PageController->index()
 9. /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php line 99
    OC\AppFramework\Http\Dispatcher->executeController(OCA\GpxPod\Contr ... }}, "index")
10. /var/www/nextcloud/lib/private/AppFramework/App.php line 125
    OC\AppFramework\Http\Dispatcher->dispatch(OCA\GpxPod\Contr ... }}, "index")
11. /var/www/nextcloud/lib/private/AppFramework/Routing/RouteActionHandler.php line 47
    OC\AppFramework\App::main("OCA\\GpxPod\\Controller\\PageController", "index", OC\AppFramework\ ... {}, {_route: "gpxpod.page.index"})
12. <<closure>>
    OC\AppFramework\Routing\RouteActionHandler->__invoke({_route: "gpxpod.page.index"})
13. /var/www/nextcloud/lib/private/Route/Router.php line 299
    call_user_func(OC\AppFramework\ ... {}, {_route: "gpxpod.page.index"})
14. /var/www/nextcloud/lib/base.php line 1008
    OC\Route\Router->match("/apps/gpxpod/")
15. /var/www/nextcloud/index.php line 38
    OC::handleRequest()

GET /nextcloud/index.php/apps/gpxpod/

I also tried to install the latest version from the git repo:

sudo apt-get install npm
sudo npm i -g npx
git clone https://gitlab.com/eneiluj/gpxpod-oc gpxpod
make dev

and finally, I copied the gpxpod dir to the nextcloud/app directory. But this did not work. I guess I was missing some steps.

Regards Michael