You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On GNU/Hurd, time_units_per_microsec is zero, leading to SIGFPE early on when running a Fibers 1.3.1 program:
Core was generated by `/gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/bin/guile --no-auto-comp'.
Program terminated with signal SIGFPE, Arithmetic exception.
warning: Unexpected size of section `.reg2/130' in core file.
#0 0x025f7b9d in __udivmoddi4 (rp=0x0, d=0, n=0) at ../../../gcc-11.3.0/libgcc/libgcc2.c:1026
1026 ../../../gcc-11.3.0/libgcc/libgcc2.c: No such file or directory.
[Current thread is 1 (process 130)]
(gdb) bt
#0 0x025f7b9d in __udivmoddi4 (rp=0x0, d=0, n=0) at ../../../gcc-11.3.0/libgcc/libgcc2.c:1026
#1 __udivdi3 (n=0, d=0) at ../../../gcc-11.3.0/libgcc/libgcc2.c:1300
#2 0x025f73e6 in run_event_loop (p=0x103e724) at extensions/libevent.c:218
#3 0x025f7523 in scm_primitive_event_loop (lst=0x37e2768, wakefd=0x42, wokefd=0x3e, timeout=0x2) at extensions/libevent.c:270
#4 0x0108e451 in ?? () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#5 0x010f9785 in ?? () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#6 0x01108536 in scm_call_n () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#7 0x01079e0b in scm_primitive_eval () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#8 0x010a5064 in scm_primitive_load () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#9 0x0108e410 in ?? () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#10 0x010f9785 in ?? () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#11 0x01108536 in scm_call_n () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#12 0x01079e0b in scm_primitive_eval () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#13 0x0107fcc3 in scm_eval () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#14 0x010d7a33 in scm_shell () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#15 0x0109108d in ?? () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#16 0x0107804e in ?? () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#17 0x0108e410 in ?? () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#18 0x010f9785 in ?? () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#19 0x01108536 in scm_call_n () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#20 0x01079a60 in scm_call_2 () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#21 0x010f4d4b in ?? () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#22 0x011270c3 in ?? () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#23 0x010efa9b in scm_c_catch () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#24 0x0107a7cd in scm_c_with_continuation_barrier () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#25 0x010f4a1b in ?? () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#26 0x011b4fb4 in GC_call_with_stack_base () from /gnu/store/qqgp6fd8xq55dc4gknvgk6d8wjvxxgn3-libgc-8.2.2/lib/libgc.so.1
#27 0x010ef94a in scm_with_guile () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#28 0x01098840 in scm_boot_guile () from /gnu/store/mljlxj4gc8rii7891sza3vda7y06fyf8-guile-3.0.9/lib/libguile-3.0.so.1
#29 0x0804911a in ?? ()
#30 0x0156e290 in __libc_start_call_main (argv=0x103ede4, argc=8, main=0x80490c0) at ../sysdeps/generic/libc_start_call_main.h:23
#31 __libc_start_main_impl (main=0x80490c0, argc=8, argv=0x103ede4, init=0x0, fini=0x0, rtld_fini=0x6d90 <_dl_fini>, stack_end=0x103eddc)
at ../csu/libc-start.c:392
#32 0x080491a8 in ?? ()
(gdb) frame 2
#2 0x025f73e6 in run_event_loop (p=0x103e724) at extensions/libevent.c:218
218 extensions/libevent.c: No such file or directory.
(gdb) p time_units_per_microsec
$1 = 0
(gdb) p scm_c_time_units_per_second
$2 = 1000
Looking at libguile/stime.c, this problem can happen on any 32-bit platform (well, any non-Linux platform; on Linux, it'll use epoll):
#ifSCM_SIZEOF_LONG >= 8&& defined HAVE_CLOCK_GETTIME/* Nanoseconds on 64-bit systems with POSIX timers. */#defineTIME_UNITS_PER_SECOND 1000000000
#else/* Milliseconds for everyone else. */#defineTIME_UNITS_PER_SECOND 1000
#endif
civodul
added a commit
to civodul/fibers
that referenced
this issue
Jun 6, 2023
Hello,
On GNU/Hurd,
time_units_per_microsec
is zero, leading toSIGFPE
early on when running a Fibers 1.3.1 program:So I guess we should change:
to:
Thoughts?
The text was updated successfully, but these errors were encountered: