=?utf-8?Q?Re[2]=3A_[Gc]_Test_failures, _hangs, _crashes_with_2011-04-25_CVS_checkout?=

Ivan Maidanski ivmai at mail.ru
Wed Apr 27 13:07:52 PDT 2011


Hi,

Tue, 26 Apr 2011 21:25:09 -0500 "Peter O'Gorman" <gc at mlists.thewrittenword.com>:

> On Wed, Apr 27, 2011 at 01:18:09AM +0400, Ivan Maidanski wrote:
> > Hi Peter,
> > 
> 
> Hi,
> Thanks!
> 
> > > 
> > > Also, strangely, when building with --disable-threads, Solaris 10/x86
> > > gctest crashes with a segv, every other one of our platforms passes all
> > > tests. segv is in test.c at
> > > if (SEXPR_TO_INT(car(car(list))) != low) {
> > 
> > More details please: stack trace, value of low, value of car(car(list)),
> call print_int_list.
> 
> Doing it back to front and checking this one first.
> 
> built with ./configure CC=cc CFLAGS='-xO0 -g' --disable-threads
> 
> $ cc -V
> cc: Sun C 5.11 SunOS_i386 145355-01 2010/10/11
> 
> Reading dirty bits from /proc

The problem is with PROC_VDB.

> signal SEGV (no mapping at the fault address) in check_ints at line 378
> in file "test.c"
> 378       if (SEXPR_TO_INT(car(car(list))) != low) {
> (dbx) print low
> low = 1
> (dbx) print list
> list = 0x809d860
> (dbx) print *list
> *list = {
> sexpr_car = 0xa84

Could you please watch when this value is assigned to sexpr_car.

> sexpr_cdr = (nil)
> }
> =>[1] check_ints(list = 0x809d860, low = 1, up = 49), line 378 in "test.c"
> [2] reverse_test_inner(data = 0x1), line 594 in "test.c"
> [3] GC_call_with_gc_active(fn = 0x8052434 = &reverse_test_inner(void *data),
> client_data = 0x1), line 1588 in "misc.c"
> [4] reverse_test_inner(data = (nil)), line 533 in "test.c"
> [5] GC_do_blocking_inner(data = 0x8047634 "4$^E^H", context = 0x8047404), line
> 1618 in "misc.c"
> [6] GC_with_callee_saves_pushed(fn = 0xfef6bdc0 = &GC_do_blocking_inner(ptr_t
> data, void *context), arg = 0x8047634 "4$^E^H"), line 273 in "mach_dep.c"
> [7] GC_do_blocking(fn = 0x8052434 = &reverse_test_inner(void *data),
> client_data = (nil)), line 1644 in "misc.c"
> [8] reverse_test(), line 644 in "test.c"
> [9] run_one_test(), line 1190 in "test.c"
> [10] main(), line 1424 in "test.c"
> 
> 
> 
> Building with gcc-4.4.5 with -O0 -g does not segfault, but does fail the
> test:
> Switched to incremental mode
> Reading dirty bits from /proc
> List reversal produced incorrect list - collector is broken
> Test failed
> (dbx) up  
> Current function is check_ints
> (dbx) print list
> list = 0x809c890
> (dbx) print *list
> *list = {
> sexpr_car = 0x809c8a0
> sexpr_cdr = 0x809c8b0
> }
> (dbx) print *list->sexpr_car
> *list->sexpr_car = {
> sexpr_car = 0xbd1

The same request here.

Regards.

> sexpr_cdr = (nil)
> }
> [1] __lwp_kill(0x1, 0x6), at 0xfeeaaec7 
> [2] _thr_kill(0x1, 0x6), at 0xfeea6644 
> [3] raise(0x6), at 0xfee529ab 
> [4] abort(0x80473c8, 0x80daf3c, 0x80473c8, 0x8051fa1, 0x8053ad7, 0x2), at
> 0xfee32111 
> [5] GC_abort(msg = 0x8053ad7 "Test failed"), line 1443 in "misc.c"
> =>[6] check_ints(list = 0x809c890, low = 1, up = 49), line 381 in "test.c"
> [7] reverse_test_inner(data = 0x1), line 594 in "test.c"
> [8] GC_call_with_gc_active(fn = 0x80521d3 = &reverse_test_inner(void *data),
> client_data = 0x1), line 1588 in "misc.c"
> [9] reverse_test_inner(data = (nil)), line 533 in "test.c"
> [10] GC_do_blocking_inner(data = 0x80476f8 "\xd3!^E^H", context = 0x80474c8),
> line 1618 in "misc.c"
> [11] GC_with_callee_saves_pushed(fn = 0xfef64fb8 = &GC_do_blocking_inner(ptr_t
> data, void *context), arg = 0x80476f8 "\xd3!^E^H"), line 273 in "mach_dep.c"
> [12] GC_do_blocking(fn = 0x80521d3 = &reverse_test_inner(void *data),
> client_data = (nil)), line 1644 in "misc.c"
> [13] reverse_test(), line 644 in "test.c"
> [14] run_one_test(), line 1190 in "test.c"
> [15] main(), line 1424 in "test.c"
> 
> Looking at the other issues now.
> 
> Peter
> -- 
> Peter O'Gorman
> pogma at thewrittenword.com



More information about the Gc mailing list