|
|
Le 12/12/2013 18:25, James Dietrich nous fit lire :
> When I perform a render with this command line:
> povray +W2596 +H1003 +Ispiral.pov +Ospiral.png +D
> it fails every time in one of several ways:
> -> a segmentation fault
> -> aborted by xcb (example given below)
> -> aborted by glibc (example given below)
> -> apparent deadlock (render does not complete and povray process has to be
> killed with kill -9)
Trying on my dual screen system,
* with icpc 13.0.1 as compiler: no problem
* with gcc 4.8 as compiler: no problem, but last line of rendering
state is 99% only
* with clang++ 4.2.1 as compiler: no problem, same 99%
Now, my display is 1920x2 (3840) by 1200.
povray +W4596 +H1003 +Ispiral.pov +Ospiral.png +D
* with clang, segfault
* with gcc, segfault
* with icpc, segfault
adding +WT1 and changing +W12596, I got:
*** Error in `povray': malloc(): smallbin double linked list corrupted:
0x00007f9fe000ca50 ***
(and then a freeze of the povray process)
adding +WT1 +RP5 and still a big enough width, it happens far sooner.
Clang gave me once:
*** Error in `cpovray': free(): invalid next size (fast):
0x00007f3930377d80 ***
If height is reduced to 1000, all is fine with +W4596 and +W12596.
But +H1002 +W12596 dumps a core, whereas +H1002 +W4596 is fine.
Using valgrind, there is a few invalid read and write, and the segfault
seems due to a faulty address 0x0 when we malloc (but it might be a
consequence of some overran block, corrupting the malloc chain)
(attached the valgrind report with memcheck)
valgrind --log-file=memcheck.txt --leak-check=no --malloc-fill=AA
--free-fill=DD dpovray +W4596 +H1003 +Ispiral.pov +Ospiral.png +D +WT1 +RP5
Post a reply to this message
Attachments:
Download 'memcheck.txt' (18 KB)
|
|