Skip Menu |

This queue is for tickets about the Net-DNS-Native CPAN distribution.

Report information
The Basics
Id: 100834
Status: resolved
Priority: 0/
Queue: Net-DNS-Native

People
Owner: Nobody in particular
Requestors: scott.kiehn [...] logica3.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Net::DNS::Native, Installs OK on non-threaded perl, then seg faults
Date: Wed, 10 Dec 2014 11:33:19 -0600
To: bug-Net-DNS-Native [...] rt.cpan.org
From: Scott Kiehn <scott.kiehn [...] logica3.com>
Module: Net::DNS::Native 0.13 I am reporting a bug as requested on the Mojolicious list. Module installs without warning messages by cpanm and passes all tests when installed manually. When running a Mojo::IO::Delay script, it segmentation faults. Mojo::IOLoop::Delay->new->steps( sub { my $delay = shift; $ua->get( $bv . $_ => $delay->begin ) for @emails; }, sub { my $delay = shift; for my $tx ( @_ ) { my $res = $tx->res->json; say Dumper $res; } } )->wait; $bv is the http string to the BrightVerify api. Mojolicious version is 5.68. At times it works, but usually the error message is: Segmentation fault (core dumped) or it can be: *** Error in `perl': double free or corruption (out): 0x00007f3a20000910 *** Aborted (core dumped) The environments: perlbrew perl 5.20.0 and 5.18.2, compiled without threads (ie. perlbrew install perl-5.20.0) Ubuntu 14.04, all updates applied as of 12/9/14 3.13.0-40-generic #69-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - Kubuntu workstation, perl 5.20.0 and 3.13.0-24-generic #46-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - Digital Ocean server, perl 5.18.2 Thank you for your time, Scott Kiehn
On Wed Dec 10 12:33:33 2014, scott.kiehn@logica3.com wrote: Show quoted text
> Module: Net::DNS::Native 0.13 > > I am reporting a bug as requested on the Mojolicious list. Module > installs without warning messages by cpanm and passes all tests when > installed manually. When running a Mojo::IO::Delay script, it > segmentation faults. > > Mojo::IOLoop::Delay->new->steps( > sub { > my $delay = shift; > $ua->get( $bv . $_ => $delay->begin ) for @emails; > }, > sub { > my $delay = shift; > for my $tx ( @_ ) { > my $res = $tx->res->json; > say Dumper $res; > } > } > )->wait; > > > $bv is the http string to the BrightVerify api. Mojolicious version is 5.68. > > At times it works, but usually the error message is: > > Segmentation fault (core dumped) > > or it can be: > > *** Error in `perl': double free or corruption (out): 0x00007f3a20000910 *** > Aborted (core dumped) > > > The environments: > > perlbrew perl 5.20.0 and 5.18.2, compiled without threads (ie. perlbrew > install perl-5.20.0) > > Ubuntu 14.04, all updates applied as of 12/9/14 > > 3.13.0-40-generic #69-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - > Kubuntu workstation, perl 5.20.0 > > and > > 3.13.0-24-generic #46-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - > Digital Ocean server, perl 5.18.2 > > > > Thank you for your time, > Scott Kiehn >
Looks like now you have *.core file in your directory. The name of the file is perl.core, I think. Can you run it under gdb to get stacktrace? The command will be like: $ gdb `which perl` perl.core # bt full Then copy and paste output here, so I can see where is a problem.
Subject: Re: [rt.cpan.org #100834] Net::DNS::Native, Installs OK on non-threaded perl, then seg faults
Date: Wed, 10 Dec 2014 14:25:17 -0600
To: bug-Net-DNS-Native [...] rt.cpan.org
From: Scott Kiehn <scott.kiehn [...] logica3.com>
Oleg, Sorry for taking so long (busy time for us, one man shop). There is no core file being left in the directory. - Scott Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=100834 > > > On Wed Dec 10 12:33:33 2014, scott.kiehn@logica3.com wrote:
>> Module: Net::DNS::Native 0.13 >> >> I am reporting a bug as requested on the Mojolicious list. Module >> installs without warning messages by cpanm and passes all tests when >> installed manually. When running a Mojo::IO::Delay script, it >> segmentation faults. >> >> Mojo::IOLoop::Delay->new->steps( >> sub { >> my $delay = shift; >> $ua->get( $bv . $_ => $delay->begin ) for @emails; >> }, >> sub { >> my $delay = shift; >> for my $tx ( @_ ) { >> my $res = $tx->res->json; >> say Dumper $res; >> } >> } >> )->wait; >> >> >> $bv is the http string to the BrightVerify api. Mojolicious version is 5.68. >> >> At times it works, but usually the error message is: >> >> Segmentation fault (core dumped) >> >> or it can be: >> >> *** Error in `perl': double free or corruption (out): 0x00007f3a20000910 *** >> Aborted (core dumped) >> >> >> The environments: >> >> perlbrew perl 5.20.0 and 5.18.2, compiled without threads (ie. perlbrew >> install perl-5.20.0) >> >> Ubuntu 14.04, all updates applied as of 12/9/14 >> >> 3.13.0-40-generic #69-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - >> Kubuntu workstation, perl 5.20.0 >> >> and >> >> 3.13.0-24-generic #46-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - >> Digital Ocean server, perl 5.18.2 >> >> >> >> Thank you for your time, >> Scott Kiehn >>
> Looks like now you have *.core file in your directory. The name of the file is perl.core, I think. Can you run it under gdb to get stacktrace? > The command will be like: > $ gdb `which perl` perl.core > # bt full > > Then copy and paste output here, so I can see where is a problem. >
-- *Scott Kiehn* *Logica3* Web Developer skiehn@logica3.com 847.836.3330
Subject: Re: [rt.cpan.org #100834] Net::DNS::Native, Installs OK on non-threaded perl, then seg faults
Date: Wed, 10 Dec 2014 14:32:48 -0600
To: bug-Net-DNS-Native [...] rt.cpan.org
From: Scott Kiehn <scott.kiehn [...] logica3.com>
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /home/linux01/perl5/perlbrew/perls/perl-5.20.0/bin/perl...(no debugging symbols found)...done. [New LWP 22918] [New LWP 22914] [New LWP 22916] [New LWP 22919] [New LWP 22917] [New LWP 22915] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `perl ./email_verify.pl'. Program terminated with signal SIGABRT, Aborted. #0 0x00007f6743b8ebb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt full #0 0x00007f6743b8ebb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 resultvar = 0 pid = 22914 selftid = 22918 #1 0x00007f6743b91fc8 in __GI_abort () at abort.c:89 save_stage = 2 act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0} sigs = {__val = {32, 0 <repeats 15 times>}} #2 0x00007f6743bcbe14 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7f6743cda5a8 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175 ap = {{gp_offset = 40, fp_offset = 0, overflow_arg_area = 0x7f673f70b560, reg_save_area = 0x7f673f70b4f0}} fd = 14 on_2 = <optimized out> list = <optimized out> nlist = <optimized out> cp = <optimized out> written = <optimized out> #3 0x00007f6743bd80ee in malloc_printerr (ptr=<optimized out>, str=0x7f6743cda6d8 "double free or corruption (out)", action=1) at malloc.c:4996 buf = "00007f67340008c0" cp = <optimized out> #4 _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840 size = <optimized out> fb = <optimized out> nextchunk = <optimized out> nextsize = <optimized out> nextinuse = <optimized out> prevsize = <optimized out> bck = <optimized out> fwd = <optimized out> errstr = <optimized out> locked = <optimized out> #5 0x00007f6743bc6565 in _IO_new_fclose (fp=0x7f67340008c0) at iofclose.c:85 status = 0 #6 0x00007f67419bdea5 in internal_endent () at nss_files/files-XXX.c:160 No locals. #7 _nss_files_gethostbyname4_r (name=name@entry=0x1ce2db0 "bpi.briteverify.com", pat=<optimized out>, pat@entry=0x7f673f70bc60, buffer=<optimized out>, buffer@entry=0x7f673f70b6c0 "\377\002", buflen=<optimized out>, buflen@entry=1064, errnop=errnop@entry=0x7f673f70bc30, herrnop=herrnop@entry=0x7f673f70bc80, ttlp=ttlp@entry=0x0) at nss_files/files-hosts.c:479 any = <optimized out> got_canon = <optimized out> status = NSS_STATUS_NOTFOUND __PRETTY_FUNCTION__ = "_nss_files_gethostbyname4_r" #8 0x00007f6743c251d7 in gaih_inet (name=<optimized out>, name@entry=0x1ce2db0 "bpi.briteverify.com", service=<optimized out>, req=req@entry=0x1ce2d40, ---Type <return> to continue, or q <return> to quit--- Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=100834 > > > Module: Net::DNS::Native 0.13 > > I am reporting a bug as requested on the Mojolicious list. Module > installs without warning messages by cpanm and passes all tests when > installed manually. When running a Mojo::IO::Delay script, it > segmentation faults. > > Mojo::IOLoop::Delay->new->steps( > sub { > my $delay = shift; > $ua->get( $bv . $_ => $delay->begin ) for @emails; > }, > sub { > my $delay = shift; > for my $tx ( @_ ) { > my $res = $tx->res->json; > say Dumper $res; > } > } > )->wait; > > > $bv is the http string to the BrightVerify api. Mojolicious version is 5.68. > > At times it works, but usually the error message is: > > Segmentation fault (core dumped) > > or it can be: > > *** Error in `perl': double free or corruption (out): 0x00007f3a20000910 *** > Aborted (core dumped) > > > The environments: > > perlbrew perl 5.20.0 and 5.18.2, compiled without threads (ie. perlbrew > install perl-5.20.0) > > Ubuntu 14.04, all updates applied as of 12/9/14 > > 3.13.0-40-generic #69-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - > Kubuntu workstation, perl 5.20.0 > > and > > 3.13.0-24-generic #46-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - > Digital Ocean server, perl 5.18.2 > > > > Thank you for your time, > Scott Kiehn > > Looks like now you have *.core file in your directory. The name of the file is perl.core, I think. Can you run it under gdb to get stacktrace? > The command will be like: > $ gdb `which perl` perl.core > # bt full > > Then copy and paste output here, so I can see where is a problem. >
Subject: Re: [rt.cpan.org #100834] Net::DNS::Native, Installs OK on non-threaded perl, then seg faults
Date: Wed, 10 Dec 2014 14:39:30 -0600
To: bug-Net-DNS-Native [...] rt.cpan.org
From: Scott Kiehn <scott.kiehn [...] logica3.com>
And another for the "second message" *** Error in `perl': double free or corruption (out): 0x00007f9354000910 *** Aborted (core dumped) linux01@linux01:~/...$ gdb `which perl` core GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /home/linux01/perl5/perlbrew/perls/perl-5.20.0/bin/perl...(no debugging symbols found)...done. [New LWP 22918] [New LWP 22914] [New LWP 22916] [New LWP 22919] [New LWP 22917] [New LWP 22915] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `perl ./email_verify.pl'. Program terminated with signal SIGABRT, Aborted. #0 0x00007f6743b8ebb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt full #0 0x00007f6743b8ebb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 resultvar = 0 pid = 22914 selftid = 22918 #1 0x00007f6743b91fc8 in __GI_abort () at abort.c:89 save_stage = 2 act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0} sigs = {__val = {32, 0 <repeats 15 times>}} #2 0x00007f6743bcbe14 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7f6743cda5a8 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175 ap = {{gp_offset = 40, fp_offset = 0, overflow_arg_area = 0x7f673f70b560, reg_save_area = 0x7f673f70b4f0}} fd = 14 on_2 = <optimized out> list = <optimized out> nlist = <optimized out> cp = <optimized out> written = <optimized out> #3 0x00007f6743bd80ee in malloc_printerr (ptr=<optimized out>, str=0x7f6743cda6d8 "double free or corruption (out)", action=1) at malloc.c:4996 buf = "00007f67340008c0" cp = <optimized out> #4 _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840 size = <optimized out> fb = <optimized out> nextchunk = <optimized out> nextsize = <optimized out> nextinuse = <optimized out> prevsize = <optimized out> bck = <optimized out> fwd = <optimized out> errstr = <optimized out> locked = <optimized out> #5 0x00007f6743bc6565 in _IO_new_fclose (fp=0x7f67340008c0) at iofclose.c:85 status = 0 #6 0x00007f67419bdea5 in internal_endent () at nss_files/files-XXX.c:160 No locals. #7 _nss_files_gethostbyname4_r (name=name@entry=0x1ce2db0 "--edited_out--", pat=<optimized out>, pat@entry=0x7f673f70bc60, buffer=<optimized out>, buffer@entry=0x7f673f70b6c0 "\377\002", buflen=<optimized out>, buflen@entry=1064, errnop=errnop@entry=0x7f673f70bc30, herrnop=herrnop@entry=0x7f673f70bc80, ttlp=ttlp@entry=0x0) at nss_files/files-hosts.c:479 any = <optimized out> got_canon = <optimized out> status = NSS_STATUS_NOTFOUND __PRETTY_FUNCTION__ = "_nss_files_gethostbyname4_r" #8 0x00007f6743c251d7 in gaih_inet (name=<optimized out>, name@entry=0x1ce2db0 "--edited_out--", service=<optimized out>, req=req@entry=0x1ce2d40, ---Type <return> to continue, or q <return> to quit--- pai=pai@entry=0x7f673f70bd90, naddrs=naddrs@entry=0x7f673f70bd80) at ../sysdeps/posix/getaddrinfo.c:850 herrno = 1 fct4 = 0x7f67419bdbd0 <_nss_files_gethostbyname4_r> pat = <optimized out> no_inet6_data = <optimized out> nip = <optimized out> status = <optimized out> no_more = 0 old_res_options = <optimized out> tmpbuflen = <optimized out> no_data = 0 inet6_status = <optimized out> tp = <optimized out> st = 0x7f673f70bb40 at = 0x7f673f70bb00 rc = 0 got_ipv6 = <optimized out> canon = <optimized out> orig_name = 0x1ce2db0 "--edited_out--" alloca_used = <optimized out> port = <optimized out> malloc_name = <optimized out> malloc_addrmem = false addrmem = 0x0 malloc_canonbuf = <optimized out> canonbuf = <optimized out> malloc_tmpbuf = false tmpbuf = 0x7f673f70b6c0 "\377\002" result = 0 #9 0x00007f6743c2888d in __GI_getaddrinfo (name=0x1ce2db0 "--edited_out--", service=0x1ce2dd0 "443", hints=0x1ce2d40, pai=0x1ce2af8) at ../sysdeps/posix/getaddrinfo.c:2406 i = 0 last_i = 0 nresults = 0 p = 0x0 gaih_service = {name = 0x1ce2dd0 "443", num = 443} pservice = <optimized out> local_hints = {ai_flags = 0, ai_family = 0, ai_socktype = 0, ai_protocol = 0, ai_addrlen = 0, ai_addr = 0x0, ai_canonname = 0x0, ai_next = 0x0} in6ai = 0x0 in6ailen = 0 seen_ipv4 = false seen_ipv6 = false ---Type <return> to continue, or q <return> to quit--- check_pf_called = false end = 0x7f673f70bd90 naddrs = 0 __PRETTY_FUNCTION__ = "getaddrinfo" #10 0x00007f67417b2a5f in DNS_getaddrinfo () from /home/linux01/perl5/perlbrew/perls/perl-5.20.0/lib/site_perl/5.20.0/x86_64-linux/auto/Net/DNS/Native/Native.so No symbol table info available. #11 0x00007f67417b3987 in DNS_pool_worker () from /home/linux01/perl5/perlbrew/perls/perl-5.20.0/lib/site_perl/5.20.0/x86_64-linux/auto/Net/DNS/Native/Native.so No symbol table info available. #12 0x00007f6741ff8182 in start_thread (arg=0x7f673f70c700) at pthread_create.c:312 __res = <optimized out> pd = 0x7f673f70c700 now = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140081422714624, 6041003140990381203, 0, 0, 140081422715328, 140081422714624, -5973027954148496237, -5973048923187958637}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = <optimized out> pagesize_m1 = <optimized out> sp = <optimized out> freesize = <optimized out> __PRETTY_FUNCTION__ = "start_thread" #13 0x00007f6743c52efd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 No locals. Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=100834 >
>> Module: Net::DNS::Native 0.13 >> >> I am reporting a bug as requested on the Mojolicious list. Module >> installs without warning messages by cpanm and passes all tests when >> installed manually. When running a Mojo::IO::Delay script, it >> segmentation faults. >> >> Mojo::IOLoop::Delay->new->steps( >> sub { >> my $delay = shift; >> $ua->get( $bv . $_ => $delay->begin ) for @emails; >> }, >> sub { >> my $delay = shift; >> for my $tx ( @_ ) { >> my $res = $tx->res->json; >> say Dumper $res; >> } >> } >> )->wait; >> >> >> $bv is the http string to the BrightVerify api. Mojolicious version is 5.68. >> >> At times it works, but usually the error message is: >> >> Segmentation fault (core dumped) >> >> or it can be: >> >> *** Error in `perl': double free or corruption (out): 0x00007f3a20000910 *** >> Aborted (core dumped) >> >> >> The environments: >> >> perlbrew perl 5.20.0 and 5.18.2, compiled without threads (ie. perlbrew >> install perl-5.20.0) >> >> Ubuntu 14.04, all updates applied as of 12/9/14 >> >> 3.13.0-40-generic #69-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - >> Kubuntu workstation, perl 5.20.0 >> >> and >> >> 3.13.0-24-generic #46-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - >> Digital Ocean server, perl 5.18.2 >> >> >> >> Thank you for your time, >> Scott Kiehn >>
> Looks like now you have *.core file in your directory. The name of the file is perl.core, I think. Can you run it under gdb to get stacktrace? > The command will be like: > $ gdb `which perl` perl.core > # bt full > > Then copy and paste output here, so I can see where is a problem. >
Срд Дек 10 15:39:42 2014, scott.kiehn@logica3.com писал: Show quoted text
> And another for the "second message" > > *** Error in `perl': double free or corruption (out): > 0x00007f9354000910 *** > Aborted (core dumped) > > linux01@linux01:~/...$ gdb `which perl` core > GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 > Copyright (C) 2014 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later > <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show > copying" > and "show warranty" for details. > This GDB was configured as "x86_64-linux-gnu". > Type "show configuration" for configuration details. > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>. > Find the GDB manual and other documentation resources online at: > <http://www.gnu.org/software/gdb/documentation/>. > For help, type "help". > Type "apropos word" to search for commands related to "word"... > Reading symbols from > /home/linux01/perl5/perlbrew/perls/perl-5.20.0/bin/perl...(no > debugging > symbols found)...done. > [New LWP 22918] > [New LWP 22914] > [New LWP 22916] > [New LWP 22919] > [New LWP 22917] > [New LWP 22915] > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux- > gnu/libthread_db.so.1". > Core was generated by `perl ./email_verify.pl'. > Program terminated with signal SIGABRT, Aborted. > #0 0x00007f6743b8ebb9 in __GI_raise (sig=sig@entry=6) at > ../nptl/sysdeps/unix/sysv/linux/raise.c:56 > 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or > directory. > (gdb) bt full > #0 0x00007f6743b8ebb9 in __GI_raise (sig=sig@entry=6) at > ../nptl/sysdeps/unix/sysv/linux/raise.c:56 > resultvar = 0 > pid = 22914 > selftid = 22918 > #1 0x00007f6743b91fc8 in __GI_abort () at abort.c:89 > save_stage = 2 > act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction > = > 0x0}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, > sa_restorer = 0x0} > sigs = {__val = {32, 0 <repeats 15 times>}} > #2 0x00007f6743bcbe14 in __libc_message (do_abort=do_abort@entry=1, > fmt=fmt@entry=0x7f6743cda5a8 "*** Error in `%s': %s: 0x%s ***\n") at > ../sysdeps/posix/libc_fatal.c:175 > ap = {{gp_offset = 40, fp_offset = 0, overflow_arg_area = > 0x7f673f70b560, reg_save_area = 0x7f673f70b4f0}} > fd = 14 > on_2 = <optimized out> > list = <optimized out> > nlist = <optimized out> > cp = <optimized out> > written = <optimized out> > #3 0x00007f6743bd80ee in malloc_printerr (ptr=<optimized out>, > str=0x7f6743cda6d8 "double free or corruption (out)", action=1) at > malloc.c:4996 > buf = "00007f67340008c0" > cp = <optimized out> > #4 _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at > malloc.c:3840 > size = <optimized out> > fb = <optimized out> > nextchunk = <optimized out> > nextsize = <optimized out> > nextinuse = <optimized out> > prevsize = <optimized out> > bck = <optimized out> > fwd = <optimized out> > errstr = <optimized out> > locked = <optimized out> > #5 0x00007f6743bc6565 in _IO_new_fclose (fp=0x7f67340008c0) at > iofclose.c:85 > status = 0 > #6 0x00007f67419bdea5 in internal_endent () at nss_files/files- > XXX.c:160 > No locals. > #7 _nss_files_gethostbyname4_r (name=name@entry=0x1ce2db0 > "--edited_out--", pat=<optimized out>, pat@entry=0x7f673f70bc60, > buffer=<optimized out>, > buffer@entry=0x7f673f70b6c0 "\377\002", buflen=<optimized out>, > buflen@entry=1064, errnop=errnop@entry=0x7f673f70bc30, > herrnop=herrnop@entry=0x7f673f70bc80, > ttlp=ttlp@entry=0x0) at nss_files/files-hosts.c:479 > any = <optimized out> > got_canon = <optimized out> > status = NSS_STATUS_NOTFOUND > __PRETTY_FUNCTION__ = "_nss_files_gethostbyname4_r" > #8 0x00007f6743c251d7 in gaih_inet (name=<optimized out>, > name@entry=0x1ce2db0 "--edited_out--", service=<optimized out>, > req=req@entry=0x1ce2d40, > ---Type <return> to continue, or q <return> to quit--- > pai=pai@entry=0x7f673f70bd90, > naddrs=naddrs@entry=0x7f673f70bd80) > at ../sysdeps/posix/getaddrinfo.c:850 > herrno = 1 > fct4 = 0x7f67419bdbd0 <_nss_files_gethostbyname4_r> > pat = <optimized out> > no_inet6_data = <optimized out> > nip = <optimized out> > status = <optimized out> > no_more = 0 > old_res_options = <optimized out> > tmpbuflen = <optimized out> > no_data = 0 > inet6_status = <optimized out> > tp = <optimized out> > st = 0x7f673f70bb40 > at = 0x7f673f70bb00 > rc = 0 > got_ipv6 = <optimized out> > canon = <optimized out> > orig_name = 0x1ce2db0 "--edited_out--" > alloca_used = <optimized out> > port = <optimized out> > malloc_name = <optimized out> > malloc_addrmem = false > addrmem = 0x0 > malloc_canonbuf = <optimized out> > canonbuf = <optimized out> > malloc_tmpbuf = false > tmpbuf = 0x7f673f70b6c0 "\377\002" > result = 0 > #9 0x00007f6743c2888d in __GI_getaddrinfo (name=0x1ce2db0 > "--edited_out--", service=0x1ce2dd0 "443", hints=0x1ce2d40, > pai=0x1ce2af8) > at ../sysdeps/posix/getaddrinfo.c:2406 > i = 0 > last_i = 0 > nresults = 0 > p = 0x0 > gaih_service = {name = 0x1ce2dd0 "443", num = 443} > pservice = <optimized out> > local_hints = {ai_flags = 0, ai_family = 0, ai_socktype = 0, > ai_protocol = 0, ai_addrlen = 0, ai_addr = 0x0, ai_canonname = 0x0, > ai_next = 0x0} > in6ai = 0x0 > in6ailen = 0 > seen_ipv4 = false > seen_ipv6 = false > ---Type <return> to continue, or q <return> to quit--- > check_pf_called = false > end = 0x7f673f70bd90 > naddrs = 0 > __PRETTY_FUNCTION__ = "getaddrinfo" > #10 0x00007f67417b2a5f in DNS_getaddrinfo () from > /home/linux01/perl5/perlbrew/perls/perl- > 5.20.0/lib/site_perl/5.20.0/x86_64-linux/auto/Net/DNS/Native/Native.so > No symbol table info available. > #11 0x00007f67417b3987 in DNS_pool_worker () from > /home/linux01/perl5/perlbrew/perls/perl- > 5.20.0/lib/site_perl/5.20.0/x86_64-linux/auto/Net/DNS/Native/Native.so > No symbol table info available. > #12 0x00007f6741ff8182 in start_thread (arg=0x7f673f70c700) at > pthread_create.c:312 > __res = <optimized out> > pd = 0x7f673f70c700 > now = <optimized out> > unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140081422714624, > 6041003140990381203, 0, 0, 140081422715328, 140081422714624, > -5973027954148496237, > -5973048923187958637}, mask_was_saved = 0}}, priv = > {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, > canceltype = 0}}} > not_first_call = <optimized out> > pagesize_m1 = <optimized out> > sp = <optimized out> > freesize = <optimized out> > __PRETTY_FUNCTION__ = "start_thread" > #13 0x00007f6743c52efd in clone () at > ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 > No locals. > > >
> > <URL: https://rt.cpan.org/Ticket/Display.html?id=100834 >
> >> Module: Net::DNS::Native 0.13 > >> > >> I am reporting a bug as requested on the Mojolicious list. Module > >> installs without warning messages by cpanm and passes all tests when > >> installed manually. When running a Mojo::IO::Delay script, it > >> segmentation faults. > >> > >> Mojo::IOLoop::Delay->new->steps( > >> sub { > >> my $delay = shift; > >> $ua->get( $bv . $_ => $delay->begin ) for @emails; > >> }, > >> sub { > >> my $delay = shift; > >> for my $tx ( @_ ) { > >> my $res = $tx->res->json; > >> say Dumper $res; > >> } > >> } > >> )->wait; > >> > >> > >> $bv is the http string to the BrightVerify api. Mojolicious version > >> is 5.68. > >> > >> At times it works, but usually the error message is: > >> > >> Segmentation fault (core dumped) > >> > >> or it can be: > >> > >> *** Error in `perl': double free or corruption (out): > >> 0x00007f3a20000910 *** > >> Aborted (core dumped) > >> > >> > >> The environments: > >> > >> perlbrew perl 5.20.0 and 5.18.2, compiled without threads (ie. > >> perlbrew > >> install perl-5.20.0) > >> > >> Ubuntu 14.04, all updates applied as of 12/9/14 > >> > >> 3.13.0-40-generic #69-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - > >> Kubuntu workstation, perl 5.20.0 > >> > >> and > >> > >> 3.13.0-24-generic #46-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - > >> Digital Ocean server, perl 5.18.2 > >> > >> > >> > >> Thank you for your time, > >> Scott Kiehn > >>
> > Looks like now you have *.core file in your directory. The name of > > the file is perl.core, I think. Can you run it under gdb to get > > stacktrace? > > The command will be like: > > $ gdb `which perl` perl.core > > # bt full > > > > Then copy and paste output here, so I can see where is a problem. > >
Thanks for the traces, this helped much. I foud where is a problem and descibed this a little on Mojolicious bug tracker: https://github.com/kraih/mojo/issues/716 We need some discussion to fiund a proper way to fix this. BTW, did you see Mojo::Email::Checker::SMTP module? We used it to create email validator inside our company for internal use. We created API with only 70 lines of code with Mojolicious::Lite and this module.
Subject: Re: [rt.cpan.org #100834] Net::DNS::Native, Installs OK on non-threaded perl, then seg faults
Date: Thu, 11 Dec 2014 09:23:02 -0600
To: bug-Net-DNS-Native [...] rt.cpan.org
From: Scott Kiehn <scott.kiehn [...] logica3.com>
Oleg, Thanks for your work. Your fix at https://github.com/kraih/mojo/issues/716 worked on my script as well. I will definitely check out Mojo::Email::Checker::SMTP, very interested. Thanks, Scott On 12/11/2014 06:03 AM, Oleg G via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=100834 > > > Срд Дек 10 15:39:42 2014, scott.kiehn@logica3.com писал:
>> And another for the "second message" >> >> *** Error in `perl': double free or corruption (out): >> 0x00007f9354000910 *** >> Aborted (core dumped) >> >> linux01@linux01:~/...$ gdb `which perl` core >> GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 >> Copyright (C) 2014 Free Software Foundation, Inc. >> License GPLv3+: GNU GPL version 3 or later >> <http://gnu.org/licenses/gpl.html> >> This is free software: you are free to change and redistribute it. >> There is NO WARRANTY, to the extent permitted by law. Type "show >> copying" >> and "show warranty" for details. >> This GDB was configured as "x86_64-linux-gnu". >> Type "show configuration" for configuration details. >> For bug reporting instructions, please see: >> <http://www.gnu.org/software/gdb/bugs/>. >> Find the GDB manual and other documentation resources online at: >> <http://www.gnu.org/software/gdb/documentation/>. >> For help, type "help". >> Type "apropos word" to search for commands related to "word"... >> Reading symbols from >> /home/linux01/perl5/perlbrew/perls/perl-5.20.0/bin/perl...(no >> debugging >> symbols found)...done. >> [New LWP 22918] >> [New LWP 22914] >> [New LWP 22916] >> [New LWP 22919] >> [New LWP 22917] >> [New LWP 22915] >> [Thread debugging using libthread_db enabled] >> Using host libthread_db library "/lib/x86_64-linux- >> gnu/libthread_db.so.1". >> Core was generated by `perl ./email_verify.pl'. >> Program terminated with signal SIGABRT, Aborted. >> #0 0x00007f6743b8ebb9 in __GI_raise (sig=sig@entry=6) at >> ../nptl/sysdeps/unix/sysv/linux/raise.c:56 >> 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or >> directory. >> (gdb) bt full >> #0 0x00007f6743b8ebb9 in __GI_raise (sig=sig@entry=6) at >> ../nptl/sysdeps/unix/sysv/linux/raise.c:56 >> resultvar = 0 >> pid = 22914 >> selftid = 22918 >> #1 0x00007f6743b91fc8 in __GI_abort () at abort.c:89 >> save_stage = 2 >> act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction >> = >> 0x0}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, >> sa_restorer = 0x0} >> sigs = {__val = {32, 0 <repeats 15 times>}} >> #2 0x00007f6743bcbe14 in __libc_message (do_abort=do_abort@entry=1, >> fmt=fmt@entry=0x7f6743cda5a8 "*** Error in `%s': %s: 0x%s ***\n") at >> ../sysdeps/posix/libc_fatal.c:175 >> ap = {{gp_offset = 40, fp_offset = 0, overflow_arg_area = >> 0x7f673f70b560, reg_save_area = 0x7f673f70b4f0}} >> fd = 14 >> on_2 = <optimized out> >> list = <optimized out> >> nlist = <optimized out> >> cp = <optimized out> >> written = <optimized out> >> #3 0x00007f6743bd80ee in malloc_printerr (ptr=<optimized out>, >> str=0x7f6743cda6d8 "double free or corruption (out)", action=1) at >> malloc.c:4996 >> buf = "00007f67340008c0" >> cp = <optimized out> >> #4 _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at >> malloc.c:3840 >> size = <optimized out> >> fb = <optimized out> >> nextchunk = <optimized out> >> nextsize = <optimized out> >> nextinuse = <optimized out> >> prevsize = <optimized out> >> bck = <optimized out> >> fwd = <optimized out> >> errstr = <optimized out> >> locked = <optimized out> >> #5 0x00007f6743bc6565 in _IO_new_fclose (fp=0x7f67340008c0) at >> iofclose.c:85 >> status = 0 >> #6 0x00007f67419bdea5 in internal_endent () at nss_files/files- >> XXX.c:160 >> No locals. >> #7 _nss_files_gethostbyname4_r (name=name@entry=0x1ce2db0 >> "--edited_out--", pat=<optimized out>, pat@entry=0x7f673f70bc60, >> buffer=<optimized out>, >> buffer@entry=0x7f673f70b6c0 "\377\002", buflen=<optimized out>, >> buflen@entry=1064, errnop=errnop@entry=0x7f673f70bc30, >> herrnop=herrnop@entry=0x7f673f70bc80, >> ttlp=ttlp@entry=0x0) at nss_files/files-hosts.c:479 >> any = <optimized out> >> got_canon = <optimized out> >> status = NSS_STATUS_NOTFOUND >> __PRETTY_FUNCTION__ = "_nss_files_gethostbyname4_r" >> #8 0x00007f6743c251d7 in gaih_inet (name=<optimized out>, >> name@entry=0x1ce2db0 "--edited_out--", service=<optimized out>, >> req=req@entry=0x1ce2d40, >> ---Type <return> to continue, or q <return> to quit--- >> pai=pai@entry=0x7f673f70bd90, >> naddrs=naddrs@entry=0x7f673f70bd80) >> at ../sysdeps/posix/getaddrinfo.c:850 >> herrno = 1 >> fct4 = 0x7f67419bdbd0 <_nss_files_gethostbyname4_r> >> pat = <optimized out> >> no_inet6_data = <optimized out> >> nip = <optimized out> >> status = <optimized out> >> no_more = 0 >> old_res_options = <optimized out> >> tmpbuflen = <optimized out> >> no_data = 0 >> inet6_status = <optimized out> >> tp = <optimized out> >> st = 0x7f673f70bb40 >> at = 0x7f673f70bb00 >> rc = 0 >> got_ipv6 = <optimized out> >> canon = <optimized out> >> orig_name = 0x1ce2db0 "--edited_out--" >> alloca_used = <optimized out> >> port = <optimized out> >> malloc_name = <optimized out> >> malloc_addrmem = false >> addrmem = 0x0 >> malloc_canonbuf = <optimized out> >> canonbuf = <optimized out> >> malloc_tmpbuf = false >> tmpbuf = 0x7f673f70b6c0 "\377\002" >> result = 0 >> #9 0x00007f6743c2888d in __GI_getaddrinfo (name=0x1ce2db0 >> "--edited_out--", service=0x1ce2dd0 "443", hints=0x1ce2d40, >> pai=0x1ce2af8) >> at ../sysdeps/posix/getaddrinfo.c:2406 >> i = 0 >> last_i = 0 >> nresults = 0 >> p = 0x0 >> gaih_service = {name = 0x1ce2dd0 "443", num = 443} >> pservice = <optimized out> >> local_hints = {ai_flags = 0, ai_family = 0, ai_socktype = 0, >> ai_protocol = 0, ai_addrlen = 0, ai_addr = 0x0, ai_canonname = 0x0, >> ai_next = 0x0} >> in6ai = 0x0 >> in6ailen = 0 >> seen_ipv4 = false >> seen_ipv6 = false >> ---Type <return> to continue, or q <return> to quit--- >> check_pf_called = false >> end = 0x7f673f70bd90 >> naddrs = 0 >> __PRETTY_FUNCTION__ = "getaddrinfo" >> #10 0x00007f67417b2a5f in DNS_getaddrinfo () from >> /home/linux01/perl5/perlbrew/perls/perl- >> 5.20.0/lib/site_perl/5.20.0/x86_64-linux/auto/Net/DNS/Native/Native.so >> No symbol table info available. >> #11 0x00007f67417b3987 in DNS_pool_worker () from >> /home/linux01/perl5/perlbrew/perls/perl- >> 5.20.0/lib/site_perl/5.20.0/x86_64-linux/auto/Net/DNS/Native/Native.so >> No symbol table info available. >> #12 0x00007f6741ff8182 in start_thread (arg=0x7f673f70c700) at >> pthread_create.c:312 >> __res = <optimized out> >> pd = 0x7f673f70c700 >> now = <optimized out> >> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140081422714624, >> 6041003140990381203, 0, 0, 140081422715328, 140081422714624, >> -5973027954148496237, >> -5973048923187958637}, mask_was_saved = 0}}, priv = >> {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, >> canceltype = 0}}} >> not_first_call = <optimized out> >> pagesize_m1 = <optimized out> >> sp = <optimized out> >> freesize = <optimized out> >> __PRETTY_FUNCTION__ = "start_thread" >> #13 0x00007f6743c52efd in clone () at >> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 >> No locals. >> >> >>
>>> <URL: https://rt.cpan.org/Ticket/Display.html?id=100834 >
>>>> Module: Net::DNS::Native 0.13 >>>> >>>> I am reporting a bug as requested on the Mojolicious list. Module >>>> installs without warning messages by cpanm and passes all tests when >>>> installed manually. When running a Mojo::IO::Delay script, it >>>> segmentation faults. >>>> >>>> Mojo::IOLoop::Delay->new->steps( >>>> sub { >>>> my $delay = shift; >>>> $ua->get( $bv . $_ => $delay->begin ) for @emails; >>>> }, >>>> sub { >>>> my $delay = shift; >>>> for my $tx ( @_ ) { >>>> my $res = $tx->res->json; >>>> say Dumper $res; >>>> } >>>> } >>>> )->wait; >>>> >>>> >>>> $bv is the http string to the BrightVerify api. Mojolicious version >>>> is 5.68. >>>> >>>> At times it works, but usually the error message is: >>>> >>>> Segmentation fault (core dumped) >>>> >>>> or it can be: >>>> >>>> *** Error in `perl': double free or corruption (out): >>>> 0x00007f3a20000910 *** >>>> Aborted (core dumped) >>>> >>>> >>>> The environments: >>>> >>>> perlbrew perl 5.20.0 and 5.18.2, compiled without threads (ie. >>>> perlbrew >>>> install perl-5.20.0) >>>> >>>> Ubuntu 14.04, all updates applied as of 12/9/14 >>>> >>>> 3.13.0-40-generic #69-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - >>>> Kubuntu workstation, perl 5.20.0 >>>> >>>> and >>>> >>>> 3.13.0-24-generic #46-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - >>>> Digital Ocean server, perl 5.18.2 >>>> >>>> >>>> >>>> Thank you for your time, >>>> Scott Kiehn >>>>
>>> Looks like now you have *.core file in your directory. The name of >>> the file is perl.core, I think. Can you run it under gdb to get >>> stacktrace? >>> The command will be like: >>> $ gdb `which perl` perl.core >>> # bt full >>> >>> Then copy and paste output here, so I can see where is a problem. >>>
> Thanks for the traces, this helped much. I foud where is a problem and descibed this a little on Mojolicious bug tracker: https://github.com/kraih/mojo/issues/716 > We need some discussion to fiund a proper way to fix this. > > BTW, did you see Mojo::Email::Checker::SMTP module? We used it to create email validator inside our company for internal use. We created API with only 70 lines of code with Mojolicious::Lite and this module. >
On Thu Dec 11 10:23:17 2014, scott.kiehn@logica3.com wrote: Show quoted text
> Oleg, > > Thanks for your work. Your fix at > https://github.com/kraih/mojo/issues/716 worked on my script as well. > I > will definitely check out Mojo::Email::Checker::SMTP, very interested. > > Thanks, > Scott > > > On 12/11/2014 06:03 AM, Oleg G via RT wrote:
> > <URL: https://rt.cpan.org/Ticket/Display.html?id=100834 > > > > > Срд Дек 10 15:39:42 2014, scott.kiehn@logica3.com писал:
> >> And another for the "second message" > >> > >> *** Error in `perl': double free or corruption (out): > >> 0x00007f9354000910 *** > >> Aborted (core dumped) > >> > >> linux01@linux01:~/...$ gdb `which perl` core > >> GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 > >> Copyright (C) 2014 Free Software Foundation, Inc. > >> License GPLv3+: GNU GPL version 3 or later > >> <http://gnu.org/licenses/gpl.html> > >> This is free software: you are free to change and redistribute it. > >> There is NO WARRANTY, to the extent permitted by law. Type "show > >> copying" > >> and "show warranty" for details. > >> This GDB was configured as "x86_64-linux-gnu". > >> Type "show configuration" for configuration details. > >> For bug reporting instructions, please see: > >> <http://www.gnu.org/software/gdb/bugs/>. > >> Find the GDB manual and other documentation resources online at: > >> <http://www.gnu.org/software/gdb/documentation/>. > >> For help, type "help". > >> Type "apropos word" to search for commands related to "word"... > >> Reading symbols from > >> /home/linux01/perl5/perlbrew/perls/perl-5.20.0/bin/perl...(no > >> debugging > >> symbols found)...done. > >> [New LWP 22918] > >> [New LWP 22914] > >> [New LWP 22916] > >> [New LWP 22919] > >> [New LWP 22917] > >> [New LWP 22915] > >> [Thread debugging using libthread_db enabled] > >> Using host libthread_db library "/lib/x86_64-linux- > >> gnu/libthread_db.so.1". > >> Core was generated by `perl ./email_verify.pl'. > >> Program terminated with signal SIGABRT, Aborted. > >> #0 0x00007f6743b8ebb9 in __GI_raise (sig=sig@entry=6) at > >> ../nptl/sysdeps/unix/sysv/linux/raise.c:56 > >> 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or > >> directory. > >> (gdb) bt full > >> #0 0x00007f6743b8ebb9 in __GI_raise (sig=sig@entry=6) at > >> ../nptl/sysdeps/unix/sysv/linux/raise.c:56 > >> resultvar = 0 > >> pid = 22914 > >> selftid = 22918 > >> #1 0x00007f6743b91fc8 in __GI_abort () at abort.c:89 > >> save_stage = 2 > >> act = {__sigaction_handler = {sa_handler = 0x0, > >> sa_sigaction > >> = > >> 0x0}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, > >> sa_restorer = 0x0} > >> sigs = {__val = {32, 0 <repeats 15 times>}} > >> #2 0x00007f6743bcbe14 in __libc_message > >> (do_abort=do_abort@entry=1, > >> fmt=fmt@entry=0x7f6743cda5a8 "*** Error in `%s': %s: 0x%s ***\n") > >> at > >> ../sysdeps/posix/libc_fatal.c:175 > >> ap = {{gp_offset = 40, fp_offset = 0, overflow_arg_area = > >> 0x7f673f70b560, reg_save_area = 0x7f673f70b4f0}} > >> fd = 14 > >> on_2 = <optimized out> > >> list = <optimized out> > >> nlist = <optimized out> > >> cp = <optimized out> > >> written = <optimized out> > >> #3 0x00007f6743bd80ee in malloc_printerr (ptr=<optimized out>, > >> str=0x7f6743cda6d8 "double free or corruption (out)", action=1) at > >> malloc.c:4996 > >> buf = "00007f67340008c0" > >> cp = <optimized out> > >> #4 _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) > >> at > >> malloc.c:3840 > >> size = <optimized out> > >> fb = <optimized out> > >> nextchunk = <optimized out> > >> nextsize = <optimized out> > >> nextinuse = <optimized out> > >> prevsize = <optimized out> > >> bck = <optimized out> > >> fwd = <optimized out> > >> errstr = <optimized out> > >> locked = <optimized out> > >> #5 0x00007f6743bc6565 in _IO_new_fclose (fp=0x7f67340008c0) at > >> iofclose.c:85 > >> status = 0 > >> #6 0x00007f67419bdea5 in internal_endent () at nss_files/files- > >> XXX.c:160 > >> No locals. > >> #7 _nss_files_gethostbyname4_r (name=name@entry=0x1ce2db0 > >> "--edited_out--", pat=<optimized out>, pat@entry=0x7f673f70bc60, > >> buffer=<optimized out>, > >> buffer@entry=0x7f673f70b6c0 "\377\002", buflen=<optimized
> >> out>,
> >> buflen@entry=1064, errnop=errnop@entry=0x7f673f70bc30, > >> herrnop=herrnop@entry=0x7f673f70bc80, > >> ttlp=ttlp@entry=0x0) at nss_files/files-hosts.c:479 > >> any = <optimized out> > >> got_canon = <optimized out> > >> status = NSS_STATUS_NOTFOUND > >> __PRETTY_FUNCTION__ = "_nss_files_gethostbyname4_r" > >> #8 0x00007f6743c251d7 in gaih_inet (name=<optimized out>, > >> name@entry=0x1ce2db0 "--edited_out--", service=<optimized out>, > >> req=req@entry=0x1ce2d40, > >> ---Type <return> to continue, or q <return> to quit--- > >> pai=pai@entry=0x7f673f70bd90, > >> naddrs=naddrs@entry=0x7f673f70bd80) > >> at ../sysdeps/posix/getaddrinfo.c:850 > >> herrno = 1 > >> fct4 = 0x7f67419bdbd0 <_nss_files_gethostbyname4_r> > >> pat = <optimized out> > >> no_inet6_data = <optimized out> > >> nip = <optimized out> > >> status = <optimized out> > >> no_more = 0 > >> old_res_options = <optimized out> > >> tmpbuflen = <optimized out> > >> no_data = 0 > >> inet6_status = <optimized out> > >> tp = <optimized out> > >> st = 0x7f673f70bb40 > >> at = 0x7f673f70bb00 > >> rc = 0 > >> got_ipv6 = <optimized out> > >> canon = <optimized out> > >> orig_name = 0x1ce2db0 "--edited_out--" > >> alloca_used = <optimized out> > >> port = <optimized out> > >> malloc_name = <optimized out> > >> malloc_addrmem = false > >> addrmem = 0x0 > >> malloc_canonbuf = <optimized out> > >> canonbuf = <optimized out> > >> malloc_tmpbuf = false > >> tmpbuf = 0x7f673f70b6c0 "\377\002" > >> result = 0 > >> #9 0x00007f6743c2888d in __GI_getaddrinfo (name=0x1ce2db0 > >> "--edited_out--", service=0x1ce2dd0 "443", hints=0x1ce2d40, > >> pai=0x1ce2af8) > >> at ../sysdeps/posix/getaddrinfo.c:2406 > >> i = 0 > >> last_i = 0 > >> nresults = 0 > >> p = 0x0 > >> gaih_service = {name = 0x1ce2dd0 "443", num = 443} > >> pservice = <optimized out> > >> local_hints = {ai_flags = 0, ai_family = 0, ai_socktype = > >> 0, > >> ai_protocol = 0, ai_addrlen = 0, ai_addr = 0x0, ai_canonname = > >> 0x0, > >> ai_next = 0x0} > >> in6ai = 0x0 > >> in6ailen = 0 > >> seen_ipv4 = false > >> seen_ipv6 = false > >> ---Type <return> to continue, or q <return> to quit--- > >> check_pf_called = false > >> end = 0x7f673f70bd90 > >> naddrs = 0 > >> __PRETTY_FUNCTION__ = "getaddrinfo" > >> #10 0x00007f67417b2a5f in DNS_getaddrinfo () from > >> /home/linux01/perl5/perlbrew/perls/perl- > >> 5.20.0/lib/site_perl/5.20.0/x86_64- > >> linux/auto/Net/DNS/Native/Native.so > >> No symbol table info available. > >> #11 0x00007f67417b3987 in DNS_pool_worker () from > >> /home/linux01/perl5/perlbrew/perls/perl- > >> 5.20.0/lib/site_perl/5.20.0/x86_64- > >> linux/auto/Net/DNS/Native/Native.so > >> No symbol table info available. > >> #12 0x00007f6741ff8182 in start_thread (arg=0x7f673f70c700) at > >> pthread_create.c:312 > >> __res = <optimized out> > >> pd = 0x7f673f70c700 > >> now = <optimized out> > >> unwind_buf = {cancel_jmp_buf = {{jmp_buf = > >> {140081422714624, > >> 6041003140990381203, 0, 0, 140081422715328, 140081422714624, > >> -5973027954148496237, > >> -5973048923187958637}, mask_was_saved = 0}}, priv > >> = > >> {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, > >> canceltype = 0}}} > >> not_first_call = <optimized out> > >> pagesize_m1 = <optimized out> > >> sp = <optimized out> > >> freesize = <optimized out> > >> __PRETTY_FUNCTION__ = "start_thread" > >> #13 0x00007f6743c52efd in clone () at > >> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 > >> No locals. > >> > >> > >>
> >>> <URL: https://rt.cpan.org/Ticket/Display.html?id=100834 >
> >>>> Module: Net::DNS::Native 0.13 > >>>> > >>>> I am reporting a bug as requested on the Mojolicious list. Module > >>>> installs without warning messages by cpanm and passes all tests > >>>> when > >>>> installed manually. When running a Mojo::IO::Delay script, it > >>>> segmentation faults. > >>>> > >>>> Mojo::IOLoop::Delay->new->steps( > >>>> sub { > >>>> my $delay = shift; > >>>> $ua->get( $bv . $_ => $delay->begin ) for @emails; > >>>> }, > >>>> sub { > >>>> my $delay = shift; > >>>> for my $tx ( @_ ) { > >>>> my $res = $tx->res->json; > >>>> say Dumper $res; > >>>> } > >>>> } > >>>> )->wait; > >>>> > >>>> > >>>> $bv is the http string to the BrightVerify api. Mojolicious > >>>> version > >>>> is 5.68. > >>>> > >>>> At times it works, but usually the error message is: > >>>> > >>>> Segmentation fault (core dumped) > >>>> > >>>> or it can be: > >>>> > >>>> *** Error in `perl': double free or corruption (out): > >>>> 0x00007f3a20000910 *** > >>>> Aborted (core dumped) > >>>> > >>>> > >>>> The environments: > >>>> > >>>> perlbrew perl 5.20.0 and 5.18.2, compiled without threads (ie. > >>>> perlbrew > >>>> install perl-5.20.0) > >>>> > >>>> Ubuntu 14.04, all updates applied as of 12/9/14 > >>>> > >>>> 3.13.0-40-generic #69-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux > >>>> - > >>>> Kubuntu workstation, perl 5.20.0 > >>>> > >>>> and > >>>> > >>>> 3.13.0-24-generic #46-Ubuntu SMP, x86_64 x86_64 x86_64 GNU/Linux - > >>>> Digital Ocean server, perl 5.18.2 > >>>> > >>>> > >>>> > >>>> Thank you for your time, > >>>> Scott Kiehn > >>>>
> >>> Looks like now you have *.core file in your directory. The name of > >>> the file is perl.core, I think. Can you run it under gdb to get > >>> stacktrace? > >>> The command will be like: > >>> $ gdb `which perl` perl.core > >>> # bt full > >>> > >>> Then copy and paste output here, so I can see where is a problem. > >>>
> > Thanks for the traces, this helped much. I foud where is a problem > > and descibed this a little on Mojolicious bug tracker: > > https://github.com/kraih/mojo/issues/716 > > We need some discussion to fiund a proper way to fix this. > > > > BTW, did you see Mojo::Email::Checker::SMTP module? We used it to > > create email validator inside our company for internal use. We > > created API with only 70 lines of code with Mojolicious::Lite and > > this module. > >
So, fixed in 0.14