Hi, This is a "help wanted" message. When I run GCC regression test on loongarch64-linux-gnu, expect occasionally crashes with a segment fault. The stack backtrace is like:
Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007ffff0a35910 in TclpAlloc () from /usr/lib/libtcl8.6.so [Current thread is 1 (Thread 0x7ffff05d8420 (LWP 9228))] (gdb) bt #0 0x00007ffff0a35910 in TclpAlloc () from /usr/lib/libtcl8.6.so #1 0x00007ffff08b0ed4 in sortins () from /usr/lib/libtcl8.6.so #2 0x00007ffff08b18d0 in mergeins () from /usr/lib/libtcl8.6.so #3 0x00007ffff08b3654 in fixempties () from /usr/lib/libtcl8.6.so #4 0x00007ffff08b2564 in optimize () from /usr/lib/libtcl8.6.so #5 0x00007ffff08aa9a0 in nfanode () from /usr/lib/libtcl8.6.so #6 0x00007ffff08aa8a4 in nfatree () from /usr/lib/libtcl8.6.so #7 0x00007ffff08aa894 in nfatree () from /usr/lib/libtcl8.6.so #8 0x00007ffff08aa894 in nfatree () from /usr/lib/libtcl8.6.so #9 0x00007ffff08aa894 in nfatree () from /usr/lib/libtcl8.6.so #10 0x00007ffff08a6c00 in TclReComp () from /usr/lib/libtcl8.6.so #11 0x00007ffff0a2155c in CompileRegexp () from /usr/lib/libtcl8.6.so #12 0x00007ffff0a20e74 in Tcl_GetRegExpFromObj () from /usr/lib/libtcl8.6.so #13 0x00007ffff08ebe48 in Tcl_RegsubObjCmd () from /usr/lib/libtcl8.6.so #14 0x00007ffff08c6e64 in Dispatch () from /usr/lib/libtcl8.6.so #15 0x00007ffff08c6f10 in TclNRRunCallbacks () from /usr/lib/libtcl8.6.so #16 0x00007ffff08c6650 in Tcl_EvalObjv () from /usr/lib/libtcl8.6.so #17 0x00007ffff08c8f7c in TclEvalEx () from /usr/lib/libtcl8.6.so #18 0x00007ffff09f1270 in Tcl_FSEvalFileEx () from /usr/lib/libtcl8.6.so #19 0x00007ffff09f0f00 in Tcl_FSEvalFile () from /usr/lib/libtcl8.6.so #20 0x00007ffff09ef26c in Tcl_EvalFile () from /usr/lib/libtcl8.6.so #21 0x00007ffff0afc658 in exp_interpret_cmdfilename () from /usr/lib/libexpect5.45.4.so #22 0x0000000120000c80 in main () The crashes happen on both my own LoongArch board and gcc401.fsffrance.org. So I don't think it was an "only me" problem. The segment fault is not deterministic. A Expect command like cd /path/to/gcc/build/gcc expect -- /usr/share/dejagnu/runtest.exp --tool gfortran dg.exp=bind-c-contiguous-1.f90 sometimes succeeds, sometimes immediately segfaults, sometimes prints several lines of strange error message and then exits abnormally. Usually I don't like to send "help wanted" messages, but this time I have no idea how to fix (or even triage) the problem. I don't even know which component (Tcl? Expect? GCC? Glibc? Kernel?) I should blame. So it seems I really need some help now... -- Xi Ruoyao <xry...@xry111.site> School of Aerospace Science and Technology, Xidian University