unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* Thread 1 "guile" received signal SIGPWR, Power fail/restart.
@ 2018-01-20 19:32 Amirouche Boubekki
  2018-01-20 19:48 ` Amirouche Boubekki
  2018-01-21  4:45 ` Mark H Weaver
  0 siblings, 2 replies; 6+ messages in thread
From: Amirouche Boubekki @ 2018-01-20 19:32 UTC (permalink / raw)
  To: Guile Devel

I have a guile crash that I can reproduce all the time so far that says:

   Thread 1 "guile" received signal SIGPWR, Power fail/restart.

Before the crash I see things like that when running with guile with 
gdb:

   [Thread 0x7fffe3fff700 (LWP 24262) exited]
   [New Thread 0x7fffea89e700 (LWP 24265)]
   [Thread 0x7fffea89e700 (LWP 24265) exited]
   [New Thread 0x7fffe3fff700 (LWP 24266)]

Here is the core of the crash: http://hyperdev.fr/static/c3b2-core-2.gz

I use guile-2.2.3 from guix.

To reproduce the bug you need guix:

   git clone git://gnunet.org/gnunet-guile2.git

Then install gnunet:

   guix package -f guix.scm

And guile-wiredtiger:

   guix package -i guile-wiredtiger

Then compile the gnunet-guile with:

   ./bootstrap && ./configure && make

You need to run gnunet services, for that do the following:

   mkdir /tmp/gnunet/p2
   gnunet-arm -c etc/p2.conf -s

To reproduce the bug, you need to go inside prototypes/c3b2 directory
and start a guile REPL:

   cd prototypes/c3b2
   GUILE_LOAD_PATH=`pwd` ../../pre-inst-env gdb guile

In the Guile REPL type the following:

   (use-modules (wiredtiger wiredtiger) (wiredtiger feature-space) 
(wiredtiger extra))
   (define run (@@ (web) run-discovery))
   (with-env (env-open* "wt" (list *feature-space*) 
"create,log=(enabled=true)")
    (run "../../etc/p2.conf"))



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Thread 1 "guile" received signal SIGPWR, Power fail/restart.
  2018-01-20 19:32 Thread 1 "guile" received signal SIGPWR, Power fail/restart Amirouche Boubekki
@ 2018-01-20 19:48 ` Amirouche Boubekki
  2018-01-20 20:00   ` Amirouche Boubekki
  2018-01-21  4:45 ` Mark H Weaver
  1 sibling, 1 reply; 6+ messages in thread
From: Amirouche Boubekki @ 2018-01-20 19:48 UTC (permalink / raw)
  To: Guile Devel; +Cc: guile-devel

On 2018-01-20 20:32, Amirouche Boubekki wrote:
> I have a guile crash that I can reproduce all the time so far that 
> says:
> 
>   Thread 1 "guile" received signal SIGPWR, Power fail/restart.
> 

I can reproduce the bug without guile-wiredtiger, here is the backtrace:

[Thread 0x7fffed9f1700 (LWP 25673) exited]
[New Thread 0x7fffed9f1700 (LWP 25677)]
[Thread 0x7fffed9f1700 (LWP 25676) exited]

Thread 1 "guile" received signal SIGPWR, Power fail/restart.
0x00007ffff762b58f in pthread_cond_wait@@GLIBC_2.3.2 ()
    from 
/gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/lib/libpthread.so.0
(gdb) bt
#0  0x00007ffff762b58f in pthread_cond_wait@@GLIBC_2.3.2 ()
    from 
/gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/lib/libpthread.so.0
#1  0x00007ffff7b63b4b in block_self ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#2  0x00007ffff7b64030 in scm_timed_wait_condition_variable ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#3  0x00007ffff7b680c9 in vm_debug_engine ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#4  0x00007ffff7b752aa in scm_call_n ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#5  0x00007ffff7af98d7 in scm_primitive_eval ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#6  0x00007ffff7af9933 in scm_eval ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#7  0x00007ffff7b449d0 in scm_shell ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#8  0x00007ffff7b104ed in invoke_main_func ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#9  0x00007ffff7af2cba in c_body ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#10 0x00007ffff7b71c4d in vm_regular_engine ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#11 0x00007ffff7b752aa in scm_call_n ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#12 0x00007ffff7b644e6 in catch ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#13 0x00007ffff7af32a0 in scm_i_with_continuation_barrier ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#14 0x00007ffff7af3335 in scm_c_with_continuation_barrier ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#15 0x00007ffff7b6310c in with_guile ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#16 0x00007ffff7858732 in GC_call_with_stack_base ()
    from 
/gnu/store/fminmbril5qr836cj4ndq3b9d4q9iazv-libgc-7.6.0/lib/libgc.so.1
#17 0x00007ffff7b63498 in scm_with_guile ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#18 0x00007ffff7b10682 in scm_boot_guile ()
    from 
/gnu/store/0v539yjmdqhjm1xcpvndmagkgjz5fvh2-guile-2.2.2/lib/libguile-2.2.so.1
#19 0x0000000000400b40 in main ()

The core is at http://hyperdev.fr/static/gnunet-guile-1.gz

To reproduce follow those steps

> 
> I use guile-2.2.3 from guix.
> 
> To reproduce the bug you need guix:
> 
>   git clone git://gnunet.org/gnunet-guile2.git
> 
> Then install gnunet:
> 
>   guix package -f guix.scm
> 
> Then compile the gnunet-guile with:
> 
>   ./bootstrap && ./configure && make
> 
> You need to run gnunet services, for that do the following:
> 
>   mkdir /tmp/gnunet/p2
>   gnunet-arm -c etc/p2.conf -s
> 

Then inside the gnunet-guile2 directory, run the following command:

   ./pre-inst-env guile test-sigpwr-fail.scm




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Thread 1 "guile" received signal SIGPWR, Power fail/restart.
  2018-01-20 19:48 ` Amirouche Boubekki
@ 2018-01-20 20:00   ` Amirouche Boubekki
  0 siblings, 0 replies; 6+ messages in thread
From: Amirouche Boubekki @ 2018-01-20 20:00 UTC (permalink / raw)
  To: Guile Devel; +Cc: guile-devel

On 2018-01-20 20:48, Amirouche Boubekki wrote:
> On 2018-01-20 20:32, Amirouche Boubekki wrote:
>> I have a guile crash that I can reproduce all the time so far that 
>> says:
>> 
>>   Thread 1 "guile" received signal SIGPWR, Power fail/restart.
>> 

[snip]

> 
> The core is at http://hyperdev.fr/static/gnunet-guile-1.gz
> 
> To reproduce follow those steps
> 
>> 
>> I use guile-2.2.3 from guix.
>> 
>> To reproduce the bug you need guix:
>> 
>>   git clone git://gnunet.org/gnunet-guile2.git
>> 
>> Then install gnunet:
>> 
>>   guix package -f guix.scm
>> 
>> Then compile the gnunet-guile with:
>> 
>>   ./bootstrap && ./configure && make
>> 
>> You need to run gnunet services, for that do the following:
>> 
>>   mkdir /tmp/gnunet/p2
>>   gnunet-arm -c etc/p2.conf -s
>> 
> 
> Then inside the gnunet-guile2 directory, run the following command:
> 
>   ./pre-inst-env guile test-sigpwr-fail.scm

It seems like it's easier to reproduce with gdb.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Thread 1 "guile" received signal SIGPWR, Power fail/restart.
  2018-01-20 19:32 Thread 1 "guile" received signal SIGPWR, Power fail/restart Amirouche Boubekki
  2018-01-20 19:48 ` Amirouche Boubekki
@ 2018-01-21  4:45 ` Mark H Weaver
  2018-01-21 10:24   ` Amirouche Boubekki
  2018-01-21 15:43   ` Eli Zaretskii
  1 sibling, 2 replies; 6+ messages in thread
From: Mark H Weaver @ 2018-01-21  4:45 UTC (permalink / raw)
  To: Amirouche Boubekki; +Cc: Guile Devel

Amirouche Boubekki <amirouche@hypermove.net> writes:

> I have a guile crash that I can reproduce all the time so far that says:
>
>   Thread 1 "guile" received signal SIGPWR, Power fail/restart.

SIGPWR is used internally by libgc.  If I recall correctly, it's done to
suspend all threads within their signal handlers before performing a
garbage collection.  I can't seem to reproduce this on my system at the
moment, but as I recall, when this happened in GDB I would simply type
"c" to continue.  Does that work for you?

      Mark



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Thread 1 "guile" received signal SIGPWR, Power fail/restart.
  2018-01-21  4:45 ` Mark H Weaver
@ 2018-01-21 10:24   ` Amirouche Boubekki
  2018-01-21 15:43   ` Eli Zaretskii
  1 sibling, 0 replies; 6+ messages in thread
From: Amirouche Boubekki @ 2018-01-21 10:24 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guile-devel, Guile Devel

On 2018-01-21 05:45, Mark H Weaver wrote:
> Amirouche Boubekki <amirouche@hypermove.net> writes:
> 
>> I have a guile crash that I can reproduce all the time so far that 
>> says:
>> 
>>   Thread 1 "guile" received signal SIGPWR, Power fail/restart.
> 
> SIGPWR is used internally by libgc.  If I recall correctly, it's done 
> to
> suspend all threads within their signal handlers before performing a
> garbage collection.  I can't seem to reproduce this on my system at the
> moment, but as I recall, when this happened in GDB I would simply type
> "c" to continue.  Does that work for you?
> 
>       Mark

Indeed:

Thread 1 "guile" received signal SIGPWR, Power fail/restart.
0x00007ffff762b58f in pthread_cond_wait@@GLIBC_2.3.2 () from 
/gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/lib/libpthread.so.0
(gdb) c
Continuing.

Thread 1 "guile" received signal SIGXCPU, CPU time limit exceeded.
0x00007ffff5f386a6 in sigsuspend () from 
/gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/lib/libc.so.6
(gdb) c
Continuing.
[New Thread 0x7fffed9f1700 (LWP 27311)]
[Thread 0x7fffee1f2700 (LWP 27293) exited]

Thanks Mark!



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Thread 1 "guile" received signal SIGPWR, Power fail/restart.
  2018-01-21  4:45 ` Mark H Weaver
  2018-01-21 10:24   ` Amirouche Boubekki
@ 2018-01-21 15:43   ` Eli Zaretskii
  1 sibling, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2018-01-21 15:43 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guile-devel, amirouche

> From: Mark H Weaver <mhw@netris.org>
> Date: Sat, 20 Jan 2018 23:45:54 -0500
> Cc: Guile Devel <guile-devel@gnu.org>
> 
> SIGPWR is used internally by libgc.  If I recall correctly, it's done to
> suspend all threads within their signal handlers before performing a
> garbage collection.  I can't seem to reproduce this on my system at the
> moment, but as I recall, when this happened in GDB I would simply type
> "c" to continue.  Does that work for you?

An alternative would be to type the following command at the beginning
of a GDB session, or add it to a suitable .gdbinit file that is read
when a session is started:

  handle SIGPWR noprint pass



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-01-21 15:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-20 19:32 Thread 1 "guile" received signal SIGPWR, Power fail/restart Amirouche Boubekki
2018-01-20 19:48 ` Amirouche Boubekki
2018-01-20 20:00   ` Amirouche Boubekki
2018-01-21  4:45 ` Mark H Weaver
2018-01-21 10:24   ` Amirouche Boubekki
2018-01-21 15:43   ` Eli Zaretskii

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).