GNU bug report logs - #39118
3.0.0 JIT segfaults on 64-bit Cygwin

Previous Next

Package: guile;

Reported by: John Cowan <cowan <at> ccil.org>

Date: Mon, 13 Jan 2020 17:27:02 UTC

Severity: normal

Done: Andy Wingo <wingo <at> pobox.com>

Bug is archived. No further changes may be made.

Full log


Message #85 received at 39118 <at> debbugs.gnu.org (full text, mbox):

From: Charles Stanhope <charles <at> stanho.pe>
To: Mike Gran <spk121 <at> yahoo.com>
Cc: Andy Wingo <wingo <at> pobox.com>, 39118 <at> debbugs.gnu.org,
 Ludovic Courtès <ludo <at> gnu.org>, John Cowan <cowan <at> ccil.org>,
 guile-devel <at> gnu.org
Subject: Re: Segfault while building on 64-bit Cygwin
Date: Mon, 17 Feb 2020 11:27:42 -0800
[Message part 1 (text/plain, inline)]
On 2/16/20, Charles Stanhope <charles <at> stanho.pe> wrote:
> On 2/16/20, Mike Gran <spk121 <at> yahoo.com> wrote:
>>
>> I can confirm that Charles's patch, plus another one line patch
>> to define CPU_SETSIZE, is enough to get Guile 3.0.x to build and run
>> on my box.  All tests pass except strptime in French, and the absence
>> of crypt.  This is a 64-bit build.
>
> Mike, thanks for going further with the Guile build. The CPU_SETSIZE
> issue was what was hanging me up from compiling before Andy's comment
> got me to look at lightening. I assumed I had some configuration,
> package, or compiler issue. Good to know there's a simple fix.
>
> Just a further warning to anyone watching, that patch I posted is a
> real hack job just to test my theory of the cause of the segfault. I
> would expect it to fail when you have fewer than four arguments in a
> JITed function call. I wouldn't try doing much else with that Guile
> build besides run the tests. :)

I had a little bit more time to look into the lightening
implementation last night. I've attached a patch that is less horrible
and more correct than my previous one. It reserves the stack space
regardless of the number of parameters and appears to work. But I'm
new to the lightening code base, so I'm not convinced it is the
correct solution. It's just the solution I was left with after my time
ran out. I wanted to post this patch as a replacement to the prior one
in case people did want to do more testing with Guile 3.0 on Cygwin
x64.

With that, I will let more experienced people come up with the
appropriate solution. Happy hacking, everybody!

--
Charles
[x86-fastcall-stack-reservation-2.patch (text/x-patch, attachment)]

This bug report was last modified 5 years and 89 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.