Audacity: " Ungültiger Maschinenbefehl"
Jan-Benedict Glaw
jbglaw at lug-owl.de
Sat Apr 22 21:07:53 CEST 2006
On Sat, 2006-04-22 12:03:14 +0200, RalfGesellensetter <rgx at gmx.de> wrote:
> seit einiger Zeit kann ich auf meinem (gemischten) Debiansystem Audacity
Was ist denn ein "gemischtes" Debian-System?
> nicht mehr starten. Ich vermute es liegt an inkompatiblen Libs. Vielleicht
> lässt sich dieses Strace mit etwas Erfahrung einfach entschlüsseln:
Eher hätte ltrace sinnvolle Infos gegeben.
> ...
> access("/etc/ld.so.nohwcap", F_OK) = 0
> open("/usr/lib/libtiff.so.4", 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\340H\0"..., 512) = 512
> fstat64(3, {st_mode=S_IFREG|0644, st_size=335620, ...}) = 0
> old_mmap(NULL, 335516, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40bca000
> old_mmap(0x40c1a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x50000) = 0x40c1a000
> close(3) = 0
> old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40c1c000
> mprotect(0x408f2000, 4096, PROT_READ) = 0
> munmap(0x40017000, 91615) = 0
> getrlimit(RLIMIT_STACK, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0
> setrlimit(RLIMIT_STACK, {rlim_cur=2044*1024, rlim_max=RLIM_INFINITY}) = 0
> getpid() = 12262
> rt_sigaction(SIGRTMIN, {0x40793300, [], 0}, NULL, 8) = 0
> rt_sigaction(SIGRT_1, {0x407933b0, [RTMIN], 0}, NULL, 8) = 0
> rt_sigaction(SIGRT_2, {0x40792e80, [], 0}, NULL, 8) = 0
> rt_sigprocmask(SIG_BLOCK, [RTMIN], NULL, 8) = 0
> rt_sigprocmask(SIG_UNBLOCK, [RT_1], NULL, 8) = 0
> _sysctl({{CTL_KERN, KERN_VERSION, 0, 20d49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 2, 0xbffff4c4, 31, (nil), 0}) = 0
> brk(0) = 0x82dc000
> brk(0x82fd000) = 0x82fd000
> --- SIGILL (Illegal instruction) @ 0 (0) ---
> +++ killed by SIGILL +++
Das ist entweder sehr früh beim Programmstart--oder die libtiff wurde
via libdl nachgeladen.
Also... Drei Dinge gibts, die interessant sind:
Einmal solltest Du ltrace statt strace nehmen, das ist viel näher an
dem, was uns interessiert.
Sollte das noch zur Startzeit des Programms passieren (also bevor
main() aufgerufen wurde), dann sollten wir erstmal genauer in den
Link-Prozeß gucken:
LD_DEBUG=all audacity > foo 2>&1
...und dann könnte man noch gucken, ob die libSegFault da weitere
Infos bringt:
LD_PRELOAD=/lib/libSegFault.so audacity > foo2 2>&1
Wenn das alles keine Erkenntnisse bringt, bleibt nur noch die
Neukompilation der beteiligten Programme/Libraries. Allerdings
wundert mich das Verhalten schon: soetwas sollte eigentlich nicht
vorkommen. Hast Du mal manuell an irgendwelchen Schrauben gedreht, von
denen man besser hätte die Finger lassen sollen? Z.B. irgendwelche
zusätzlichen Symlinks für Libraries angelegt?
MfG, JBG
--
Jan-Benedict Glaw jbglaw at lug-owl.de . +49-172-7608481 _ O _
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O
für einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lug-owl.de/pipermail/linux/attachments/20060422/355fbb49/attachment.sig>
More information about the Linux
mailing list