-
Notifications
You must be signed in to change notification settings - Fork 561
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SIGSEGV with Term::ReadLine call readline() #16800
Comments
From rafal@milecki.plCreated by rafal@milecki.plI've written & run a trivial perl script using Term::Readline: use Term::ReadLine; When running in on openSUSE with its perl 5.28.1 it crashes and I never get a prompt. My perl experience is ZERO I'm just trying to debug problem with git-send-email that uses Term::ReadLine. Hoping for some useful info I've tried running perl in a gdb. Not sure if there is anything useful there. (gdb) file perl Program received signal SIGABRT, Aborted. Perl Info
|
From @jkeenanOn Thu, 03 Jan 2019 07:18:10 GMT, rafal@milecki.pl wrote:
Thank you for the report. In a case like yours, where you are (I think) using a vendor-supplied 'perl' executable that was built with many configuration options, we often have to experiment with building 'perl' with a shorter list of configuration options in order to determine whether one or more of those config options is the cause of the crash. As a first stab at this, I configured Perl 5 blead with the following options on both Ubuntu Linux 18.04 LTS and FreeBSD-11.2: ##### I then tried your test program on each OS. Neither crashed. p5p list: Any ideas? Original poster: If you are familiar with 'git', you might want to do a checkout of the Perl 5 source code (git clone git://perl5.git.perl.org/perl.git perl) so that, should we come up with a solution, we can have you test that solution on your machine. Thank you very much. |
The RT System itself - Status changed from 'new' to 'open' |
From carenas@gmail.comthis might be a problem with libreadline that is manifesting in openSUSE Tumbleweed as described in : |
From @ppisarOn 2019-01-03, "James E Keenan via RT" <perlbug-followup@perl.org> wrote:
The backtrace shows the "crash" is an intentional abort triggered by The heuristic is enabled by hardening GCC flags (like The backtrace mentions __fdelt_chk(). A web search returns e.g. this I guess some code does not set the stdin file descriptor properly. -- Petr |
From @ppisarOn 2019-01-04, Petr Pisar <ppisar@redhat.com> wrote:
These flags are just an example. (I'm unable to reproduce it with them You should also contact your package vendor (SuSE). It's quite possible -- Petr |
From rafal@milecki.plOn Fri, 04 Jan 2019 01:54:12 -0800, ppisar wrote:
perl -V | grep flags
I've created openSUSE report: |
From rafal@milecki.plOn Thu, 03 Jan 2019 08:32:24 -0800, jkeenan wrote:
I've just tried compiling perl from git using your config options: cd ~/linux/ Then tested my sample script and it works fine! PERL5LIB=~/linux/perl/lib ~/linux/perl/perl ~/test.perl So it appears my gcc / glibc / libreadline are fine. I've also tried compiling from the v5.28.1 tag and it also works! My last guess is there is something in the way openSUSE compiler perl that triggers this problem. |
From @jkeenanOn Fri, 04 Jan 2019 15:01:25 GMT, rafal@milecki.pl wrote:
Thanks for filing the SUSE bug report and for your further investigation. Because the resolution of this issue awaits investigation by the downstream packager, I'm classifying this ticket as Stalled. Thank you very much. -- |
@jkeenan - Status changed from 'open' to 'stalled' |
From rafal@milecki.plI'm incapable of debugging this and I'm giving up at this point :( I simply can't reproduce this problem when compiling perl on my own. 1) I've checkouted perl5 sources 2) I've applied all openSUSE patches: 3) I've tried to configure perl5 using the same options as openSUSE: 4) I've compiled it (make) and tested: It works perfectly fine. I've no idea what's wrong with the openSUSE perl build. |
The RT System itself - Status changed from 'stalled' to 'open' |
From rafal@milecki.plThis problem has appeared to be related to (or caused by) an outdated Term-ReadLine-Gnu version (1.20) provided by openSUSE. I've tested the latest Term-ReadLine-Gnu and bisected to find fixing commits. Release 1.23 has fixed a crash with a commit: Unfortunately that wasn't a real/complete fix as it made readline() just return immediately an empty value. Release 1.26 provided a real fix with a commit: Starting with that change calling readline() allows user to provide an input as expected. Thanks everyone involved into this debugging, I believe it's up to the openSUSE to update Term-ReadLine-Gnu now. |
From @tonycozOn Sat, 12 Jan 2019 15:33:54 -0800, rafal@milecki.pl wrote:
Thanks for the update. Since this isn't a bug in perl, and appears to have been fixed upstream, and we aren't the upstream, I'm rejecting this issue. Tony |
@tonycoz - Status changed from 'open' to 'rejected' |
Migrated from rt.perl.org#133750 (status was 'rejected')
Searchable as RT133750$
The text was updated successfully, but these errors were encountered: