[sldev] [VWR] OpenJPEG backtraces

Robin Cornelius robin.cornelius at gmail.com
Sat Sep 22 01:20:17 PDT 2007


Hi Eveyone,

Is this useful to anyone, backtraces from openjpeg when running sl 
1.18.3.5 on native compiled AMD64?

If anyone wants more information or detailed gdb poking of any variables 
please let me know. I can crash it fairly regularly! (I do have the 
OpenJPEGEncodeLossless patch applied to my SL code as well)


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x41804950 (LWP 21675)]
0x0000000001dcb476 in dwt_interleave_h (h=0x41801b90, a=0xff6a0f0) at 
libopenjpeg/dwt.c:166


(gdb) bt
#0  0x0000000001dcb476 in dwt_interleave_h (h=0x41801b90, a=0xff6a0f0) 
at libopenjpeg/dwt.c:166
#1  0x0000000001dcdfaf in dwt_decode_tile (tilec=0x845ede0, stop=0, 
dwt_1D=0x1dccf0c <dwt_decode_1_real>) at libopenjpeg/dwt.c:641
#2  0x0000000001dcdb63 in dwt_decode_real (tilec=0x845ede0, stop=0) at 
libopenjpeg/dwt.c:541
#3  0x0000000001dc9d5b in tcd_decode_tile (tcd=0x9d29a70,
     src=0xea41180 
"�\026\207\016\216:�P\215��\b\v\033�\204��d��\236\205|\b�\017�<\235yF�#D�Z\b�&\213���\\\236�4�~�\214�\037\233���\005B���;\216\237����2�\aI���J>�\025$\202�_�&�J\t0����N��U�� 
\025\032�'�W\005;��\2315\033H1\217��YhY3���<\235n�6�T�\036\037\n\200\200�\022�\016\200������\225�=��\200��DY�\a\227�\203?h�f\223>�^�]�d\220Y��\201�n~m\210\231���\216�\223\035��\001F"..., 
len=89166, tileno=0) at libopenjpeg/tcd.c:1307
#4  0x0000000001db962e in j2k_read_eoc (j2k=0x6096a60) at 
libopenjpeg/j2k.c:1483
#5  0x0000000001db9bd8 in j2k_decode (j2k=0x6096a60, cio=0xab86d20) at 
libopenjpeg/j2k.c:1778
#6  0x0000000001db59cb in opj_decode (dinfo=0x9fb3e80, cio=0xab86d20) at 
libopenjpeg/openjpeg.c:154
#7  0x0000000001ab0a63 in LLImageJ2COJ::decodeImpl (this=0x90e8980, 
base=@0x9683f40, raw_image=@0x9048700, decode_time=0.100000001, 
first_channel=0,
     max_channel_count=4) at 
/tmp/root/usr/src/1.18.3.5/linden/indra/x86_64-linux-client-debug/llimagej2coj/llimagej2coj.cpp:131


(gdb) list dwt.c:166
161     static void dwt_interleave_h(dwt_t* h, int *a) {
162         int *ai = a;
163         int *bi = h->mem + h->cas;
164         int  i      = h->sn;
165         while( i-- ) {
166           *bi = *(ai++);
167               bi += 2;
168         }
169         ai  = a + h->sn;
170         bi  = h->mem + 1 - h->cas;
(gdb) print i
$1 = 31
(gdb) print bi
$2 = (int *) 0xb0037c80
(gdb) print ai
$3 = (int *) 0xff6a0f0
(gdb) print h->sn
$4 = 32


Anyway i've started trying to follow it back up the call stack but i 
don't know openjpeg at all so this may take me ages or i might not get 
there. But if someone has a clue what to look for please give me a hint.

Regards

Robin








More information about the SLDev mailing list