Bug 4919 - Beta 2 pre-release fails with sv_setpvn called with negative strlen at /usr/lib/libDrakX/c.pm line 10
Summary: Beta 2 pre-release fails with sv_setpvn called with negative strlen at /usr/...
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: Installer (show other bugs)
Version: Cauldron
Hardware: i586 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Thierry Vignaud
QA Contact:
URL:
Whiteboard:
Keywords: NEEDINFO
Depends on:
Blocks: 3342
  Show dependency treegraph
 
Reported: 2012-03-13 00:57 CET by Dave Hodgins
Modified: 2012-03-15 07:03 CET (History)
3 users (show)

See Also:
Source RPM: drakxtools
CVE:
Status comment:


Attachments
report.bug from error (158.20 KB, text/plain)
2012-03-13 00:59 CET, Dave Hodgins
Details
report.bug from clean install attempt (165.44 KB, text/plain)
2012-03-13 01:45 CET, Dave Hodgins
Details
show which function failed (559 bytes, application/octet-stream)
2012-03-13 15:58 CET, Thierry Vignaud
Details
runtime patch (407 bytes, text/plain)
2012-03-13 16:04 CET, Thierry Vignaud
Details
report.bug (302.58 KB, application/octet-stream)
2012-03-14 00:13 CET, Dave Hodgins
Details

Description Dave Hodgins 2012-03-13 00:57:53 CET
Using beta 2 pre-release, after selecting Mageia 1 install
to upgrade, and us keyboard, install fails with
* error: panic: sv_setpvn called with negative strlen at /usr/lib/libDrakX/c.pm line 10
Comment 1 Dave Hodgins 2012-03-13 00:59:00 CET
Created attachment 1744 [details]
report.bug from error
Manuel Hiebel 2012-03-13 01:08:52 CET

Blocks: (none) => 3342
Assignee: bugsquad => thierry.vignaud
Source RPM: drakxtools-backend-13.89.2-1.mga2 => drakxtools

Comment 2 Dave Hodgins 2012-03-13 01:45:44 CET
Created attachment 1745 [details]
report.bug from clean install attempt

As with the upgrade, trying to install with custom partitioning,
it fails with
* error: panic: sv_setpvn called with negative strlen at /usr/lib/libDrakX/c.pm line 10.

It returned me to the partitioning choices screen, so I then tried using
existing partitions, which then failed with ...
* running: mount /dev/loop0 /mnt/mnt/Mageia-2-beta2-i586-DVD -o remount,rw
mount: you must specify the filesystem type
* error: mount failed
Anne Nicolas 2012-03-13 15:10:59 CET

CC: (none) => ennael1, pterjan

Comment 3 Thierry Vignaud 2012-03-13 15:58:24 CET
Created attachment 1748 [details]
show which function failed

Sadly we don't log which function failed and in that case the exception message doesn't show it.
Comment 4 Thierry Vignaud 2012-03-13 16:04:48 CET
Created attachment 1749 [details]
runtime patch

If you're not comfortable with patching the stage2 on the ISO image with the previous patch then redo the ISO image (see https://wiki.mageia.org/en/Drakx-installer_tips_and_tricks#modifying_the_stage2), you can just try putting this "patch" file on a floppy or on a USB key and restart the install.

The install should auto-detect & load this patch from either the floppy or the USB key
Then attach the new logs to this bug report
Comment 5 Thierry Vignaud 2012-03-13 16:22:19 CET
You'll need to start the install with "linux patch" instead of just "linux" or <enter>
Thierry Vignaud 2012-03-13 17:18:12 CET

Keywords: (none) => NEEDINFO

Comment 6 Dave Hodgins 2012-03-14 00:13:33 CET
Created attachment 1756 [details]
report.bug

The fuction is get_iso_volume_ids.  If it's scanning the entire drive for iso
files, that would explain the 4 minute delay before the error message shows up.

Even if it's only scanning the partition where it was loaded from, that
partition has 130G of data on it.
Comment 7 Pascal Terjan 2012-03-14 00:28:09 CET
Kernel sees this USB device getting reconnected more than 300 times:

usb 1-2: New USB device found, idVendor=15a4, idProduct=1336
Comment 8 Pascal Terjan 2012-03-14 03:05:12 CET
Was the original install also from an iso on disk ?

I think it only searched for *.iso in the given directory. Is there one which is not in the list of detected ones?

avg_arl_cdi_all_100_101201a3281.iso
7100.0.090421-1700_x86fre_client_en-us_retail_ultimate-grc1culfrer_en_dvd.iso 
mageia-dvd-1-x86_64.iso
lupu-511.iso
fdfullcd.iso
Mageia-2-beta2-i586-DVD.iso
ophcrack-xp-livecd-2.3.1.iso
mageia-dvd-1-i586.iso
boot.iso
linuxconsole1.0.2010-cd.iso
myiso.iso

I would guess it crashes while trying to get the header on another .iso file, so it would not display it
Comment 9 Dave Hodgins 2012-03-14 04:23:12 CET
They are all in the same directory.  I normally install from the iso on
a hard drive, as that's the fastest method.

As part of qa testing though, I also test installing from usb, and physical
dvd.

Other then Mageia iso's, all of the iso images in that directory have been
there since at least Feb 2011, so they were there when I installed Magea 1
from that directory.

I created a new partition, after shrinking one, and copied the iso to that
filesystem, and I can now complete the installation.

I don't think the installer should be looking at the other iso images though.
Comment 10 Thierry Vignaud 2012-03-14 08:42:28 CET
Humm we could either (or both):
- make get_iso_volume_ids() more robust
  (issue might be new since mga1 due to new perl being more sensitive)
- not scan for other ISOs (at least not here for what we do with them.

See http://svnweb.mageia.org/soft/drakx/trunk/perl-install/c/stuff.xs.pl?view=markup
lines 545-555

CC: (none) => jquelin

Comment 11 Thierry Vignaud 2012-03-14 09:10:57 CET
I'll alter install:media::_look_for_ISO_images() to look only for the known used ISO since we know which one is it and we don't support multi-CD install for a cople years.

What's more in your case, in would ignore your ISO since its named myiso.iso (we check for "-(disc|cd|dvd)"

It would be nice if you could answer comment #8 though.
Comment 12 Dave Hodgins 2012-03-14 17:50:13 CET
Regarding comment 8, all of the iso images in the list are in the
same directory the beta 2 iso was loaded from.  There is one
additional iso in that directory, that is not in the list
called ntfsundelete.iso which is from
http://ntfsundelete.com/
Comment 13 Pascal Terjan 2012-03-14 18:26:34 CET
That site only offers a .exe, do you mean you generated the iso from that .exe?
Comment 14 Dave Hodgins 2012-03-14 18:36:11 CET
(In reply to comment #13)
> That site only offers a .exe, do you mean you generated the iso from that .exe?

Looks like they've changed the site in the last three years.

I've uploaded a copy to http://www.ody.ca/~dwhodgins/ntfsundelete.iso

It's 5.2M.
Comment 15 Dave Hodgins 2012-03-14 18:37:22 CET
(In reply to comment #7)
> Kernel sees this USB device getting reconnected more than 300 times:
> 
> usb 1-2: New USB device found, idVendor=15a4, idProduct=1336

That's a flash card reader I was trying to get working to put
the bug report onto.  It was not connected when I first ran
into the bug.  It can be ignored as a hardware error unrelated
to this bug.
Comment 16 Pascal Terjan 2012-03-14 18:38:54 CET
It seems Application id is not set:

$ isoinfo -d -i ntfsundelete.iso
CD-ROM is in ISO 9660 format
System id: 
Volume id: NTFS_UNDELETE
Volume set id: 
Publisher id: 
Data preparer id: 
Application id: 
Copyright File id: 
Abstract File id: 
Bibliographic File id: 
Volume set size is: 1
Volume set sequence number is: 1
Logical block size is: 2048
Volume size is: 2657
Joliet with UCS level 3 found
NO Rock Ridge present

The code needs to check its existence before using it.
Comment 17 Thierry Vignaud 2012-03-15 07:03:49 CET
Fixed in SVN

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.