Segmentation fault en CUPS
Tras instalar CUPS (2:2.4.11-2
) y hp-lip, no podía imprimir. Veía esto en journal:
Jan 16 17:45:17 arai.home.arpa systemd-coredump[52934]: [🡕] Process 52913 (cups-deviced) of user 0 dumped core.
Stack trace of thread 52913:
#0 0x00005d13fff4651a n/a (cups-deviced + 0x251a)
#1 0x0000741bc1025e08 n/a (libc.so.6 + 0x25e08)
#2 0x0000741bc1025ecc __libc_start_main (libc.so.6 + 0x25ecc)
#3 0x00005d13fff47365 n/a (cups-deviced + 0x3365)
ELF object binary architecture: AMD x86-64
Encontré este post que comentaba que había solventado el problema cambiando el ID de usuario y grupo de CUPS a 209. Examinando el coredump con uno de los comandos que muestra el post:
j@arai ~ % coredumpctl info cups-exec
[...]
PID: 12461 (cups-exec)
UID: 0 (root)
GID: 209 (cups)
Signal: 11 (SEGV)
Timestamp: Thu 2025-01-16 19:04:25 CET (16h ago)
Command Line: /usr/lib/cups/daemon/cups-exec -g 209 -n 0 -u 209 none /usr/lib/cups/filter/universal Photosmart_C4380 16 j tmpnqvzw52t 1 $'finishings=3 number-up=1 print-color-mode=color job-uuid=urn:uuid:c6701993-8346-34ef-7a29-32aa6bc32c4d job-originating-host-name=localhost date-time-at-creation= date-time-at-processing= time-at-creation=1737050665 time-at-processing=1737050665 document-name-supplied=tmpnqvzw52t' /var/spool/cups/d00016-001
Executable: /usr/lib/cups/daemon/cups-exec
Control Group: /system.slice/system-cups.slice/cups.service
Unit: cups.service
Slice: system-cups.slice
Boot ID: 167934fd503c4837803ae35b0a8e7624
Machine ID: c3be3d622db0473f848133f70c16fd3e
Hostname: arai.home.arpa
Storage: /var/lib/systemd/coredump/core.cups-exec.0.167934fd503c4837803ae35b0a8e7624.12461.1737050665000000.zst (inaccessible)
Message: Process 12461 (cups-exec) of user 0 dumped core.
Stack trace of thread 12461:
#0 0x0000621e7f5d218f n/a (n/a + 0x0)
#1 0x0000763853a03e08 n/a (libc.so.6 + 0x25e08)
#2 0x0000763853a03ecc __libc_start_main (libc.so.6 + 0x25ecc)
#3 0x0000621e7f5d2325 n/a (n/a + 0x0)
ELF object binary architecture: AMD x86-64
Efectivament, en la línea «Command Line» de arriba vemos que cups-exec está intentando usar ese ID con -g 209
y -u 209
.
Como le ocurría al autor del post, mis IDs eran diferentes:
j@arai ~ % grep cups /etc/group
[...]
cups:x:964:
j@arai ~ % grep cups /etc/passwd
[...]
cups:x:964:964::/:/usr/bin/nologin
Los cambié a 209 con:
j@arai ~ % sudo groupmod -g 209 cups
j@arai ~ % sudo usermod -u 209 cups
Tras reiniciar cups con systemctl restart cups
ya funcionaba.