gnu-arch-users
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]