Skip Menu |
 

This queue is for tickets about the Type-Tiny CPAN distribution.

Report information
The Basics
Id: 124067
Status: patched
Priority: 0/
Queue: Type-Tiny

People
Owner: Nobody in particular
Requestors: ANDK [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in:
  • 1.002001
  • 1.002002
  • 1.003_002
Fixed in: (no value)



Subject: 00-begin.t fails with -DDEBUGGING perls
Download (untitled) / with headers
text/plain 473b
I take perl 5.26.1 compiled with -DDEBUGGING and with Type::Tiny::XS installed and then let the test run with AUTOMATED_TESTING=1 and test Type-Tiny-1.002001, only 00-begin.t. Indeed I see the output: # **** ANDK BROKEN TESTING ENVIRONMENT DETECTED I remove the AUTOMATED_TESTING=1 and I see: perl: inline.h:147: S_POPMARK: Assertion `(PL_markstack_ptr > PL_markstack) || !"MARK underflow"' failed. Would be interesting to see what others get with the same test setup.
Download (untitled) / with headers
text/plain 2.4k
On 2018-01-13 02:33:26, ANDK wrote: Show quoted text
> I take perl 5.26.1 compiled with -DDEBUGGING and with Type::Tiny::XS > installed and then let the test run with AUTOMATED_TESTING=1 and test > Type-Tiny-1.002001, only 00-begin.t. Indeed I see the output: > > # **** ANDK BROKEN TESTING ENVIRONMENT DETECTED > > I remove the AUTOMATED_TESTING=1 and I see: > > perl: inline.h:147: S_POPMARK: Assertion `(PL_markstack_ptr > > PL_markstack) || !"MARK underflow"' failed. > > Would be interesting to see what others get with the same test setup.
On a FreeBSD 12 system with normally compiled perls (i.e. without -DDEBUGGING) I get segmentation faults in t/00-begin.t if - Type::Tiny::XS is installed - perl >= 5.22.4 (no segfaults with 5.18.4 or 5.14.4, I don't have 5.20.x on this system) I don't see this kind of error on older FreeBSD systems, or on Linux systems, with normal perls. I also see a SIGABRT with a debugging perl 5.24.0 on debian/jessie. The backtrace here: #0 0x00007f7d77f95067 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007f7d77f96448 in __GI_abort () at abort.c:89 #2 0x00007f7d77f8e266 in __assert_fail_base ( fmt=0x7f7d780c6f18 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x600b20 "(PL_markstack_ptr > PL_markstack) || !\"MARK underflow\"", file=file@entry=0x66f580 "util.c", line=line@entry=5611, function=function@entry=0x6726a0 <__PRETTY_FUNCTION__.17339> "Perl_xs_handshake") at assert.c:92 #3 0x00007f7d77f8e312 in __GI___assert_fail ( assertion=assertion@entry=0x600b20 "(PL_markstack_ptr > PL_markstack) || !\"MARK underflow\"", file=file@entry=0x66f580 "util.c", line=line@entry=5611, function=function@entry=0x6726a0 <__PRETTY_FUNCTION__.17339> "Perl_xs_handshake") at assert.c:101 #4 0x00000000004df50c in Perl_xs_handshake (key=key@entry=224395367, v_my_perl=v_my_perl@entry=0x1ab3860, file=file@entry=0x7f7d774041d2 "Util.c") at util.c:5611 #5 0x00007f7d773ff053 in boot_Type__Tiny__XS__Util (cv=cv@entry=0x1ab3860) at Util.c:845 #6 0x00007f7d77403f10 in boot_Type__Tiny__XS (cv=0x1ab3860) at XS.xs:772 #7 0x000000000050bbb5 in Perl_pp_entersub () at pp_hot.c:3987 #8 0x00000000004d5ce2 in Perl_runops_debug () at dump.c:2239 #9 0x0000000000451a00 in S_run_body (oldscope=1) at perl.c:2478 #10 perl_run (my_perl=<optimized out>) at perl.c:2406 #11 0x0000000000421205 in main (argc=3, argv=0x7ffdda8fa868, env=0x7ffdda8fa888) at perlmain.c:116
Download (untitled) / with headers
text/plain 143b
The weirdest thing is that you're managing to get Type::Tiny::XS installed at all if just checking its version number is giving you a segfault.
Download (untitled) / with headers
text/plain 327b
Just to confirm that the issue is unchanged: $^X=/home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.26.2/fc43/bin/perl Type-Tiny-XS-0.014: http://www.cpantesters.org/cpan/report/bc2f31aa-63d6-11e8-bf8e-cd5e4564fd0c Type-Tiny-1.002002: http://www.cpantesters.org/cpan/report/2dec9f30-6765-11e8-9e68-995f92041a07
Download (untitled) / with headers
text/plain 282b
Thanks for the update. All that test does with Type::Tiny::XS is load it and check $VERSION. How it can fail and all the others pass is hurting my fragile little mind. I'm currently installing a debug version of Perl 5.24.4 with perlbrew. Hopefully I'll get to the bottom of this.
Download (untitled) / with headers
text/plain 158b
Okay, this is weird. $module = 'Type::Tiny::XS'; eval "require $module"; # crash eval "use $module"; # this is just fine
I think this should be fixed in 1.003_004. Let me know if you still have issues with it.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.