Bug 1585759 - Previously working Lexmark filter segfaults
Summary: Previously working Lexmark filter segfaults
Keywords:
Status: CLOSED CANTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: cups
Version: 28
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Zdenek Dohnal
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-06-04 16:11 UTC by Keith Dixon
Modified: 2018-06-05 06:32 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2018-06-05 06:32:16 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
additional information as referred to in the description (9.07 KB, text/plain)
2018-06-04 16:11 UTC, Keith Dixon
no flags Details

Description Keith Dixon 2018-06-04 16:11:01 UTC
Created attachment 1447544 [details]
additional information as referred to in the description

Description of problem:

I have a pair of rather venerable rpms containing the 32 bit code for an old Lexmark Z25 printer which has worked on many successive Fedora releases, up to now, on a x86_64 machine. Specifically, it worked on Fedora 27. The printer is connected directly via USB. The contents of these two rpms are in the attachment.

On Fedora 28, however, the rasteriser filter, which is a i686 binary blob, segfaults:
 PID 2610 (/usr/lib/cups/filter/rastertoz35) crashed on signal 11.

So I take a look at it:
$ readelf -a /usr/lib/cups/filter/rastertoz35
...
 0x00000001 (NEEDED)                     Shared library: [liblexz35printjob.so.0]
 0x00000001 (NEEDED)                     Shared library: [liblexz35core.so.0]
 0x00000001 (NEEDED)                     Shared library: [libcups.so.2]
 0x00000001 (NEEDED)                     Shared library: [libcupsimage.so.2]
 0x00000001 (NEEDED)                     Shared library: [libstdc++.so.5]
 0x00000001 (NEEDED)                     Shared library: [libm.so.6]
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
...

I tried downgrading these libraries to those on Fedora 27 but to no avail. The details are in the attachment.

I also took a look at the core dumps, but I have no source code and I do not know what to look for. Again, the details are in the attachment.

I realise this is not Fedora code and cups may not be the component where a change has occurred but it would seem that an abi has changed somewhere and cups  seemed to be as good a place to start as any.

Is there any hope for my printer?

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:
I also have to allow execmem for this code to work
# ausearch -c 'z35' --raw | audit2allow -M z35pol
# semodule -i z35pol.pp

Comment 1 Zdenek Dohnal 2018-06-05 06:32:16 UTC
Hi Keith,

IMHO a differences in ABI can be expected between releases (the problem would be if ABI difference was introduced between updates in stable release and dependent packages weren't rebuilt), that's why several mass rebuilds are done during development cycle.
The problem is that rpms are not in Fedora, so the package doesn't get rebuilt automatically. So the solution is to rebuilt these rpms with the libraries from F28. The issue should be reported to someone who released such rpms. If there isn't such person anymore, then I'm deeply sorry, but I cannot do anything about it.
Maybe you can try some foomatic-db or gutenprint ppds for Lexmark Z series and see if any of them works for you.


Note You need to log in before you can comment on or make changes to this bug.