Open p6rt opened 9 years ago
THe fllowing program:
use v6; my $connections = IO::Socket::Async.listen( 'localhost', 3333, ); $connections.tap(-> $conn { say "Incoming connection"; $conn.bytes_supply.tap( -> $buf { say $buf.decode; await $conn.write($buf) }, :done({ $conn.close }) ) }, ); $connections.wait;
segfaults reliables when I execute it with perl6 version 2015.02-152-ge7a666c built on MoarVM version 2015.02-17-g86d0c68 as soon as I feed it some input:
$ echo "foo" | nc localhost 3333
Running under gdb produces this backtrace:
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff33c5700 (LWP 15427)] 0x00007ffff79fc2e1 in uv_write2 () from /home/moritz/p6/rakudo/install/lib/libmoar.so (gdb) bt
/home/moritz/p6/rakudo/install/lib/libmoar.so
/home/moritz/p6/rakudo/install/lib/libmoar.so
/home/moritz/p6/rakudo/install/lib/libmoar.so
/home/moritz/p6/rakudo/install/lib/libmoar.so
/home/moritz/p6/rakudo/install/lib/libmoar.so
/home/moritz/p6/rakudo/install/lib/libmoar.so
/home/moritz/p6/rakudo/install/lib/libmoar.so
/home/moritz/p6/rakudo/install/lib/libmoar.so
/home/moritz/p6/rakudo/install/lib/libmoar.so
/home/moritz/p6/rakudo/install/lib/libmoar.so
pthread_create.c:312
../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Running it under gdb prevents the segfault on the first connection, and on the second, produces this:
==15474== Thread 3: ==15474== Invalid read of size 4 ==15474== at 0x4FE92E1: uv_write2 (in /home/moritz/p6/rakudo/install/lib/libmoar.so) ==15474== by 0x4F8E0F1: write_setup (in /home/moritz/p6/rakudo/install/lib/libmoar.so) ==15474== by 0x4F86D9F: idle_handler (in /home/moritz/p6/rakudo/install/lib/libmoar.so) ==15474== by 0x4FE5B19: uv__run_idle (in /home/moritz/p6/rakudo/install/lib/libmoar.so) ==15474== by 0x4FE21EB: uv_run (in /home/moritz/p6/rakudo/install/lib/libmoar.so) ==15474== by 0x4F86D33: enter_loop (in /home/moritz/p6/rakudo/install/lib/libmoar.so) ==15474== by 0x4F73255: thread_initial_invoke (in /home/moritz/p6/rakudo/install/lib/libmoar.so) ==15474== by 0x4F56B6C: MVM_interp_run (in /home/moritz/p6/rakudo/install/lib/libmoar.so) ==15474== by 0x4F732AD: start_thread (in /home/moritz/p6/rakudo/install/lib/libmoar.so) ==15474== by 0x4FE9D86: uv__thread_start (in /home/moritz/p6/rakudo/install/lib/libmoar.so) ==15474== by 0x5A9A181: start_thread (pthread_create.c:312) ==15474== by 0x54C147C: clone (clone.S:111) ==15474== Address 0xb8 is not stack'd, malloc'd or (recently) free'd
before producing a segfault with the same stacktrace as gdb.
Migrated from rt.perl.org#123968 (status was 'new')
Searchable as RT123968$