GNU bug report logs - #25912
2.1.7 segfaults on cygwin

Previous Next

Package: guile;

Reported by: szgyg <szgyg <at> ludens.elte.hu>

Date: Wed, 1 Mar 2017 11:05:02 UTC

Severity: normal

Found in version 2.1.7

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

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: szgyg <szgyg <at> ludens.elte.hu>
Subject: bug#25912: closed (Re: bug#25912: 2.1.7 segfaults on cygwin)
Date: Tue, 14 Mar 2017 11:36:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#25912: 2.1.7 segfaults on cygwin

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 25912 <at> debbugs.gnu.org.

-- 
25912: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25912
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Andy Wingo <wingo <at> pobox.com>
To: Mike Gran <spk121 <at> yahoo.com>
Cc: "25912 <at> debbugs.gnu.org" <25912-done <at> debbugs.gnu.org>
Subject: Re: bug#25912: 2.1.7 segfaults on cygwin
Date: Tue, 14 Mar 2017 12:35:34 +0100
On Fri 03 Mar 2017 15:32, Mike Gran <spk121 <at> yahoo.com> writes:

> I also can replicate the Cygwin problem as originally described.

I understand that with the fix in 2.1.8, that things are working
correctly now; closing the report.  Thanks for the sleuthing, szgyg and
Mike!

Andy

[Message part 3 (message/rfc822, inline)]
From: szgyg <szgyg <at> ludens.elte.hu>
To: bug-guile <at> gnu.org
Subject: 2.1.7 segfaults on cygwin
Date: Wed, 1 Mar 2017 11:27:09 +0100
I got two identical segfaults from make -j2 on 32-bit cygwin, and
three identical segfaults from make -j3 on 64-bit at the same point.

Any idea?

-----------------

Making all in bootstrap
make[2]: Entering directory '/home/szgyg/usr/src/CYGPORT/guile2-2.1.7-0.i686/build/bootstrap'
  BOOTSTRAP GUILEC ice-9/eval.go
wrote `ice-9/eval.go'
  BOOTSTRAP GUILEC ice-9/psyntax-pp.go
  BOOTSTRAP GUILEC language/cps/intmap.go
*** starting debugger for pid 5024, tid 4568
*** starting debugger for pid 5060, tid 1904

----------------

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 5024.0x11d8]
vm_regular_engine (thread=0x20081e40, vp=0x200f0f78, registers=0x22c480,
    resume=0) at /usr/src/debug/guile2-2.1.7-0/libguile/vm-engine.c:1840
1840          *dst_loc = src;

(gdb) info locals
src = 0x7ff800d8
dst_loc = 0x7ff8d00c
op = 63
jump_table_ = {0x64b956d1 <vm_regular_engine+145>,
[...]

(gdb) print *dst_loc
$3 = (void *) 0x0

(gdb) print *dst_loc = src
Cannot access memory at address 0x7ff8d00c

(gdb) print argv[13]
$16 = 0x612eba68 "language/cps/intmap.go"

---------------------

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 5060.0x770]
vm_regular_engine (thread=0x20081e40, vp=0x200f0f78, registers=0x22c480,
    resume=0) at /usr/src/debug/guile2-2.1.7-0/libguile/vm-engine.c:1840
1840          *dst_loc = src;

(gdb) info locals
src = 0x7ff800d8
dst_loc = 0x7ff8d00c
op = 63
jump_table_ = {0x64b956d1 <vm_regular_engine+145>,
[...]

(gdb) print argv[13]
$6 = 0x612eba68 "ice-9/psyntax-pp.go"

-----------------------

Making all in bootstrap
make[2]: Entering directory '/home/szgyg/usr/src/CYGPORT/guile/guile2-2.1.7-0.x86_64/build/bootstrap'
  BOOTSTRAP GUILEC ice-9/eval.go
wrote `ice-9/eval.go'
  BOOTSTRAP GUILEC ice-9/psyntax-pp.go
  BOOTSTRAP GUILEC language/cps/intmap.go
*** starting debugger for pid 9848, tid 6772
  BOOTSTRAP GUILEC language/cps/intset.go
*** starting debugger for pid 6600, tid 376
*** starting debugger for pid 10136, tid 9064

--------------------------

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 6600.0x178]
vm_regular_engine (thread=0x600091e00, vp=0x600131f30, registers=0x1, resume=0)
    at /usr/src/debug/guile2-2.1.7-0/libguile/vm-engine.c:1840
1840    /usr/src/debug/guile2-2.1.7-0/libguile/vm-engine.c: No such file or directory.
(gdb)

(gdb) info locals
src = 0x6fffffd0128
dst_loc = 0x6fffffdd010
op = 63
jump_table_ = {0x4236bece4 <vm_regular_engine+180>, 0x4236bed84 <vm_regular_engine+340>,
[...]

------------------------

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 9848.0x1a74]
vm_regular_engine (thread=0x600091e00, vp=0x600130f30, registers=0x1, resume=0)
    at /usr/src/debug/guile2-2.1.7-0/libguile/vm-engine.c:1840
1840    /usr/src/debug/guile2-2.1.7-0/libguile/vm-engine.c: No such file or directory.

(gdb) info locals
src = 0x6fffffd0128
dst_loc = 0x6fffffdd010
op = 63
jump_table_ = {0x4236bece4 <vm_regular_engine+180>, 0x4236bed84 <vm_regular_engine+340>,
[...]

-------------------------

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 10136.0x2368]
vm_regular_engine (thread=0x600091e00, vp=0x600131f30, registers=0x1, resume=0)
    at /usr/src/debug/guile2-2.1.7-0/libguile/vm-engine.c:1840
1840    /usr/src/debug/guile2-2.1.7-0/libguile/vm-engine.c: No such file or directory.

(gdb) info locals
src = 0x6fffffd0128
dst_loc = 0x6fffffdd010
op = 63
jump_table_ = {0x4236bece4 <vm_regular_engine+180>, 0x4236bed84 <vm_regular_engine+340>,
[...]

-----------------------

$ less -N +g1840 vm-engine.c
   1821   /* static-patch! _:24 dst-offset:32 src-offset:32
   1822    *
   1823    * Patch a pointer at DST-OFFSET to point to SRC-OFFSET.  Both offsets
   1824    * are signed 32-bit values, indicating a memory address as a number
   1825    * of 32-bit words away from the current instruction pointer.
   1826    */
   1827   VM_DEFINE_OP (63, static_patch, "static-patch!", OP3 (X32, LO32, L32))
   1828     {
   1829       scm_t_int32 dst_offset, src_offset;
   1830       void *src;
   1831       void** dst_loc;
   1832
   1833       dst_offset = ip[1];
   1834       src_offset = ip[2];
   1835
   1836       dst_loc = (void **) (ip + dst_offset);
   1837       src = ip + src_offset;
   1838       VM_ASSERT (ALIGNED_P (dst_loc, void*), abort());
   1839
   1840       *dst_loc = src;
   1841
   1842       NEXT (3);
   1843     }
   1844




This bug report was last modified 8 years and 69 days ago.

Previous Next


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