guile-devel
[Top][All Lists]
Advanced

[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.
https://cygwin.com/cygwin-ug-net/highlights.html#ov-hi-process
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 
GNU/Linux. 

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.
Thanks,
Mike Gran
#0  0x00007ff97537e1e1 in KERNELBASE!GetOverlappedResult () from 
/cygdrive/c/WINDOWS/System32/KERNELBASE.dll 
#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/fhandler.cc:1976 
#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/fhandler.cc:2041 
#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/fhandler.cc:766 
#4  0x000000018012eae2 in read (fd=5, ptr=0xffdfc6f0, len=1) at 
/usr/src/debug/cygwin-2.7.0-1/winsup/cygwin/syscalls.cc:1139 
#5  0x0000000180118afb in _sigfe () at sigfe.s:35 
#6  0x000000042364f14c in read_finalization_pipe_data (data=0xffdfc6f0) at 
finalizers.c:199 
#7  0x00000003e1110ee9 in cyggc-1!GC_unregister_my_thread () from 
/usr/bin/cyggc-1.dll 
#8  0x00000003e1112165 in cyggc-1!GC_pthread_detach () from 
/usr/bin/cyggc-1.dll 
#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 
finalizers.c:212 
#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 
<c_body>, 
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 
threads.c:660 
#22 0x00000003e110c928 in cyggc-1!GC_call_with_stack_base () from 
/usr/bin/cyggc-1.dll 
#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 
threads.c:709 
#25 0x0000000180140ad9 in pthread::thread_init_wrapper (arg=0x60003e6b0) 
at /usr/src/debug/cygwin-2.7.0-1/winsup/cygwin/thread.cc:2010 
#26 0x00000001800bec51 in pthread_wrapper (arg=<optimized out>) at 
/usr/src/debug/cygwin-2.7.0-1/winsup/cygwin/miscfuncs.cc:458 
#27 0x0000000000000000 in ?? () 


reply via email to

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