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
Blead Breaks CPAN: HMBRAND/DBD-CSV-0.53.tgz #16582
Comments
From @eserteThis is a bug report for perl from slaven@rezic.de, t/82_free_unref_scalar.t from DBD-CSV-0.53 fails on some newer ... The earliest perl with this failure is 5.27.9, according to CPAN Testers: Also, there's a single failure with perl 5.26.2. Flags: Site configuration information for perl 5.28.0: Configured by eserte at Wed Jun 6 20:01:53 CEST 2018. Summary of my perl5 (revision 5 version 28 subversion 0) configuration: Locally applied patches: @INC for perl 5.28.0: Environment for perl 5.28.0: |
From @jkeenanOn Sat, 09 Jun 2018 10:43:33 GMT, slaven@rezic.de wrote:
I attempted to bisect this, starting at v5.27.8 and ending at v5.27.9. The results were ambiguous; see attachment. I'm puzzled as to why the failure message points to Test::Builder rather than to DBC::CSV. Thank you very much. -- |
From @jkeenan$ perl Porting/bisect.pl --module=DBD::CSV --start=v5.27.8 --end=v5.27.9 # Failed test 'there was an attempt to free unreferenced scalar' # Failed test 'there was an attempt to free unreferenced scalar' # Failed test 'there was an attempt to free unreferenced scalar' # Failed test 'there was an attempt to free unreferenced scalar' # Failed test 'there was an attempt to free unreferenced scalar' # Failed test 'there was an attempt to free unreferenced scalar' Test Summary Report t/82_free_unref_scalar.t (Wstat: 0 Tests: 412 Failed: 7) |
The RT System itself - Status changed from 'new' to 'open' |
From @dur-randirOn Sat, 09 Jun 2018 08:05:27 -0700, jkeenan wrote:
I've tried to bisect this too, but there's some floating/timing issue. The furthest failure I've got is at revision 4bd1355, which is older then yours. |
From @jkeenanOn Sat, 09 Jun 2018 15:05:27 GMT, jkeenan wrote:
And to further muddy the waters, I have been able to install DBD::CSV against perl 5 blead using cpanm: ##### $ ./bin/cpanm DBD::CSV |
From @iabynOn Sat, Jun 09, 2018 at 08:55:13AM -0700, Sergey Aleynikov via RT wrote:
The scalar which is being double-freed (during global destruction) DBI::DBD::SqlEngine::TieTables::TIEHASH() at DBI/DBD/SqlEngine.pm:1125. But the triggering of the double-free seems random, and can't even I'm still investigating further. -- |
1 similar comment
From @iabynOn Sat, Jun 09, 2018 at 08:55:13AM -0700, Sergey Aleynikov via RT wrote:
The scalar which is being double-freed (during global destruction) DBI::DBD::SqlEngine::TieTables::TIEHASH() at DBI/DBD/SqlEngine.pm:1125. But the triggering of the double-free seems random, and can't even I'm still investigating further. -- |
From @iabynOn Sat, Jun 09, 2018 at 10:17:09PM +0100, Dave Mitchell wrote:
I've now seen a failure under 5.26.0 (one failure in about 200 runs of -- |
1 similar comment
From @iabynOn Sat, Jun 09, 2018 at 10:17:09PM +0100, Dave Mitchell wrote:
I've now seen a failure under 5.26.0 (one failure in about 200 runs of -- |
From @iabynOn Sat, Jun 09, 2018 at 11:05:23PM +0100, Dave Mitchell wrote:
I've now bisected it (kinda). From at least 5.26.0 until the commit below, I don't know yet whether blead has introduced or new bug, or whether it commit e84e428 Give OP_RV2HV a targ -- |
1 similar comment
From @iabynOn Sat, Jun 09, 2018 at 11:05:23PM +0100, Dave Mitchell wrote:
I've now bisected it (kinda). From at least 5.26.0 until the commit below, I don't know yet whether blead has introduced or new bug, or whether it commit e84e428 Give OP_RV2HV a targ -- |
From @iabynOn Sun, Jun 10, 2018 at 09:36:22PM +0100, Dave Mitchell wrote:
I've now diagnosed the issues. It turns out that its not a perl issue. I've raised the following tickets: https://rt.cpan.org/Ticket/Display.html?id=125589 This code in hook() in CSV_XS.xs is problematic in two ways: XPUSHs (newRV_noinc ((SV *)hv)); First, the newly-created RVs will leak, since they're not mortalised, Secondly, because the reference count of hv and av aren't increased, https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133270 In a stripped-down t/82_free_unref_scalar.t from DBD::CSV, I see 1) the RV created by newRV_noinc ((SV *)av) lasting until global I suspect you instead want something like mXPUSHs (newRV_inc ((SV *)hv)); https://rt.cpan.org/Ticket/Display.html?id=125590 While debugging an issue with DBD::CSV and/or perl: https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133270 I spotted code in DBI::DBD::SqlEngine::TieTables which appears to DBI::DBD::SqlEngine::TieTables::TIEHASH() creates a tie object hash, I don't understand this code well enough to be 100% certain its a leak, The following code definitely leaks, although that may be in part due to (it requires editing 'f_dir' to point to an untarred DBD-CSV-0.53 use strict; use DBI; while (1) { csv_auto_diag => 0, RaiseError => 1, -- |
1 similar comment
From @iabynOn Sun, Jun 10, 2018 at 09:36:22PM +0100, Dave Mitchell wrote:
I've now diagnosed the issues. It turns out that its not a perl issue. I've raised the following tickets: https://rt.cpan.org/Ticket/Display.html?id=125589 This code in hook() in CSV_XS.xs is problematic in two ways: XPUSHs (newRV_noinc ((SV *)hv)); First, the newly-created RVs will leak, since they're not mortalised, Secondly, because the reference count of hv and av aren't increased, https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133270 In a stripped-down t/82_free_unref_scalar.t from DBD::CSV, I see 1) the RV created by newRV_noinc ((SV *)av) lasting until global I suspect you instead want something like mXPUSHs (newRV_inc ((SV *)hv)); https://rt.cpan.org/Ticket/Display.html?id=125590 While debugging an issue with DBD::CSV and/or perl: https://rt-archive.perl.org/perl5/Ticket/Display.html?id=133270 I spotted code in DBI::DBD::SqlEngine::TieTables which appears to DBI::DBD::SqlEngine::TieTables::TIEHASH() creates a tie object hash, I don't understand this code well enough to be 100% certain its a leak, The following code definitely leaks, although that may be in part due to (it requires editing 'f_dir' to point to an untarred DBD-CSV-0.53 use strict; use DBI; while (1) { csv_auto_diag => 0, RaiseError => 1, -- |
@iabyn - Status changed from 'open' to 'rejected' |
From @TuxOn Sat, 09 Jun 2018 03:43:33 -0700, "slaven@rezic.de \(via RT\)" <perlbug-followup@perl.org> wrote:
Has this been fixed by the recent release of Text::CSV_XS-1.36 which I can even change Makefile.PL to require Text::CSV_XS 1.36 or newer if -- |
Migrated from rt.perl.org#133270 (status was 'rejected')
Searchable as RT133270$
The text was updated successfully, but these errors were encountered: