Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Error when attaching some screenshots directly to the ticket." #16444

Closed
2 tasks done
serviceticst opened this issue Jan 26, 2024 · 10 comments
Closed
2 tasks done

"Error when attaching some screenshots directly to the ticket." #16444

serviceticst opened this issue Jan 26, 2024 · 10 comments

Comments

@serviceticst
Copy link

Code of Conduct

  • I agree to follow this project's Code of Conduct

Is there an existing issue for this?

  • I have searched the existing issues

Version

10.0.11

Bug description

When attaching a screenshot of a system's screen, for example, and pasting it into the ticket, then adding text beneath the image, upon saving the update, the entire entry goes blank, and nothing is saved, resulting in a loss of all information.

What we've noticed is that this happens occasionally; with some screenshots, it works fine, but with others, it produces this error.

image

While debugging, I captured this log.

[2024-01-26 16:39:42] glpiphplog.NOTICE: *** PHP Deprecated function (8192): preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/share/glpi/src/RichText/RichText.php at line 355
Backtrace :
src/RichText/RichText.php:355 preg_replace()
src/RichText/RichText.php:273 Glpi\RichText\RichText::fixImagesPath()
src/RichText/RichText.php:63 Glpi\RichText\RichText::normalizeHtmlContent()
src/RichText/RichText.php:301 Glpi\RichText\RichText::getSafeHtml()
...ion/View/Extension/DataHelpersExtension.php:230 Glpi\RichText\RichText::getEnhancedHtml()
...ates/45/45d99573ccfc69c8ceb3446fd882fc54.php:72 Glpi\Application\View\Extension\DataHelpersExtension->getEnhancedHtml()
vendor/twig/twig/src/Template.php:171 __TwigTemplate_d07c909c36db53191bd03277432ebb9f->block_timeline_card()
...ates/a4/a4a2db6ed5602e71abd50e76ae8800be.php:48 Twig\Template->displayBlock()
vendor/twig/twig/src/Template.php:394 __TwigTemplate_4bff84a61e9b886d83310ebf90c196f0->doDisplay()
vendor/twig/twig/src/Template.php:367 Twig\Template->displayWithErrorHandling()
...ates/45/45d99573ccfc69c8ceb3446fd882fc54.php:57 Twig\Template->display()
vendor/twig/twig/src/Template.php:394 __TwigTemplate_d07c909c36db53191bd03277432ebb9f->doDisplay()
vendor/twig/twig/src/Template.php:367 Twig\Template->displayWithErrorHandling()
vendor/twig/twig/src/Template.php:379 Twig\Template->display()
vendor/twig/twig/src/TemplateWrapper.php:40 Twig\Template->render()
.../twig/twig/src/Extension/CoreExtension.php:1349 Twig\TemplateWrapper->render()
...tes/ec/ec6cbb8a2efe766fe2b94b1b85106708.php:425 twig_include()
vendor/twig/twig/src/Template.php:394 __TwigTemplate_cf9582a178c9aed3fd76ab8a0bf60b2b->doDisplay()
vendor/twig/twig/src/Template.php:367 Twig\Template->displayWithErrorHandling()
vendor/twig/twig/src/Template.php:379 Twig\Template->display()
vendor/twig/twig/src/TemplateWrapper.php:40 Twig\Template->render()
.../twig/twig/src/Extension/CoreExtension.php:1349 Twig\TemplateWrapper->render()
...tes/24/24ef781d212992b008f998231b80b473.php:131 twig_include()
vendor/twig/twig/src/Template.php:394 __TwigTemplate_c861bb866645fae902b77b643975f9f3->doDisplay()
vendor/twig/twig/src/Template.php:367 Twig\Template->displayWithErrorHandling()
vendor/twig/twig/src/TemplateWrapper.php:47 Twig\Template->display()
src/Application/View/TemplateRenderer.php:184 Twig\TemplateWrapper->display()
src/Ticket.php:4426 Glpi\Application\View\TemplateRenderer->display()
src/CommonGLPI.php:680 Ticket->showForm()
ajax/common.tabs.php:120 CommonGLPI::displayStandardTab()
public/index.php:82 require()

Relevant log output

[2024-01-26 16:39:42] glpiphplog.NOTICE:   *** PHP Deprecated function (8192): preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/share/glpi/src/RichText/RichText.php at line 355
  Backtrace :
  src/RichText/RichText.php:355                      preg_replace()
  src/RichText/RichText.php:273                      Glpi\RichText\RichText::fixImagesPath()
  src/RichText/RichText.php:63                       Glpi\RichText\RichText::normalizeHtmlContent()
  src/RichText/RichText.php:301                      Glpi\RichText\RichText::getSafeHtml()
  ...ion/View/Extension/DataHelpersExtension.php:230 Glpi\RichText\RichText::getEnhancedHtml()
  ...ates/45/45d99573ccfc69c8ceb3446fd882fc54.php:72 Glpi\Application\View\Extension\DataHelpersExtension->getEnhancedHtml()
  vendor/twig/twig/src/Template.php:171              __TwigTemplate_d07c909c36db53191bd03277432ebb9f->block_timeline_card()
  ...ates/a4/a4a2db6ed5602e71abd50e76ae8800be.php:48 Twig\Template->displayBlock()
  vendor/twig/twig/src/Template.php:394              __TwigTemplate_4bff84a61e9b886d83310ebf90c196f0->doDisplay()
  vendor/twig/twig/src/Template.php:367              Twig\Template->displayWithErrorHandling()
  ...ates/45/45d99573ccfc69c8ceb3446fd882fc54.php:57 Twig\Template->display()
  vendor/twig/twig/src/Template.php:394              __TwigTemplate_d07c909c36db53191bd03277432ebb9f->doDisplay()
  vendor/twig/twig/src/Template.php:367              Twig\Template->displayWithErrorHandling()
  vendor/twig/twig/src/Template.php:379              Twig\Template->display()
  vendor/twig/twig/src/TemplateWrapper.php:40        Twig\Template->render()
  .../twig/twig/src/Extension/CoreExtension.php:1349 Twig\TemplateWrapper->render()
  ...tes/ec/ec6cbb8a2efe766fe2b94b1b85106708.php:425 twig_include()
  vendor/twig/twig/src/Template.php:394              __TwigTemplate_cf9582a178c9aed3fd76ab8a0bf60b2b->doDisplay()
  vendor/twig/twig/src/Template.php:367              Twig\Template->displayWithErrorHandling()
  vendor/twig/twig/src/Template.php:379              Twig\Template->display()
  vendor/twig/twig/src/TemplateWrapper.php:40        Twig\Template->render()
  .../twig/twig/src/Extension/CoreExtension.php:1349 Twig\TemplateWrapper->render()
  ...tes/24/24ef781d212992b008f998231b80b473.php:131 twig_include()
  vendor/twig/twig/src/Template.php:394              __TwigTemplate_c861bb866645fae902b77b643975f9f3->doDisplay()
  vendor/twig/twig/src/Template.php:367              Twig\Template->displayWithErrorHandling()
  vendor/twig/twig/src/TemplateWrapper.php:47        Twig\Template->display()
  src/Application/View/TemplateRenderer.php:184      Twig\TemplateWrapper->display()
  src/Ticket.php:4426                                Glpi\Application\View\TemplateRenderer->display()
  src/CommonGLPI.php:680                             Ticket->showForm()
  ajax/common.tabs.php:120                           CommonGLPI::displayStandardTab()
  public/index.php:82                                require()

Page URL

http://192.168.101.5/

Steps To reproduce

No response

Your GLPI setup information

Instruções de instalação e configuração
GLPI 10.0.11 ( => /usr/share/glpi)
Installation mode: RPM
Current language:pt_BR

Server
 
Operating system: Linux srv-gcp-glpi-prd02.c.guaraves.internal 5.14.0-284.18.1.el9_2.cloud.x86_64 #​1 SMP PREEMPT_DYNAMIC Mon Jul
3 20:10:49 UTC 2023 x86_64
PHP 8.1.27 fpm-fcgi (Core, PDO, Phar, Reflection, SPL, SimpleXML, Zend OPcache, apcu, bz2, calendar, cgi-fcgi, ctype, curl,
date, dom, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, intl, json, krb5, ldap, libxml, mbstring, mysqli, mysqlnd,
openssl, pcre, pdo_mysql, pdo_sqlite, posix, selinux, session, shmop, snmp, soap, sockets, sodium, sqlite3, standard, sysvmsg,
sysvsem, sysvshm, tokenizer, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib)
Setup: max_execution_time="30" memory_limit="512M" post_max_size="8M" safe_mode="" session.save_handler="files"
upload_max_filesize="2M" disable_functions=""
Software: Apache/2.4.57 (Rocky Linux) OpenSSL/3.0.7 ()
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
Server Software: Percona Server (GPL), Release 25, Revision 60c9e2c5
Server Version: 8.0.33-25
Server SQL Mode: STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
Parameters: glpiprod@localhost/glpiprod
Host info: Localhost via UNIX socket

PHP version (8.1.27) is supported.
Sessions configuration is OK.
Allocated memory is sufficient.
mysqli extension is installed.
Following extensions are installed: dom, fileinfo, filter, libxml, json, simplexml, xmlreader, xmlwriter.
curl extension is installed.
gd extension is installed.
intl extension is installed.
zlib extension is installed.
The constant SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES is present.
Database engine version (8.0.33) is supported.
No files from previous GLPI version detected.
The log file has been created successfully.
Write access to /var/lib/glpi/files/_cache has been validated.
Write access to /var/lib/glpi/files/_cron has been validated.
Write access to /var/lib/glpi/files has been validated.
Write access to /var/lib/glpi/files/_dumps has been validated.
Write access to /var/lib/glpi/files/_graphs has been validated.
Write access to /var/lib/glpi/files/_lock has been validated.
Write access to /var/lib/glpi/files/_pictures has been validated.
Write access to /var/lib/glpi/files/_plugins has been validated.
Write access to /var/lib/glpi/files/_rss has been validated.
Write access to /var/lib/glpi/files/_sessions has been validated.
Write access to /var/lib/glpi/files/_tmp has been validated.
Write access to /var/lib/glpi/files/_uploads has been validated.
For security reasons, SELinux mode should be Enforcing.

Web server root directory configuration seems safe.
Sessions configuration is secured.
OS and PHP are relying on 64 bits integers.
exif extension is installed.
ldap extension is installed.
openssl extension is installed.
Following extensions are installed: bz2, Phar, zip.
Zend OPcache extension is installed.
Following extensions are installed: ctype, iconv, mbstring, sodium.
Write access to /usr/share/glpi/marketplace has been validated.
Timezones seems loaded in database.

GLPI constants
 
GLPI_ROOT: "/usr/share/glpi"
GLPI_CONFIG_DIR: "/etc/glpi"
GLPI_MARKETPLACE_ALLOW_OVERRIDE: false
GLPI_VAR_DIR: "/var/lib/glpi/files"
GLPI_LOG_DIR: "/var/log/glpi"
GLPI_SYSTEM_CRON: true
GLPI_INSTALL_MODE: "RPM"
GLPI_MARKETPLACE_DIR: "/usr/share/glpi/marketplace"
GLPI_USE_CSRF_CHECK: "1"
GLPI_CSRF_EXPIRES: "7200"
GLPI_CSRF_MAX_TOKENS: "100"
GLPI_USE_IDOR_CHECK: "1"
GLPI_IDOR_EXPIRES: "7200"
GLPI_ALLOW_IFRAME_IN_RICH_TEXT: false
GLPI_SERVERSIDE_URL_ALLOWLIST: ["/^(https?|feed):\/\/[^@:]+(\/.*)?$/"]
GLPI_TELEMETRY_URI: "https://telemetry.glpi-project.org"
GLPI_NETWORK_MAIL: "[email protected]"
GLPI_NETWORK_SERVICES: "https://services.glpi-network.com"
GLPI_MARKETPLACE_MANUAL_DOWNLOADS: true
GLPI_USER_AGENT_EXTRA_COMMENTS: ""
GLPI_DISABLE_ONLY_FULL_GROUP_BY_SQL_MODE: "1"
GLPI_AJAX_DASHBOARD: "1"
GLPI_CALDAV_IMPORT_STATE: 0
GLPI_DEMO_MODE: "0"
GLPI_CENTRAL_WARNINGS: "1"
GLPI_TEXT_MAXSIZE: "4000"
GLPI_DOC_DIR: "/var/lib/glpi/files"
GLPI_CACHE_DIR: "/var/lib/glpi/files/_cache"
GLPI_CRON_DIR: "/var/lib/glpi/files/_cron"
GLPI_DUMP_DIR: "/var/lib/glpi/files/_dumps"
GLPI_GRAPH_DIR: "/var/lib/glpi/files/_graphs"
GLPI_LOCAL_I18N_DIR: "/var/lib/glpi/files/_locales"
GLPI_LOCK_DIR: "/var/lib/glpi/files/_lock"
GLPI_PICTURE_DIR: "/var/lib/glpi/files/_pictures"
GLPI_PLUGIN_DOC_DIR: "/var/lib/glpi/files/_plugins"
GLPI_RSS_DIR: "/var/lib/glpi/files/_rss"
GLPI_SESSION_DIR: "/var/lib/glpi/files/_sessions"
GLPI_TMP_DIR: "/var/lib/glpi/files/_tmp"
GLPI_UPLOAD_DIR: "/var/lib/glpi/files/_uploads"
GLPI_INVENTORY_DIR: "/var/lib/glpi/files/_inventories"
GLPI_NETWORK_REGISTRATION_API_URL: "https://services.glpi-network.com/api/registration/"
GLPI_MARKETPLACE_PLUGINS_API_URI: "https://services.glpi-network.com/api/marketplace/"
GLPI_I18N_DIR: "/usr/share/glpi/locales"
GLPI_VERSION: "10.0.11"
GLPI_SCHEMA_VERSION: "10.0.11"
GLPI_MARKETPLACE_PRERELEASES: false
GLPI_MIN_PHP: "7.4.0"
GLPI_MAX_PHP: "8.4.0"
GLPI_YEAR: "2023"

Libraries
 
htmlawed/htmlawed version 1.2.14 in (/usr/share/glpi/vendor/htmlawed/htmlawed)
phpmailer/phpmailer version 6.8.0 in (/usr/share/glpi/vendor/phpmailer/phpmailer/src)
simplepie/simplepie version 1.5.8 in (/usr/share/glpi/vendor/simplepie/simplepie/library)
tecnickcom/tcpdf version 6.4.4 in (/usr/share/glpi/plugins/pdf/vendor/tecnickcom/tcpdf)
michelf/php-markdown in (/usr/share/glpi/vendor/michelf/php-markdown/Michelf)
true/punycode in (/usr/share/glpi/vendor/true/punycode/src)
iamcal/lib_autolink in (/usr/share/glpi/vendor/iamcal/lib_autolink)
sabre/dav in (/usr/share/glpi/vendor/sabre/dav/lib/DAV)
sabre/http in (/usr/share/glpi/vendor/sabre/http/lib)
sabre/uri in (/usr/share/glpi/vendor/sabre/uri/lib)
sabre/vobject in (/usr/share/glpi/vendor/sabre/vobject/lib)
laminas/laminas-i18n in (/usr/share/glpi/vendor/laminas/laminas-i18n/src)
laminas/laminas-servicemanager in (/usr/share/glpi/vendor/laminas/laminas-servicemanager/src)
monolog/monolog in (/usr/share/glpi/vendor/monolog/monolog/src/Monolog)
sebastian/diff in (/usr/share/glpi/vendor/sebastian/diff/src)
donatj/phpuseragentparser in (/usr/share/glpi/vendor/donatj/phpuseragentparser/src/UserAgent)
elvanto/litemoji in (/usr/share/glpi/vendor/elvanto/litemoji/src)
symfony/console in (/usr/share/glpi/vendor/symfony/console)
scssphp/scssphp in (/usr/share/glpi/vendor/scssphp/scssphp/src)
laminas/laminas-mail in (/usr/share/glpi/vendor/laminas/laminas-mail/src/Protocol)
laminas/laminas-mime in (/usr/share/glpi/vendor/laminas/laminas-mime/src)
rlanvin/php-rrule in (/usr/share/glpi/vendor/rlanvin/php-rrule/src)
ramsey/uuid in (/usr/share/glpi/vendor/ramsey/uuid/src)
psr/log in (/usr/share/glpi/vendor/psr/log/Psr/Log)
psr/simple-cache in (/usr/share/glpi/vendor/psr/simple-cache/src)
psr/cache in (/usr/share/glpi/vendor/psr/cache/src)
league/csv in (/usr/share/glpi/vendor/league/csv/src)
mexitek/phpcolors in (/usr/share/glpi/vendor/mexitek/phpcolors/src/Mexitek/PHPColors)
guzzlehttp/guzzle in (/usr/share/glpi/vendor/guzzlehttp/guzzle/src)
guzzlehttp/psr7 in (/usr/share/glpi/vendor/guzzlehttp/psr7/src)
glpi-project/inventory_format in (/usr/share/glpi/vendor/glpi-project/inventory_format/lib/php)
wapmorgan/unified-archive in (/usr/share/glpi/vendor/wapmorgan/unified-archive/src)
paragonie/sodium_compat in (/usr/share/glpi/vendor/paragonie/sodium_compat/src)
symfony/cache in (/usr/share/glpi/vendor/symfony/cache)
html2text/html2text in (/usr/share/glpi/vendor/html2text/html2text/src)
symfony/css-selector in (/usr/share/glpi/vendor/symfony/css-selector)
symfony/dom-crawler in (/usr/share/glpi/vendor/symfony/dom-crawler)
twig/twig in (/usr/share/glpi/vendor/twig/twig/src)
twig/string-extra in (/usr/share/glpi/vendor/twig/string-extra)
symfony/polyfill-ctype not found
symfony/polyfill-iconv not found
symfony/polyfill-mbstring not found
symfony/polyfill-php80 not found
symfony/polyfill-php81 not found
symfony/polyfill-php82 in (/usr/share/glpi/vendor/symfony/polyfill-php82)
league/oauth2-client in (/usr/share/glpi/vendor/league/oauth2-client/src/Provider)
league/oauth2-google in (/usr/share/glpi/vendor/league/oauth2-google/src/Provider)
thenetworg/oauth2-azure in (/usr/share/glpi/vendor/thenetworg/oauth2-azure/src/Provider)

SQL replicas
 
Not active

Notifications
 
Way of sending emails: SMTP+TLS (glpi@[email protected])

Plugins list
 
actualtime Name: ActualTime Version: 2.1.0 State: To update
Install Method: Manual
news Name: Alertas Version: 1.12.0 State: Enabled
Install Method: Manual
fields Name: Campos adicionais Version: 1.20.6 State: Enabled
Install Method: Manual
behaviors Name: Comportamentos Version: 2.7.2 State: Enabled
Install Method: Manual
costs Name: Costs Version: 3.0.1 State: Installed / not activated
Install Method: Manual
customlogin Name: Custom Login Version: 1.0.4 State: Installed / not activated
Install Method: Manual
formcreator Name: Form Creator Version: 2.13.6 State: Enabled
Install Method: Manual
fusioninventory Name: FusionInventory Version: 10.0.6+1.1 State: Installed / not activated
Install Method: Manual
tag Name: Gerenciamento de Etiquetas Version: 2.11.2 State: Enabled
Install Method: Manual
genericobject Name: Gerenciamento de objetos Version: 2.14.3 State: Enabled
Install Method: Manual
datainjection Name: Importação de dados Version: 2.13.1 State: To update
Install Method: Manual
pdf Name: Imprimir em PDF Version: 3.0.0 State: Enabled
Install Method: Manual
timelineticket Name: Linha do tempo dos chamados Version: 10.0+1.1 State: Enabled
Install Method: Manual
mailanalyzer Name: Mail Analyzer Version: 3.0.0 State: Not installed
Install Method: Manual
moreticket Name: Mais Chamados Version: 1.7.3 State: Installed / not activated
Install Method: Manual
satisfaction Name: Mais satisfação Version: 1.6.1 State: Installed / not activated
Install Method: Manual
metabase Name: Metabase Version: 1.3.3 State: Enabled
Install Method: Manual
oauthimap Name: Oauth IMAP Version: 1.4.3 State: To update
Install Method: Manual
dashboard Name: Painel Version: 1.0.3 State: Enabled
Install Method: Manual
tasklists Name: Tasks list Version: 2.0.3 State: Enabled
Install Method: Manual

Anything else?

No response

@serviceticst
Copy link
Author

"When trying to paste a direct image into the follow-up, I receive the log below."

image

[2024-02-05 10:02:36] glpiphplog.NOTICE: *** PHP Deprecated function (8192): preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /usr/share/glpi/src/RichText/RichText.php at line 354
Backtrace :
src/RichText/RichText.php:354 preg_replace()
src/RichText/RichText.php:273 Glpi\RichText\RichText::fixImagesPath()
src/RichText/RichText.php:63 Glpi\RichText\RichText::normalizeHtmlContent()
src/RichText/RichText.php:301 Glpi\RichText\RichText::getSafeHtml()
...ion/View/Extension/DataHelpersExtension.php:230 Glpi\RichText\RichText::getEnhancedHtml()
...ates/d5/d540b4c3b3c68d964b4b49231baf2dc4.php:72 Glpi\Application\View\Extension\DataHelpersExtension->getEnhancedHtml()
vendor/twig/twig/src/Template.php:171 __TwigTemplate_0d76bbe6357706cb41617327808f1ada->block_timeline_card()
...ates/b6/b6b646eaec2ce642a74e258bd85cc4af.php:48 Twig\Template->displayBlock()
vendor/twig/twig/src/Template.php:394 __TwigTemplate_8b3f5e324ff8e6d736ba68e90cd8eefb->doDisplay()
vendor/twig/twig/src/Template.php:367 Twig\Template->displayWithErrorHandling()
...ates/d5/d540b4c3b3c68d964b4b49231baf2dc4.php:57 Twig\Template->display()
vendor/twig/twig/src/Template.php:394 __TwigTemplate_0d76bbe6357706cb41617327808f1ada->doDisplay()
vendor/twig/twig/src/Template.php:367 Twig\Template->displayWithErrorHandling()
vendor/twig/twig/src/Template.php:379 Twig\Template->display()
vendor/twig/twig/src/TemplateWrapper.php:38 Twig\Template->render()
.../twig/twig/src/Extension/CoreExtension.php:1347 Twig\TemplateWrapper->render()
...tes/65/65e66df5229dde3aa3acd3926a9bb301.php:425 twig_include()
vendor/twig/twig/src/Template.php:394 __TwigTemplate_e80683bcdf71030972f1ee4018467a25->doDisplay()
vendor/twig/twig/src/Template.php:367 Twig\Template->displayWithErrorHandling()
vendor/twig/twig/src/Template.php:379 Twig\Template->display()
vendor/twig/twig/src/TemplateWrapper.php:38 Twig\Template->render()
.../twig/twig/src/Extension/CoreExtension.php:1347 Twig\TemplateWrapper->render()
...tes/c8/c84988e98a37d1e08405f9f8988a87c3.php:131 twig_include()
vendor/twig/twig/src/Template.php:394 __TwigTemplate_054713728bbbd97852e4c1be33265494->doDisplay()
vendor/twig/twig/src/Template.php:367 Twig\Template->displayWithErrorHandling()
vendor/twig/twig/src/TemplateWrapper.php:45 Twig\Template->display()
src/Application/View/TemplateRenderer.php:184 Twig\TemplateWrapper->display()
src/Ticket.php:4426 Glpi\Application\View\TemplateRenderer->display()
src/CommonGLPI.php:680 Ticket->showForm()
ajax/common.tabs.php:120 CommonGLPI::displayStandardTab()
public/index.php:82 require()

@FreeMacs
Copy link

FreeMacs commented Feb 8, 2024

We have the same problem.

@efriastech
Copy link

Hello, I would like to add to this issue as well.

It seems that the comment does get written to the Database and so does the image (or at least part of it in Base64).
However, the content of the followup is empty.

This seems to happen when copy pasting an image rather than uploading it as an attachment.
It also seems to happen more often when the image is of high resolution (size).

I believe it might be related to a memory issue or a SQL query that does not properly return the value for that followup.

This might be related with slowdowns during the Ticket load: #16529

Thank you.

@serviceticst
Copy link
Author

Any feedback on this?

@cedric-anne
Copy link
Member

Hi,

The initial problem was that the image was not converted into a document when the ticket/followup was created. Increasing the pcre.backtrack_limit PHP configuration value could solve the issue that appears at the ticket/followup creation.

The issue that appears at ticket/followup creation will be fixed in GLPI 11 by #14592.

For the tickets/followups that are already created, I have no solution to propose yet. I am not even sure it is possible to build a migration that would fix the data.

@FreeMacs
Copy link

FreeMacs commented Mar 1, 2024

I can reproduce the problem in connection with my ticket #16529.

When I drag and drop an image into this field, there are several behaviors in GLPI.
image

Images up to approx. 500KB are displayed without any problems.

For images between 600KB and 4MB I only get an empty field.
image

and with images that are over 4-5MB in size, the ticket can no longer be opened and it just loads endlessly.
image

If I drag files and photos into the drag and drop field, it works without any problems.
image

The image is always displayed when I drag it in and it also says Upload Succesful, but after saving it, the specified problems occur.
image

Is this an error in the text field? Is it not even intended for this? And if not, shouldn't this function be disabled immediately and only be possible via the drag and drop field?

@serviceticst
Copy link
Author

Oi,

O problema inicial era que a imagem não era convertida em documento no momento da criação do ticket/acompanhamento. Aumentar o pcre.backtrack_limitvalor da configuração do PHP pode resolver o problema que aparece na criação do ticket/acompanhamento.

O problema que aparece na criação do ticket/acompanhamento será corrigido no GLPI 11 por #14592 .

Para os tickets/acompanhamentos já criados, ainda não tenho solução para propor. Nem tenho certeza se é possível construir uma migração que conserte os dados.

@cedric-anne , pcre.backtrack_limit=200000, Would it be a good value?

@FreeMacs
Copy link

FreeMacs commented Mar 1, 2024

I have now found out with an API query that if you load the photos directly into the comment field, they are probably stored base64 encoded directly in the database and this probably leads to the error.

image
image

After this follow-up has been deleted via the API, I can open the ticket again.

@cedric-anne
Copy link
Member

@cedric-anne , pcre.backtrack_limit=200000, Would it be a good value?

Maybe, it depends on the size of images you are trying to upload.

@trasher
Copy link
Contributor

trasher commented Mar 4, 2024

There is not much more we can do on the subject. Properly catching that kind of PHP error seems not possible.

Issue will be fixed in GLPI 11; workaround until upgrade is to update system configuration to a satisfying value for your needs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants