Bug 796500
| Summary: | evince crashes with "stack smashing detected" when opening certain pdf files | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Peter Backes <rtc> | ||||||||
| Component: | openjpeg | Assignee: | Jaromír Cápík <jcapik> | ||||||||
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
| Severity: | medium | Docs Contact: | |||||||||
| Priority: | unspecified | ||||||||||
| Version: | 16 | CC: | adam, bibo, cpanceac, handyj, hp4everything, jarodpt81, javlopez22, jcapik, jhhaynes, kaf.laarous, kirushan22, lijunshuai1845, mads, magdorn, mikolaj.bugzilla, miltondp, mkasik, neoh.ys, oliver, ousia, ovasik, quentin, rdieter, spam42, stedchris, tgl, tom.georgoulias, zulu | ||||||||
| Target Milestone: | --- | ||||||||||
| Target Release: | --- | ||||||||||
| Hardware: | i686 | ||||||||||
| OS: | Unspecified | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | openjpeg-1.4-12.fc17 | Doc Type: | Bug Fix | ||||||||
| Doc Text: | Story Points: | --- | |||||||||
| Clone Of: | Environment: | ||||||||||
| Last Closed: | 2012-03-10 00:20:08 UTC | Type: | --- | ||||||||
| Regression: | --- | Mount Type: | --- | ||||||||
| Documentation: | --- | CRM: | |||||||||
| Verified Versions: | Category: | --- | |||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||
| Embargoed: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
Peter Backes
2012-02-23 02:14:47 UTC
Hi, I am able to reproduce the problem now. It is specific to i686 and crashes with openjpeg-1.4-11.i686. It doesn't crash with openjpeg-1.4-6.i686. I'm reassigning this to openjpeg. Regards Marek *** Bug 797336 has been marked as a duplicate of this bug. *** The problem also occurs with openjpeg-1.4-10.i686. Since there are no significant changes between -6 and -9, the problem must have been introduced by 1.4-10: "backport upstream patch to avoid poppler regressions (upstream issue #104)" (see also http://code.google.com/p/openjpeg/issues/detail?id=104 and http://code.google.com/p/openjpeg/issues/detail?id=110) Looking at the patch (openjpeg-1.4-poppler_regression.patch), the situation is as follows: This patch adds new structure components to opj_jp2_t in libopenjpeg/jp2.h and opj_dparameters_t in libopenjpeg/openjpeg.h, increasing their size. I suppose that poppler makes use of these structures and allocates stack space for them. However, poppler was probably built with a version of openjpeg from before this change. This interaction causes the stack smashing, since the new version of openjpeg writes beyond allocated space to access structure members which poppler didn't allocate. If this rough guess is correct then: 1. the version number of libopenjpeg.so.3 needs to be changed (but note that .4 will probably be used be future versions of openjpeg), 2. any package using openjpeg needs to be rebuilt with the new openjpeg version. Hi Peter, thank you for your analysis. You are right. I've just done a scratch build of poppler with the newer openjpeg and it doesn't crash with it (see http://koji.fedoraproject.org/koji/taskinfo?taskID=3826289). The question now is whether maintainer will bump the soname or not. Regards Marek Maybe the soname can be bumped to .so.3.1, such that the full library name will be .so.3.1.1.4.0? http://wiki.linuxquestions.org/wiki/Library-related_Commands_and_Files#ldconfig suggests that this is possible, though I don't know if it would work in reality. I noticed that ffmpeg-libs-0.8.9-1.fc16.i686 also depends on libopenjpeg.so.3. It might be affected in a similar way. Thanks for the analysis here. This added patch to openjpeg was to be used by future versions of poppler (and ironically was strongly suggested by poppler upstream to backport as was done here), so I'm of a mind to: 1. remove the patch for now and/or 2. rebase/update poppler in f16... been meaning to start work on that sooner or later. *** Bug 797280 has been marked as a duplicate of this bug. *** *** Bug 795828 has been marked as a duplicate of this bug. *** *** Bug 795370 has been marked as a duplicate of this bug. *** *** Bug 795191 has been marked as a duplicate of this bug. *** *** Bug 795160 has been marked as a duplicate of this bug. *** *** Bug 789565 has been marked as a duplicate of this bug. *** *** Bug 789368 has been marked as a duplicate of this bug. *** *** Bug 788283 has been marked as a duplicate of this bug. *** I will update poppler in F16 but it won't be a rebase. I'll just merge patches which are mentioned in release notes (0.18.1 - 0.18.4). Also I won't merge patches which changes API or anything in building of the package. If maintainer of openjpeg decides to bump soname later we can just rebuild poppler. that approach works too, but seems like a lot more work (ok if you don't mind doing it). Any timeline for doing so? wondering if we can consider coordinating openjpeg soname bump + poppler update at the same time. Else, I think it best to remove this ABI-breaking patch for now, and (consider) re-adding it when/if a f16 poppler-0.18.4+ update happens Created attachment 566602 [details] patch backporting some poppler-0.18.4 fixes > that approach works too, but seems like a lot more work (ok if you don't mind > doing it). Any timeline for doing so? I've prepared a patch for this. I will check it tomorrow yet and I will commit it then + prepare an update (+ I will maybe add a constraint on version of openjpeg to Requires). > wondering if we can consider coordinating openjpeg soname bump + poppler update > at the same time. I don't want to wait because there is already quite a lot of bugs on this and preparing of the soname bump + rebuild of all dependant packages will take time. > Else, I think it best to remove this ABI-breaking patch for now, and (consider) > re-adding it when/if a f16 poppler-0.18.4+ update happens Unfortunately, I don't plan to rebase poppler to 0.18.4 in F16 because of the soname bump in poppler 0.18.1. *** Bug 795391 has been marked as a duplicate of this bug. *** openjpeg-1.4-12.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/openjpeg-1.4-12.fc16 openjpeg-1.4-12.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/openjpeg-1.4-12.fc15 *** Bug 799631 has been marked as a duplicate of this bug. *** *** Bug 799626 has been marked as a duplicate of this bug. *** *** Bug 799593 has been marked as a duplicate of this bug. *** *** Bug 798925 has been marked as a duplicate of this bug. *** *** Bug 799570 has been marked as a duplicate of this bug. *** *** Bug 799520 has been marked as a duplicate of this bug. *** Hi, unfortunately, I was sick last few days, that's why I haven't done the update of poppler yet. I'll wait until openjpeg-1.4-12.fc16 gets into stable and I will create the update for poppler. Regards Marek *** Bug 799632 has been marked as a duplicate of this bug. *** *** Bug 799950 has been marked as a duplicate of this bug. *** Package openjpeg-1.4-12.fc16: * should fix your issue, * was pushed to the Fedora 16 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing openjpeg-1.4-12.fc16' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-3026/openjpeg-1.4-12.fc16 then log in and leave karma (feedback). well, something strange happens: there's no openjpeg installed here. so i can't "update" it :) yum says: Setting up Update Process Package(s) openjpeg available, but not installed. No Packages marked for Update maybe i just need the updated poppler? please advise. (In reply to comment #31) > well, something strange happens: there's no openjpeg installed here. so i can't > "update" it :) Update openjpeg-libs Tried to open this file: http://www.dgge.pt?cfl=5558 Bang. backtrace_rating: 4 Package: evince-3.2.1-2.fc16 OS Release: Fedora release 16 (Verne) Created attachment 568077 [details]
File: backtrace
Installed openjpeg-libs-1.4-12.fc16.i686.rpm (from Koji, repo didn't have the updated RPM yet). I was able to open the PDF w/o issue. Ran yum update, didn't work. Ran yum install instead and the offending pdf doesn't crash evince now. Working well. Thanks. Change your yum command to the following and it should install: su -c 'yum install --enablerepo=updates-testing openjpeg-1.4-12.fc16' Updating openjpeg-libs to 1.4-12 from updates-testing allowed me to open both my document and the document from comment #33. thank you very much. I just try to open a PDF file by double click backtrace_rating: 4 Package: evince-3.2.1-2.fc16 OS Release: Fedora release 16 (Verne) Created attachment 568851 [details]
File: backtrace
openjpeg-1.4-12.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report. openjpeg-1.4-12.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report. *** Bug 798865 has been marked as a duplicate of this bug. *** *** Bug 754805 has been marked as a duplicate of this bug. *** *** Bug 802405 has been marked as a duplicate of this bug. *** *** Bug 802432 has been marked as a duplicate of this bug. *** *** Bug 802090 has been marked as a duplicate of this bug. *** openjpeg-1.4-12.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/openjpeg-1.4-12.fc17 Oops, seems openjpeg-1.5.0 never landed in f17 branch as intended. I'll see about rectifying that asap. Thank you. openjpeg-1.4-12.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report. |