[Pkg-cups-devel] Bug#370611: SIGSEGV in cupsd 1.2.1-2

sacrificial-spam-address at horizon.com sacrificial-spam-address at horizon.com
Tue Jun 6 02:58:45 UTC 2006


Package: cupsys
Version: 1.2.1-2

I tried upgrading, and other than the massive config file changes,

(WHY does the CUPS documentation have to be SO BAD?  Just for example,
the "Order" directive docs say it defined whether Allow or Deny rules are
searched first.  Fine, but I don't care which is matched first, but which
takes precedence: if both an Allow and a Deny rule match, WHICH ONE WINS?
It appears that the LAST match wins, which is not explained ANYWHERE.
And why is there an Order directive in config file sections where there
ARE no Allow or Deny lines?  And what's this @OWNER and @SYSTEM stuff?
And what is this "PTAL hpjd:<address>" thing I'm being prompted to add as
a new printer?  That doesn't look like a valid DeviceURI to me.  And why
does the new config file say "Allow <address>" while the old one said
"Allow from <address>".  Is there any semantic difference, or is "from"
just syntactic noise?  Etc., etc., etc.)

er... as I was saying, after dealing with the config file overhaul,
I was noticing that the daemon would disappear at frequent intervals.

Tracing it revealed that it was dying on SIGSEGV.  Here's an
example while browing the web interface (just after the execve of
/usr/lib/cups/cgi-bin/printers.cgi completed) with "LogLevel debug" set:

22344 send(10, "\27\3\1\0@:_\376\243\250\177\335\326\272\346g\27\t\277\0\263\345\257\261<\35\361\31\3_\205\223\244\273\276\3674\227S\361\361IM\271\240c\201=b\270\351K\207d\21\232\274\310E\31\330\300\"XR\341[S-", 69, 0) = 69
22344 select(1024, [0 1 3 5 10], [10], NULL, {1, 0}) = 3 (in [3 5], out [10], left {1, 0})
22344 time(NULL)                        = 1149553429
22344 read(3, " \':\'...\nDEBUG:     Skip second part...\nDEBUG:       Starting at file position 197...\nDEBUG:       \"{printer_state_message}\" at 2"..., 967) = 967
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Returning at file position 197 on character \':\'...\n", 88) = 88
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Skip second part...\n", 57) = 57
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Starting at file position 197...\n", 70) = 70
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] \"{printer_state_message}\" at 243...\n", 73) = 73
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Returning at file position 252 on character \'}\'...\n", 88) = 88
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Finished \"{?printer_state_message=\", out=0x466765e0...\n", 92) = 92
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] \"{printer_name}\" at 349...\n", 64) = 64
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] \"{printer_uri_supported}\" at 406...\n", 73) = 73
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Starting \"{printer_state=3\" at 452, result=1...\n", 85) = 85
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Output first part...\n", 58) = 58
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Starting at file position 452...\n", 70) = 70
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Returning at file position 457 on character \':\'...\n", 88) = 88
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Skip second part...\n", 57) = 57
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Starting at file position 457...\n", 70) = 70
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Starting \"{printer_state=4\" at 474, result=0...\n", 85) = 85
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Skip first part...\n", 56) = 56
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Starting at file position 474...\n", 70) = 70
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Returning at file position 485 on character \':\'...\n", 88) = 88
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Output second part...\n", 59) = 59
22344 time(NULL)                        = 1149553429
22344 write(2, "D [05/Jun/2006:20:23:49 -0400] [CGI] Starting at file position 485...\n", 70) = 70
22344 time(NULL)                        = 1149553429
22344 time(NULL)                        = 1149553429
22344 time(NULL)                        = 1149553429
22344 time(NULL)                        = 1149553429
22344 --- SIGSEGV (Segmentation fault) @ 0 (0) ---

I have no idea what the [CGI] messages are talking about, but perhaps
they will be of some use to a scholar of such arcana.

The local configuration is unremarkable, with a few Allow lines added
to cupsd.conf for the local /24 network, and one directly connected
printer and a few HP JetDirect (socket://hostname:9100/) connections.
x86_32 server with 2.6.16 kernel.

No printing was happening at the time of the crash.  1.1.23-15 ran fine.


I'm reverting to 1.1.23-15 for a while.

Anyway, thanks for struggling with this hideous monstrosity.




More information about the Pkg-cups-devel mailing list