Bugzilla (bugzilla.redhat.com) will be under maintenance for infrastructure upgrades and will not be unavailable on July 31st between 12:30 AM - 05:30 AM UTC. We appreciate your understanding and patience. You can follow status.redhat.com for details.
Bug 1887544 - Ghostcript, after updade, does not render postscript files at all.
Summary: Ghostcript, after updade, does not render postscript files at all.
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: libspectre
Version: 32
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Marek Kašík
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-10-12 18:42 UTC by Morvan
Modified: 2020-10-23 22:39 UTC (History)
9 users (show)

Fixed In Version: libspectre-0.2.8-11.fc32 libspectre-0.2.9-3.fc33
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-10-23 22:17:26 UTC
Type: Bug


Attachments (Terms of Use)
File generated by gEDA PCB (a pcb designed by me). (315.41 KB, application/postscript)
2020-10-12 18:42 UTC, Morvan
no flags Details

Description Morvan 2020-10-12 18:42:51 UTC
Created attachment 1721019 [details]
File generated by gEDA PCB (a pcb designed by me).

Description of problem: Until I upgrade Ghostscript, I loaded, no issues, my .ps files (exported from gEDA PCB). After upgrading, it renders no contents (pretty blank pages). When I revert version (9.52...) file is shown, no problem.


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


How reproducible: Allways I try to open a .ps file via Okular or another frontend.


Steps to Reproduce:
1. Open the .PS file: $ =>okular /home/morvan/eletr/caixa/meter.uln2004.poli.ps


Actual results:
**** Unable to open the initial device, quitting.
(libspectre) ghostscript reports: fatal internal error -100org.kde.okular.generators.spectre: Generated image does not match wanted size: [0x0] vs requested [686x887]
QImage::scaled: Image is a null image
**** Unable to open the initial device, quitting.
(libspectre) ghostscript reports: fatal internal error -100org.kde.okular.generators.spectre: Generated image does not match wanted size: [0x0] vs requested [686x887]
QImage::scaled: Image is a null image...


Expected results:
view file contents

Additional info:
I tried some times, to be ascertain what bugged component.

Comment 1 Michael J Gruber 2020-10-13 09:20:04 UTC
The attached file works fine with ghostscript-9.53.3-1.fc31.x86_64 over here (copr build) but shows the same symptoms when ghostscript is called through zathura or evince.

Can you confirm that calling ghostscript directly works for you with that file?

Something around the parameters or the behaviour of -dSAFER may have changed.

Comment 2 Michael J Gruber 2020-10-13 14:01:52 UTC
OK, so apparantly, gs 9.53 needs an update to libspectre which is the library that evince and zathura-ps (and probably okular) use to interface with ghostscript.

I built and installed libspectre-0.2.9-2.fc31.x86_64 on F31 which was everything I needed to get the ps file from the bug report to display with evince and zathura-ps. (It gave the same error as reported with libspectre-0.2.8-9.fc31.x86_64.)

Note that none of these are available on F31 where I am testing. But gs 9.53 is on F32, and after my testing I am confident that a libspectre update to 0.2.9 on F32 (which is the version on F33 and F34) will solve the problem.

This means we might have to coordinate gs and libspectre updates at least sometimes.

Reassigning to libspectre: Please push your F33/F34 update to F32 as well.

Comment 3 Morvan 2020-10-14 21:25:50 UTC
For me, only approach that works is to downgrade Ghostscript, a sign that it is the culprit:

# =>dnf install ghostscript-core ghostscript-tools-printing ghostscript-tools-fonts libspectre           
...
ghostscript                                                               x86_64                                                9.53.1-2.fc32                                                   updates                                                 38 k
ghostscript-core                                                          x86_64                                                9.53.1-2.fc32                                                   updates                                                8.7 k
ghostscript-tools-fonts                                                   x86_64                                                9.53.1-2.fc32                                                   updates                                                 12 k
ghostscript-tools-printing                                                x86_64                                                9.53.1-2.fc32                                                   updates                                                 12 k
...
Resume... Nothing.
 But, when I type:

# =>dnf downgrade ghostscript-core ghostscript-tools-printing ghostscript-tools-fonts libspectre
...
 ghostscript                                                                x86_64                                                 9.52-1.fc32                                                   fedora                                                  39 k
 ghostscript-core                                                           x86_64                                                 9.52-1.fc32                                                   fedora                                                 9.3 k
 ghostscript-tools-fonts                                                    x86_64                                                 9.52-1.fc32                                                   fedora                                                  13 k
 ghostscript-tools-printing                                                 x86_64                                                 9.52-1.fc32                                                   fedora                                                  13 k
 libgs                                                                      x86_64                                                 9.52-1.fc32                                                   fedora                                                 3.1 M

Everything shows up.

Comment 4 Michael J Gruber 2020-10-15 07:52:51 UTC
I'm not sure what "Resume... Nothing." and "Everything shows up." mean, but the point is the fact that libspectre on F32 needs to have the same update that you pushed to F33 already. That is what I am asking because the older libspectre cannot handle the newer libgs.

dnf would tell you nothing about that. Trying out the attached ps with a ps viewer which uses libspectre is the check for that.

libgs does not require libspectre and thus cannot "require" a specific version in spec. This can be handled only on the side of libspectre, the lib calling into gs.

Comment 5 Marek Kašík 2020-10-15 15:14:44 UTC
Hi,

the issue seems to be caused by a change in ghostscript between 9.52 and 9.53 (there were several changes in sizes of some types). Simple rebuild of libspectre fixes the issue. So I've prepared the rebuild. I've set version dependency on ghostscript 9.53 since the new build does not work with ghostscript 9.52.

Thanks you for this report.

Comment 6 Fedora Update System 2020-10-15 15:17:52 UTC
FEDORA-2020-6ca8e9b5c0 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-6ca8e9b5c0

Comment 7 Fedora Update System 2020-10-15 19:56:55 UTC
FEDORA-2020-6ca8e9b5c0 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-6ca8e9b5c0`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-6ca8e9b5c0

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Morvan 2020-10-15 21:39:07 UTC
(In reply to Michael J Gruber from comment #4)
> I'm not sure what "Resume... Nothing." and "Everything shows up." mean, but

Hi. I, intentionally, omitted dnf verbosity. I mean I downgraded packages to test versions.

Comment 9 Morvan 2020-10-15 21:40:41 UTC
(In reply to Marek Kašík from comment #5)
> Hi,
> 
> the issue seems to be caused by a change in ghostscript between 9.52 and
> 9.53 (there were several changes in sizes of some types). Simple rebuild of
> libspectre fixes the issue. So I've prepared the rebuild. I've set version
> dependency on ghostscript 9.53 since the new build does not work with
> ghostscript 9.52.
> 
> Thanks you for this report.

Thats is right. You are welcome. Thanks for kind response.

Comment 10 Morvan 2020-10-15 21:41:30 UTC
(In reply to Fedora Update System from comment #7)
> FEDORA-2020-6ca8e9b5c0 has been pushed to the Fedora 32 testing repository.
...

Thanks.

Comment 11 José Matos 2020-10-18 00:45:23 UTC
(In reply to Marek Kašík from comment #5)
> Hi,
> 
> the issue seems to be caused by a change in ghostscript between 9.52 and
> 9.53 (there were several changes in sizes of some types). Simple rebuild of
> libspectre fixes the issue. So I've prepared the rebuild. I've set version
> dependency on ghostscript 9.53 since the new build does not work with
> ghostscript 9.52.
> 
> Thanks you for this report.

The problem is also present in Fedora 33 and the same solution applies there.
Just rebuilding libspectre is enough to make okular and evince work again with postscript files.
Another symptom from this problem was that without the rebuild "Print Preview" is not working in okular for pdf files.

Should I open another bug for Fedora 33? In this case the cause and the solution are the same. :-)

Comment 12 Fedora Update System 2020-10-19 11:20:40 UTC
FEDORA-2020-aab53a1bbb has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-aab53a1bbb

Comment 13 Marek Kašík 2020-10-19 11:24:10 UTC
Thanks for letting me know, I've just rebuilt libspectre in F33 too. I got impression that it aas ok in F33 before, sorry.

Comment 14 Michael J Gruber 2020-10-19 11:39:46 UTC
Thanks for the rebuilds.

We had no reports on F33, and a rebuild of libspectre-0.2.9 on F31 solved the "problem" (for a copr build, not released) there, from which I drew the wrong conclusion. Now F32 through rawhide should be fine (and F31 does not have the newer gs).

Comment 15 José Matos 2020-10-19 11:55:08 UTC
(In reply to Marek Kašík from comment #13)
> Thanks for letting me know, I've just rebuilt libspectre in F33 too. I got
> impression that it aas ok in F33 before, sorry.

Thank you for the quick fix. I can confirm that both evince and okular work now so I left the corresponding karma in bodhi.

Comment 16 Fedora Update System 2020-10-20 14:23:28 UTC
FEDORA-2020-aab53a1bbb has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-aab53a1bbb`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-aab53a1bbb

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 17 Fedora Update System 2020-10-23 22:17:26 UTC
FEDORA-2020-aab53a1bbb has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 18 Fedora Update System 2020-10-23 22:39:53 UTC
FEDORA-2020-6ca8e9b5c0 has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.


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