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