[gambit-list] SMP Gambit
Marc Feeley
feeley at iro.umontreal.ca
Sun Jan 29 13:28:41 EST 2017
Another debugging idea is to add CC="gcc -D___DEBUG_TICKETLOCK" to the configure options.
This will add a deadlock check to the ticket lock implementation, so if it busy waits too long in a “lock” operation it will show the location of the lock operation and the other lock operation that locked the lock.
Marc
> On Jan 29, 2017, at 12:32 PM, Bradley Lucier <lucier at math.purdue.edu> wrote:
>
> On 01/29/2017 11:18 AM, Marc Feeley wrote:
>> OK… on the smaller machine (which actually has 24 processors), after *many* “make ut” I finally see a deadlock of some sort, so I will investigate. It seems to coincide with starting to do something else on the machine (like typing in emacs) but not consistently. It takes several hundred “make ut” to get a deadlock. The CPUs are “Intel(R) Xeon(R) X5650 @ 2.67GHz”.
>>
>> Can you reproduce the issue more consistently on your machine? Does it happen every second or so “make ut”?
>
> I updated and rebooted my linux box at work (so nothing else was running) and made Gambit with your new instructions. Ran make ut a dozen or so times and got nothing.
>
> But after I started an emacs window it hung with
>
>
> LD_LIBRARY_PATH=../lib:../gsi:../gsc:/usr/local/libimobiledevice/lib:/usr/local/Gambit/current/lib:/usr/local/netpbm10/lib: ../gsi/gsi -:p1,tl,~~bin=../bin,~~lib=../lib,~~include=../include -f ./run-unit-tests.scm
>
> first time! That was with
>
> ./configure 'CC=gcc -march=native -D___CAN_IMPORT_CLIB_DYNAMICALLY' '--enable-single-host' '--enable-multiple-versions' '--enable-shared' --enable-multiple-threaded-vms
>
>
> On my home box (with a lot of other things running) it didn't finish the "make -j 8 from-scratch", hanging at
>
> LD_LIBRARY_PATH=..:/usr/local/libimobiledevice/lib:/pkgs/chicken-4.10.0/lib:/usr/local/Gambit/current/lib:/usr/local/netpbm10/lib: ../gsc-boot -:~~bin=../bin,~~lib=../lib,~~include=../include -f -warnings -link -flat -o _gambit.c -preload _kernel.c _system.c _num.c _std.c _eval.c _io.c _nonstd.c _thread.c _repl.c
>
> That was configured with
>
> ./configure 'CC=gcc -march=native -D___CAN_IMPORT_CLIB_DYNAMICALLY' '--enable-single-host' '--enable-shared' '--enable-multiple-versions' '--enable-multiple-threaded-vms'
>
> I'll look at your suggestions for debugging this.
>
> Brad
More information about the Gambit-list
mailing list