Skip to content
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

error while debugging threads->create() #10866

Closed
p5pRT opened this issue Nov 30, 2010 · 7 comments
Closed

error while debugging threads->create() #10866

p5pRT opened this issue Nov 30, 2010 · 7 comments

Comments

@p5pRT
Copy link

p5pRT commented Nov 30, 2010

Migrated from rt.perl.org#79996 (status was 'resolved')

Searchable as RT79996$

@p5pRT
Copy link
Author

p5pRT commented Nov 30, 2010

From thecrux@gmail.com

Created by thecrux@gmail.com

While debuging threaded app, debugger returned unexpected error on
threads->create() if argument is 'sub {..}' or '\&somesub'

simple testcase​:

$ PERLDB_OPTS="noTTY" perl -Mthreads -d -e "threads->create(sub{})->join"
Thread 1 terminated abnormally​: Undefined subroutine &Term​::ReadLine​::CLONE called at -e line 1.
at -e line 1 thread 1

no errors in this testcase​:

$ PERLDB_OPTS="noTTY" perl -Mthreads -d -e "$r=sub{}; threads->create($r)->join"
$

Perl Info

Flags:
    category=library
    severity=medium
    module=threads

Site configuration information for perl 5.12.2:

Configured by builder at Wed Nov 17 16:02:15 UTC 2010.

Summary of my perl5 (revision 5 version 12 subversion 2) configuration:
   
  Platform:
    osname=linux, osvers=2.6.18-ovz-rhel-alt13.m51.15, archname=x86_64-linux-thread-multi
    uname='linux apiary.egro.altlinux.org 2.6.18-ovz-rhel-alt13.m51.15 #1 smp tue oct 12 07:57:28 utc 2010 x86_64 gnulinux '
    config_args='-ders -Dusethreads -Duseithreads -Duselargefiles -Duseshrplib -Dlibperl=libperl-5.12.so -Dcc=gcc -Doptimize=-pipe -Wall -O2 -Dprefix=/usr -Dprivlib=/usr/share/perl5 -Darchlib=/usr/lib64/perl5 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib64/perl5 -Dotherlibdirs=/etc/perl5:/usr/lib/perl5/vendor_perl -Dinc_version_list=none -Dpager=/usr/bin/less -isR -Dman1dir=none -Dman3dir=none -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.12.2 -Dsitearch=/usr/local/lib64/perl/5.12.2'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-pipe -Wall -O2',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
    ccversion='', gccversion='4.5.1 20101112 (ALT Linux 4.5.1-alt6)', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags =' -fstack-protector -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64
    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc -lgdbm_compat
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=, so=so, useshrplib=true, libperl=libperl-5.12.so
    gnulibc_version='2.11.2'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -pipe -Wall -O2 -L/usr/local/lib -fstack-protector'

Locally applied patches:
    


@INC for perl 5.12.2:
    /usr/local/lib64/perl/5.12.2
    /usr/local/share/perl/5.12.2
    /usr/lib64/perl5
    /usr/share/perl5
    /usr/lib64/perl5
    /usr/share/perl5
    /etc/perl5
    /usr/lib/perl5/vendor_perl
    .


Environment for perl 5.12.2:
    HOME=/home/crux
    LANG=ru_RU.UTF-8
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/home/crux/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/games
    PERL_BADLANG (unset)
    SHELL=/usr/bin/zsh

@p5pRT
Copy link
Author

p5pRT commented Dec 6, 2010

From @cpansprout

On Mon Nov 29 23​:25​:48 2010, crux wrote​:

While debuging threaded app, debugger returned unexpected error on
threads->create() if argument is 'sub {..}' or '\&somesub'

simple testcase​:

$ PERLDB_OPTS="noTTY" perl -Mthreads -d -e "threads->create(sub{})-

join"
Thread 1 terminated abnormally​: Undefined subroutine
&Term​::ReadLine​::CLONE called at -e line 1.
at -e line 1 thread 1

Thank you for your report. This appears to have been fixed in bleadperl.

@p5pRT
Copy link
Author

p5pRT commented Dec 6, 2010

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Dec 6, 2010

@cpansprout - Status changed from 'open' to 'resolved'

@p5pRT p5pRT closed this as completed Dec 6, 2010
@p5pRT
Copy link
Author

p5pRT commented Dec 6, 2010

From thecrux@gmail.com

On Sun, Dec 05, 2010 at 05​:25​:14PM -0800, Father Chrysostomos via RT wrote​:

On Mon Nov 29 23​:25​:48 2010, crux wrote​:

While debuging threaded app, debugger returned unexpected error on
threads->create() if argument is 'sub {..}' or '\&somesub'

simple testcase​:

$ PERLDB_OPTS="noTTY" perl -Mthreads -d -e "threads->create(sub{})-

join"
Thread 1 terminated abnormally​: Undefined subroutine
&Term​::ReadLine​::CLONE called at -e line 1.
at -e line 1 thread 1

Thank you for your report. This appears to have been fixed in bleadperl.

Can you point to the commit where this was fixed?
Is it possible to backport this change to 5.12?

--
Vladimir Lettiev aka crux ✉ theCrux@​gmail.com

@p5pRT
Copy link
Author

p5pRT commented Dec 12, 2010

From @cpansprout

On Sun Dec 05 21​:29​:22 2010, crux wrote​:

On Sun, Dec 05, 2010 at 05​:25​:14PM -0800, Father Chrysostomos via RT
wrote​:

On Mon Nov 29 23​:25​:48 2010, crux wrote​:

While debuging threaded app, debugger returned unexpected error on
threads->create() if argument is 'sub {..}' or '\&somesub'

simple testcase​:

$ PERLDB_OPTS="noTTY" perl -Mthreads -d -e "threads->create(sub{})-

join"
Thread 1 terminated abnormally​: Undefined subroutine
&Term​::ReadLine​::CLONE called at -e line 1.
at -e line 1 thread 1

Thank you for your report. This appears to have been fixed in bleadperl.

Can you point to the commit where this was fixed?
Is it possible to backport this change to 5.12?

It was fixed by d08d57e. I think that commit is too intrusive (and
hence to risky) to backport to 5.12.

@p5pRT
Copy link
Author

p5pRT commented Dec 13, 2010

From thecrux@gmail.com

On Sun, Dec 12, 2010 at 01​:16​:11PM -0800, Father Chrysostomos via RT wrote​:

On Sun Dec 05 21​:29​:22 2010, crux wrote​:

On Sun, Dec 05, 2010 at 05​:25​:14PM -0800, Father Chrysostomos via RT
wrote​:

On Mon Nov 29 23​:25​:48 2010, crux wrote​:

While debuging threaded app, debugger returned unexpected error on
threads->create() if argument is 'sub {..}' or '\&somesub'

simple testcase​:

$ PERLDB_OPTS="noTTY" perl -Mthreads -d -e "threads->create(sub{})-

join"
Thread 1 terminated abnormally​: Undefined subroutine
&Term​::ReadLine​::CLONE called at -e line 1.
at -e line 1 thread 1

Thank you for your report. This appears to have been fixed in bleadperl.

Can you point to the commit where this was fixed?
Is it possible to backport this change to 5.12?

It was fixed by d08d57e. I think that commit is too intrusive (and
hence to risky) to backport to 5.12.

Thank you

--
Vladimir Lettiev aka crux ✉ theCrux@​gmail.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant