I think that I understand more precisely the bug. I will comment the above log where the client make two request : -> It request the printer attributes and next -> the job attributes
The first request works, the second crash. ############### The first request ############### 1) The client query the printer attributes -------------------- (... read request data from client ... and next ) cupsdReadClient: 24 2.0 Get-Printer-Attributes 1 cupsdProcessIPPRequest(0x7f8861d6c8f0[24]): operation_id = 000b Get-Printer-Attributes ipp://fichdc:631/printers/AL-C3800_cdi get_printer_attrs(0x7f8861d6c8f0[24], ipp://fichdc:631/printers/AL-C3800_cdi) ... -------------------- 2) CUPS query the printer attributes and write it in a struct -------------------- copy_attrs(to=0x7f886185bbe0, from=0x7f8861ee47e0, ra=0x7f8861d4b0d0, group=0, quickcopy=0) copy_attribute(0x7f886185bbe0, 0x7f8861973c60[marker-colors,4,42]) copy_attribute(0x7f886185bbe0, 0x7f8861973cf0[marker-levels,4,21]) ... copy_attribute(0x7f886185bbe0, 0x7f8862000780[operations-supported,4,23]) Returning IPP successful-ok for Get-Printer-Attributes (ipp://fichdc:631/printers/AL-C3800_cdi) from 172.16.1.23 -------------------- 3) Cups write the attributes to the client -------------------- cupsdProcessIPPRequest: ippLength(response)=2153 cupsdAddSelect(fd=24, read_cb=0x7f8860956d60, write_cb=0x7f8860956720, data=0x7f8861d6c8f0) select_timeout(0): 26 seconds to write dirty config/state files cupsdWriteClient(con=0x7f8861d6c8f0(24)) response=0x7f886185bbe0(0), file=-1 pipe_pid=0 state=7 ... cupsdWriteClient(con=0x7f8861d6c8f0(24)) response=0x7f886185bbe0(2), file=-1 pipe_pid=0 state=7 -------------------- ############### The second request ############### 1) The client query the job attribute -------------------- (... read request data from client ... and next ) cupsdReadClient: 24 2.0 Get-Job-Attributes 1 cupsdProcessIPPRequest(0x7f8861d6c8f0[24]): operation_id = 0009 Get-Job-Attributes ipp://fichdc:631/printers/AL-C3800_cdi get_job_attrs(0x7f8861d6c8f0[24], ipp://fichdc:631/printers/AL-C3800_cdi) -------------------- 2) CUPS query the job attributes and write it in a struct -------------------- copy_attrs(to=0x7f8861d5a390, from=0x7f8861d49af0, ra=0x7f8861d4b0d0, group=2, quickcopy=0) copy_attribute(0x7f8861d5a390, 0x7f8861d49d70[job-originating-user-name,2,42]) .... copy_attribute(0x7f8861d5a390, 0x7f8861d5f260[job-media-sheets-completed,2,21]) Returning IPP successful-ok for Get-Job-Attributes (ipp://fichdc:631/printers/AL-C3800_cdi) from 172.16.1.23 -------------------- 3) BUT instead of WRITE the result to the client CUPS do a READ : -------------------- cupsdProcessIPPRequest: ippLength(response)=352 cupsdAddSelect(fd=24, read_cb=0x7f8860956d60, write_cb=0x7f8860956720, data=0x7f8861d6c8f0) select_timeout(0): 26 seconds to write dirty config/state files cupsdReadClient(con=0x7f8861d6c8f0(24)) con->http.error=0 con->http.used=0, con->http.state=7, con->data_encoding=HTTP_ENCODE_LENGTH, con->data_remaining=352, con->file=-1 cupsdReadClient: 24 Closing on EOF cupsdCloseClient: 24 -------------------- We see that in the "cupsdReadClient" call the "con->data_remaining=352" correspond to the size of the attributes retourned by the Get-Job- Attributes process. Strange no ? Baptiste. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/512220 Title: cupsd crash "Closing on unknown HTTP state 0" To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cups/+bug/512220/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs