Hello,

While making a hybrid iso image, mkhybrid
segfaults to my face, here's the (limited)
debug (I don't manage to recompile the source
package at all, so I cannot even add debug symbols to help more..) :

# gdb mkhybrid
(gdb) set args -v -R -J -hfs -probe \
 -A "Companion CDROM" \
 -P "Celestix Networks Inc" \
 -p "Celestix Networks Inc" \
 -V "Companion CDROM" \
 -hide-joliet-list mac \
 -hide-joliet-trans-tbl \
 -hide-hfs-list win \
 -o companioncd.iso dir/
(gdb) run
Starting program: /usr/bin/mkhybrid -v -R -J -hfs -probe  -A "Companion CDROM"  -P 
"Celestix Networks Inc"  -p "Celestix Networks Inc"  -V "Companion CDROM"  
-hide-joliet-list mac  -hide-joliet-trans-tbl  -hide-hfs-list win  -o companioncd.iso 
dir/
/usr/bin/mkhybrid: Warning: assuming PC Exchange cluster size of 512 bytes
mkisofs 1.15a23 (i586-mandrake-linux-gnu)
Scanning dir/
Hidden from HFS tree: dir/FTP
Scanning dir/FTP
Hidden from HFS tree: dir/IE6
Scanning dir/IE6
Hidden from Joliet tree: dir/Ie5
Scanning dir/Ie5
Hidden from Joliet tree: dir/Eudora
Scanning dir/Eudora
Hidden from HFS tree: dir/Acrobat_Reader
Scanning dir/Acrobat_Reader
Hidden from HFS tree: dir/MD5Sum
Scanning dir/MD5Sum
Hidden from HFS tree: dir/Putty
Scanning dir/Putty
Hidden from HFS tree: dir/Eudora_5
Scanning dir/Eudora_5
Hidden from HFS tree: dir/Eudora_5/autorun.inf
Hidden from HFS tree: dir/autorun.exe
Hidden from HFS tree: dir/autorun.ico
Hidden from HFS tree: dir/autorun.inf
Hidden from HFS tree: dir/autorun.ini
Scanning dir/Manual
Scanning dir/Manual/js
Scanning dir/Manual/pix
Hidden from Joliet tree: dir/TunnelBuilder
Scanning dir/TunnelBuilder
Hidden from HFS tree: dir/WinZip
Scanning dir/WinZip
Hidden from HFS tree: dir/WinZip/WinZip
Scanning dir/WinZip/WinZip
Hidden from Joliet tree: dir/Netscape
Scanning dir/Netscape
(no debugging symbols found)...
Program received signal SIGSEGV, Segmentation fault.
0x4007ff48 in fclose () from /lib/libc.so.6
(gdb) backtrace
#0  0x4007ff48 in fclose () from /lib/libc.so.6
#1  0x08063ad8 in getopt_long_only ()
#2  0x0804f03b in strcpy ()
#3  0x0804e8ae in strcpy ()
#4  0x0804fbe4 in strcpy ()
#5  0x0804e8ae in strcpy ()
#6  0x0804c6ad in strcpy ()
#7  0x4003af9a in __libc_start_main () from /lib/libc.so.6

# ldd /usr/bin/mkhybrid
        libc.so.6 => /lib/libc.so.6 (0x40023000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
# rpm -qf /usr/bin/mkhybrid
mkisofs-1.15-0.a23.1mdk
#

Besides this, there is a small mistake in mkhybrid,
the strace trace shows that mkhybrid read file by file,
and at the closing time, it closes each file 2 times :)

close(5)                                = 0
close(5)                                = -1 EBADF (Bad file descriptor)

.....

close(5)                                = 0
close(5)                                = -1 EBADF (Bad file descriptor)

......

close(5)                                = 0
close(5)                                = -1 EBADF (Bad file descriptor)

Have a nice day,

Fabrice
--
Fabrice MARIE
Senior R&D Engineer
Celestix Networks
http://www.celestix.com/

"Silly hacker, root is for administrators" 
       -Unknown

Reply via email to