I was able to reproduce the issue with this simple .xs:
#include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include "ppport.h" MODULE = Foo PACKAGE = Foo void test(class) char* class CODE: int ret = setenv("TESTME", "1", 0); warn("setenv TESTME complete with %d", ret);
compiling and running that like this:
[karpet@freebsd80 ~/src/segfault-test/Foo]$ make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_h +arness(0, 'blib/lib', 'blib/arch')" t/*.t t/Foo....ok 1/1setenv TESTME complete with 0 at t/Foo.t line 11. + t/Foo....dubious + Test returned status 0 (wstat 139, 0x8b) after all the subtests completed successfully Failed Test Stat Wstat Total Fail List of Failed ---------------------------------------------------------------------- +--------- t/Foo.t 0 139 1 0 ?? Failed 1/1 test scripts. 0/1 subtests failed. Files=1, Tests=1, 0 wallclock secs ( 0.05 cusr + 0.08 csys = 0.12 C +PU) Failed 1/1 test programs. 0/1 subtests failed. *** Error code 255 Stop in /usr/home/karpet/src/segfault-test/Foo. [karpet@freebsd80 ~/src/segfault-test/Foo]$ gdb /usr/local/bin/perl pe +rl5.8.9.core GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and y +ou are welcome to change it and/or distribute copies of it under certain cond +itions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for det +ails. This GDB was configured as "i386-marcel-freebsd"... warning: core file may not match specified executable file. Core was generated by `perl5.8.9'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/local/lib/perl5/5.8.9/mach/CORE/libperl.so.. +.done. Loaded symbols for /usr/local/lib/perl5/5.8.9/mach/CORE/libperl.so Reading symbols from /lib/libm.so.5...done. Loaded symbols for /lib/libm.so.5 Reading symbols from /lib/libcrypt.so.5...done. Loaded symbols for /lib/libcrypt.so.5 Reading symbols from /lib/libutil.so.8...done. Loaded symbols for /lib/libutil.so.8 Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /usr/home/karpet/src/segfault-test/Foo/blib/arch/ +auto/Foo/Foo.so...done. Loaded symbols for /usr/home/karpet/src/segfault-test/Foo/blib/arch/au +to/Foo/Foo.so Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x282b85fc in free () from /lib/libc.so.7 (gdb) bt #0 0x282b85fc in free () from /lib/libc.so.7 #1 0x2832b5eb in strnlen () from /lib/libc.so.7 #2 0x28265b00 in ?? () from /lib/libc.so.7 #3 0x28343000 in ?? () from /lib/libc.so.7 #4 0x2807b358 in ?? () from /libexec/ld-elf.so.1 #5 0xbfbfe9f8 in ?? () #6 0x283355ac in ?? () from /lib/libc.so.7 #7 0x2808d100 in ?? () #8 0x2807b358 in ?? () from /libexec/ld-elf.so.1 #9 0xbfbfe9f8 in ?? () #10 0x2804ed25 in dlsym () from /libexec/ld-elf.so.1 Previous frame inner to this frame (corrupt stack?) (gdb)
that stack trace is identical to the one I'm seeing in my own module.

In reply to Re^2: Test::More wait status non-zero but all tests pass by karpet
in thread Test::More wait status non-zero but all tests pass by karpet

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.