Re: master/vm merged into `boehm-demers-weiser-gc'

2009-03-24 Thread Neil Jerram
l...@gnu.org (Ludovic Courtès) writes:

 Yes, Valgrind can't cope with libgc, which is inconvenient.

Interesting.  That sounds like a shame, but actually I guess it's not
so bad because libgc will remove many of things that make valgrind of
interest to us.  Also, in the last resort, we can contribute to
valgrind to solve the problems... yay free software!

   Neil




Re: master/vm merged into `boehm-demers-weiser-gc'

2009-03-24 Thread Ludovic Courtès
Hello,

Neil Jerram n...@ossau.uklinux.net writes:

 l...@gnu.org (Ludovic Courtès) writes:

 Yes, Valgrind can't cope with libgc, which is inconvenient.

 Interesting.  That sounds like a shame, but actually I guess it's not
 so bad because libgc will remove many of things that make valgrind of
 interest to us.

It also makes it impossible to use Callgrind, Helgrind, etc., which is
unpleasant.

 Also, in the last resort, we can contribute to
 valgrind to solve the problems... yay free software!

Eh eh.  :-)

I haven't checked whether others investigated this already.

Thanks,
Ludo'.





Re: master/vm merged into `boehm-demers-weiser-gc'

2009-03-23 Thread Ludovic Courtès
Hey!

Andy Wingo wi...@pobox.com writes:

 Startup time seems to be the same, which is good.

I noticed that `subr.bm' runs noticeably faster:

  * master

(subr.bm: subr invocation: simple subr 70 total 1.11)
(subr.bm: subr invocation: generic subr 70 total 1.26)
(subr.bm: subr invocation: generic subr with rest arg 70 total 1.38)
(subr.bm: subr invocation: generic subr with rest arg and 3+ parameters 
70 total 1.82)

  * bdw-gc

(subr.bm: subr invocation: simple subr 70 total 0.65)
(subr.bm: subr invocation: generic subr 70 total 0.77)
(subr.bm: subr invocation: generic subr with rest arg 70 total 0.77)
(subr.bm: subr invocation: generic subr with rest arg and 3+ parameters 
70 total 1.03)

 I tried to run valgrind on Guile though and it segfaulted:

Yes, Valgrind can't cope with libgc, which is inconvenient.

Thanks,
Ludo'.





Re: master/vm merged into `boehm-demers-weiser-gc'

2009-03-22 Thread Andy Wingo
Hi Ludo,

On Sun 22 Mar 2009 11:26, l...@gnu.org (Ludovic Courtès) writes:

 The `master' branch (which contains the VM) was merged into the
 `boehm-demers-weiser-gc' branch:

Startup time seems to be the same, which is good. I don't know about
longer runs. I tried to run valgrind on Guile though and it segfaulted:

wi...@unquote:~/src/guile$ ./pre-inst-guile-env gdb --args valgrind 
--tool=callgrind --num-callers=100 libguile/.libs/lt-guile -c 1
GNU gdb Fedora (6.8-29.fc10)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type show copying
and show warranty for details.
This GDB was configured as i386-redhat-linux-gnu...
(gdb) r
Starting program: /usr/bin/valgrind --tool=callgrind --num-callers=100 
libguile/.libs/lt-guile -c 1
Executing new program: /usr/lib/valgrind/x86-linux/callgrind
==23226== Callgrind, a call-graph generating cache profiler.
==23226== Copyright (C) 2002-2007, and GNU GPL'd, by Josef Weidendorfer et 
al.
==23226== Using LibVEX rev 1804, a library for dynamic binary translation.
==23226== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==23226== Using valgrind-3.3.0, a dynamic binary instrumentation framework.
==23226== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==23226== For more details, rerun with: -v
==23226== 
==23226== For interactive control, run 'callgrind_control -h'.

Program received signal SIGSEGV, Segmentation fault.
0x62a880bd in ?? ()
(gdb) bt
#0  0x62a880bd in ?? ()
#1  0x62a82f38 in ?? ()
#2  0x0001 in ?? ()
#3  0x0025 in ?? ()
#4  0x387062bc in vgPlain_threads ()
#5  0x62a82f2c in ?? ()
#6  0x0062d8ab in ?? ()
#7  0x38037cb6 in run_thread_for_a_while () at m_scheduler/scheduler.c:636
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x62ac54bb in ?? ()
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x62ad9d9f in ?? ()
(gdb) c
Continuing.
==23226== 
==23226== Process terminating with default action of signal 11 (SIGSEGV)
==23226==  Access not within mapped region at address 0xBF00
==23226==at 0x4C091F8: GC_push_all_eager (in /usr/lib/libgc.so.1.0.3)
==23226==by 0x4C09243: GC_push_all_stack (in /usr/lib/libgc.so.1.0.3)
==23226==by 0x4C11F14: GC_push_all_stacks (in /usr/lib/libgc.so.1.0.3)
==23226==by 0x4C0D5D6: GC_default_push_other_roots (in 
/usr/lib/libgc.so.1.0.3)
==23226==by 0x4C0AFA4: GC_push_roots (in /usr/lib/libgc.so.1.0.3)
==23226==by 0x4C0A89B: GC_mark_some (in /usr/lib/libgc.so.1.0.3)
==23226==by 0x4C0226C: GC_stopped_mark (in /usr/lib/libgc.so.1.0.3)
==23226==by 0x4C024E8: GC_try_to_collect_inner (in 
/usr/lib/libgc.so.1.0.3)
==23226==by 0x4C0C52C: GC_init_inner (in /usr/lib/libgc.so.1.0.3)
==23226==by 0x4C0C656: GC_init (in /usr/lib/libgc.so.1.0.3)
==23226==by 0x4045D30: scm_storage_prehistory (gc.c:635)
==23226==by 0x4053773: scm_i_init_guile (init.c:432)
==23226==by 0x409C60C: scm_i_init_thread_for_guile (threads.c:670)
==23226==by 0x409C844: scm_i_with_guile_and_parent (threads.c:819)
==23226==by 0x409C99D: scm_with_guile (threads.c:801)
==23226==by 0x405361E: scm_boot_guile (init.c:354)
==23226==by 0x80487B1: main (guile.c:69)
==23226== 
==23226== Events: Ir
==23226== Collected : 1893973
==23226== 
==23226== I   refs:  1,893,973

Program received signal SIGSEGV, Segmentation fault.
0x3802c142 in do_syscall_WRK ()
(gdb) c
Continuing.

Program terminated with signal SIGSEGV, Segmentation fault.

Andy
-- 
http://wingolog.org/