https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107874
--- Comment #13 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
A debug session gives:
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
futex_wait (private=0, expected=2, futex_word=0x405950) at
../sysdeps/nptl/futex-internal.h:146
146 int err = lll_futex_timed_wait (futex_word, expected, NULL, private);
(gdb) bt
#0 futex_wait (private=0, expected=2, futex_word=0x405950)
at ../sysdeps/nptl/futex-internal.h:146
#1 __GI___lll_lock_wait (futex=futex@entry=0x405950, private=0)
at lowlevellock.c:49
#2 0x00007ffff79d1432 in lll_mutex_lock_optimized (mutex=0x405950)
at pthread_mutex_lock.c:48
#3 ___pthread_mutex_lock (mutex=0x405950) at pthread_mutex_lock.c:93
#4 0x00007ffff7e73503 in __gthread_mutex_lock (__mutex=0x405950)
at ../libgcc/gthr-default.h:749
#5 get_gfc_unit (n=6, do_create=1) at ../../../trunk/libgfortran/io/unit.c:395
#6 0x00007ffff7e71b85 in data_transfer_init (dtp=0x7fffffffd9d0, read_flag=0)
at ../../../trunk/libgfortran/io/transfer.c:3007
#7 0x00000000004017dd in testmerge9::tstuff () at merge_1.f90:39
#8 0x000000000040128c in testmerge9 () at merge_1.f90:14
#9 0x000000000040184f in main (argc=1, argv=0x7fffffffe2c4) at merge_1.f90:36
#10 0x00007ffff796a510 in __libc_start_call_main (
main=main@entry=0x40181b <main>, argc=argc@entry=1,
argv=argv@entry=0x7fffffffdfa8)
at ../sysdeps/nptl/libc_start_call_main.h:58
#11 0x00007ffff796a5c9 in __libc_start_main_impl (main=0x40181b <main>,
argc=1, argv=0x7fffffffdfa8, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7fffffffdf98)
at ../csu/libc-start.c:381
I would speculate we are trashing some memory since there is no reason to hang
in there.