nextcloud / nextcloud/deck

Creating a new board with a too long title yields a DB error

Open
#4,002 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop backend bug feature: boards
Dominant language
JavaScript
Stars
1.4k
Forks
354
Avg merge
1d 10h
Merged PRs (30d)
43

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

The error should be prevented so that users can not post too big data against the DB.

Use this as board name for testing:

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lore
Technical details

    Remote Address: ::1
    Request ID: YwixtzO3XrTZ3svw5yYSqwAAAAE
    Type: OC\DB\Exceptions\DbalException
    Code: 1406
    Message: An exception occurred while executing a query: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'title' at row 1
    File: /home/nickv/Nextcloud/25/server/lib/private/DB/Exceptions/DbalException.php
    Line: 71


Trace

#0 /home/nickv/Nextcloud/25/server/lib/private/DB/QueryBuilder/QueryBuilder.php(329): OC\DB\Exceptions\DbalException::wrap()
#1 /home/nickv/Nextcloud/25/server/lib/public/AppFramework/Db/QBMapper.php(139): OC\DB\QueryBuilder\QueryBuilder->executeStatement()
#2 /home/nickv/Nextcloud/25/server/appssubscriptions/deck/lib/Service/BoardService.php(317): OCP\AppFramework\Db\QBMapper->insert()
#3 /home/nickv/Nextcloud/25/server/appssubscriptions/deck/lib/Controller/BoardController.php(70): OCA\Deck\Service\BoardService->create()
#4 /home/nickv/Nextcloud/25/server/lib/private/AppFramework/Http/Dispatcher.php(225): OCA\Deck\Controller\BoardController->create()
#5 /home/nickv/Nextcloud/25/server/lib/private/AppFramework/Http/Dispatcher.php(133): OC\AppFramework\Http\Dispatcher->executeController()
#6 /home/nickv/Nextcloud/25/server/lib/private/AppFramework/App.php(172): OC\AppFramework\Http\Dispatcher->dispatch()
#7 /home/nickv/Nextcloud/25/server/lib/private/Route/Router.php(298): OC\AppFramework\App::main()
#8 /home/nickv/Nextcloud/25/server/lib/base.php(1042): OC\Route\Router->match()
#9 /home/nickv/Nextcloud/25/server/index.php(36): OC::handleRequest()
#10 {main}


Previous

#0 /home/nickv/Nextcloud/25/server/3rdparty/doctrine/dbal/src/Connection.php(1780): Doctrine\DBAL\Driver\API\MySQL\ExceptionConverter->convert()
#1 /home/nickv/Nextcloud/25/server/3rdparty/doctrine/dbal/src/Connection.php(1719): Doctrine\DBAL\Connection->handleDriverException()
#2 /home/nickv/Nextcloud/25/server/3rdparty/doctrine/dbal/src/Connection.php(1173): Doctrine\DBAL\Connection->convertExceptionDuringQuery()
#3 /home/nickv/Nextcloud/25/server/lib/private/DB/Connection.php(294): Doctrine\DBAL\Connection->executeStatement()
#4 /home/nickv/Nextcloud/25/server/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(354): OC\DB\Connection->executeStatement()
#5 /home/nickv/Nextcloud/25/server/lib/private/DB/QueryBuilder/QueryBuilder.php(281): Doctrine\DBAL\Query\QueryBuilder->execute()
#6 /home/nickv/Nextcloud/25/server/lib/private/DB/QueryBuilder/QueryBuilder.php(327): OC\DB\QueryBuilder\QueryBuilder->execute()
#7 /home/nickv/Nextcloud/25/server/lib/public/AppFramework/Db/QBMapper.php(139): OC\DB\QueryBuilder\QueryBuilder->executeStatement()
#8 /home/nickv/Nextcloud/25/server/appssubscriptions/deck/lib/Service/BoardService.php(317): OCP\AppFramework\Db\QBMapper->insert()
#9 /home/nickv/Nextcloud/25/server/appssubscriptions/deck/lib/Controller/BoardController.php(70): OCA\Deck\Service\BoardService->create()
#10 /home/nickv/Nextcloud/25/server/lib/private/AppFramework/Http/Dispatcher.php(225): OCA\Deck\Controller\BoardController->create()
#11 /home/nickv/Nextcloud/25/server/lib/private/AppFramework/Http/Dispatcher.php(133): OC\AppFramework\Http\Dispatcher->executeController()
#12 /home/nickv/Nextcloud/25/server/lib/private/AppFramework/App.php(172): OC\AppFramework\Http\Dispatcher->dispatch()
#13 /home/nickv/Nextcloud/25/server/lib/private/Route/Router.php(298): OC\AppFramework\App::main()
#14 /home/nickv/Nextcloud/25/server/lib/base.php(1042): OC\Route\Router->match()
#15 /home/nickv/Nextcloud/25/server/index.php(36): OC::handleRequest()
#16 {main}


Previous

#0 /home/nickv/Nextcloud/25/server/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php(94): Doctrine\DBAL\Driver\PDO\Exception::new()
#1 /home/nickv/Nextcloud/25/server/3rdparty/doctrine/dbal/src/Connection.php(1163): Doctrine\DBAL\Driver\PDO\Statement->execute()
#2 /home/nickv/Nextcloud/25/server/lib/private/DB/Connection.php(294): Doctrine\DBAL\Connection->executeStatement()
#3 /home/nickv/Nextcloud/25/server/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(354): OC\DB\Connection->executeStatement()
#4 /home/nickv/Nextcloud/25/server/lib/private/DB/QueryBuilder/QueryBuilder.php(281): Doctrine\DBAL\Query\QueryBuilder->execute()
#5 /home/nickv/Nextcloud/25/server/lib/private/DB/QueryBuilder/QueryBuilder.php(327): OC\DB\QueryBuilder\QueryBuilder->execute()
#6 /home/nickv/Nextcloud/25/server/lib/public/AppFramework/Db/QBMapper.php(139): OC\DB\QueryBuilder\QueryBuilder->executeStatement()
#7 /home/nickv/Nextcloud/25/server/appssubscriptions/deck/lib/Service/BoardService.php(317): OCP\AppFramework\Db\QBMapper->insert()
#8 /home/nickv/Nextcloud/25/server/appssubscriptions/deck/lib/Controller/BoardController.php(70): OCA\Deck\Service\BoardService->create()
#9 /home/nickv/Nextcloud/25/server/lib/private/AppFramework/Http/Dispatcher.php(225): OCA\Deck\Controller\BoardController->create()
#10 /home/nickv/Nextcloud/25/server/lib/private/AppFramework/Http/Dispatcher.php(133): OC\AppFramework\Http\Dispatcher->executeController()
#11 /home/nickv/Nextcloud/25/server/lib/private/AppFramework/App.php(172): OC\AppFramework\Http\Dispatcher->dispatch()
#12 /home/nickv/Nextcloud/25/server/lib/private/Route/Router.php(298): OC\AppFramework\App::main()
#13 /home/nickv/Nextcloud/25/server/lib/base.php(1042): OC\Route\Router->match()
#14 /home/nickv/Nextcloud/25/server/index.php(36): OC::handleRequest()
#15 {main}


Previous

#0 /home/nickv/Nextcloud/25/server/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php(92): PDOStatement->execute()
#1 /home/nickv/Nextcloud/25/server/3rdparty/doctrine/dbal/src/Connection.php(1163): Doctrine\DBAL\Driver\PDO\Statement->execute()
#2 /home/nickv/Nextcloud/25/server/lib/private/DB/Connection.php(294): Doctrine\DBAL\Connection->executeStatement()
#3 /home/nickv/Nextcloud/25/server/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(354): OC\DB\Connection->executeStatement()
#4 /home/nickv/Nextcloud/25/server/lib/private/DB/QueryBuilder/QueryBuilder.php(281): Doctrine\DBAL\Query\QueryBuilder->execute()
#5 /home/nickv/Nextcloud/25/server/lib/private/DB/QueryBuilder/QueryBuilder.php(327): OC\DB\QueryBuilder\QueryBuilder->execute()
#6 /home/nickv/Nextcloud/25/server/lib/public/AppFramework/Db/QBMapper.php(139): OC\DB\QueryBuilder\QueryBuilder->executeStatement()
#7 /home/nickv/Nextcloud/25/server/appssubscriptions/deck/lib/Service/BoardService.php(317): OCP\AppFramework\Db\QBMapper->insert()
#8 /home/nickv/Nextcloud/25/server/appssubscriptions/deck/lib/Controller/BoardController.php(70): OCA\Deck\Service\BoardService->create()
#9 /home/nickv/Nextcloud/25/server/lib/private/AppFramework/Http/Dispatcher.php(225): OCA\Deck\Controller\BoardController->create()
#10 /home/nickv/Nextcloud/25/server/lib/private/AppFramework/Http/Dispatcher.php(133): OC\AppFramework\Http\Dispatcher->executeController()
#11 /home/nickv/Nextcloud/25/server/lib/private/AppFramework/App.php(172): OC\AppFramework\Http\Dispatcher->dispatch()
#12 /home/nickv/Nextcloud/25/server/lib/private/Route/Router.php(298): OC\AppFramework\App::main()
#13 /home/nickv/Nextcloud/25/server/lib/base.php(1042): OC\Route\Router->match()
#14 /home/nickv/Nextcloud/25/server/index.php(36): OC::handleRequest()
#15 {main}

[Nextcloud](https://nextcloud.com/) – a safe home for all your data

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The trace points to appssubscriptions/deck/lib/Service/BoardService.php create() and appssubscriptions/deck/lib/Controller/BoardController.php create(). Start by tracing board creation from the controller into the service, then verify that an overlong title is rejected before the database exception while normal titles still create successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
mysql, php
Domain
backend, databases
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.