[Pixman] Error in pixman-0.22.2 with Intel Compiler

Siarhei Siamashka siarhei.siamashka at gmail.com
Thu Mar 6 23:25:01 PST 2014


On Wed, 5 Mar 2014 15:30:38 +0530
Atul Yadav <atulyadavtech at gmail.com> wrote:

> Dear Team,
> 
> Please guide me in resolving below mention error.
> 
> Making check in pixman
> make[1]: Entering directory
> `/opt/softbackup/atul-build/pixman-0.22.2/pixman'
> make  check-am
> make[2]: Entering directory
> `/opt/softbackup/atul-build/pixman-0.22.2/pixman'
> make[2]: Nothing to be done for `check-am'.
> make[2]: Leaving directory `/opt/softbackup/atul-build/pixman-0.22.2/pixman'
> make[1]: Leaving directory `/opt/softbackup/atul-build/pixman-0.22.2/pixman'
> Making check in demos
> make[1]: Entering directory `/opt/softbackup/atul-build/pixman-0.22.2/demos'
> make[1]: Nothing to be done for `check'.
> make[1]: Leaving directory `/opt/softbackup/atul-build/pixman-0.22.2/demos'
> Making check in test
> make[1]: Entering directory `/opt/softbackup/atul-build/pixman-0.22.2/test'
> make  check-TESTS
> make[2]: Entering directory `/opt/softbackup/atul-build/pixman-0.22.2/test'
> /bin/sh: line 5: 22403 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: a1-trap-test
> /bin/sh: line 5: 22443 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: pdf-op-test
> /bin/sh: line 5: 22483 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: region-test
> PASS: region-translate-test
> /bin/sh: line 5: 22566 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: fetch-test
> /bin/sh: line 5: 22608 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: oob-test
> PASS: trap-crasher
> /bin/sh: line 5: 22687 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: alpha-loop
> /bin/sh: line 5: 22729 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: scaling-crash-test
> PASS: scaling-helpers-test
> /bin/sh: line 5: 22808 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: gradient-crash-test
> /bin/sh: line 5: 22850 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: alphamap
> /bin/sh: line 5: 22890 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: stress-test
> /bin/sh: line 5: 22934 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: composite-traps-test
> /bin/sh: line 5: 22976 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: blitters-test
> /bin/sh: line 5: 23018 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: scaling-test
> /bin/sh: line 5: 23060 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: affine-test
> /bin/sh: line 5: 23102 Segmentation fault      (core dumped) ${dir}$tst
> FAIL: composite
> =============================================
> 15 of 18 tests failed
> Please report to pixman at lists.freedesktop.org
> =============================================
> make[2]: *** [check-TESTS] Error 1
> make[2]: Leaving directory `/opt/softbackup/atul-build/pixman-0.22.2/test'
> make[1]: *** [check-am] Error 2
> make[1]: Leaving directory `/opt/softbackup/atul-build/pixman-0.22.2/test'
> make: *** [check-recursive] Error 1
> ++++++++++++++++++++++++++++++++++++++++++++++++++++

Thanks for the report.

First of all, your version of pixman seems to be really old. There were
a lot of improvements since that time, including a few security fixes.
The API/ABI of pixman is very stable and upgrading from 0.22.2 should
be generally problem-free:
    http://upstream-tracker.org/versions/libpixman.html

The current pixman git needs at least two fixes for better compatibility
with Intel Compiler:
    http://lists.freedesktop.org/archives/pixman/2014-March/003181.html
    http://lists.freedesktop.org/archives/pixman/2014-March/003182.html

The massive segmentation fault issues when running the test suite
and using ICC 14.0.0 seem to be TLS related:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/tmp/pixman/test/.libs/a1-trap-test'.
Program terminated with signal 11, Segmentation fault.
#0  __tls_get_addr (ti=0x0) at dl-tls.c:775
775	  void *p = dtv[GET_ADDR_MODULE].pointer.val;
(gdb) bt
#0  __tls_get_addr (ti=0x0) at dl-tls.c:775
#1  0x00007f58879e5281 in _pixman_implementation_lookup_composite (toplevel=0x0, op=2279756176, src_format=7, src_flags=288, mask_format=0, mask_flags=0, dest_format=PIXMAN_a8r8g8b8, dest_flags=34032255, out_imp=0x7fffb48b6a40, 
    out_func=0x7fffb48b6a48) at pixman-implementation.c:168
#2  0x00007f58878b9042 in pixman_image_composite32 (op=PIXMAN_OP_CLEAR, src=0x7f5887e25190, mask=0x7, dest=0x120, src_x=0, src_y=0, mask_x=6471840, mask_y=6472384, dest_x=0, dest_y=4204106, width=0, height=0) at pixman.c:683
#3  0x000000000040264a in main (argc=0, argv=0x7f5887e25190) at a1-trap-test.c:40
(gdb)

To get a backtrace like this, it is possible to enable core dumps
("ulimit -c unlimited") and then load the generated core dump in gdb.

However if pixman is configured with --disable-shared option, all the
tests pass. This seems to point to some sort of incompatibility of ICC
with dynamic linking in general and/or with autotools generated wrappers
for test programs. I have not looked into this further.

-- 
Best regards,
Siarhei Siamashka


More information about the Pixman mailing list