Bug 438547 - Segmentation fault in libcups.so.2
Summary: Segmentation fault in libcups.so.2
Status: RESOLVED WONTFIX
Alias: None
Product: openSUSE 11.0
Classification: openSUSE
Component: Printing (show other bugs)
Version: Final
Hardware: i586 openSUSE 11.0
: P5 - None : Major (vote)
Target Milestone: ---
Assignee: Klaus Singvogel
QA Contact: Johannes Meixner
URL:
Whiteboard:
Keywords: printing
Depends on:
Blocks:
 
Reported: 2008-10-23 22:25 UTC by Tino Schwarze
Modified: 2008-10-27 14:09 UTC (History)
0 users

See Also:
Found By: Community User
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
PPD file for Canon MP610 (minor modifications from downloaded version) (22.71 KB, application/octet-stream)
2008-10-23 22:25 UTC, Tino Schwarze
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tino Schwarze 2008-10-23 22:25:03 UTC
Created attachment 247655 [details]
PPD file for Canon MP610 (minor modifications from downloaded version)

I successfully installed an Canon MP610 using the drivers provided by Canon ( cnijfilter-mp610series-2.80-1 , cnijfilter-common-2.80-1 ) and I'm using updated PPDs from http://mp610.blogspot.com/ .

Everything worked like a charm and things were really easy to setup and configure!

Suddenly, about two weeks later, printing from Acrobat Reader failed while it still works from GIMP and Firefox (I performed updates during that time). I'm getting messages like this in syslog (one message for each try):

Oct 23 23:43:38 ferrari kernel: pstocanonij[6998]: segfault at 1 ip b7fb1bb4 sp bface780 error 4 in libcups.so.2[b7f8e000+34000]
Oct 23 23:44:18 ferrari kernel: pstocanonij[7036]: segfault at 1 ip b7f16bb4 sp bff33bf0 error 4 in libcups.so.2[b7ef3000+34000]
Oct 23 23:45:01 ferrari kernel: pstocanonij[7093]: segfault at 1 ip b805ebb4 sp bf979630 error 4 in libcups.so.2[b803b000+34000]

I struggled with gdb and tried to figure out where exactly it crashes in libcups.so.2. I installed the cups-debuginfo and cups-debugsource packages. After telling gdb about the symbols manually, it said that the crash was in ppdPageSize (). If I could gdb to recognise the full debug info and display line numbers, I could step through and aid debugging... (unfortunately, I couldn't find any deeper information than "install -debuginfo package")

I checked the PPD using cupstestppd and it only complained about the resolution (there was a "dpi" missing). I also tried different settings in Acrobat Reader (Postscript Level 2, Level 3, with/without Optimize for Speed etc.) - same results. I ran a PDF through pdftops with "-paper match" as well as "-paper A4" - same result: instant segfault.

Then I downgraded cups and cups-libs to 1.3.7-25.1 (as available from OSS repo) - no change.

I'm attaching the current PPD file.

I'm reporting the bug here since I suppose it's some flaw in libcups which IMO should not segfault (even if the PPD is subtly broken which I don't suppose here).
Comment 1 Klaus Singvogel 2008-10-24 11:07:34 UTC
Sorry, but "cnijfilter-mp610series" nor package "cnijfilter-common" is part of the openSUSE distribution. It's always possible to write some piece of code, where some other library crash (even they should not).

It's not scope of our business to debug and fix 3rd party software.

I suggest to contact the vendor of this drivers, which should be Canon.
But I fear that they don't want to take a look on this issue. Sorry.

If you can provide a very small and reduced piece of code (i.e. C), where the crash can be reduced to, we are able to fix the cups library. But this might still include that the driver still doesn't work after this fix.

But as we lack of this printer and the software code is (typically) very big, and the download of sourcecode not known (to me), I'm closing this bugzilla, and suggest to contact the vendor of the 3rd party software. Sorry.
Comment 2 Tino Schwarze 2008-10-25 19:18:05 UTC
Okay, I kind of expected that response and will contact Canon about the issue.

So just one final question: Should installing the cups-libs-debuginfo package be enough to get line number information from gdb? I didn't find any more detailed instructions than "install -debuginfo package". I only get the function from gdb, no line numbers.

Thanks,

Tino.
Comment 3 Klaus Singvogel 2008-10-27 14:09:42 UTC
I don't do it that way, instead I install the sources and debug within them.

Sorry, but I'm unable to answer this.