Sam Steingold wrote:
> Vladimir Tzankov wrote:
>> On Oct 30, 2008, at 7:59 PM, Sam Steingold wrote:
>>> ../src/spvw_circ.d: In function 'mlb_add':
>>> ../src/spvw_circ.d:342: warning: large integer implicitly truncated
>>> to unsigned type
>>> /tmp/cc6QZA3S.s: Assembler messages:
>>> /tmp/cc6QZA3S.s:4326: Error: Incorrect register `%ebx' used with
>>> `q' suffix
>>> make: *** [spvw.o] Error 1
>> It's fixed in the [threads1] branch (however the whole build is not
>> tested).
>
> thanks, the error is now gone, but the warning is still there:
>
> In file included from ../src/spvw.d:991:
> ../src/spvw_circ.d: In function 'mlb_add':
> ../src/spvw_circ.d:342: warning: large integer implicitly truncated to unsigned
> type
>
> looks scary...
>
and may be causing a very early crash
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1090521408 (LWP 4114)]
0x0000000000417f4c in mlb_add (bitmap=0x40ffe210, obj=
{one_o = 18014453590891552}) at ../src/spvw_circ.d:354
354 *p4 = (uintL****)room; room += bit(mlbs3)*sizeof(uintL***);
(gdb) p room
$5 = 0x41f5207c0 <Address 0x41f5207c0 out of bounds>
(gdb) list
349 var char* room = (char*)bitmap->base+bitmap->used_size;
350 *p6 = (uintL******)room; room += bit(mlbs5)*sizeof(uintL*****);
351 var uintL****** p5 = &(*p6)[(addr >> mlb5) & (bit(mlbs5)-1)];
352 *p5 = (uintL*****)room; room += bit(mlbs4)*sizeof(uintL****);
353 var uintL***** p4 = &(*p5)[(addr >> mlb4) & (bit(mlbs4)-1)];
354 *p4 = (uintL****)room; room += bit(mlbs3)*sizeof(uintL***);
355 var uintL**** p3 = &(*p4)[(addr >> mlb3) & (bit(mlbs3)-1)];
356 *p3 = (uintL***)room; room += bit(mlbs2)*sizeof(uintL**);
357 var uintL*** p2 = &(*p3)[(addr >> mlb2) & (bit(mlbs2)-1)];
358 *p2 = (uintL**)room; room += bit(mlbs1)*sizeof(uintL*);
(gdb) where
#0 0x0000000000417f4c in mlb_add (bitmap=0x40ffe210, obj=
{one_o = 18014453590891552}) at ../src/spvw_circ.d:354
#1 0x0000000000418f2c in subst_circ_mark (ptr=0x2aaaaacd1198, env=0x40ffe210)
at ../src/spvw_circ.d:1390
#2 0x0000000000419005 in subst_circ (ptr=0x2aaaaacd1198, alist=
{one_o = 18014453590888624}) at ../src/spvw_circ.d:1423
#3 0x00000000004f6317 in make_references (obj={one_o = 18014453590891552})
at ../src/io.d:2214
#4 0x00000000004f6e41 in read_top (stream_=0x2aaaaacd1100, whitespace_p=
{one_o = 1125899916511488}) at ../src/io.d:2255
#5 0x00000000004f747d in stream_read (stream_=0x2aaaaacd1100, recursive_p=
{one_o = 1125899916511488}, whitespace_p={one_o = 1125899916511488})
at ../src/io.d:2282
#6 0x00000000005a5ab8 in C_load () at ../src/debug.d:598
#7 0x000000000044215b in eval_subr (fun={one_o = 281474986332304})
at ../src/eval.d:3579
#8 0x000000000043e865 in eval1 (form={one_o = 18014453590951152})
at ../src/eval.d:3071
#9 0x000000000043e057 in eval (form={one_o = 18014453590951152})
at ../src/eval.d:2953
#10 0x000000000047116f in C_and () at ../src/control.d:2464
#11 0x000000000043f6f5 in eval_fsubr (fun={one_o = 3377713888287280}, args=
{one_o = 18014453590951120}) at ../src/eval.d:3250
#12 0x000000000043e971 in eval1 (form={one_o = 18014453590951168})
at ../src/eval.d:3088
#13 0x000000000043e057 in eval (form={one_o = 18014453590951168})
at ../src/eval.d:2953
#14 0x00000000005a3bc8 in C_read_eval_print () at ../src/debug.d:409
#15 0x000000000044c657 in funcall_subr (fun={one_o = 281474986332192},
args_on_stack=1) at ../src/eval.d:5215
#16 0x000000000044af41 in funcall (fun={one_o = 281474986332192},
args_on_stack=1) at ../src/eval.d:4848
#17 0x00000000005a462a in driver () at ../src/debug.d:490
#18 0x00000000004274fa in main_actions (p=0x9582e0) at ../src/spvw.d:3661
#19 0x00000000004248e7 in mt_main_actions (param=0x1f517010)
at ../src/spvw.d:3679
#20 0x00000033c8e062f7 in start_thread () from /lib64/libpthread.so.0
#21 0x00000033c82ce85d in clone () from /lib64/libc.so.6
(gdb)
|