From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Newsgroups: gmane.lisp.guile.bugs Subject: bug#14404: regexp_exec thread-unsafe Date: Wed, 12 Mar 2014 00:15:11 +0100 Message-ID: <87iorknx8g.fsf@gnu.org> References: <87ehd9i7fc.fsf@gnu.org> <5199448F.9050608@cs.ucla.edu> <87d2slu413.fsf@gnu.org> <51A288AD.4070405@gnu.org> <51A6A489.2060101@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1394579772 5957 80.91.229.3 (11 Mar 2014 23:16:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 11 Mar 2014 23:16:12 +0000 (UTC) Cc: 14404@debbugs.gnu.org To: Paul Eggert Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Wed Mar 12 00:16:21 2014 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WNVuG-0008Cm-0p for guile-bugs@m.gmane.org; Wed, 12 Mar 2014 00:16:20 +0100 Original-Received: from localhost ([::1]:57826 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WNVuF-0006Xk-9l for guile-bugs@m.gmane.org; Tue, 11 Mar 2014 19:16:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54236) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WNVu5-0006WB-AM for bug-guile@gnu.org; Tue, 11 Mar 2014 19:16:14 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WNVtz-0002RQ-MN for bug-guile@gnu.org; Tue, 11 Mar 2014 19:16:09 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:60717) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WNVtz-0002RG-Hh for bug-guile@gnu.org; Tue, 11 Mar 2014 19:16:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WNVty-0002Qs-Gh for bug-guile@gnu.org; Tue, 11 Mar 2014 19:16:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Tue, 11 Mar 2014 23:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14404 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 14404-submit@debbugs.gnu.org id=B14404.13945797229268 (code B ref 14404); Tue, 11 Mar 2014 23:16:02 +0000 Original-Received: (at 14404) by debbugs.gnu.org; 11 Mar 2014 23:15:22 +0000 Original-Received: from localhost ([127.0.0.1]:33666 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WNVtH-0002PL-GM for submit@debbugs.gnu.org; Tue, 11 Mar 2014 19:15:21 -0400 Original-Received: from hera.aquilenet.fr ([141.255.128.1]:60776) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WNVtC-0002P3-M1 for 14404@debbugs.gnu.org; Tue, 11 Mar 2014 19:15:17 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id CC9431F99; Wed, 12 Mar 2014 00:15:12 +0100 (CET) Original-Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id t0y5J0OUKImx; Wed, 12 Mar 2014 00:15:12 +0100 (CET) Original-Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by hera.aquilenet.fr (Postfix) with ESMTPSA id DBC691F8B; Wed, 12 Mar 2014 00:15:11 +0100 (CET) X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 22 =?UTF-8?Q?Vent=C3=B4se?= an 222 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu In-Reply-To: <51A6A489.2060101@cs.ucla.edu> (Paul Eggert's message of "Wed, 29 May 2013 17:59:53 -0700") User-Agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:7411 Archived-At: Paul Eggert skribis: > On 05/26/2013 03:11 PM, Paolo Bonzini wrote: >> Use the lock module instead. > > Adding the lock module should work. But this will require > some reengineering of Guile, so that Guile uses the lock module > rather than its own thread packaging. Another possibility, which > might be a bit simpler, would be for Guile to pretend to > have the lock module. It could do that by creating a file > glthread/lock.h that looks something like this: > > #include "../libguile/threads.h" > #define gl_lock_define(class, name) class scm_i_pthread_mutex_t name; > #define glthread_lock_init scm_i_pthread_mutex_init > #define glthread_lock_destroy scm_i_pthread_mutex_destroy > #define glthread_lock_lock scm_i_pthread_mutex_lock > #define glthread_lock_unlock scm_i_pthread_mutex_lock_unlock > > and by putting AC_DEFINE([GNULIB_LOCK]) into configure.ac. (Stripping Cc list.) It=E2=80=99s been almost a year, but I=E2=80=99ve finally implemented this = suggestion: http://git.savannah.gnu.org/cgit/guile.git/commit/?h=3Dstable-2.0&id=3D8f= 7887d61604073528544ccb09849ca0e2f4df78 Now regex_internal.c does use pthread locks: --8<---------------cut here---------------start------------->8--- $ nm lib/.libs/regex.o |grep pthread U pthread_mutex_destroy U pthread_mutex_init U pthread_mutex_lock U pthread_mutex_unlock --8<---------------cut here---------------end--------------->8--- However, the example given at still exposes a similar bug, but possibly in Guile land this time: --8<---------------cut here---------------start------------->8--- $ while true ; do timeout 2s ./meta/guile regexec-thread.scm ; done timeout: the monitored command dumped core Segmentation fault $ gdb libguile/.libs/guile core=20 [...] Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f275c5cee7b in GC_build_fl4 () from /nix/store/f072ihgps3078d9l7= 1w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 (gdb) thread apply all bt Thread 5 (Thread 0x7f2759a49700 (LWP 30825)): #0 0x00007f275c3a574c in __lll_lock_wait () from /nix/store/jwd1hc3i3pmnsx= f2347r4k2c77nbr9vw-glibc-2.18/lib/libpthread.so.0 #1 0x00007f275c3a1417 in _L_lock_913 () from /nix/store/jwd1hc3i3pmnsxf234= 7r4k2c77nbr9vw-glibc-2.18/lib/libpthread.so.0 #2 0x00007f275c3a1240 in pthread_mutex_lock () from /nix/store/jwd1hc3i3pm= nsxf2347r4k2c77nbr9vw-glibc-2.18/lib/libpthread.so.0 #3 0x00007f275c5c7e95 in GC_call_with_alloc_lock () from /nix/store/f072ih= gps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #4 0x00007f275c89ed69 in scm_hash_fn_get_handle_by_hash (table=3D, raw_hash=3Draw_hash@entry=3D5431120,=20 predicate_fn=3Dpredicate_fn@entry=3D0x7f275c8f5e00 , closure=3Dclosure@entry=3D0x7f2759a48860) at hashtab.c:659 #5 0x00007f275c8f5a91 in lookup_interned_symbol (raw_hash=3D5431120, name= =3D0x2c22100) at symbols.c:113 #6 scm_i_str2symbol (str=3D0x2c22100) at symbols.c:210 #7 0x00007f275c90fa3d in vm_regular_engine (vm=3D, program= =3D0x7f275cba9768 ,=20 argv=3D, nargs=3D1) at vm-i-system.c:852 #8 0x00007f275c8f7b80 in really_launch (d=3D0x7fff4246a800) at threads.c:1= 005 #9 0x00007f275c87d7aa in c_body (d=3D0x7f2759a48d70) at continuations.c:517 #10 0x00007f275c90fa28 in vm_regular_engine (vm=3D, program= =3D0x26d0040, argv=3D, nargs=3D2) at vm-i-system.c:855 #11 0x00007f275c886fe3 in scm_call_4 (proc=3D0x27d8c30, arg1=3Darg1@entry= =3D0x404, arg2=3D, arg3=3D,=20 arg4=3D) at eval.c:507 #12 0x00007f275c8f9999 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr= y=3D0x404, thunk=3D, handler=3D,=20 pre_unwind_handler=3D) at throw.c:73 #13 0x00007f275c8f9a9f in scm_c_catch (tag=3Dtag@entry=3D0x404, body=3Dbody= @entry=3D0x7f275c87d7a0 ,=20 body_data=3Dbody_data@entry=3D0x7f2759a48d70, handler=3Dhandler@entry= =3D0x7f275c87db80 ,=20 handler_data=3Dhandler_data@entry=3D0x7f2759a48d70,=20 pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f275c87d930 ,=20 pre_unwind_handler_data=3Dpre_unwind_handler_data@entry=3D0x26d5040) at= throw.c:207 #14 0x00007f275c87deef in scm_i_with_continuation_barrier (body=3Dbody@entr= y=3D0x7f275c87d7a0 ,=20 body_data=3Dbody_data@entry=3D0x7f2759a48d70, handler=3Dhandler@entry= =3D0x7f275c87db80 ,=20 handler_data=3Dhandler_data@entry=3D0x7f2759a48d70,=20 pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f275c87d930 , pre_unwind_handler_data=3D0x26d5040) at continuations.c:455 #15 0x00007f275c87df85 in scm_c_with_continuation_barrier (func=3D, data=3D) at continuations.c:551 #16 0x00007f275c8f738c in with_guile_and_parent (base=3D0x7f2759a48dd0, dat= a=3D0x7f2759a48e00) at threads.c:906 #17 0x00007f275c5ce172 in GC_call_with_stack_base () from /nix/store/f072ih= gps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #18 0x00007f275c8f6d4c in scm_i_with_guile_and_parent (parent=3D, data=3D0x7fff4246a800,=20 func=3D0x7f275c8f7b00 ) at threads.c:949 #19 launch_thread (d=3D0x7fff4246a800) at threads.c:1017 #20 0x00007f275c5d2ec3 in GC_inner_start_routine () from /nix/store/f072ihg= ps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #21 0x00007f275c5ce172 in GC_call_with_stack_base () from /nix/store/f072ih= gps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #22 0x00007f275c39f052 in start_thread () from /nix/store/jwd1hc3i3pmnsxf23= 47r4k2c77nbr9vw-glibc-2.18/lib/libpthread.so.0 #23 0x00007f275add3b7d in clone () from /nix/store/jwd1hc3i3pmnsxf2347r4k2c= 77nbr9vw-glibc-2.18/lib/libc.so.6 Thread 4 (Thread 0x7f275cdcf740 (LWP 30798)): #0 0x00007f275ad6ad0c in malloc () from /nix/store/jwd1hc3i3pmnsxf2347r4k2= c77nbr9vw-glibc-2.18/lib/libc.so.6 #1 0x00007f275c921eb8 in re_node_set_alloc (size=3D0, set=3D0x2ce6f80) at = regex_internal.c:976 #2 register_state (dfa=3D0x2cdf8e0, newstate=3Dnewstate@entry=3D0x2ce6f60,= hash=3Dhash@entry=3D23) at regex_internal.c:1575 #3 0x00007f275c9252f3 in create_cd_newstate (hash=3D, conte= xt=3D1, nodes=3D0x2ce6f60, dfa=3D0x2) at regex_internal.c:1734 #4 re_acquire_state_context (err=3Derr@entry=3D0x7fff4246a730, dfa=3Ddfa@e= ntry=3D0x2cdf8e0, nodes=3Dnodes@entry=3D0x7fff4246a740,=20 context=3Dcontext@entry=3D1) at regex_internal.c:1554 #5 0x00007f275c92d8a3 in create_initial_state (dfa=3D0x2cdf8e0) at regcomp= .c:1084 #6 re_compile_internal (preg=3Dpreg@entry=3D0x29b0540, pattern=3Dpattern@e= ntry=3D0x2cddf80 "^http://([^/]+)/(.*)$",=20 length=3D, syntax=3Dsyntax@entry=3D242428) at regcomp.c:= 837 #7 0x00007f275c92e350 in rpl_regcomp (preg=3Dpreg@entry=3D0x29b0540, patte= rn=3Dpattern@entry=3D0x2cddf80 "^http://([^/]+)/(.*)$",=20 cflags=3Dcflags@entry=3D1) at regcomp.c:506 #8 0x00007f275c91b2cf in scm_make_regexp (pat=3D0x28c5120, flags=3D) at regex-posix.c:166 #9 0x00007f275c90fa28 in vm_regular_engine (vm=3D, program= =3D0x7f275cbac590 ,=20 argv=3D, nargs=3D2) at vm-i-system.c:855 #10 0x00007f275c90fa3d in vm_regular_engine (vm=3D, program= =3D0x26c64c0, argv=3D, nargs=3D1) at vm-i-system.c:852 #11 0x00007f275c8874a3 in scm_primitive_eval (exp=3Dexp@entry=3D0x28bbbb0) = at eval.c:692 #12 0x00007f275c887503 in scm_eval (exp=3D0x28bbbb0, module_or_state=3Dmodu= le_or_state@entry=3D0x2890c60) at eval.c:726 #13 0x00007f275c8d662d in scm_shell (argc=3D2, argv=3D0x7fff4246b1c8) at sc= ript.c:439 #14 0x00007f275c8a398d in invoke_main_func (body_data=3D0x7fff4246b090) at = init.c:336 #15 0x00007f275c87d7aa in c_body (d=3D0x7fff4246afd0) at continuations.c:517 #16 0x00007f275c90fa28 in vm_regular_engine (vm=3D, program= =3D0x26d0040, argv=3D, nargs=3D2) at vm-i-system.c:855 #17 0x00007f275c886fe3 in scm_call_4 (proc=3D0x27d8c30, arg1=3Darg1@entry= =3D0x404, arg2=3D, arg3=3D,=20 arg4=3D) at eval.c:507 #18 0x00007f275c8f9999 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr= y=3D0x404, thunk=3D, handler=3D,=20 pre_unwind_handler=3D) at throw.c:73 #19 0x00007f275c8f9a9f in scm_c_catch (tag=3Dtag@entry=3D0x404, body=3Dbody= @entry=3D0x7f275c87d7a0 ,=20 body_data=3Dbody_data@entry=3D0x7fff4246afd0, handler=3Dhandler@entry= =3D0x7f275c87db80 ,=20 handler_data=3Dhandler_data@entry=3D0x7fff4246afd0,=20 pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f275c87d930 ,=20 pre_unwind_handler_data=3Dpre_unwind_handler_data@entry=3D0x26d5040) at= throw.c:207 #20 0x00007f275c87deef in scm_i_with_continuation_barrier (body=3Dbody@entr= y=3D0x7f275c87d7a0 ,=20 body_data=3Dbody_data@entry=3D0x7fff4246afd0, handler=3Dhandler@entry= =3D0x7f275c87db80 ,=20 handler_data=3Dhandler_data@entry=3D0x7fff4246afd0,=20 pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f275c87d930 , pre_unwind_handler_data=3D0x26d5040) at continuations.c:455 #21 0x00007f275c87df85 in scm_c_with_continuation_barrier (func=3D, data=3D) at continuations.c:551 #22 0x00007f275c8f738c in with_guile_and_parent (base=3D0x7fff4246b030, dat= a=3D0x7fff4246b060) at threads.c:906 #23 0x00007f275c5ce172 in GC_call_with_stack_base () from /nix/store/f072ih= gps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #24 0x00007f275c8f7748 in scm_i_with_guile_and_parent (parent=3D, data=3Ddata@entry=3D0x7fff4246b060,=20 func=3Dfunc@entry=3D0x7f275c8a3970 ) at threads.c:949 #25 scm_with_guile (func=3Dfunc@entry=3D0x7f275c8a3970 , = data=3Ddata@entry=3D0x7fff4246b090) at threads.c:955 #26 0x00007f275c8a3b25 in scm_boot_guile (argc=3Dargc@entry=3D2, argv=3Darg= v@entry=3D0x7fff4246b1c8,=20 main_func=3Dmain_func@entry=3D0x400ff0 , closure=3Dclosure@= entry=3D0x0) at init.c:319 #27 0x0000000000400eb4 in main (argc=3D2, argv=3D0x7fff4246b1c8) at guile.c= :108 Thread 3 (Thread 0x7f275aaeb700 (LWP 30823)): #0 0x00007f275c3a574c in __lll_lock_wait () from /nix/store/jwd1hc3i3pmnsx= f2347r4k2c77nbr9vw-glibc-2.18/lib/libpthread.so.0 #1 0x00007f275c3a1417 in _L_lock_913 () from /nix/store/jwd1hc3i3pmnsxf234= 7r4k2c77nbr9vw-glibc-2.18/lib/libpthread.so.0 #2 0x00007f275c3a1240 in pthread_mutex_lock () from /nix/store/jwd1hc3i3pm= nsxf2347r4k2c77nbr9vw-glibc-2.18/lib/libpthread.so.0 #3 0x00007f275c8f5a78 in lookup_interned_symbol (raw_hash=3D5431120, name= =3D0x2c34e40) at symbols.c:112 #4 scm_i_str2symbol (str=3D0x2c34e40) at symbols.c:210 #5 0x00007f275c90fa3d in vm_regular_engine (vm=3D, program= =3D0x7f275cba9768 ,=20 argv=3D, nargs=3D1) at vm-i-system.c:852 #6 0x00007f275c8f7b80 in really_launch (d=3D0x7fff4246a800) at threads.c:1= 005 #7 0x00007f275c87d7aa in c_body (d=3D0x7f275aaead70) at continuations.c:517 #8 0x00007f275c90fa28 in vm_regular_engine (vm=3D, program= =3D0x26d0040, argv=3D, nargs=3D2) at vm-i-system.c:855 #9 0x00007f275c886fe3 in scm_call_4 (proc=3D0x27d8c30, arg1=3Darg1@entry= =3D0x404, arg2=3D, arg3=3D,=20 arg4=3D) at eval.c:507 #10 0x00007f275c8f9999 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr= y=3D0x404, thunk=3D, handler=3D,=20 pre_unwind_handler=3D) at throw.c:73 #11 0x00007f275c8f9a9f in scm_c_catch (tag=3Dtag@entry=3D0x404, body=3Dbody= @entry=3D0x7f275c87d7a0 ,=20 body_data=3Dbody_data@entry=3D0x7f275aaead70, handler=3Dhandler@entry= =3D0x7f275c87db80 ,=20 handler_data=3Dhandler_data@entry=3D0x7f275aaead70,=20 pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f275c87d930 ,=20 pre_unwind_handler_data=3Dpre_unwind_handler_data@entry=3D0x26d5040) at= throw.c:207 #12 0x00007f275c87deef in scm_i_with_continuation_barrier (body=3Dbody@entr= y=3D0x7f275c87d7a0 ,=20 body_data=3Dbody_data@entry=3D0x7f275aaead70, handler=3Dhandler@entry= =3D0x7f275c87db80 ,=20 handler_data=3Dhandler_data@entry=3D0x7f275aaead70,=20 pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f275c87d930 , pre_unwind_handler_data=3D0x26d5040) at continuations.c:455 #13 0x00007f275c87df85 in scm_c_with_continuation_barrier (func=3D, data=3D) at continuations.c:551 #14 0x00007f275c8f738c in with_guile_and_parent (base=3D0x7f275aaeadd0, dat= a=3D0x7f275aaeae00) at threads.c:906 #15 0x00007f275c5ce172 in GC_call_with_stack_base () from /nix/store/f072ih= gps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #16 0x00007f275c8f6d4c in scm_i_with_guile_and_parent (parent=3D, data=3D0x7fff4246a800,=20 func=3D0x7f275c8f7b00 ) at threads.c:949 #17 launch_thread (d=3D0x7fff4246a800) at threads.c:1017 #18 0x00007f275c5d2ec3 in GC_inner_start_routine () from /nix/store/f072ihg= ps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #19 0x00007f275c5ce172 in GC_call_with_stack_base () from /nix/store/f072ih= gps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #20 0x00007f275c39f052 in start_thread () from /nix/store/jwd1hc3i3pmnsxf23= 47r4k2c77nbr9vw-glibc-2.18/lib/libpthread.so.0 #21 0x00007f275add3b7d in clone () from /nix/store/jwd1hc3i3pmnsxf2347r4k2c= 77nbr9vw-glibc-2.18/lib/libc.so.6 Thread 2 (Thread 0x7f275a29a700 (LWP 30824)): #0 re_node_set_insert (set=3D0x7f275a299500, elem=3D18) at regex_internal.= c:1284 #1 0x00007f275c928e53 in build_sifted_states (cur_dest=3D0x7f275a299500, s= tr_idx=3D30, sctx=3D0x7f275a299640, mctx=3D0x7f275a299680) at regexec.c:1733 #2 sift_states_backward (mctx=3Dmctx@entry=3D0x7f275a299680, sctx=3Dsctx@e= ntry=3D0x7f275a299640) at regexec.c:1662 #3 0x00007f275c929c6f in prune_impossible_nodes (mctx=3D0x7f275a299680) at= regexec.c:1036 #4 re_search_internal (preg=3Dpreg@entry=3D0x29b0e40,=20 string=3D0x7f274c0f6f80 "http://64109hydra.gnu.org/nar/0did57blsaaspj49= cl3q8nnydm5pr1qg-cflow-1.485412",=20 length=3Dlength@entry=3D77, start=3Dstart@entry=3D0, last_start=3D0, la= st_start@entry=3D77, stop=3Dstop@entry=3D77, nmatch=3D9,=20 pmatch=3D0x7f274c0f7ac0, eflags=3D0) at regexec.c:873 #5 0x00007f275c92e556 in rpl_regexec (preg=3D0x29b0e40,=20 string=3Dstring@entry=3D0x7f274c0f6f80 "http://64109hydra.gnu.org/nar/0= did57blsaaspj49cl3q8nnydm5pr1qg-cflow-1.485412",=20 nmatch=3Dnmatch@entry=3D9, pmatch=3Dpmatch@entry=3D0x7f274c0f7ac0, efla= gs=3D0) at regexec.c:252 #6 0x00007f275c91b473 in scm_regexp_exec (rx=3D0x29c8a50, str=3D0x2c36fa0,= start=3D, flags=3D0x2) at regex-posix.c:288 #7 0x00007f275c90f9f2 in vm_regular_engine (vm=3D, program= =3D0x7f275cbac570 ,=20 argv=3D, nargs=3D4) at vm-i-system.c:861 #8 0x00007f275c8f7b80 in really_launch (d=3D0x7fff4246a800) at threads.c:1= 005 #9 0x00007f275c87d7aa in c_body (d=3D0x7f275a299d70) at continuations.c:517 #10 0x00007f275c90fa28 in vm_regular_engine (vm=3D, program= =3D0x26d0040, argv=3D, nargs=3D2) at vm-i-system.c:855 #11 0x00007f275c886fe3 in scm_call_4 (proc=3D0x27d8c30, arg1=3Darg1@entry= =3D0x404, arg2=3D, arg3=3D,=20 arg4=3D) at eval.c:507 #12 0x00007f275c8f9999 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr= y=3D0x404, thunk=3D, handler=3D,=20 pre_unwind_handler=3D) at throw.c:73 #13 0x00007f275c8f9a9f in scm_c_catch (tag=3Dtag@entry=3D0x404, body=3Dbody= @entry=3D0x7f275c87d7a0 ,=20 body_data=3Dbody_data@entry=3D0x7f275a299d70, handler=3Dhandler@entry= =3D0x7f275c87db80 ,=20 handler_data=3Dhandler_data@entry=3D0x7f275a299d70,=20 pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f275c87d930 ,=20 pre_unwind_handler_data=3Dpre_unwind_handler_data@entry=3D0x26d5040) at= throw.c:207 #14 0x00007f275c87deef in scm_i_with_continuation_barrier (body=3Dbody@entr= y=3D0x7f275c87d7a0 ,=20 body_data=3Dbody_data@entry=3D0x7f275a299d70, handler=3Dhandler@entry= =3D0x7f275c87db80 ,=20 handler_data=3Dhandler_data@entry=3D0x7f275a299d70,=20 pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f275c87d930 , pre_unwind_handler_data=3D0x26d5040) at continuations.c:455 #15 0x00007f275c87df85 in scm_c_with_continuation_barrier (func=3D, data=3D) at continuations.c:551 #16 0x00007f275c8f738c in with_guile_and_parent (base=3D0x7f275a299dd0, dat= a=3D0x7f275a299e00) at threads.c:906 #17 0x00007f275c5ce172 in GC_call_with_stack_base () from /nix/store/f072ih= gps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #18 0x00007f275c8f6d4c in scm_i_with_guile_and_parent (parent=3D, data=3D0x7fff4246a800,=20 func=3D0x7f275c8f7b00 ) at threads.c:949 #19 launch_thread (d=3D0x7fff4246a800) at threads.c:1017 #20 0x00007f275c5d2ec3 in GC_inner_start_routine () from /nix/store/f072ihg= ps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #21 0x00007f275c5ce172 in GC_call_with_stack_base () from /nix/store/f072ih= gps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #22 0x00007f275c39f052 in start_thread () from /nix/store/jwd1hc3i3pmnsxf23= 47r4k2c77nbr9vw-glibc-2.18/lib/libpthread.so.0 #23 0x00007f275add3b7d in clone () from /nix/store/jwd1hc3i3pmnsxf2347r4k2c= 77nbr9vw-glibc-2.18/lib/libc.so.6 Thread 1 (Thread 0x7f27591f8700 (LWP 30826)): #0 0x00007f275c5cee7b in GC_build_fl4 () from /nix/store/f072ihgps3078d9l7= 1w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #1 0x00007f275c5cf085 in GC_new_hblk () from /nix/store/f072ihgps3078d9l71= w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #2 0x00007f275c5c4882 in GC_allocobj () from /nix/store/f072ihgps3078d9l71= w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #3 0x00007f275c5c9320 in GC_generic_malloc_inner () from /nix/store/f072ih= gps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #4 0x00007f275c5c93fd in GC_generic_malloc () from /nix/store/f072ihgps307= 8d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #5 0x00007f275c5c9689 in GC_core_malloc_atomic () from /nix/store/f072ihgp= s3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #6 0x00007f275c8ee3c4 in make_stringbuf (len=3D4) at strings.c:129 #7 0x00007f275c8efbf5 in scm_i_string_start_writing (orig_str=3D0x2c25360)= at strings.c:573 #8 0x00007f275c8e4ccf in string_downcase_x (v=3D, start=3Ds= tart@entry=3D0, end=3Dend@entry=3D4) at srfi-13.c:2169 #9 0x00007f275c8e50d8 in string_downcase_x (end=3D4, start=3D0, v=3D) at srfi-13.c:2167 #10 scm_substring_downcase (str=3D0x2c25380, start=3D, end= =3D) at srfi-13.c:2218 #11 0x00007f275c90fa0f in vm_regular_engine (vm=3D, program= =3D0x7f275cb9ef60 ,=20 argv=3D, nargs=3D3) at vm-i-system.c:858 #12 0x00007f275c8f7b80 in really_launch (d=3D0x7fff4246a800) at threads.c:1= 005 #13 0x00007f275c87d7aa in c_body (d=3D0x7f27591f7d70) at continuations.c:517 #14 0x00007f275c90fa28 in vm_regular_engine (vm=3D, program= =3D0x26d0040, argv=3D, nargs=3D2) at vm-i-system.c:855 #15 0x00007f275c886fe3 in scm_call_4 (proc=3D0x27d8c30, arg1=3Darg1@entry= =3D0x404, arg2=3D, arg3=3D,=20 arg4=3D) at eval.c:507 #16 0x00007f275c8f9999 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr= y=3D0x404, thunk=3D, handler=3D,=20 pre_unwind_handler=3D) at throw.c:73 #17 0x00007f275c8f9a9f in scm_c_catch (tag=3Dtag@entry=3D0x404, body=3Dbody= @entry=3D0x7f275c87d7a0 ,=20 body_data=3Dbody_data@entry=3D0x7f27591f7d70, handler=3Dhandler@entry= =3D0x7f275c87db80 ,=20 handler_data=3Dhandler_data@entry=3D0x7f27591f7d70,=20 pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f275c87d930 ,=20 pre_unwind_handler_data=3Dpre_unwind_handler_data@entry=3D0x26d5040) at= throw.c:207 #18 0x00007f275c87deef in scm_i_with_continuation_barrier (body=3Dbody@entr= y=3D0x7f275c87d7a0 ,=20 body_data=3Dbody_data@entry=3D0x7f27591f7d70, handler=3Dhandler@entry= =3D0x7f275c87db80 ,=20 handler_data=3Dhandler_data@entry=3D0x7f27591f7d70,=20 pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f275c87d930 , pre_unwind_handler_data=3D0x26d5040) at continuations.c:455 #19 0x00007f275c87df85 in scm_c_with_continuation_barrier (func=3D, data=3D) at continuations.c:551 #20 0x00007f275c8f738c in with_guile_and_parent (base=3D0x7f27591f7dd0, dat= a=3D0x7f27591f7e00) at threads.c:906 #21 0x00007f275c5ce172 in GC_call_with_stack_base () from /nix/store/f072ih= gps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #22 0x00007f275c8f6d4c in scm_i_with_guile_and_parent (parent=3D, data=3D0x7fff4246a800,=20 func=3D0x7f275c8f7b00 ) at threads.c:949 #23 launch_thread (d=3D0x7fff4246a800) at threads.c:1017 #24 0x00007f275c5d2ec3 in GC_inner_start_routine () from /nix/store/f072ihg= ps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #25 0x00007f275c5ce172 in GC_call_with_stack_base () from /nix/store/f072ih= gps3078d9l71w6c7fz8vway2wy-libgc-7.2d/lib/libgc.so.1 #26 0x00007f275c39f052 in start_thread () from /nix/store/jwd1hc3i3pmnsxf23= 47r4k2c77nbr9vw-glibc-2.18/lib/libpthread.so.0 #27 0x00007f275add3b7d in clone () from /nix/store/jwd1hc3i3pmnsxf2347r4k2c= 77nbr9vw-glibc-2.18/lib/libc.so.6 --8<---------------cut here---------------end--------------->8--- Thanks, Ludo=E2=80=99.