unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* Cygwin and guile 2.1.x
       [not found] <351878054.3689431.1489285021653.ref@mail.yahoo.com>
@ 2017-03-12  2:17 ` Mike Gran
  0 siblings, 0 replies; only message in thread
From: Mike Gran @ 2017-03-12  2:17 UTC (permalink / raw)
  To: Guile-devel Development

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 (this=this@entry=0x180311558, inres=<optimized out>, 
writing=writing@entry=false, bytes=bytes@entry=0xffdfc35c, 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, len=@0xffdfc4c0: 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, len=@0xffdfc4c0: 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 (proc=proc@entry=0x6000d7360, argv=argv@entry=0x0, nargs=nargs@entry=0) at vm.c:1236 
#15 0x000000042364583a in scm_call_0 (proc=proc@entry=0x6000d7360) at eval.c:482 
#16 0x00000004236b3822 in catch (tag=tag@entry=0x404, 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 (tag=tag@entry=0x404, body=body@entry=0x42363fea0 <c_body>, body_data=body_data@entry=0xffdfcc50, 
handler=handler@entry=0x423640060 <c_handler>, handler_data=handler_data@entry=0xffdfcc50, 
pre_unwind_handler=pre_unwind_handler@entry=0x42363fec0 <pre_unwind_handler>, 
pre_unwind_handler_data=pre_unwind_handler_data@entry=0x60012b280) at throw.c:377 
#19 0x0000000423640453 in scm_i_with_continuation_barrier (body=body@entry=0x42363fea0 <c_body>, 
body_data=body_data@entry=0xffdfcc50, handler=handler@entry=0x423640060 <c_handler>, handler_data=handler_data@entry=0xffdfcc50, 
pre_unwind_handler=pre_unwind_handler@entry=0x42363fec0 <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 ?? () 



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-03-12  2:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <351878054.3689431.1489285021653.ref@mail.yahoo.com>
2017-03-12  2:17 ` Cygwin and guile 2.1.x Mike Gran

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).