Skip to content

ValueError: imagecreatetruecolor(): Argument #1 ($width) must be greater than 0 #26118

@hardingt

Description

@hardingt

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.

Steps to reproduce

  1. ui-bg_glass_55_fbf9ee_1x400 I found this in "css/jQuery/images/ui-bg_glass_55_fbf9ee_1x400.png" if it looks familiar to anyone.
  2. Run the image preview generator app (I imagine if you look at the image it may cause the same error when the default app attempts to generate the preview): /var/www/nextcloud/occ preview:generate-all or /var/www/nextcloud/occ preview:generate-all -vvv app found here
  3. You'll see the error:
Spoiler warning
ValueError: imagecreatetruecolor(): Argument #1 ($width) must be greater than 0 in 
/var/www/nextcloud/lib/private/legacy/OC_Image.php:926
Stack trace:
#0 /var/www/nextcloud/lib/private/legacy/OC_Image.php(926): imagecreatetruecolor()
#1 /var/www/nextcloud/lib/private/legacy/OC_Image.php(898): OC_Image->preciseResizeNew()
#2 /var/www/nextcloud/lib/private/legacy/OC_Image.php(1148): OC_Image->resizeNew()
#3 /var/www/nextcloud/lib/private/Preview/Generator.php(429): OC_Image->resizeCopy()
#4 /var/www/nextcloud/lib/private/Preview/Generator.php(186): OC\Preview\Generator->generatePreview()
#5 /var/www/nextcloud/lib/private/PreviewManager.php(205): OC\Preview\Generator->generatePreviews()
#6 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(203): OC\PreviewManager->generatePreviews()
#7 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(174): 
OCA\PreviewGenerator\Command\Generate->parseFile()
#8 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(172): OCA\PreviewGenerator\Command\Generate->parseFolder()
#9 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(172): OCA\PreviewGenerator\Command\Generate->parseFolder()
#10 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(172): OCA\PreviewGenerator\Command\Generate->parseFolder()
#11 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(172): OCA\PreviewGenerator\Command\Generate->parseFolder()
#12 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(172): OCA\PreviewGenerator\Command\Generate->parseFolder()
#13 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(172): OCA\PreviewGenerator\Command\Generate->parseFolder()
#14 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(172): OCA\PreviewGenerator\Command\Generate->parseFolder()
#15 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(155): OCA\PreviewGenerator\Command\Generate->parseFolder()
#16 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(123): OCA\PreviewGenerator\Command\Generate->generateUserPreviews()
#17 /var/www/nextcloud/lib/private/User/Manager.php(610): OCA\PreviewGenerator\Command\Generate->OCA\PreviewGenerator\Command\{closure}()
#18 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(124): OC\User\Manager->callForSeenUsers()
#19 /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OCA\PreviewGenerator\Command\Generate->execute()
#20 /var/www/nextcloud/3rdparty/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run()
#21 /var/www/nextcloud/3rdparty/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()
#22 /var/www/nextcloud/3rdparty/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun()
#23 /var/www/nextcloud/lib/private/Console/Application.php(215): Symfony\Component\Console\Application->run()
#24 /var/www/nextcloud/console.php(100): OC\Console\Application->run()
#25 /var/www/nextcloud/occ(11): require_once('...')

Expected behaviour

The width of the image is exactly 1, so the error of ($width) must be greater than 0 doesn't seem correct. Preview should generate or the error should be gracefully caught.

Actual behaviour

Preview generate ends in the above stacktrace

Server configuration

Operating system:
Ubuntu 20.04

Web server:
Apache/2.4.41

Database:
mysql Ver 8.0.23-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

PHP version:
Version: 8.0.3

Nextcloud version: (see Nextcloud admin page)
Nextcloud 21.0.0

Updated from an older Nextcloud/ownCloud or fresh install:
Fresh install of the www directory, the database is all the way back from version 12! (upgraded each few months). This is a brand new server though, so I ported over the db.

Where did you install Nextcloud from:
https://nextcloud.com/

Signing status:

Signing status
No errors have been found.

List of activated apps:

App list
Enabled:
  - accessibility: 1.7.0
  - activity: 2.14.3
  - cloud_federation_api: 1.4.0
  - comments: 1.11.0
  - contactsinteraction: 1.2.0
  - dashboard: 7.1.0
  - dav: 1.17.1
  - federatedfilesharing: 1.11.0
  - federation: 1.11.0
  - files: 1.16.0
  - files_pdfviewer: 2.1.0
  - files_rightclick: 1.0.0
  - files_sharing: 1.13.1
  - files_trashbin: 1.11.0
  - files_versions: 1.14.0
  - files_videoplayer: 1.10.0
  - firstrunwizard: 2.10.0
  - logreader: 2.6.0
  - lookup_server_connector: 1.9.0
  - nextcloud_announcements: 1.10.0
  - notifications: 2.9.0
  - oauth2: 1.9.0
  - password_policy: 1.11.0
  - photos: 1.3.0
  - previewgenerator: 3.1.1
  - privacy: 1.5.0
  - provisioning_api: 1.11.0
  - recommendations: 1.0.0
  - serverinfo: 1.11.0
  - settings: 1.3.0
  - sharebymail: 1.11.0
  - support: 1.4.0
  - survey_client: 1.9.0
  - systemtags: 1.11.0
  - text: 3.2.0
  - theming: 1.12.0
  - twofactor_backupcodes: 1.10.0
  - updatenotification: 1.11.0
  - user_status: 1.1.1
  - viewer: 1.5.0
  - weather_status: 1.1.0
  - workflowengine: 2.3.0
Disabled:
  - admin_audit
  - encryption
  - files_external
  - user_ldap

Nextcloud configuration:

Config report
{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "***REMOVED SENSITIVE VALUE***"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "overwrite.cli.url": "https:\/\/hardingt.duckdns.org\/",
        "dbtype": "mysql",
        "version": "21.0.0.18",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "maintenance": false,
        "updater.release.channel": "stable",
        "loglevel": 2,
        "theme": "",
        "mysql.utf8mb4": true,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "default_phone_region": "US"
    }
}

Are you using external storage, if yes which one:
Nope

Are you using encryption:
No

Are you using an external user-backend, if yes which one:
No

Client configuration

Browser: N/A

Operating system: N/A

Logs

Web server error log

See below

Nextcloud log (data/nextcloud.log)

Nextcloud log
   ValueError: imagecreatetruecolor(): Argument #1 ($width) must be greater than 0 in 
   /var/www/nextcloud/lib/private/legacy/OC_Image.php:926
   Stack trace:
   #0 /var/www/nextcloud/lib/private/legacy/OC_Image.php(926): imagecreatetruecolor()
   #1 /var/www/nextcloud/lib/private/legacy/OC_Image.php(898): OC_Image->preciseResizeNew()
   #2 /var/www/nextcloud/lib/private/legacy/OC_Image.php(1148): OC_Image->resizeNew()
   #3 /var/www/nextcloud/lib/private/Preview/Generator.php(429): OC_Image->resizeCopy()
   #4 /var/www/nextcloud/lib/private/Preview/Generator.php(186): OC\Preview\Generator->generatePreview()
   #5 /var/www/nextcloud/lib/private/PreviewManager.php(205): OC\Preview\Generator->generatePreviews()
   #6 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(203): OC\PreviewManager->generatePreviews()
   #7 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(174): 
   OCA\PreviewGenerator\Command\Generate->parseFile()
   #8 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(172): OCA\PreviewGenerator\Command\Generate->parseFolder()
   #9 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(172): OCA\PreviewGenerator\Command\Generate->parseFolder()
   #10 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(172): OCA\PreviewGenerator\Command\Generate->parseFolder()
   #11 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(172): OCA\PreviewGenerator\Command\Generate->parseFolder()
   #12 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(172): OCA\PreviewGenerator\Command\Generate->parseFolder()
   #13 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(172): OCA\PreviewGenerator\Command\Generate->parseFolder()
   #14 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(172): OCA\PreviewGenerator\Command\Generate->parseFolder()
   #15 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(155): OCA\PreviewGenerator\Command\Generate->parseFolder()
   #16 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(123): OCA\PreviewGenerator\Command\Generate->generateUserPreviews()
   #17 /var/www/nextcloud/lib/private/User/Manager.php(610): OCA\PreviewGenerator\Command\Generate->OCA\PreviewGenerator\Command\{closure}()
   #18 /var/www/nextcloud/apps/previewgenerator/lib/Command/Generate.php(124): OC\User\Manager->callForSeenUsers()
   #19 /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OCA\PreviewGenerator\Command\Generate->execute()
   #20 /var/www/nextcloud/3rdparty/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run()
   #21 /var/www/nextcloud/3rdparty/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()
   #22 /var/www/nextcloud/3rdparty/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun()
   #23 /var/www/nextcloud/lib/private/Console/Application.php(215): Symfony\Component\Console\Application->run()
   #24 /var/www/nextcloud/console.php(100): OC\Console\Application->run()
   #25 /var/www/nextcloud/occ(11): require_once('...')

Browser log

N/A

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions