Am Donnerstag, den 08.12.2005, 15:04 +0100 schrieb Josef Spillner:
El Lunes, 5. Diciembre 2005 16:42, Daniel Leidert escribió:
Ich habe sie hier abgelegt:
'k, danke. Hatte sie gleich gesichert, bin aber noch nicht zum Experimentieren gekommen. Vielleicht jetzt am Wochenende. (Wenn man das 'debian' weglässt, kommen komische PHP-Fehler.)
Danke. Da hat ein Update offenbar stillschweigend eine Änderung an den Configs vorgenommen.
Schau bitte auch mal (via std::cout, gdb, valgrind falls x86-Nutzer) nach, wie die Werte kurz vor dem execvp() übergeben werden.
Könntest du das bitte spezifizieren?
Das execvp() führt für jede Komponente in $PATH ein execve() mit dieser Pfadkomponente und dem übergebenen Programm aus. Die Frage wäre also, bekommt execvp() schon fehlerhafte Strings übergeben? Also z.B. vor dem execvp() mal folgendes eingeben: cout << "(debug:compressor) " << Args[0] << endl; (ist nicht so schick wie mit gdb, aber einfacher zu erklären ;)
Ok. Habe ich mal gemacht (apt-inst/contrib/extracttar.cc). Folgendes kommt dabei heraus:
[..] ./cron.log.24722:54:write(1, "(debug:compressor) gzip\n", 24) = 24 ./cron.log.24722-55-execve("/usr/bin/gzgzg", ["n/gzgzg", "-d"], [/* 8 vars */]) = -1 ENOENT (No such file or directory) ./cron.log.24722-56-execve("/bin/gzgzg", ["n/gzgzg", "-d"], [/* 8 vars */]) = -1 ENOENT (No such file or directory) ./cron.log.24722-57-write(2, "Failed to exec gzip ", 20) = 20 -- ./cron.log.24725:52:write(1, "(debug:compressor) gzip\n", 24) = 24 ./cron.log.24725-53-execve("/usr/bin/gzgzgs9", ["n/gzgzgs9", "-d"], [/* 8 vars */]) = -1 ENOENT (No such file or directory) ./cron.log.24725-54-execve("/bin/gzgzgs9", ["n/gzgzgs9", "-d"], [/* 8 vars */]) = -1 ENOENT (No such file or directory) ./cron.log.24725-55-write(2, "Failed to exec gzip ", 20) = 20 -- ./cron.log.24726:52:write(1, "(debug:compressor) gzip\n", 24) = 24 ./cron.log.24726-53-execve("/usr/bin/gzgzgn)", ["n/gzgzgn)", "-d"], [/* 8 vars */]) = -1 ENOENT (No such file or directory) ./cron.log.24726-54-execve("/bin/gzgzgn)", ["n/gzgzgn)", "-d"], [/* 8 vars */]) = -1 ENOENT (No such file or directory) ./cron.log.24726-55-write(2, "Failed to exec gzip ", 20) = 20 -- ./cron.log.24729:52:write(1, "(debug:compressor) gzip\n", 24) = 24 ./cron.log.24729-53-execve("/usr/bin/gzgzg", ["n/gzgzg", "-d"], [/* 8 vars */]) = -1 ENOENT (No such file or directory) ./cron.log.24729-54-execve("/bin/gzgzg", ["n/gzgzg", "-d"], [/* 8 vars */]) = -1 ENOENT (No such file or directory) ./cron.log.24729-55-write(2, "Failed to exec gzip ", 20) = 20 -- ./cron.log:165:read(8, "(debug:compressor) gzip\n", 512) = 24 ./cron.log-166-read(8, "", 488) = 0 ./cron.log-167---- SIGCHLD (Child exited) @ 0 (0) --- ./cron.log-168-close(8) = 0 -- ./cron.log:210:read(8, "(debug:compressor) gzip\n", 512) = 24 ./cron.log-211-read(8, "", 488) = 0 ./cron.log-212---- SIGCHLD (Child exited) @ 0 (0) --- ./cron.log-213-close(8) = 0 -- ./cron.log:252:read(8, "(debug:compressor) gzip\n", 512) = 24 ./cron.log-253-read(8, "", 488) = 0 ./cron.log-254---- SIGCHLD (Child exited) @ 0 (0) --- ./cron.log-255-close(8) = 0 -- ./cron.log:381:read(8, "(debug:compressor) gzip\n", 512) = 24 ./cron.log-382-read(8, "", 488) = 0 ./cron.log-383---- SIGCHLD (Child exited) @ 0 (0) --- ./cron.log-384-close(8) = 0 [..]
Scheint also bis zur Übergabe noch korrekt zu sein. Im übrigen habe ich mal mit Memtest86 meinen RAM getestet. Es konnten keine Fehler gefunden werden. Also gehe ich mal davon aus, dass das Problem nicht durch defekten RAM verursacht wird.
Da ich einen powerpc habe, möchte ich einen Fehler in der libc/libstdc++ nicht ausschließen.
Ich würde ja fast darauf tippen, da nach dem letzten bekannten Termin als es noch funktionierte, weder gzip noch apt(-utils) geändert wurden. In die Zeit fiel aber die allocator-Änderung.
(Werde das aber auch nochmal auf x86 testen.)
MfG Daniel