Alan McKinnon <[email protected]> wrote:
> On 04/08/2015 12:14, [email protected] wrote:
> > Alan McKinnon <[email protected]> wrote:
> >
> >> On 04/08/2015 11:13, [email protected] wrote:
> >>> Hi. After upgrading to perl 5.22.0 which was a pain -- had to remove
> >>> all those virtuals -- I am now finding that a small perl program which
> >>> connects to a mysql database yields the following when it exits:
> >>>
> >>> *** Error in `perl': double free or corruption (!prev):
> >>> 0x0000000001ed8610 ***
> >>> ======= Backtrace: =========
> >>> /lib64/libc.so.6(+0x71e4b)[0x7f59bc417e4b]
> >>> /lib64/libc.so.6(+0x7730e)[0x7f59bc41d30e]
> >>> /lib64/libc.so.6(+0x77afb)[0x7f59bc41dafb]
> >>> /usr/lib64/perl5/vendor_perl/5.22.0/x86_64-linux-thread-multi/auto/DBD/mysql/mysql.so(mysql_db_destroy+0x32)[0x7f59bb206602]
> >>> /usr/lib64/perl5/vendor_perl/5.22.0/x86_64-linux-thread-multi/auto/DBD/mysql/mysql.so(+0x1234d)[0x7f59bb21034d]
> >>> /usr/lib64/perl5/vendor_perl/5.22.0/x86_64-linux-thread-multi/auto/DBI/DBI.so(XS_DBI_dispatch+0xcc9)[0x7f59bb83e7a9]
> >>> /usr/lib64/libperl.so.5.22(Perl_pp_entersub+0x49b)[0x7f59bc81663b]
> >>> /usr/lib64/libperl.so.5.22(Perl_call_sv+0x36f)[0x7f59bc794b5f]
> >>> /usr/lib64/libperl.so.5.22(+0xda25f)[0x7f59bc81b25f]
> >>> /usr/lib64/libperl.so.5.22(Perl_sv_clear+0x740)[0x7f59bc81bc10]
> >>> /usr/lib64/libperl.so.5.22(Perl_sv_free2+0x5d)[0x7f59bc81be9d]
> >>> /usr/lib64/libperl.so.5.22(+0xb7298)[0x7f59bc7f8298]
> >>> /usr/lib64/libperl.so.5.22(Perl_mg_free+0x2e)[0x7f59bc7f8a4e]
> >>> /usr/lib64/libperl.so.5.22(Perl_sv_clear+0xae)[0x7f59bc81b57e]
> >>> /usr/lib64/libperl.so.5.22(Perl_sv_free2+0x5d)[0x7f59bc81be9d]
> >>> /usr/lib64/libperl.so.5.22(Perl_leave_scope+0xd51)[0x7f59bc84a411]
> >>> /usr/lib64/libperl.so.5.22(+0x52c56)[0x7f59bc793c56]
> >>> /usr/lib64/libperl.so.5.22(Perl_my_exit+0x3f)[0x7f59bc798d0f]
> >>> /usr/lib64/libperl.so.5.22(Perl_pp_exit+0x4a)[0x7f59bc857a6a]
> >>> /usr/lib64/libperl.so.5.22(Perl_runops_standard+0x16)[0x7f59bc80f316]
> >>> /usr/lib64/libperl.so.5.22(perl_run+0x2f9)[0x7f59bc79c369]
> >>> perl(main+0x149)[0x400e39]
> >>> /lib64/libc.so.6(__libc_start_main+0xf0)[0x7f59bc3c67b0]
> >>> perl(_start+0x29)[0x400e79]
> >>> ======= Memory map: ========
> >>>
> >>> memory map ommitted, if it is needed I can reproduce.
> >>>
> >>> So, should I downgrade -- means removing all those virtuals again -- or
> >>> any other ideas would be appreciated.
> >>>
> >>> I am running the unstable gentoo, if you need more information, I can
> >>> include it.
> >>>
> >>> Thanks in advance for any suggestions.
> >>>
> >>
> >>
> >> did you run emerge @preserved-rebuild, revdep-rebuild and perl-cleaner
> >> after the upgrade? That stuff's easy to forget.
> >>
> >>
> >
> > I ran both perl-cleaner --reallyall and emerge @preserved-rebuild which
> > only rebuilt some haskall stuff. Perl cleaner had some problems, it
> > tried to rebuild some python packages which at the time (before I did
> > the complete update_) had some problems because of the 3.3 to 3.4
> > change. So I just took the emerge line from the perl cleaner, ommitted
> > any package which was a hard blocker andran the rest -- about 186
> > packages. I can try to rerun perl-cleaner if you think that would help
> > any, since I now have updated the world.
> >
>
> I think running perl-cleaner --all as step 1 is wise.
> It shouldn't need to make any changes, but let's cover all the usual
> bases first, paying particular attention to any DBD/DBI stuff it might
> find that were not installed by portage.
>
> I am also curious why you have blockers and had to fiddle with virtuals
> - the same upgrade here was clean and portage just automatically did
> everything it needed. Do you have any package.* entry for perl stuff?
>
> grep -ir perl /etc/portage
Well, in the past portage did fix all the virtuals, but not this time
and I saw a post on gentoo forums which suggested I unmerge all of them
and then do the update. But I just did perl first and then ran
perl-cleaner --reallyall and then did the update. I do have some use
flags with perl i.e.
/etc/portage/package.use:dev-lang/perl ithreads
/etc/portage/package.use:sys-devel/libperl ithreads
/etc/portage/package.use:www-apache/mod-perl threads
/etc/portage/package.use:net-nntp/inn perl
/etc/portage/package.use:dev-db/postgresql-server perl python
and an extra_econf for innd which ran OK.
--
Your life is like a penny. You're going to lose it. The question is:
How do
you spend it?
John Covici
[email protected]