#98 persistent segfaults during animation - with a fix!

crash or data loss
closed-fixed
Raytrace (49)
7
2015-02-13
2007-01-06
No

OpenBSD 3.9, BRL-CAD 7.8.2, Pentium M single CPU, compiled from sources, GCC 3.3.5. Relevant files are attached.

clock@kestrel:~/creat/ronja/trunk/3d$ rm *pix*
override r--r--r-- clock/users for moss.pix? y
clock@kestrel:~/creat/ronja/trunk/3d$ ./moss.rt -s 200
./moss.rt: line 1: 13475 Segmentation fault (core dumped) rt -M $* -o moss.pix tetrax.g tetrax 2>>moss.log <moss.rtanim

#0 0x1c0073bf in do_pixel (cpu=0, pat_num=-1, pixelnum=0) at worker.c:491
a = {a_magic = 1097887852, a_ray = {magic = 0, index = 0, r_pt = {0, 0, 0}, r_dir = {0, 0.16766148577800682, -0.98584462578375476}, r_min = 0, r_max = 0},
a_hit = 0x1c009d20 <colorview>, a_miss = 0x1c00c920 <hit_nothing>, a_onehit = -1, a_ray_length = 0, a_rt_i = 0x7f9b1000, a_zero1 = 0, a_resource = 0x3c018980, a_overlap = 0,
a_multioverlap = 0, a_logoverlap = 0, a_level = 0, a_x = 18, a_y = 75, a_purpose = 0x0, a_rbeam = 1.1515200000000001, a_diverge = 0, a_return = 0, a_no_booleans = 0, attrs = 0x0,
a_pixelext = 0x0, a_finished_segs_hdp = 0x0, a_Final_Part_hdp = 0x0, a_inv_dir = {0, 0, 0}, a_user = 1, a_uptr = 0x0, a_spectrum = 0x0, a_color = {0, 0, 0}, a_dist = 0, a_uvec = {0, 0, 0},
a_vvec = {0, 0, 0}, a_refrac_index = 1, a_cumlen = 0, a_flag = 0, a_zero2 = 0}
pe = {magic = 0, corner = {{magic = 0, index = 0, r_pt = {0, 0, 0}, r_dir = {0, 0, 0}, r_min = 0, r_max = 0}, {magic = 0, index = 0, r_pt = {0, 0, 0}, r_dir = {0, 0, 0}, r_min = 0,
r_max = 0}, {magic = 0, index = 0, r_pt = {0, 0, 0}, r_dir = {0, 0, 0}, r_min = 0, r_max = 0}, {magic = 0, index = 0, r_pt = {0, 0, 0}, r_dir = {0, 0, 0}, r_min = 0, r_max = 0}}}
stereo_point = {0, 0, 0}
point = {239.54900000000188, -241.41168737809849, 319.32811801888863}
colorsum = {0, 0, 0}
samplenum = 0
one_over_255 = 0.0039215686274509803
pixel = "\000\000"
#1 0x1c008bf9 in worker (cpu=0, arg=0x0) at worker.c:777
i = 15000
ray_samples = -2061676544
pixel_start = 15000
pixelnum = 15019
pat_num = -1
#2 0x1c008c8f in do_run (a=75, b=75) at worker.c:269
cpu = 1
#3 0x1c003433 in do_frame (framenumber=1) at do.c:825
fd = 75
sb = {st_dev = -2062643200, st_ino = 618742736, st_mode = 3485387656, st_nlink = 190023536, st_uid = 0, st_gid = 0, st_rdev = 33606568, st_lspare0 = 81903911, st_atimespec = {
tv_sec = 1, tv_nsec = 183}, st_mtimespec = {tv_sec = 190015588, tv_nsec = 726580260}, st_ctimespec = {tv_sec = 532393, tv_nsec = -2114334208}, st_size = 816130505115093976,
st_blocks = 2286612704252416, st_blksize = 2203120896, st_flags = 973, st_gen = 2830326295, st_lspare1 = -2003005440, __st_birthtimespec = {tv_sec = -2003001360, tv_nsec = 726580260},
st_qspare = {3120608838705336832, 816132356245998600}}
times = {vls_magic = 0, vls_str = 0x0, vls_offset = 0, vls_len = 706262, vls_max = -1005778262}
framename = "moss.pix.1\000\000$źN+\004\000\000\0004ĄN+ČĚžĎmuS\v\004\000\000\000\000\000đ?dhS\v\022uS\vź<\b\000`\001Ë\203\000\000\000\000$źN+\000\000\000\0004ĄN+řĚžĎL{S\v\004\000\000\000\000 ő\202đŻő\202\016{S\v`\001Ë\2034ĄN+\030ÍžĎ\b\025\222*\004\000\000\000\004\000\000\000H\024żĎßk\222\n"
rtip = (struct rt_i *) 0x7f9b1000
utime = 0.101562
nutime = 0.101562
wallclock = 0.098743999999999998
npix = 0
lim = -2061676544
work = {0, 0, 1}
temp = {0, -0.16766148577800671, 0.9858446257837542}
quat = {0.059488179952502641, -0.059488179952502641, 0.70459999747795798, 0.70459999747795821}
#4 0x1c0040c3 in cm_end (argc=1, argv=0xcfbecd70) at do.c:307
rtip = (struct rt_i *) 0x3a98
#5 0x0b247977 in rt_do_cmd (rtip=0x7f9b1000, ilp=0x1 "", tp=0x3c003630) at cmd.c:221
nwords = 1
cmd_args = {0x83cb0160 "end", 0x0, 0x0, 0x7f5897e1 "0.706262", 0x7f5897ea "0.706262", 0x0 <repeats 3235 times>, 0x5f000000 <Address 0x5f000000 out of bounds>, 0x0, 0x0, 0x0,
0xb4e4d78 "_thread_sys_getpeername", 0x12 "žĎţŻ", 0x0, 0x0, 0x6d000000 <Address 0x6d000000 out of bounds>, 0x81134 <Address 0x81134 out of bounds>, 0x3a6 <Address 0x3a6 out of bounds>,
0xb55c675 "[\201ĂŻőř\037\tĐÇE°", 0xb4ddbcc "", 0x7ffe94cc "ä\224ţ\177´\224ţ\177l4×|", 0xa "", 0xb55c675 "[\201ĂŻőř\037\tĐÇE°", 0x557cffd "\203Ä \205Ŕu\v\2136\205öuÂéĚţ˙˙\213v\b\211uäÇEŕ\001",
0x7cd7346c "", 0xa "", 0xdd8e635 <Address 0xdd8e635 out of bounds>, 0x30 "'", 0xcfbf00dc "muS\v", 0xcfbf0088 "\005", 0xcfbf008c "$ź", 0x0, 0x7cd7346c "", 0x0,
0x7374 <Address 0x7374 out of bounds>, 0x83500000 <Address 0x83500000 out of bounds>, 0x140 <Address 0x140 out of bounds>, 0x5 "P\035\205\230:", 0xbc24 <Address 0xbc24 out of bounds>, 0x0,
0x2b4ea134 "", 0xcfbf00c8 "\001", 0xb53756d "\211Ç\203Ä\020\203ť\004ĺ˙˙\001t9\213\203Ź\227\001", 0x1 "", 0xb4e4d6d "__sfvwrite", 0xcfbf00dc "muS\v", 0xcfbf00c0 "ä", 0x1 "", 0xcfbf00e0 "",
0x1 "", 0xcfbf00d0 "\030", 0xcfbf00e4 "\v", 0xcfbf00f0 "5\005żĎŢ\r", 0x1 "", 0x0, 0x18 "", 0x0, 0xcfbf000a "", 0xb53756d "\211Ç\203Ä\020\203ť\004ĺ˙˙\001t9\213\203Ź\227\001", 0x0, 0xb "",
0xcfbf0218 "Ë\003żĎ\001",
0xb55c2da "\213M\b)y\b\0019ë\217RW˙uěPčŠ\005ů˙\213M\b\0019\211\f$čŹ\nů˙\203Ä\020\205Ŕ\017\204o˙˙˙éóţ˙˙\213U\b\213B\b;Eđ\017\203/˙˙˙\213B\020\213\n)Á\211Mŕ\213Eđ\213z\024\215\024\b\211ö\215\004?\215x\0019×rö\203ě\b\203Ŕ\002P\213U\b˙r\020č\234\024ů˙\203Ä\020\205Ŕ\017\204¨ţ˙˙\213M\b\211ú+Q\024\003Q\b\211Q\b\211A\020\211y\024\003Eŕ\211\001\213E\bf\213H\f\211ĐéĚţ˙˙ÇEč",
0xcfbf0535 " retained)\ned)\n", 0x3c000dde " retained)\n", 0xb "", 0xcfbf04a0 "", 0xa "", 0x0, 0xcfbf0148 "x\004żĎ˙\201U\v \004żĎP\002żĎ\001", 0x2b4ebc24 "\204ű", 0xa "", 0x3c000de9 "", 0x0,
0x2b4ebc24 "\204ű", 0xcfbf0250 "", 0xb "", 0xcfbf0148 "x\004żĎ˙\201U\v \004żĎP\002żĎ\001", 0xb555d80 "ÇF\b", 0xcfbf04a0 "", 0xcfbf0250 "", 0x0, 0xb555d58 "[\201ĂĚ^ů\037\205Ŕu\0211ŔÇF\004",
0x2b4ebc24 "\204ű", 0x0, 0xcfbf0478 "H\nżĎy^U\v \004żĎ \r", 0xb5581ff "\203Ä\020\205ŔtŐéČć˙˙\220\201\215<ý˙˙", 0xcfbf04a0 "", 0xcfbf0250 "", 0x1 "", 0xcfbf03d0 "", 0x0, 0xcfbf0210 "Ţ\r",
0xcfbf0188 "", 0xcfbf01dc "", 0x64000000 <Address 0x64000000 out of bounds>, 0xcfbf03d0 "", 0xcfbf0dbc "\002", 0xcfbf04a0 "", 0xcfbf0da8 " 5", 0x6 "\035\205\230:", 0x0, 0x1 "",
0xffffffff <Address 0xffffffff out of bounds>, 0xcfbf02d4 "$\004żĎ", 0xcfbf0420 "\002", 0x3c016690 "\027Zł¨\226\211Čďq\016Î\220ËĽö_śją\235Čź\021\bé\226f\\Nř9?",
0xe7210be9 <Address 0xe7210be9 out of bounds>, 0x2b4db2a4 ".", 0xffffffff <Address 0xffffffff out of bounds>, 0x0, 0x40 "\177\022", 0x10 "ŕÉžĎţŻ", 0xcfbf0218 "Ë\003żĎ\001",
0x3c000dde " retained)\n", 0x64 "", 0x3c000de9 "", 0xcf0002f8 <Address 0xcf0002f8 out of bounds>, 0xb5596aa "[\201Ăz%ů\037\213}\b\213\224ťüö\001", 0x3fe <Address 0x3fe out of bounds>, 0x0,
0x1ffffd <Address 0x1ffffd out of bounds>, 0x0, 0xb559714 "[\201Ă\020%ů\037\205Ét\023\213Q\004\213\204\223üö\001", 0x2b4ebc24 "\204ű", 0xcfbf0298 "ř\002żĎÁ\224U\vé\v!ç\004",
0xb55b4c7 "\213\225t˙˙˙\203Ä\0209U\214t&\213M\214Ć\001", 0x8350f140 "", 0x3feffffd <Address 0x3feffffd out of bounds>, 0xcfbf0280 "Ë˙˙˙5", 0x0, 0xc0000000 <Address 0xc0000000 out of bounds>,
0x3e39bfca <Address 0x3e39bfca out of bounds>, 0xcfbf0228 "X\005żĎ)`U\vź\002żĎ@ńP\203", 0x8350f160 "", 0x3c000dde " retained)\n", 0xb "", 0xcfbf03cb "Ď3Íá\004", 0x1 "", 0x2b4ebc24 "\204ű",
0x8350f166 "", 0xcfbf0558 "\030\ażĎÁ\tR\vp\005żĎ\220\vżĎ(\ażĎ",
0xb556029 "\203Ä\020\205Ŕ\211Ć~\025\001ľLý˙˙\203˝dý˙˙%uĎ˙\215Lý˙˙\213˝Lý˙˙+˝Dý˙˙t<\213\225@ý˙˙\213\205Dý˙˙\211\002\211z\004\213\205Üý˙˙@\203Â\b\001˝ŕý˙˙\203ř\a\211\225@ý˙˙\211\205Üý˙˙\017\217\220!", 0xcfbf02bc "\b\002", 0x8350f140 "", 0x0, 0xcfbf04b0 "", 0x0, 0x35 "", 0xcfbf0398 "¨\003żĎö\016â\004ĐCá$", 0x4e21b5d "\203Ä\020\205Ŕ\017\204\231", 0x8857d000 "", 0x24e143d0 "0#",
0xcfbf0398 "¨\003żĎö\016â\004ĐCá$", 0x4e21b3f "\211\205Ôţ˙˙1˙\215\205Řţ˙˙\211\205Đţ˙˙\220\203ě\fVčë8˙˙\203Ä\020\205Ŕ\017\204\231", 0x7 "\205\230:", 0x7 "\205\230:", 0xcfbf0270 "",
0x850e9000 "\025Ą\233Đ0", 0x8857d000 "", 0x24e143d0 "0#", 0xcfbf03b8 "č\003żĎĐCá$@", 0x4e21b3f "\211\205Ôţ˙˙1˙\215\205Řţ˙˙\211\205Đţ˙˙\220\203ě\fVčë8˙˙\203Ä\020\205Ŕ\017\204\231",
0xffffffcb <Address 0xffffffcb out of bounds>, 0x35 "", 0xcfbf0290 "\001", 0x850e9000 "\025Ą\233Đ0", 0x1 "", 0x65 "", 0xcfbf02f8 "8\006żĎX]U\v$źN+ô˙˙˙8\006żĎ)`U\v\234\003żĎr\fżĎ\001",
0xb5594c1 "\203Ä \203˙g\211ĆÝEČ\017\204\222", 0xe7210be9 <Address 0xe7210be9 out of bounds>, 0x4 "", 0xcfbf03e8 "ř\003żĎ\2320â\004",
0xb55c268 "\213E\b)x\b\0018\213}đ\203Ä\020\001}ě)}đ\213U\f\213B\b)ř\205Ŕ\211B\b\017\204f˙˙˙\213E\bf\213H\fë\200\213U\b\213\002;B\020v\0059}đw=\213U\b\213z\0249}đr\032QW˙uě˙r\034˙R,\203Ä\020\205Ŕ\211Ç\177°é4˙˙˙\220\213}đRW˙uěPčž\005ů˙\213M\b)y\b\0019ë\217RW˙uěPčŠ\005ů˙\213M\b\0019\211\f$čŹ\nů˙\203Ä\020\205Ŕ\017\204o˙˙˙éóţ˙˙\213U\b\213B\b;Eđ\017\203/˙˙˙\213B\020\213\n)Á\211Mŕ\213Eđ\213z\024\215\024\b\211ö"..., 0xcfbf0878 "", 0xcfbf0420 "\002", 0x4 "", 0x208 <Address 0x208 out of bounds>, 0xe7210be9 <Address 0xe7210be9 out of bounds>,
0x3feffffd <Address 0x3feffffd out of bounds>, 0x847b012c "", 0x8 "\230:", 0x0, 0xcfbf0424 "", 0x0, 0x2b4ebc24 "\204ű", 0xcfbf0410 "`\203\001<", 0xc "",
0xcfbf0308 "8\006żĎ)`U\v\234\003żĎr\fżĎ\001", 0xb555d80 "ÇF\b", 0xcfbf0650 "|\bżĎ"...}
lp = 0x83cb0160 "end"
retval = 1
#6 0x1c004eab in main (argc=2, argv=0xcfbf149c) at main.c:501
buf = 0x80427400 "end"
ret = 1006637225
rtip = (struct rt_i *) 0x7f9b1000
title_file = 0xcfbf1631 "tetrax.g"
title_obj = 0xcfbf163a "tetrax"
idbuf = "Untitled BRL-CAD Database", '\0' <repeats 998 times>
times = {vls_magic = -1993131077, vls_str = 0x0, vls_offset = 0, vls_len = 0, vls_max = 0}
i = 1006637225

Discussion

  • Karel Kulhavy

    Karel Kulhavy - 2007-01-06

    MGED (.g) database files - tetrax.g

     
  • Karel Kulhavy

    Karel Kulhavy - 2007-01-06

    moss.rt script

     
  • Karel Kulhavy

    Karel Kulhavy - 2007-01-06

    Logged In: YES
    user_id=1194787
    Originator: YES

    File Added: moss.rt

     
  • Karel Kulhavy

    Karel Kulhavy - 2007-01-06

    Logged In: YES
    user_id=1194787
    Originator: YES

    I forgot to say what happens when it's rerun again and again. First it leaves only 2 files behind:
    -r--r--r-- 1 clock users 120000 Jan 6 09:12 moss.pix
    -rw-r--r-- 1 clock users 44400 Jan 6 09:12 moss.pix.1
    After first re-run:
    -r--r--r-- 1 clock users 120000 Jan 6 09:12 moss.pix
    -r--r--r-- 1 clock users 120000 Jan 6 09:12 moss.pix.1
    -rw-r--r-- 1 clock users 44400 Jan 6 09:12 moss.pix.2
    After second one:
    -r--r--r-- 1 clock users 120000 Jan 6 09:12 moss.pix
    -r--r--r-- 1 clock users 120000 Jan 6 09:12 moss.pix.1
    -r--r--r-- 1 clock users 120000 Jan 6 09:13 moss.pix.2
    -rw-r--r-- 1 clock users 44400 Jan 6 09:13 moss.pix.3

    This way the complete sequence can be done. When I continue according to the animation guide, fbanim shows an animation, where the picture is broken so that the lower say 2/5 are different
    than the upper 3/5. The first 3 frames have the upper part of the picture black. The lower part seems to stay the same and the upper part shows the rotating body. There is also a strip of
    obvious garbage, about 2 pixels high, at the bottom of the picture. The garbage consists of alternating black-red-black-green-black-blue pixels or something like that.

    This is the moss.log after the first run of the moss.rt:
    BRL-CAD Release 7.8.2 The BRL-CAD Raytracer RT
    Tue Jun 20 14:15:04 EDT 2006, Compilation 1
    sean@bz.bzflag.bz:/usr/home/sean/brlcad/src/rt
    BRL-CAD Release 7.8.2 The BRL-CAD Ray-Tracing Library
    Tue Jun 20 14:14:52 EDT 2006, Compilation 1
    sean@bz.bzflag.bz:/usr/home/sean/brlcad/src/librt
    BRL-CAD Release 7.8.2 The BRL-CAD Numerical Computation Library
    Tue Jun 20 14:14:51 EDT 2006, Compilation 1
    sean@bz.bzflag.bz:/usr/home/sean/brlcad/src/libbn
    BRL-CAD Release 7.8.2 The BRL-CAD Utility Library
    Tue Jun 20 14:14:49 EDT 2006, Compilation 1
    sean@bz.bzflag.bz:/usr/home/sean/brlcad/src/libbu

    WARNING: Compile-time debugging is enabled and may limit performance
    Running on kestrel.twibright.com
    rt -M -s 200 -o moss.pix
    opendb tetrax.g;
    tree tetrax;
    db title: Untitled BRL-CAD Database
    DIRBUILD: cpu = 1e-05 sec, elapsed = 0.001006 sec
    parent: 0.0user 0.0sys 0:00real 0% 0i+0d 0maxrss 0+155pf 0+0csw
    children: 0.0user 0.0sys 0:00real 0% 0i+0d 0maxrss 0+0pf 0+0csw
    Additional mem=0., #malloc=142, #free=114, #realloc=4 (28 retained)
    8bdd1028 TOL 5.000000e-04 (sq=2.500000e-07) perp=1.000000e-06, para=9.999990e-01
    BRL-CAD Release 7.8.2 The BRL-CAD Optical Shader Library
    Tue Jun 20 14:14:59 EDT 2006, Compilation 1
    sean@bz.bzflag.bz:/usr/home/sean/brlcad/src/liboptical
    Additional mem=0., #malloc=10, #free=2, #realloc=1 (8 retained)
    GETTREE: cpu = 0.007813 sec, elapsed = 0.003107 sec
    parent: 0.0user 0.0sys 0:00real 0% 0i+0d 0maxrss 0+136pf 0+0csw
    children: 0.0user 0.0sys 0:00real 0% 0i+0d 0maxrss 0+0pf 0+0csw
    Additional mem=0., #malloc=3421, #free=3021, #realloc=4 (400 retained)

    ...................Frame 0...................
    PREP: cpu = 1e-05 sec, elapsed = 0.001708 sec
    parent: 0.0user 0.0sys 0:00real 0% 0i+0d 0maxrss 0+83pf 0+0csw
    children: 0.0user 0.0sys 0:00real 0% 0i+0d 0maxrss 0+0pf 0+0csw
    Additional mem=0., #malloc=682, #free=332, #realloc=3 (350 retained)
    NUBSP: 0 nu, 321 cut, 322 box (322 empty)
    Tree: 35 solids in 7 regions
    Model: X(-42,405), Y(-199,199), Z(-316,25)
    View: 180 azimuth, 90 elevation off of front view
    Orientation: -5.41444e-16, -5.41444e-16, 0.707107, 0.707107
    Eye_pos: 181.973, -1e-06, 355.85
    Size: 460.608mm
    Grid: (2.30304, 2.30304) mm, (200, 200) pixels
    Beam: radius=1.15152 mm, divergence=0 mm/1mm
    Output file is 'moss.pix' 200x200 pixels
    Low overhead scanline-per-CPU buffering

    SHOT: cpu = 0.101562 sec, elapsed = 0.098276 sec
    parent: 0.1user 0.0sys 0:00real 111% 0i+0d 0maxrss 0+55pf 0+2csw
    children: 0.0user 0.0sys 0:00real 0% 0i+0d 0maxrss 0+0pf 0+0csw
    Additional mem=0., #malloc=248, #free=216, #realloc=4 (32 retained)
    56555 solid/ray intersections: 9754 hits + 46801 miss
    pruned 17.2%: 6438 model RPP, 23290 dups skipped, 37452 solid RPP
    Frame 0: 40000 pixels in 0.10 sec = 393848.09 pixels/sec
    Frame 0: 40000 rays in 0.10 sec = 393848.09 rays/sec (RTFM)
    Frame 0: 40000 rays in 0.10 sec = 393848.09 rays/CPU_sec
    Frame 0: 40000 rays in 0.10 sec = 407016.97 rays/sec (wallclock)

    ...................Frame 1...................
    Additional mem=0., #malloc=18, #free=19, #realloc=0 (-1 retained)
    NUBSP: 0 nu, 321 cut, 322 box (58034 empty)
    Tree: 35 solids in 7 regions
    Model: X(-42,405), Y(-199,199), Z(-316,25)
    View: 270 azimuth, 80.3481 elevation off of front view
    Orientation: 0.0594882, -0.0594882, 0.7046, 0.7046
    Eye_pos: 181.973, -52.9652, 351.377
    Size: 460.608mm
    Grid: (2.30304, 2.30304) mm, (200, 200) pixels
    Beam: radius=1.15152 mm, divergence=0 mm/1mm
    Output file is 'moss.pix.1' 200x200 pixels
    Low overhead scanline-per-CPU buffering

    File Added: moss.rtanim

     
  • Karel Kulhavy

    Karel Kulhavy - 2007-01-06

    moss.rtanim

     
  • Karel Kulhavy

    Karel Kulhavy - 2007-01-06

    Logged In: YES
    user_id=1194787
    Originator: YES

    My CPU and memory seem to be OK (never had a problem). My disk has 4 bad sectors which pop up every time I check the disk. The system already hanged once probably because of this. To make sure the
    bad sectors didn't corrupt brl-cad, I downloaded the source and recompiled and reinstalled and ran ldconfig -R and then tried again before reporting the bug.

     
  • Karel Kulhavy

    Karel Kulhavy - 2007-01-06

    Logged In: YES
    user_id=1194787
    Originator: YES

    7.8.4 does the same. However it produces an empty runt file:
    clock@kestrel:~/creat/ronja/trunk/3d$ ls -la *pix*
    -r--r--r-- 1 clock users 120000 Jan 6 10:24 moss.pix
    -rw-r--r-- 1 clock users 0 Jan 6 10:24 moss.pix.1
    After rerun:
    clock@kestrel:~/creat/ronja/trunk/3d$ ls -la *pix*
    -r--r--r-- 1 clock users 120000 Jan 6 10:24 moss.pix
    -r--r--r-- 1 clock users 120000 Jan 6 10:26 moss.pix.1
    -rw-r--r-- 1 clock users 0 Jan 6 10:26 moss.pix.2

    The stack trace is different:
    #0 do_pixel (cpu=0, pat_num=-1, pixelnum=0) at worker.c:233
    233 if (pixmap[pindex + RED] + pixmap[pindex + GRN] + pixmap[pindex + BLU]) {
    (gdb) bt full
    #0 do_pixel (cpu=0, pat_num=-1, pixelnum=0) at worker.c:233
    a = {a_magic = 1097887852, a_ray = {magic = 0, index = 0, r_pt = {0, 0, 0}, r_dir = {-7.2966806208274436e-17, 0.1676614857780068, -0.98584462578375465}, r_min = 0, r_max = 0},
    a_hit = 0x1c009fc0 <colorview>, a_miss = 0x1c00cbd0 <hit_nothing>, a_onehit = -1, a_ray_length = 0, a_rt_i = 0x88b35000, a_zero1 = 0, a_resource = 0x3c016d60, a_overlap = 0,
    a_multioverlap = 0, a_logoverlap = 0, a_level = 0, a_x = 0, a_y = 0, a_purpose = 0x0, a_rbeam = 1.1515200000000001, a_diverge = 0, a_return = 0, a_no_booleans = 0, attrs = 0x0,
    a_pixelext = 0x0, a_finished_segs_hdp = 0x0, a_Final_Part_hdp = 0x0, a_inv_dir = {0, 0, 0}, a_user = 1, a_uptr = 0x0, a_spectrum = 0x0, a_color = {0, 0, 0}, a_dist = 0, a_uvec = {0, 0, 0},
    a_vvec = {0, 0, 0}, a_refrac_index = 1, a_cumlen = 0, a_flag = 0, a_zero2 = 0}
    pe = {magic = 0, corner = {{magic = 0, index = 0, r_pt = {0, 0, 0}, r_dir = {0, 0, 0}, r_min = 0, r_max = 0}, {magic = 0, index = 0, r_pt = {0, 0, 0}, r_dir = {0, 0, 0}, r_min = 0,
    r_max = 0}, {magic = 0, index = 0, r_pt = {0, 0, 0}, r_dir = {0, 0, 2.539171944445434e+303}, r_min = -5.5674362241528182e-271, r_max = 2.5391721501445179e+303}, {magic = 138623807,
    index = 0, r_pt = {2.538784778249478e+303, 1.0799887354421297e-314, 2.5392347281528863e+303}, r_dir = {-5.5651255753517112e-271, 2.5392349338519703e+303, 6.8489260734427314e-316},
    r_min = 2.5388475619569303e+303, r_max = 1.0799887354421297e-314}}}
    stereo_point = {0, 0, 0}
    point = {0, 0, 0}
    colorsum = {0, 0, 0}
    samplenum = 0
    one_over_255 = 0.0039215686274509803
    pixel = "\000\000"
    #1 0x1c008009 in worker (cpu=0, arg=0x0) at worker.c:520
    i = 1
    ray_samples = -2138185728
    pixel_start = 0
    pixelnum = 1
    pat_num = -1
    #2 0x013999e0 in bu_parallel_interface () at parallel.c:729
    No locals.
    #3 0x08429f3b in _thread_start () at /usr/src/lib/libpthread/uthread/uthread_create.c:244
    curthread = (struct pthread *) 0x0
    #4 0x0000001f in ?? ()
    No symbol table info available.
    #5 0x00000000 in ?? ()
    No symbol table info available.

     
  • Karel Kulhavy

    Karel Kulhavy - 2007-01-06

    Logged In: YES
    user_id=1194787
    Originator: YES

    Gentoo Linux, GCC 3.3.6, BRL-CAD 7.8.4:
    clock@server ~/crash $ ./moss.rt -s 200
    *** glibc detected *** double free or corruption (!prev): 0x0809b430 ***
    ./moss.rt: line 1: 9704 Aborted (core dumped) /home/clock/brlcad-7.8.4/src/rt/rt -M $* -o moss.pix tetrax.g tetrax 2>>moss.log <moss.rtanim

     
  • Karel Kulhavy

    Karel Kulhavy - 2007-01-06

    Logged In: YES
    user_id=1194787
    Originator: YES

    *** FOUND ***
    After src/rt/do.c do_frame bu_free(pixmap, "pixmap allocate"); there must be
    pixmap=0;

     
  • Karel Kulhavy

    Karel Kulhavy - 2007-01-06

    Logged In: YES
    user_id=1194787
    Originator: YES

    *** FOUND ***
    After src/rt/do.c do_frame bu_free(pixmap, "pixmap allocate"); there must be
    pixmap=0;

     
  • Karel Kulhavy

    Karel Kulhavy - 2007-01-06
    • summary: persistent segfaults during animation --> persistent segfaults during animation - with a fix!
     
  • Sean Morrison

    Sean Morrison - 2007-01-06
    • priority: 5 --> 7
    • assigned_to: nobody --> brlcad
    • status: open --> closed-fixed
     
  • Sean Morrison

    Sean Morrison - 2007-01-06

    Logged In: YES
    user_id=785737
    Originator: NO

    I have to say, just astounding and excellent work, Karel. The fix has been applied to CVS and will be in the next release of BRL-CAD with credits to you for the fix, of course. Thank you for all the effort you put in and to actually isolate it down to what was indeed the problem.

     

Log in to post a comment.