unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Richard Braun <rbraun@sceen.net>
To: Gabriel Schnoering <gabriel.schnoering@gmail.com>
Cc: guile-user@gnu.org, bug-hurd@gnu.org
Subject: Re: Guile not running properly on GNU/Hurd
Date: Fri, 8 Feb 2013 23:18:43 +0100	[thread overview]
Message-ID: <20130208221842.GA5689@mail.sceen.net> (raw)
In-Reply-To: <51153F05.40301@gmail.com>

On Fri, Feb 08, 2013 at 07:08:05PM +0100, Gabriel Schnoering wrote:
> And running various version of guile both with libgc 7.1-9.1,
> problems still occur.
> It seems that libgc will trigger some issue with signal handling and mach.
> 
> Here are the gdb logs for the guile packed with Debian.
> (not sure it is of any use as the issue occurs in another thread)
> http://bpaste.net/show/9qIgjwFjyrYZUGn7FxJ0/ (GNU Guile 2.0.5-deb+1-3)
> 
> And another one from 2.0.7 sources.
> http://bpaste.net/show/WnMIobeRtRaWmJl1ncNg/ (Guile 2.0.7)
> 
> Maybe Richard will be able to give more details about the issue.

Actually, it has nothing to do with Mach. What happens is that, when
catching one of the SIGUSR signals (SIGUSR1 i guess), the process calls
sigsuspend, waiting for the next (probably SIGUSR2). But when returning
from the handler (in sigreturn), the sigcontext is NULL, which actually
makes sigreturn return. This is prohibited, and catched by setting the
stack frame to run the firewall function (which, by running the hlt
instruction, causes the SIGILL signal). I guess we could reduce the
case to a small test unit that calls sigsuspend in a (SA_SIGINFO)
signal handler and see how it goes, in which case there is a bug in the
signal handling code.

See the following glibc files for reference :
 - sysdeps/mach/hurd/i386/trampoline.c
 - sysdeps/mach/hurd/i386/sigreturn.c

-- 
Richard Braun



  reply	other threads:[~2013-02-08 22:18 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-02 18:51 Guile not running properly on GNU/Hurd Gabriel Schnoering
2013-02-02 22:24 ` Richard Braun
2013-02-04 22:09   ` Ludovic Courtès
2013-02-04 22:14     ` Pino Toscano
2013-02-09  9:48   ` Neal H. Walfield
2013-02-04 18:26 ` Gabriel Schnoering
2013-02-08 18:08   ` Gabriel Schnoering
2013-02-08 22:18     ` Richard Braun [this message]
2013-02-08 23:41       ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130208221842.GA5689@mail.sceen.net \
    --to=rbraun@sceen.net \
    --cc=bug-hurd@gnu.org \
    --cc=gabriel.schnoering@gmail.com \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).