ghostscript sigsegv (sig 11) with `implicitclass:://...` but works with `socket` or `dnssd`
Describe the bug
cups-browsed added a printer which was configured to use the implicit class connection URL
After an update, I think, printing stopped working. Poking in the log files shows that ghostscript is being killed. I enabled debug logging and printed. Failed as before.
In the logs I see:
D [02/Mar/2025:15:26:16 -0600] [CGI] cgiSetArray: device_uri[0]=\"implicitclass://Photosmart_7510_series_8C4841/\"
D [02/Mar/2025:15:26:16 -0600] [CGI] cgiSetArray: color_supported[0]=\"1\"
D [02/Mar/2025:15:26:16 -0600] [CGI] cgiSetArray: printer_make_and_model[0]=\"HP Printer, driverless, 2.0.0\"
so driverless mode
Here is Job 3:
grep Job.3.*ghost /var/log/cups/error_log
D [02/Mar/2025:15:27:20 -0600] [Job 3] cfFilterUniversal: Adding ghostscript to chain
D [02/Mar/2025:15:27:20 -0600] [Job 3] cfFilterChain: Running filter: ghostscript
D [02/Mar/2025:15:27:20 -0600] [Job 3] Set job-printer-state-message to "cfFilterChain: Running filter: ghostscript", current level=INFO
D [02/Mar/2025:15:27:20 -0600] [Job 3] cfFilterChain: ghostscript (PID 102590) started.
D [02/Mar/2025:15:27:20 -0600] [Job 3] Set job-printer-state-message to "cfFilterChain: ghostscript (PID 102590) started.", current level=INFO
E [02/Mar/2025:15:27:20 -0600] [Job 3] cfFilterChain: ghostscript (PID 102590) crashed on signal 11
D [02/Mar/2025:15:27:20 -0600] [Job 3] Set job-printer-state-message to "cfFilterChain: ghostscript (PID 102590) crashed on signal 11", current level=ERROR
To Reproduce Print any pdf or text file.
Expected behavior Ghostscript should not get a sigsegv
System Information:
- OS Ubuntu 24.04.2 LTS
- Application Chrome, GNOME pdf viewer, any pdf or text file
- CUPS version
- dpkgquery -l cups:
ii cups 2.4.7-1.2ubuntu7.3 amd64 Common UNIX Printing System(tm) - PPD/driver support, web interface`
- dpkgquery -l cups:
Additional context Any additional information which are relevant to the issue.
I removed the printers defined by cups-browsed and let them recreate them. Same error.
I removed/purged cups and re-installed. Same error.
Digging around the internet for similar errors and found this Linux Mint community report which suggested manually defining printers using the found printers list.
Tried that and got printers that work. One has connection via socket and one via dnssd:
sudo grep -i deviceURI /etc/cups/printers.conf
DeviceURI cups-pdf:/
DeviceURI dnssd://Photosmart%207510%20series%20%5B8C4841%5D._pdl-datastream._tcp.local/?uuid=1c852a4d-b800-1f08-abcd-a0b3cc8c4841
DeviceURI socket://192.168.1.99:9100
Moving this to cups-filters - none of this is in CUPS proper.
@JuddRogers are you able to get backtrace of the crash? The tool coredumpctl should do the trick. You might have to install debug symbols for libcupsfilters, cups and libppd to get a meaningful backtrace from the coredumpctl.