Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] upgrade to perl 5.22.0 yields perl double free or corruption
Date: Tue, 04 Aug 2015 10:22:56
Message-Id: 55C0926D.3060701@gmail.com
In Reply to: Re: [gentoo-user] upgrade to perl 5.22.0 yields perl double free or corruption by covici@ccs.covici.com
1 On 04/08/2015 12:14, covici@××××××××××.com wrote:
2 > Alan McKinnon <alan.mckinnon@×××××.com> wrote:
3 >
4 >> On 04/08/2015 11:13, covici@××××××××××.com wrote:
5 >>> Hi. After upgrading to perl 5.22.0 which was a pain -- had to remove
6 >>> all those virtuals -- I am now finding that a small perl program which
7 >>> connects to a mysql database yields the following when it exits:
8 >>>
9 >>> *** Error in `perl': double free or corruption (!prev): 0x0000000001ed8610 ***
10 >>> ======= Backtrace: =========
11 >>> /lib64/libc.so.6(+0x71e4b)[0x7f59bc417e4b]
12 >>> /lib64/libc.so.6(+0x7730e)[0x7f59bc41d30e]
13 >>> /lib64/libc.so.6(+0x77afb)[0x7f59bc41dafb]
14 >>> /usr/lib64/perl5/vendor_perl/5.22.0/x86_64-linux-thread-multi/auto/DBD/mysql/mysql.so(mysql_db_destroy+0x32)[0x7f59bb206602]
15 >>> /usr/lib64/perl5/vendor_perl/5.22.0/x86_64-linux-thread-multi/auto/DBD/mysql/mysql.so(+0x1234d)[0x7f59bb21034d]
16 >>> /usr/lib64/perl5/vendor_perl/5.22.0/x86_64-linux-thread-multi/auto/DBI/DBI.so(XS_DBI_dispatch+0xcc9)[0x7f59bb83e7a9]
17 >>> /usr/lib64/libperl.so.5.22(Perl_pp_entersub+0x49b)[0x7f59bc81663b]
18 >>> /usr/lib64/libperl.so.5.22(Perl_call_sv+0x36f)[0x7f59bc794b5f]
19 >>> /usr/lib64/libperl.so.5.22(+0xda25f)[0x7f59bc81b25f]
20 >>> /usr/lib64/libperl.so.5.22(Perl_sv_clear+0x740)[0x7f59bc81bc10]
21 >>> /usr/lib64/libperl.so.5.22(Perl_sv_free2+0x5d)[0x7f59bc81be9d]
22 >>> /usr/lib64/libperl.so.5.22(+0xb7298)[0x7f59bc7f8298]
23 >>> /usr/lib64/libperl.so.5.22(Perl_mg_free+0x2e)[0x7f59bc7f8a4e]
24 >>> /usr/lib64/libperl.so.5.22(Perl_sv_clear+0xae)[0x7f59bc81b57e]
25 >>> /usr/lib64/libperl.so.5.22(Perl_sv_free2+0x5d)[0x7f59bc81be9d]
26 >>> /usr/lib64/libperl.so.5.22(Perl_leave_scope+0xd51)[0x7f59bc84a411]
27 >>> /usr/lib64/libperl.so.5.22(+0x52c56)[0x7f59bc793c56]
28 >>> /usr/lib64/libperl.so.5.22(Perl_my_exit+0x3f)[0x7f59bc798d0f]
29 >>> /usr/lib64/libperl.so.5.22(Perl_pp_exit+0x4a)[0x7f59bc857a6a]
30 >>> /usr/lib64/libperl.so.5.22(Perl_runops_standard+0x16)[0x7f59bc80f316]
31 >>> /usr/lib64/libperl.so.5.22(perl_run+0x2f9)[0x7f59bc79c369]
32 >>> perl(main+0x149)[0x400e39]
33 >>> /lib64/libc.so.6(__libc_start_main+0xf0)[0x7f59bc3c67b0]
34 >>> perl(_start+0x29)[0x400e79]
35 >>> ======= Memory map: ========
36 >>>
37 >>> memory map ommitted, if it is needed I can reproduce.
38 >>>
39 >>> So, should I downgrade -- means removing all those virtuals again -- or
40 >>> any other ideas would be appreciated.
41 >>>
42 >>> I am running the unstable gentoo, if you need more information, I can
43 >>> include it.
44 >>>
45 >>> Thanks in advance for any suggestions.
46 >>>
47 >>
48 >>
49 >> did you run emerge @preserved-rebuild, revdep-rebuild and perl-cleaner
50 >> after the upgrade? That stuff's easy to forget.
51 >>
52 >>
53 >
54 > I ran both perl-cleaner --reallyall and emerge @preserved-rebuild which
55 > only rebuilt some haskall stuff. Perl cleaner had some problems, it
56 > tried to rebuild some python packages which at the time (before I did
57 > the complete update_) had some problems because of the 3.3 to 3.4
58 > change. So I just took the emerge line from the perl cleaner, ommitted
59 > any package which was a hard blocker andran the rest -- about 186
60 > packages. I can try to rerun perl-cleaner if you think that would help
61 > any, since I now have updated the world.
62 >
63
64 I think running perl-cleaner --all as step 1 is wise.
65 It shouldn't need to make any changes, but let's cover all the usual
66 bases first, paying particular attention to any DBD/DBI stuff it might
67 find that were not installed by portage.
68
69 I am also curious why you have blockers and had to fiddle with virtuals
70 - the same upgrade here was clean and portage just automatically did
71 everything it needed. Do you have any package.* entry for perl stuff?
72
73 grep -ir perl /etc/portage
74
75
76 --
77 Alan McKinnon
78 alan.mckinnon@×××××.com

Replies