[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Cygwin and guile 2.1.x

From: Mike Gran
Subject: Cygwin and guile 2.1.x
Date: Sun, 12 Mar 2017 02:17:01 +0000 (UTC)

Hi all-
I wanted to be say that for 2.2, the Cygwin port
would be 100%, but, the remaining problems are beyond
my patience.
It does build, but only with -O2.  -O0 and -O1 will cause
a stack overflow when compiling eval.go.
On the plus side, things look better than they have in
a long time; almost all the tests pass.
First, Cygwin doesn't really fork because Windows itself
doesn't have a "fork" primitive.  Cygwin provides
a fork analog but it cannot truly behave like a Unix fork.
Windows just doesn't work that way.  For details see
the following.
Notably, the socket.test uses primitive-fork in a way that
doesn't jive with Cygwin's understanding of fork.
Second, it is interesting to note that the x86_64 generated .go 
files are not byte identical to those generated x86_64 Fedora 

Third, at this moment, there seems to be an internal
Cygwin error with regards to reading from pipes used
in the finalization handler when the GC's
finalizer is unregistering a thread. The horrifying
backtrace is posted below.
Oddly, this only happens in the i18n.test.
So, there ya go.
Mike Gran
#0  0x00007ff97537e1e1 in KERNELBASE!GetOverlappedResult () from 
#1  0x00000001800673dd in fhandler_base_overlapped::wait_overlapped 
(address@hidden, inres=<optimized out>, 
address@hidden, address@hidden, nonblocking=false, len=0) 
at /usr/src/debug/cygwin-2.7.0-1/winsup/cygwin/ 
#2  0x0000000180067732 in fhandler_base_overlapped::raw_read (this=0x180311558, 
ptr=0xffdfc6f0, address@hidden: 1) 
at /usr/src/debug/cygwin-2.7.0-1/winsup/cygwin/ 
#3  0x00000001800644a2 in fhandler_base::read (this=0x180311558, 
in_ptr=0xffdfc6f0, address@hidden: 1) 
at /usr/src/debug/cygwin-2.7.0-1/winsup/cygwin/ 
#4  0x000000018012eae2 in read (fd=5, ptr=0xffdfc6f0, len=1) at 
#5  0x0000000180118afb in _sigfe () at sigfe.s:35 
#6  0x000000042364f14c in read_finalization_pipe_data (data=0xffdfc6f0) at 
#7  0x00000003e1110ee9 in cyggc-1!GC_unregister_my_thread () from 
#8  0x00000003e1112165 in cyggc-1!GC_pthread_detach () from 
#9  0x00000003e110c95f in cyggc-1!GC_do_blocking () from /usr/bin/cyggc-1.dll 
#10 0x00000004236b2e12 in scm_without_guile (func=0x42364f130 
<read_finalization_pipe_data>, data=0xffdfc6f0) at threads.c:721 
#11 0x000000042364f269 in finalization_thread_proc (unused=<optimized out>) at 
#12 0x000000042363feae in c_body (d=0xffdfcc50) at continuations.c:422 
#13 0x00000004236c1143 in vm_regular_engine (thread=0x600091c40, 
vp=0x60012fea0, registers=0xffdfc35c, resume=0) at vm-engine.c:778 
#14 0x00000004236c4e01 in scm_call_n (address@hidden, address@hidden, 
address@hidden) at vm.c:1236 
#15 0x000000042364583a in scm_call_0 (address@hidden) at eval.c:482 
#16 0x00000004236b3822 in catch (address@hidden, thunk=0x6000d7360, 
handler=0x6000d7300, pre_unwind_handler=0x6000d72e0) 
at throw.c:137 
#17 0x00000004236b3b09 in scm_catch_with_pre_unwind_handler 
(pre_unwind_handler=<optimized out>, handler=<optimized out>, 
thunk=<optimized out>, key=0x404) at throw.c:254 
#18 scm_c_catch (address@hidden, address@hidden <c_body>, address@hidden, 
address@hidden <c_handler>, address@hidden, 
address@hidden <pre_unwind_handler>, 
address@hidden) at throw.c:377 
#19 0x0000000423640453 in scm_i_with_continuation_barrier (address@hidden 
address@hidden, address@hidden <c_handler>, address@hidden, 
address@hidden <pre_unwind_handler>, pre_unwind_handler_data=0x60012b280) 
at continuations.c:360 
#20 0x00000004236404ff in scm_c_with_continuation_barrier (func=<optimized 
out>, data=<optimized out>) at continuations.c:456 
#21 0x00000004236b24bf in with_guile (base=0xffdfccf0, data=0xffdfcd40) at 
#22 0x00000003e110c928 in cyggc-1!GC_call_with_stack_base () from 
#23 0x00000004236b2dbb in scm_i_with_guile (dynamic_state=<optimized out>, 
data=<optimized out>, func=<optimized out>) 
at threads.c:703 
#24 scm_with_guile (func=<optimized out>, data=<optimized out>) at 
#25 0x0000000180140ad9 in pthread::thread_init_wrapper (arg=0x60003e6b0) 
at /usr/src/debug/cygwin-2.7.0-1/winsup/cygwin/ 
#26 0x00000001800bec51 in pthread_wrapper (arg=<optimized out>) at 
#27 0x0000000000000000 in ?? () 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]