--- Begin Message ---
Package: lha
Version: 1.14i-10.2
Severity: grave
Justification: renders package unusable
[EMAIL PROTECTED]:~$ lha c t z
LHa: Fatal error: /tmp/lhMEjFue: File exists
strace output:
[EMAIL PROTECTED]:~$ strace lha c t z
execve("/usr/bin/lha", ["lha", "c", "t", "z"], [/* 18 vars */]) = 0
brk(0) = 0x805e000
uname({sys="Linux", node="fan.ossfans.org", ...}) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x4001e000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=27649, ...}) = 0
mmap2(NULL, 27649, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40020000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260a\1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1335912, ...}) = 0
mmap2(NULL, 1340944, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x40027000
mmap2(0x40169000, 12288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x142) =
0x40169000
mmap2(0x4016c000, 9744, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) =
0x4016c000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x4016f000
set_thread_area({entry_number:-1 -> 6, base_addr:0x4016f6b0, limit:1048575,
seg_32bit:1,
contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1})
= 0
mprotect(0x40169000, 4096, PROT_READ) = 0
munmap(0x40020000, 27649) = 0
brk(0) = 0x805e000
brk(0x807f000) = 0x807f000
stat64("t", 0xbffff104) = -1 ENOENT (No such file or directory)
stat64("t.lzh", 0xbffff104) = -1 ENOENT (No such file or directory)
stat64("t.lzs", 0xbffff104) = -1 ENOENT (No such file or directory)
gettimeofday({1192098912, 755011}, NULL) = 0
getpid() = 15631
open("/tmp/lh9Ve6h3", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
rt_sigaction(SIGINT, {0x8049ee0, [INT], SA_RESTORER|SA_RESTART, 0x40051878},
{SIG_DFL}, 8) = 0
rt_sigaction(SIGHUP, {0x8049ee0, [HUP], SA_RESTORER|SA_RESTART, 0x40051878},
{SIG_DFL}, 8) = 0
umask(077) = 02
open("/tmp/lh9Ve6h3", O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EEXIST (File exists)
write(2, "LHa: Fatal error: ", 18LHa: Fatal error: ) = 18
write(2, "/tmp/lh9Ve6h3: File exists\n", 27/tmp/lh9Ve6h3: File exists
) = 27
exit_group(1) = ?
Process 15631 detached
That's due to mkstemp call and O_EXCL in subsequent open of the same file.
I workaround this by removing O_EXCL, but I think it is either some
problem in glibc or code in lha needs to be reworked.
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Versions of packages lha depends on:
ii libc6 2.6.1-1+b1 GNU C Library: Shared libraries
lha recommends no packages.
-- no debconf information
--- End Message ---