FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian User

 
 
LinkBack Thread Tools
 
Old 03-08-2009, 07:21 AM
"David L. Anselmi"
 
Default Perl upgrade dilemma.

I'm trying to upgrade a testing machine but the upgrade failed around
perl-base. Now any dpkg commands I try seem to fail because
/usr/bin/perl segfaults.


How can I fix perl if I can't use dpkg?

Here is the output from aptitude around the first failure:


Preparing to replace perl 5.10.0-18 (using .../perl_5.10.0-19_i386.deb) ...
Unpacking replacement perl ...
Preparing to replace perl-base 5.10.0-18 (using .../perl-base_5.10.0-19_i386.deb) ...
Unpacking replacement perl-base ...
Processing triggers for man-db ...
syntax error at -e line 1, near "3];"
syntax error at -e line 1, near "2];"
Missing right curly or square bracket at -e line 2, at end of line
Execution of -e aborted due to compilation errors.
Setting up perl-base (5.10.0-19) ...


It seems that the old /usr/bin/perl is still there so perhaps the
segfaults are because of library upgrades (libc6 was upgraded earlier in
the process).


I tried reverting libc6 (2.7-18 to 2.7-16). It seems odd that versions
that close would cause problems. Reverting didn't work because dpkg
segfaults:



dpkg: error processing /var/cache/apt/archives/libc6_2.7-16_i386.deb (--install):
subprocess pre-installation script killed by signal (Segmentation fault)


Though libc6.preinst doesn't use perl. Either I'm misunderstanding or
the problem is more general.


Of course the above syntax errors (in man-db.postinst) don't really seem
to be errors. And another system (similar but with many more packages)
upgraded cleanly. So I'm at a loss why things would fail in the first
place.


Thanks!
Dave


--
To UNSUBSCRIBE, email to debian-user-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 
Old 03-08-2009, 06:01 PM
Tzafrir Cohen
 
Default Perl upgrade dilemma.

On Sun, Mar 08, 2009 at 01:21:07AM -0700, David L. Anselmi wrote:
> I'm trying to upgrade a testing machine but the upgrade failed around
> perl-base. Now any dpkg commands I try seem to fail because
> /usr/bin/perl segfaults.
>
> How can I fix perl if I can't use dpkg?
>
> Here is the output from aptitude around the first failure:
>
>> Preparing to replace perl 5.10.0-18 (using .../perl_5.10.0-19_i386.deb) ...
>> Unpacking replacement perl ...
>> Preparing to replace perl-base 5.10.0-18 (using .../perl-base_5.10.0-19_i386.deb) ...
>> Unpacking replacement perl-base ...
>> Processing triggers for man-db ...
>> syntax error at -e line 1, near "3];"
>> syntax error at -e line 1, near "2];"
>> Missing right curly or square bracket at -e line 2, at end of line
>> Execution of -e aborted due to compilation errors.

Those errors seem to come from the man-db trigger. Which is in
/var/lib/dpkg/info/man-db.postinst and runs a perl scriptlet.

>> Setting up perl-base (5.10.0-19) ...
>
> It seems that the old /usr/bin/perl is still there so perhaps the
> segfaults are because of library upgrades (libc6 was upgraded earlier in
> the process).

How do you see that the old perl is still there?

>
> I tried reverting libc6 (2.7-18 to 2.7-16). It seems odd that versions
> that close would cause problems. Reverting didn't work because dpkg
> segfaults:
>
>> dpkg: error processing /var/cache/apt/archives/libc6_2.7-16_i386.deb (--install):
>> subprocess pre-installation script killed by signal (Segmentation fault)
>
> Though libc6.preinst doesn't use perl. Either I'm misunderstanding or
> the problem is more general.
>
> Of course the above syntax errors (in man-db.postinst) don't really seem
> to be errors. And another system (similar but with many more packages)
> upgraded cleanly. So I'm at a loss why things would fail in the first
> place.
>
> Thanks!
> Dave
>
>
> --
> To UNSUBSCRIBE, email to debian-user-REQUEST@lists.debian.org with a
> subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>

--
Tzafrir Cohen | tzafrir@jabber.org | VIM is
http://tzafrir.org.il | | a Mutt's
tzafrir@cohens.org.il | | best
ICQ# 16849754 | | friend


--
To UNSUBSCRIBE, email to debian-user-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 
Old 03-09-2009, 12:36 AM
"David L. Anselmi"
 
Default Perl upgrade dilemma.

Tzafrir Cohen wrote:

On Sun, Mar 08, 2009 at 01:21:07AM -0700, David L. Anselmi wrote:

Here is the output from aptitude around the first failure:


Preparing to replace perl 5.10.0-18 (using .../perl_5.10.0-19_i386.deb) ...
Unpacking replacement perl ...
Preparing to replace perl-base 5.10.0-18 (using .../perl-base_5.10.0-19_i386.deb) ...
Unpacking replacement perl-base ...
Processing triggers for man-db ...
syntax error at -e line 1, near "3];"
syntax error at -e line 1, near "2];"
Missing right curly or square bracket at -e line 2, at end of line
Execution of -e aborted due to compilation errors.


Those errors seem to come from the man-db trigger. Which is in
/var/lib/dpkg/info/man-db.postinst and runs a perl scriptlet.


Yes, but looking at the scriptlet the syntax looks OK and a similar
program runs fine (replacing the exec man-db with print).



Setting up perl-base (5.10.0-19) ...


It seems that the old /usr/bin/perl is still there so perhaps the
segfaults are because of library upgrades (libc6 was upgraded earlier in
the process).


How do you see that the old perl is still there?


Because the checksum doesn't match what's in the .deb. But I didn't
check it against the old package so maybe the file is corrupted.


I'm getting set to attempt recovery by using the Debian Live rescue CD.
I'll use its tools to finish installing packages (dpkg --root or
Dir::RootDir for aptitude).


During a reboot fsck found an error in a perl file (not /usr/bin/perl)
so I'm not sure that finishing the upgrade will solve the problem. So
I'll also try to run strace (not currently installed) on /usr/bin/perl
and see if that helps. There are some bugs about perl segfaults but
none as severe as mine.


Thanks for the reply!
Dave


--
To UNSUBSCRIBE, email to debian-user-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 
Old 03-09-2009, 05:10 AM
"David L. Anselmi"
 
Default Perl upgrade dilemma.

David L. Anselmi wrote:

I'm getting set to attempt recovery by using the Debian Live rescue
CD. I'll use its tools to finish installing packages (dpkg --root or
Dir::RootDir for aptitude).


So dpkg and aptitude don't work so well from a rescue disk for this.
They chroot before running the post-inst scripts, which means the broken
perl is used.


I copied all the perl and perl-base files from the live CD to the broken
machine (and sed, as that complained later on). The versions were close
enough, I guess, and that fixed things.


So it looks like corrupted files was the problem. Guess I get to spend
some time running disk diagnostics.


Dave


--
To UNSUBSCRIBE, email to debian-user-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 

Thread Tools




All times are GMT. The time now is 10:32 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org