nextcloud / nextcloud/notes

Errors occur when creating or removing a note: `Could not insert meta data for note`

Open
#1,363 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug need to reproduce
Dominant language
JavaScript
Stars
738
Forks
162
Avg merge
6h 2m
Merged PRs (30d)
35

Description

Steps to reproduce

  1. create a new note
  2. write "test"
  3. save it
  4. create a new note again
  5. write "dvd"
  6. save it
  7. delete the "dvd" note
  8. check the notes
Expected behaviour

no errors in nextcloud.log

Actual behaviour

when I remove a note I get a lot of errors in nextcloud.log; I used to get the same at creation but now it seems to no longer happen

Screenshots

sometimes, at creation, I get the following error message:
IMG_1707

Server

  • Notes app version: 4.10.1
  • Nextcloud version: 29.0.7.1
  • OS: Ubuntu 23.10
  • Web server: nginx 1.27.1
  • PHP version: 8.2.10-2ubuntu2.2
  • Database: mysql 8.0.37

Nextcloud configuration:

{
    "system": {
        "default_phone_region": "RO",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "adrhc.go.ro"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "logtimezone": "Europe\/Bucharest",
        "debug": false,
        "logfilemode": 432,
        "logfile": "\/home\/gigi\/apps\/log\/nextcloud.log",
        "loglevel": 2,
        "log_rotate_size": 10485760,
        "dbtype": "mysql",
        "version": "29.0.7.1",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "theme": "",
        "maintenance": false,
        "trashbin_retention_obligation": "auto",
        "overwriteprotocol": "https",
        "overwritehost": "adrhc.go.ro",
        "overwritewebroot": "\/nextcloud",
        "overwrite.cli.url": "https:\/\/adrhc.go.ro\/nextcloud",
        "preview_max_memory": 4096,
        "preview_max_filesize_image": 256,
        "enabledPreviewProviders": [
            "OC\\Preview\\Illustrator",
            "OC\\Preview\\Movie",
            "OC\\Preview\\MSOffice2003",
            "OC\\Preview\\MSOffice2007",
            "OC\\Preview\\MSOfficeDoc",
            "OC\\Preview\\PDF",
            "OC\\Preview\\Photoshop",
            "OC\\Preview\\Postscript",
            "OC\\Preview\\StarOffice",
            "OC\\Preview\\SVG",
            "OC\\Preview\\TIFF",
            "OC\\Preview\\Font",
            "OC\\Preview\\PNG",
            "OC\\Preview\\JPEG",
            "OC\\Preview\\GIF",
            "OC\\Preview\\BMP",
            "OC\\Preview\\XBitmap",
            "OC\\Preview\\MP3",
            "OC\\Preview\\TXT",
            "OC\\Preview\\MarkDown",
            "OC\\Preview\\OpenDocument",
            "OC\\Preview\\Krita",
            "OC\\Preview\\Image",
            "OC\\Preview\\HEIC"
        ],
        "defaultapp": "",
        "check_for_working_htaccess": false,
        "memories.exiftool": "\/home\/gigi\/apps\/opt\/php-pages\/nextcloud-29.0.6\/apps\/memories\/bin-ext\/exiftool-amd64-glibc",
        "memories.vod.path": "\/home\/gigi\/apps\/opt\/php-pages\/nextcloud-29.0.6\/apps\/memories\/bin-ext\/go-vod-amd64",
        "memories.vod.ffmpeg": "\/usr\/bin\/ffmpeg",
        "memories.vod.ffprobe": "\/usr\/bin\/ffprobe",
        "memories.db.triggers.fcu": true,
        "memories.vod.vaapi": true,
        "memories.gis_type": 1,
        "memories.index.path.blacklist": "\\\/@(Recycle|eaDir)|\\.trash|Documents\\\/Concediu GR 2024|Pt job|Templates\\\/"
    }
}

Client

Please complete the following information.

  • Browser (incl. version): Safari (I'm not using the browser but the Nextcloud Notes iOS application!)
  • OS: iOS17.6.1
  • Nextcloud Notes (iOS application): 4.2.0

Log files (see more in the attachment)

nextcloud.log

{"reqId":"FJYM0afl1sBkaNumIDWk","level":2,"time":"2024-09-14T19:56:11+03:00","remoteAddr":"192.168.0.2","user":"gigi","app":"notes","method":"PUT","url":"/nextcloud/index.php/apps/notes/api/v0.2/notes/495993","message":"Could not insert meta data for note 495993","userAgent":"Nextcloud Notes/4.2.0 (com.peterandlinda.iOCNotes; build:0; iOS 17.6.1) Alamofire/5.6.4","version":"29.0.7.1","exception":{"Exception":"OC\\DB\\Exceptions\\DbalException","Message":"An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '495993-gigi' for key 'oc_notes_meta.notes_meta_file_user_index'","Code":1062,"Trace":[{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/DB/QueryBuilder/QueryBuilder.php","line":328,"function":"wrap","class":"OC\\DB\\Exceptions\\DbalException","type":"::"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/public/AppFramework/Db/QBMapper.php","line":137,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/MetaService.php","line":141,"function":"insert","class":"OCP\\AppFramework\\Db\\QBMapper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/MetaService.php","line":117,"function":"createMeta","class":"OCA\\Notes\\Service\\MetaService","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/NotesService.php","line":74,"function":"update","class":"OCA\\Notes\\Service\\MetaService","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/Helper.php","line":46,"function":"get","class":"OCA\\Notes\\Service\\NotesService","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":170,"function":"getNoteWithETagCheck","class":"OCA\\Notes\\Controller\\Helper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/Util.php","line":26,"function":"OCA\\Notes\\Controller\\{closure}","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/Helper.php","line":140,"function":"retryIfLocked","class":"OCA\\Notes\\Service\\Util","type":"::"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":162,"function":"handleErrorResponse","class":"OCA\\Notes\\Controller\\Helper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":209,"function":"update","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/Util.php","line":26,"function":"OCA\\Notes\\Controller\\{closure}","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/Helper.php","line":140,"function":"retryIfLocked","class":"OCA\\Notes\\Service\\Util","type":"::"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":202,"function":"handleErrorResponse","class":"OCA\\Notes\\Controller\\Helper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/AppFramework/Http/Dispatcher.php","line":232,"function":"updateAutoTitle","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/AppFramework/Http/Dispatcher.php","line":138,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/AppFramework/App.php","line":184,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/Route/Router.php","line":331,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/base.php","line":1058,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/index.php","line":49,"function":"handleRequest","class":"OC","type":"::"}],"File":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/DB/Exceptions/DbalException.php","Line":71,"Previous":{"Exception":"Doctrine\\DBAL\\Exception\\UniqueConstraintViolationException","Message":"An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '495993-gigi' for key 'oc_notes_meta.notes_meta_file_user_index'","Code":1062,"Trace":[{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Connection.php","line":1943,"function":"convert","class":"Doctrine\\DBAL\\Driver\\API\\MySQL\\ExceptionConverter","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Connection.php","line":1885,"function":"handleDriverException","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Connection.php","line":1213,"function":"convertExceptionDuringQuery","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php","line":292,"function":"executeStatement","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/DB/Connection.php","line":383,"function":"executeStatement","class":"Doctrine\\DBAL\\Connections\\PrimaryReadReplicaConnection","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":393,"function":"executeStatement","class":"OC\\DB\\Connection","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/DB/QueryBuilder/QueryBuilder.php","line":280,"function":"execute","class":"Doctrine\\DBAL\\Query\\QueryBuilder","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/DB/QueryBuilder/QueryBuilder.php","line":326,"function":"execute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/public/AppFramework/Db/QBMapper.php","line":137,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/MetaService.php","line":141,"function":"insert","class":"OCP\\AppFramework\\Db\\QBMapper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/MetaService.php","line":117,"function":"createMeta","class":"OCA\\Notes\\Service\\MetaService","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/NotesService.php","line":74,"function":"update","class":"OCA\\Notes\\Service\\MetaService","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/Helper.php","line":46,"function":"get","class":"OCA\\Notes\\Service\\NotesService","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":170,"function":"getNoteWithETagCheck","class":"OCA\\Notes\\Controller\\Helper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/Util.php","line":26,"function":"OCA\\Notes\\Controller\\{closure}","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/Helper.php","line":140,"function":"retryIfLocked","class":"OCA\\Notes\\Service\\Util","type":"::"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":162,"function":"handleErrorResponse","class":"OCA\\Notes\\Controller\\Helper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":209,"function":"update","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/Util.php","line":26,"function":"OCA\\Notes\\Controller\\{closure}","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/Helper.php","line":140,"function":"retryIfLocked","class":"OCA\\Notes\\Service\\Util","type":"::"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":202,"function":"handleErrorResponse","class":"OCA\\Notes\\Controller\\Helper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/AppFramework/Http/Dispatcher.php","line":232,"function":"updateAutoTitle","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/AppFramework/Http/Dispatcher.php","line":138,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/AppFramework/App.php","line":184,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/Route/Router.php","line":331,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/base.php","line":1058,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/index.php","line":49,"function":"handleRequest","class":"OC","type":"::"}],"File":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php","Line":62,"Previous":{"Exception":"Doctrine\\DBAL\\Driver\\PDO\\Exception","Message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '495993-gigi' for key 'oc_notes_meta.notes_meta_file_user_index'","Code":1062,"Trace":[{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","line":132,"function":"new","class":"Doctrine\\DBAL\\Driver\\PDO\\Exception","type":"::"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Connection.php","line":1207,"function":"execute","class":"Doctrine\\DBAL\\Driver\\PDO\\Statement","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php","line":292,"function":"executeStatement","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/DB/Connection.php","line":383,"function":"executeStatement","class":"Doctrine\\DBAL\\Connections\\PrimaryReadReplicaConnection","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":393,"function":"executeStatement","class":"OC\\DB\\Connection","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/DB/QueryBuilder/QueryBuilder.php","line":280,"function":"execute","class":"Doctrine\\DBAL\\Query\\QueryBuilder","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/DB/QueryBuilder/QueryBuilder.php","line":326,"function":"execute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/public/AppFramework/Db/QBMapper.php","line":137,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/MetaService.php","line":141,"function":"insert","class":"OCP\\AppFramework\\Db\\QBMapper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/MetaService.php","line":117,"function":"createMeta","class":"OCA\\Notes\\Service\\MetaService","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/NotesService.php","line":74,"function":"update","class":"OCA\\Notes\\Service\\MetaService","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/Helper.php","line":46,"function":"get","class":"OCA\\Notes\\Service\\NotesService","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":170,"function":"getNoteWithETagCheck","class":"OCA\\Notes\\Controller\\Helper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/Util.php","line":26,"function":"OCA\\Notes\\Controller\\{closure}","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/Helper.php","line":140,"function":"retryIfLocked","class":"OCA\\Notes\\Service\\Util","type":"::"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":162,"function":"handleErrorResponse","class":"OCA\\Notes\\Controller\\Helper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":209,"function":"update","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/Util.php","line":26,"function":"OCA\\Notes\\Controller\\{closure}","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/Helper.php","line":140,"function":"retryIfLocked","class":"OCA\\Notes\\Service\\Util","type":"::"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":202,"function":"handleErrorResponse","class":"OCA\\Notes\\Controller\\Helper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/AppFramework/Http/Dispatcher.php","line":232,"function":"updateAutoTitle","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/AppFramework/Http/Dispatcher.php","line":138,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/AppFramework/App.php","line":184,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/Route/Router.php","line":331,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/base.php","line":1058,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/index.php","line":49,"function":"handleRequest","class":"OC","type":"::"}],"File":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Driver/PDO/Exception.php","Line":28,"Previous":{"Exception":"PDOException","Message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '495993-gigi' for key 'oc_notes_meta.notes_meta_file_user_index'","Code":"23000","Trace":[{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","line":130,"function":"execute","class":"PDOStatement","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Connection.php","line":1207,"function":"execute","class":"Doctrine\\DBAL\\Driver\\PDO\\Statement","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php","line":292,"function":"executeStatement","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/DB/Connection.php","line":383,"function":"executeStatement","class":"Doctrine\\DBAL\\Connections\\PrimaryReadReplicaConnection","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":393,"function":"executeStatement","class":"OC\\DB\\Connection","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/DB/QueryBuilder/QueryBuilder.php","line":280,"function":"execute","class":"Doctrine\\DBAL\\Query\\QueryBuilder","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/DB/QueryBuilder/QueryBuilder.php","line":326,"function":"execute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/public/AppFramework/Db/QBMapper.php","line":137,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/MetaService.php","line":141,"function":"insert","class":"OCP\\AppFramework\\Db\\QBMapper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/MetaService.php","line":117,"function":"createMeta","class":"OCA\\Notes\\Service\\MetaService","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/NotesService.php","line":74,"function":"update","class":"OCA\\Notes\\Service\\MetaService","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/Helper.php","line":46,"function":"get","class":"OCA\\Notes\\Service\\NotesService","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":170,"function":"getNoteWithETagCheck","class":"OCA\\Notes\\Controller\\Helper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/Util.php","line":26,"function":"OCA\\Notes\\Controller\\{closure}","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/Helper.php","line":140,"function":"retryIfLocked","class":"OCA\\Notes\\Service\\Util","type":"::"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":162,"function":"handleErrorResponse","class":"OCA\\Notes\\Controller\\Helper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":209,"function":"update","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Service/Util.php","line":26,"function":"OCA\\Notes\\Controller\\{closure}","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/Helper.php","line":140,"function":"retryIfLocked","class":"OCA\\Notes\\Service\\Util","type":"::"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/apps/notes/lib/Controller/NotesApiController.php","line":202,"function":"handleErrorResponse","class":"OCA\\Notes\\Controller\\Helper","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/AppFramework/Http/Dispatcher.php","line":232,"function":"updateAutoTitle","class":"OCA\\Notes\\Controller\\NotesApiController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/AppFramework/Http/Dispatcher.php","line":138,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/AppFramework/App.php","line":184,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/private/Route/Router.php","line":331,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/lib/base.php","line":1058,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/index.php","line":49,"function":"handleRequest","class":"OC","type":"::"}],"File":"/home/gigi/apps/opt/php-pages/nextcloud-29.0.7/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","Line":130}}},"message":"Could not insert meta data for note 495993","exception":{},"CustomMessage":"Could not insert meta data for note 495993"}}

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

Start with apps/notes/lib/Service/MetaService.php, especially createMeta and the insert at line 141, then follow the update path through NotesService.php and NotesApiController.php. Reproduce note creation and deletion with the listed iOS client and inspect the duplicate-entry error in nextcloud.log. Done means these actions no longer produce the notes_meta unique-constraint errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
mysql, php
Domain
backend, database
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.