Bug 1243784
Summary: | ghostscript not checking for icc_profile errors (in initialization) | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Martin Cermak <mcermak> | ||||
Component: | ghostscript | Assignee: | David Kaspar // Dee'Kej <deekej> | ||||
Status: | CLOSED ERRATA | QA Contact: | QE Internationalization Bugs <qe-i18n-bugs> | ||||
Severity: | low | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 7.2 | CC: | deekej, denis, dhorak, fche, jburke, jstancek, kkrothap, lberk, mattias.ellert, ovasik, pbrobinson, pgeorgie, psklenar, skumari, smaitra, tpelka, vbenes | ||||
Target Milestone: | rc | Keywords: | EasyFix, Patch | ||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | ghostscript-9.07-19.el7 | Doc Type: | Bug Fix | ||||
Doc Text: |
NO_DOCS
|
Story Points: | --- | ||||
Clone Of: | Environment: | ||||||
Last Closed: | 2016-11-04 08:28:22 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | 1250914 | ||||||
Bug Blocks: | 1289025, 1291483, 1305230 | ||||||
Attachments: |
|
maybe related to bug 1250914 *** Bug 1270236 has been marked as a duplicate of this bug. *** *** Bug 1252103 has been marked as a duplicate of this bug. *** *** Bug 1269126 has been marked as a duplicate of this bug. *** *** Bug 1297828 has been marked as a duplicate of this bug. *** I'm reposting some info so it should be visible by everybody now: ------------- There are actually 2 problems here: 1) The Segmentation fault is caused by the problem in lcms2 building process for ppc64le. It is more described in bug 1250914. 2) The 'ghostscript' itself (of version 9.07) does not expect the problem with endianess to happen, so it does not check for the errors in the gsicc_* functions. The 2) was fixed in version 9.08, with this commit: http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=b1d518660381c8cec7f603ef05eea85e1d683817 *** Bug 1317949 has been marked as a duplicate of this bug. *** *** Bug 1334445 has been marked as a duplicate of this bug. *** Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-2550.html |
Created attachment 1052631 [details] xz'd reproducer file This is ppc64le specific: Following segfault makes systemtap fail to build it's documentation (FTBFS in brew as well): ======= 7.2 S ppc64le # gdb -q -args /usr/bin/gs -P- -dSAFER -dCompatibilityLevel=1.4 -q -P- -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr -sOutputFile=tutorial.pdf -P- -dSAFER -dCompatibilityLevel=1.4 -c .setpdfwrite -f tutorial.ps Reading symbols from /usr/bin/gs...Reading symbols from /usr/lib/debug/usr/bin/gs.debug...done. done. (gdb) r Starting program: /usr/bin/gs -P- -dSAFER -dCompatibilityLevel=1.4 -q -P- -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr -sOutputFile=tutorial.pdf -P- -dSAFER -dCompatibilityLevel=1.4 -c .setpdfwrite -f tutorial.ps [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/power8/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. cmsGetColorSpace (hProfile=0x0) at cmsio0.c:901 901 } (gdb) bt #0 cmsGetColorSpace (hProfile=0x0) at cmsio0.c:901 #1 0x00003fffb76db818 in gscms_get_input_channel_count (profile=<optimized out>) at base/gsicc_lcms2.c:110 #2 0x00003fffb76d757c in gsicc_set_device_profile (pdev=0x100de3c8, mem=0x10031f78, file_name=<optimized out>, pro_enum=<optimized out>) at base/gsicc_manage.c:1553 #3 0x00003fffb76d792c in gsicc_init_device_profile_struct (dev=0x100de3c8, profile_name=0x1038ce40 "default_rgb.icc", profile_type=<optimized out>) at base/gsicc_manage.c:1477 #4 0x00003fffb7897bf0 in gs_setdevice_no_erase (pgs=0x10066aa8, dev=0x100de3c8) at base/gsdevice.c:472 #5 0x00003fffb76472b0 in zsetdevice (i_ctx_p=0x100828b8) at psi/zdevice.c:467 #6 0x00003fffb7607dd8 in interp (pi_ctx_p=0x100304a8, pref=<optimized out>, perror_object=0x3fffffffd808) at psi/interp.c:1552 #7 0x00003fffb760877c in gs_call_interp (perror_object=0x3fffffffd808, pexit_code=0x3fffffffd804, user_errors=<optimized out>, pref=<optimized out>, pi_ctx_p=0x100304a8) at psi/interp.c:501 #8 gs_interpret (pi_ctx_p=0x100304a8, pref=<optimized out>, user_errors=<optimized out>, pexit_code=0x3fffffffd804, perror_object=0x3fffffffd808) at psi/interp.c:459 #9 0x00003fffb75f8d04 in gs_main_interpret (perror_object=0x3fffffffd808, pexit_code=0x3fffffffd804, user_errors=<optimized out>, pref=0x3fffffffd220, minst=0x10030410) at psi/imain.c:235 #10 gs_run_init_file (minst=0x10030410, pexit_code=0x3fffffffd804, perror_object=0x3fffffffd808) at psi/imain.c:540 #11 0x00003fffb75f93f0 in gs_main_init2aux (minst=0x10030410) at psi/imain.c:277 #12 0x00003fffb75f9c58 in gs_main_init2 (minst=0x10030410) at psi/imain.c:310 #13 0x00003fffb75fbab8 in swproc (minst=<optimized out>, arg=0x3ffffffff3f8 "", pal=<optimized out>) at psi/imainarg.c:374 #14 0x00003fffb75fd438 in gs_main_init_with_args (minst=0x10030410, argc=<optimized out>, argv=0x3fffffffef88) at psi/imainarg.c:211 #15 0x00003fffb75fe8ac in gsapi_init_with_args (lib=<optimized out>, argc=<optimized out>, argv=<optimized out>) at psi/iapi.c:180 #16 0x0000000010000ac8 in main (argc=<optimized out>, argv=0x3fffffffef88) at psi/dxmainc.c:86 =======