Hi, $ cat a.sh apk add perl-dev perl-utils perl-libwww perl-lwp-protocol-https build-base gdb cpan -g PerlIO::eol || true tar xf Perl* cd Perl* sed -Ei '/\bWriteMakefile\b/i\\n$WriteMakefileArgs{OPTIMIZE} = "-g3 -gdwarf-4 -O";' Makefile.PL # sed -Ei '/\bWriteMakefile\b/i\\n$WriteMakefileArgs{OPTIMIZE} = "-O0";' Makefile.PL perl Makefile.PL make install cd /app gdb -ex 'break PerlIOEOL_fill' -ex r --args perl a.pl $ cat a.pl use strict; use warnings; open my $fh, '<:raw:eol(LF)', 'a.txt'; my $l = <$fh>; print $l, "\n"; $ echo -e 'line 1\nline 2\r\nline 3' > a.txt $ docker run --rm -itv $PWD:/app alpine:3.17 sh -eux app/a.sh ... Breakpoint 1, PerlIOEOL_fill (my_perl=0x7f977d80e020, f=0x7f977d7ea180) at eol.xs:117 117 { (gdb) c Continuing. Program received signal SIGILL, Illegal instruction. PerlIOEOL_fill (my_perl=<optimized out>, f=<optimized out>) at eol.xs:132 132 Copy(start, ptr, i - start, STDCHAR); (gdb) backtrace #0 PerlIOEOL_fill (my_perl=<optimized out>, f=<optimized out>) at eol.xs:132 #1 0x00007f977d970a74 in Perl_PerlIO_fill () from /usr/lib/perl5/core_perl/CORE/libperl.so #2 0x00007f977d973353 in PerlIOBase_read () from /usr/lib/perl5/core_perl/CORE/libperl.so #3 0x00007f977d9733e9 in PerlIO_getc () from /usr/lib/perl5/core_perl/CORE/libperl.so #4 0x00007f977d91a5df in Perl_sv_gets () from /usr/lib/perl5/core_perl/CORE/libperl.so #5 0x00007f977d9037de in Perl_do_readline () from /usr/lib/perl5/core_perl/CORE/libperl.so #6 0x00007f977d8fe780 in Perl_runops_standard () from /usr/lib/perl5/core_perl/CORE/libperl.so #7 0x00007f977d8841ba in perl_run () from /usr/lib/perl5/core_perl/CORE/libperl.so #8 0x000055ca41b3b1db in main () But with -O0 it supposedly works. What's going on here? How do I debug it? Regards, Yuri