[syslinux] Segmentation fault in 3.63 on 16GB USB

A slx at k1k2.com
Mon May 5 05:59:26 PDT 2008


On Sun, 2008-05-04 at 09:16 -0700, H. Peter Anvin wrote:
> A wrote:
> > On Sun, 2008-05-04 at 14:45 +0200, Dyks, Axel (XL) wrote:
> >> A wrote:
> >>> Disk /dev/sdb: 16.3 GB, 16357785600 bytes
> >>> 20 heads, 51 sectors/track, 31322 cylinders
> >>> Units = cylinders of 1020 * 512 = 522240 bytes
> >>> Disk identifier: 0x000cd158
> >>>
> >>>    Device Boot      Start         End      Blocks   Id  System
> >>> /dev/sdb1   *           9       31323    15970304    b  W95 FAT32
> >>>
> >> FAT32 filesystem
> > 
> > Do you mean that syslinux can't handle FAT32?
> > Or something else?
> > 
> > Yes I did notice one was FAT16 and the other FAT32.
> > 
> > FAT32 isn't new ...
> > 
> 
> And syslinux has supposed it for quite a while, so that wouldn't be the 
> problem.  The formatting is a bit strange, so I wonder if they did other 
> strange things.
> 
> Any chance you could run syslinux under gdb and see where it is it crashes?
> 
> 	-hpa

Well - having not gone near gdb for a while I tried and failed :P
Never knew about debuginfo files - I wonder how long they've been
around.
Anyway, couldn't get gdb to NOT say "(no debugging symbols found)"
so I just added a bunch of puts and printf and found some
hopefully useful info:
It 'barf's in libfat/open.c coz:
minfatsize=15581
fatsize=15569

A bunch of other variables that may be of use:

fs->clustsize=16
fs->clustshift=4
sectors32=31940608 (from read32)
fs->end=31940608
fs->fat=62
fatsize32=15569 (from read32)
fs->rootdir=31200
read16(&bs->bsRootDirEnts)=0
rootdirsize=0
fs->data=31200
nclusters=1994338 (0x001e6e62)
fs->fat_type=2
(unmodified) minfatsize=7977360

My guess would be "rootdirsize"
Is there a read32 version of it?

Otherwise - no idea :)




More information about the Syslinux mailing list