Speicherzugriffsfehler

L

lastUnic0rn

Jungspund
Hey,

ich hab mir eben ein kleines Shell-Script gebastelt um meine Photos auf eine bestimmte Größe zu verkleinern.
Code:
#!/bin/bash

#Verzeichnis "thumbs" anlegen
mkdir thumbs

for datei in *.JPG; do
	#Datei nach thumbs/$datei verkleinern
	convert $datei -resize x83 thumbs/$datei
	echo "Bearbeite $datei"
done

for datei in *.jpg; do
	#Datei nach thumbs/$datei verkleinern
	convert $datei -resize x83 thumbs/$datei
	echo "Bearbeite $datei"
done
Ich hab das Script ausgeführt und es hat wunderbar funktioniert. Nach einiger Zeit habe ich noch andere Photos zu verkleinern gefunden. Nun funzt das Script aber nicht mehr :( Ich hab daran nichts verändert und bekomme nun folgende Fehlermeldung:
Code:
Bearbeite PICT_01.JPG
/bin/make_thumbs: line 6:  3932 Speicherzugriffsfehler  convert $datei -resize x83 thumbs/$datei
Bearbeite PICT_02.JPG
/bin/make_thumbs: line 6:  3933 Speicherzugriffsfehler  convert $datei -resize x83 thumbs/$datei
Bearbeite PICT_03.JPG
/bin/make_thumbs: line 6:  3934 Speicherzugriffsfehler  convert $datei -resize x83 thumbs/$datei
Bearbeite PICT_04.JPG
/bin/make_thumbs: line 6:  3935 Speicherzugriffsfehler  convert $datei -resize x83 thumbs/$datei

Woran liegt der Speicherzugriffsfehler? Ich hab den Rechner schon neugestartet, aber es brachte nichts. Ich nutze Fedora Core 3, Kernel 2.6.9-1.681_FC3

THX
 
lastUnic0rn schrieb:
Nun funzt das Script aber nicht mehr :( Ich hab daran nichts verändert...........

Ich nutze Fedora Core 3, Kernel 2.6.9-1.681_FC3

THX
Hmm, dass sind doch die Freunde mit dem yum welches ein nightly Update startet :brav: Sieh mal in deine /var/log/yum.log nach, wann dein ImageMagick zulezt ugedated wurde.

Ansonsten kannst du convert mit valgrind starten und debuggen. Dzeigt dann schin mal, wann und mit welcher Funktion das progii abschmiert.

Hans (Core 2 user)
 
Ich hab convert jetzt mal mit valgrind ausgeführt.
Code:
 valgrind --tool=memcheck convert PICT_03.JPG x83 f.jpg
==29401== Memcheck, a memory error detector for x86-linux.
==29401== Copyright (C) 2002-2004, and GNU GPL'd, by Julian Seward et al.
==29401== Using valgrind-2.2.0, a program supervision framework for x86-linux.
==29401== Copyright (C) 2000-2004, and GNU GPL'd, by Julian Seward et al.
==29401== For more details, rerun with: -v
==29401==
==29401==
==29401== Process terminating with default action of signal 11 (SIGSEGV)
==29401==  Bad permissions for mapped region at address 0x52BFF000
==29401==    at 0x1B95D095: GetImageAttribute (in /usr/lib/libMagick.so.6.0.7)
==29401==    by 0x1: ???
==29401==
==29401== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 32 from 1)
==29401== malloc/free: in use at exit: 4004147 bytes in 1549 blocks.
==29401== malloc/free: 1605 allocs, 56 frees, 4231926 bytes allocated.
==29401== For a detailed leak analysis,  rerun with: --leak-check=yes
==29401== For counts of detected errors, rerun with: -v
Speicherzugriffsfehler
Jetzt weiß ich aber wieder nicht weiter. Ich wollte mir die neuste Version von libMagick.so.6.0.7 installieren. Sie war schon installiert, also hab ich sie deinstalliert und neuinstalliert -> hat nichts gebracht.
TenBaseT schrieb:
Hmm, dass sind doch die Freunde mit dem yum welches ein nightly Update startet :brav: Sieh mal in deine /var/log/yum.log nach, wann dein ImageMagick zulezt ugedated wurde.
Ich mache meine Updates immer mit dem Update im Systray. Daher ist die /var/log/yum.log leer.

Ich habe mir imlib2 installiert. Allerdings weiß ich nicht mehr, ob es vor oder nach dem Schreiben des Scripts war. Kann das mit der Fehlermeldung zusammenhängen?
 
Zuletzt bearbeitet:
Das ist natürlich aüßerst blöd, dass deine yum.log leer ist X( Bleibte jetzt nur zu vermuten, das deine ImageMagick Version nicht mit irgendeiner Datei aus deiner Library versteht (Versionskonflikt). Keine Ahnung wie du das erkennen kannst. valgrind hat aber soviel ich weiß da noch einige Schalter, welche man setzen kann. Dann wird der Debugger richtig geschwätzig.

Hans
 

Ähnliche Themen

Verschlüsseltes Backup-Script mit rsync

Zeile für Zeile auslesen und Befehl ausführen

Zeilen kopieren mit SED

skript zum löschen doppelter dateien

Schleife zum einlesen vieler Dateien funktioniert nicht

Zurück
Oben