[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnu-arch-users] [BUG] tla looks for a "^Y" file in tla file-find (and c
From: |
Matthieu Moy |
Subject: |
[Gnu-arch-users] [BUG] tla looks for a "^Y" file in tla file-find (and crashes !) |
Date: |
Wed, 09 Jun 2004 11:09:03 +0200 |
User-agent: |
Gnus/5.1002 (Gnus v5.10.2) Emacs/21.2 (gnu/linux) |
$ tla --version
tla address@hidden/dists--devo--1.0--patch-9(configs/emf.net-tla/devo.tla-1.2)
from regexps.com
Copyright 2003 Tom Lord
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Report bugs to address@hidden
# automatically generated release id (by tla build-config)
#
address@hidden/dists--devo--1.0--patch-9(configs/emf.net-tla/devo.tla-1.2)
./src address@hidden/package-framework--devo--1.0--patch-3
./src/docs-hackerlab address@hidden/docs-hackerlab--devo--1.0--base-0
./src/docs-tla address@hidden/docs-tla--devo--1.0--patch-5
./src/hackerlab address@hidden/hackerlab--devo--1.0--patch-37
./src/tla address@hidden/tla--devo--1.2--patch-115
$ tla file-find INSTALL
Error during call to `vu_chdir' for ./ (No such file or directory)
PANIC: I/O error
But surprisingly tla file-diffs works fine:
$ tla file-diffs INSTALL
--- orig/INSTALL
+++ mod/INSTALL
[...]
$ strace tla file-find INSTALL
execve("/home/moy/bin/tla", ["tla", "file-find", "INSTALL"], [/* 101 vars */])
= 0
uname({sys="Linux", node="ecrins", ...}) = 0
brk(0) = 0x815a8a0
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/soft/gcc/3.2.3//lib/i686/mmx/libm.so.6", O_RDONLY) = -1 ENOENT
(No such file or directory)
stat64("/usr/local/soft/gcc/3.2.3//lib/i686/mmx", 0xbfffe284) = -1 ENOENT (No
such file or directory)
open("/usr/local/soft/gcc/3.2.3//lib/i686/libm.so.6", O_RDONLY) = -1 ENOENT (No
such file or directory)
stat64("/usr/local/soft/gcc/3.2.3//lib/i686", 0xbfffe284) = -1 ENOENT (No such
file or directory)
open("/usr/local/soft/gcc/3.2.3//lib/mmx/libm.so.6", O_RDONLY) = -1 ENOENT (No
such file or directory)
stat64("/usr/local/soft/gcc/3.2.3//lib/mmx", 0xbfffe284) = -1 ENOENT (No such
file or directory)
open("/usr/local/soft/gcc/3.2.3//lib/libm.so.6", O_RDONLY) = -1 ENOENT (No such
file or directory)
stat64("/usr/local/soft/gcc/3.2.3//lib", {st_mode=S_IFDIR|0755, st_size=4096,
...}) = 0
open("/usr/local/soft/gcc/3.2.3/lib/i686/mmx/libm.so.6", O_RDONLY) = -1 ENOENT
(No such file or directory)
stat64("/usr/local/soft/gcc/3.2.3/lib/i686/mmx", 0xbfffe284) = -1 ENOENT (No
such file or directory)
open("/usr/local/soft/gcc/3.2.3/lib/i686/libm.so.6", O_RDONLY) = -1 ENOENT (No
such file or directory)
stat64("/usr/local/soft/gcc/3.2.3/lib/i686", 0xbfffe284) = -1 ENOENT (No such
file or directory)
open("/usr/local/soft/gcc/3.2.3/lib/mmx/libm.so.6", O_RDONLY) = -1 ENOENT (No
such file or directory)
stat64("/usr/local/soft/gcc/3.2.3/lib/mmx", 0xbfffe284) = -1 ENOENT (No such
file or directory)
open("/usr/local/soft/gcc/3.2.3/lib/libm.so.6", O_RDONLY) = -1 ENOENT (No such
file or directory)
stat64("/usr/local/soft/gcc/3.2.3/lib", {st_mode=S_IFDIR|0755, st_size=4096,
...}) = 0
open("/lib/i686/mmx/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/lib/i686/mmx", 0xbfffe284) = -1 ENOENT (No such file or directory)
open("/lib/i686/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686", 0xbfffe284) = -1 ENOENT (No such file or directory)
open("/lib/mmx/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/mmx", 0xbfffe284) = -1 ENOENT (No such file or directory)
open("/lib/libm.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\2007\0"..., 1024) =
1024
fstat64(3, {st_mode=S_IFREG|0644, st_size=130088, ...}) = 0
old_mmap(NULL, 132708, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40014000
mprotect(0x40034000, 1636, PROT_NONE) = 0
old_mmap(0x40034000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x1f000) = 0x40034000
close(3) = 0
open("/usr/local/soft/gcc/3.2.3//lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/local/soft/gcc/3.2.3/lib/libc.so.6", O_RDONLY) = -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\30\222"..., 1024) =
1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=1153784, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40035000
old_mmap(NULL, 1166560, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40036000
mprotect(0x40149000, 40160, PROT_NONE) = 0
old_mmap(0x40149000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x113000) = 0x40149000
old_mmap(0x4014f000, 15584, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4014f000
close(3) = 0
brk(0) = 0x815a8a0
brk(0x815a8c8) = 0x815a8c8
brk(0x815b000) = 0x815b000
lseek(1, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
brk(0x815d000) = 0x815d000
open(".", O_RDONLY) = 3
chdir(".") = 0
getcwd("/home/moy/sc-parser", 4096) = 20
fchdir(3) = 0
close(3) = 0
open(".", O_RDONLY) = 3
chdir(".") = 0
getcwd("/home/moy/sc-parser", 4096) = 20
fchdir(3) = 0
close(3) = 0
access("/home/moy/sc-parser/{arch}", F_OK) = 0
access("/home/moy/sc-parser/{arch}/.arch-project-tree", F_OK) = 0
access("/home/moy/sc-parser/{arch}/++default-version", F_OK) = 0
open("/home/moy/sc-parser/{arch}/++default-version", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=46, ...}) = 0
read(3, "address@hidden/sc-pa"..., 46) = 46
close(3) = 0
access("/home/moy/sc-parser/{arch}/sc-parser/sc-parser--main/sc-parser--main--1/address@hidden/patch-log",
F_OK) = 0
open("/dev/null", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOTDIR (Not a
directory)
open("/home/moy/sc-parser/{arch}/sc-parser/sc-parser--main/sc-parser--main--1/address@hidden/patch-log",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
brk(0x8160000) = 0x8160000
getrlimit(0x7, 0xbfffec64) = 0
brk(0x8162000) = 0x8162000
getdents64(0x3, 0x815bca8, 0x2000, 0) = 3248
getdents64(0x3, 0x815bca8, 0x2000, 0) = 0
close(3) = 0
brk(0x8163000) = 0x8163000
brk(0x8164000) = 0x8164000
chdir("/home/moy/sc-parser") = 0
open(".", O_RDONLY) = 3
chdir("./") = -1 ENOENT (No such file or directory)
write(2, "Error during call to `vu_chdir\' "..., 36Error during call to
`vu_chdir' for ) = 36
write(2, "./\31", 3./) = 3
write(2, " (", 2 () = 2
write(2, "No such file or directory", 25No such file or directory) = 25
write(2, ")\n", 2)
) = 2
write(2, "PANIC: ", 7PANIC: ) = 7
write(2, "I/O error", 9I/O error) = 9
write(2, "\n", 1
) = 1
_exit(2) = ?
Seems like there is an uninitialized variable somewhere :
$ valgrind tla file-find INSTALL
==20626== valgrind-1.0.3, a memory error detector for x86 GNU/Linux.
==20626== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward.
==20626== Estimated CPU clock rate is 1668 MHz
==20626== For more details, rerun with: -v
==20626==
==20626== Invalid read of size 1
==20626== at 0x80A7407: str_length
(/home/moy/local/usr/src/tla-1.2/src/hackerlab/char/str.c:53)
==20626== by 0x80A7D61: str_alloc_cat
(/home/moy/local/usr/src/tla-1.2/src/hackerlab/char/str.c:710)
==20626== by 0x805482C: arch_cmd_file_find
(/home/moy/local/usr/src/tla-1.2/src/tla/libarch/cmd-file-find.c:164)
==20626== by 0x804A4D1: main
(/home/moy/local/usr/src/tla-1.2/src/tla/tla/tla.c:85)
==20626== Address 0x40AE426C is 0 bytes after a block of size 20 alloc'd
==20626== at 0x4004749B: malloc
(/home/fred/debian/valgrind-1.0.3/vg_clientfuncs.c:100)
==20626== by 0x80AE1DA: must_malloc
(/home/moy/local/usr/src/tla-1.2/src/hackerlab/mem/must-malloc.c:58)
==20626== by 0x80ADA4C: lim_malloc
(/home/moy/local/usr/src/tla-1.2/src/hackerlab/mem/alloc-limits.c:348)
==20626== by 0x80AA341: current_working_directory
(/home/moy/local/usr/src/tla-1.2/src/hackerlab/fs/cwd.c:39)
==20626==
==20626== Invalid read of size 1
==20626== at 0x80A7B95: str_cat
(/home/moy/local/usr/src/tla-1.2/src/hackerlab/char/str.c:579)
==20626== by 0x80A7DB3: str_alloc_cat
(/home/moy/local/usr/src/tla-1.2/src/hackerlab/char/str.c:715)
==20626== by 0x805482C: arch_cmd_file_find
(/home/moy/local/usr/src/tla-1.2/src/tla/libarch/cmd-file-find.c:164)
==20626== by 0x804A4D1: main
(/home/moy/local/usr/src/tla-1.2/src/tla/tla/tla.c:85)
==20626== Address 0x40AE426C is 0 bytes after a block of size 20 alloc'd
==20626== at 0x4004749B: malloc
(/home/fred/debian/valgrind-1.0.3/vg_clientfuncs.c:100)
==20626== by 0x80AE1DA: must_malloc
(/home/moy/local/usr/src/tla-1.2/src/hackerlab/mem/must-malloc.c:58)
==20626== by 0x80ADA4C: lim_malloc
(/home/moy/local/usr/src/tla-1.2/src/hackerlab/mem/alloc-limits.c:348)
==20626== by 0x80AA341: current_working_directory
(/home/moy/local/usr/src/tla-1.2/src/hackerlab/fs/cwd.c:39)
/local/moy/arch/arch-revlib/address@hidden/sc-parser/sc-parser--main/sc-parser--main--1/sc-parser--main--1--patch-99/./INSTALL
==20626==
==20626== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
==20626== malloc/free: in use at exit: 544391 bytes in 8424 blocks.
==20626== malloc/free: 122122 allocs, 113698 frees, 41032899 bytes allocated.
==20626== For a detailed leak analysis, rerun with: --leak-check=yes
==20626== For counts of detected errors, rerun with: -v
(BTW : valgrind is good for you. Use valgrind !)
--
Matthieu
- [Gnu-arch-users] [BUG] tla looks for a "^Y" file in tla file-find (and crashes !),
Matthieu Moy <=