|
| Lagersegmentfejl??? Fra : Jacob Tranholm |
Dato : 28-07-04 07:58 |
|
I aftes blev et af mine programmer, 'avidemux' opdateret under en normal
opdatering med færdigkonstruerede programmer, men da jeg efterfølgende
forsøgte at anvende programmet, fik jeg en fejlbesked: Lagersegmentfejl.
Indledningsvis tænkte jeg, at det bare var fordi dette program var
konstrueret for i686-arkitekturen, hvor jeg har en Athlon XP processor,
og jeg hentede derfor kildekoden og kompilerede programmet selv. - Ingen
større fejl under kompileringen, men efterfølgende: Lagersegmentfejl.
Efterfølgende tænkte jeg, at en Lagersegmentfejl måtte være tegn på
noget dårlig hukommelse, men har jeg haft memtest86 til at køre hele
natten og ingen fejl...
Der er intet debug-mode for avidemux (version 2.0.26) og jeg kan derfor
ikke identificere fejlen mere korrekt. Hvad skal jeg gøre???
| |
Jacob Tranholm (28-07-2004)
| Kommentar Fra : Jacob Tranholm |
Dato : 28-07-04 08:01 |
|
Jacob Tranholm skrev:
> I aftes blev et af mine programmer, 'avidemux' opdateret under en normal
> opdatering med færdigkonstruerede programmer, men da jeg efterfølgende
> forsøgte at anvende programmet, fik jeg en fejlbesked: Lagersegmentfejl.
>
> Indledningsvis tænkte jeg, at det bare var fordi dette program var
> konstrueret for i686-arkitekturen, hvor jeg har en Athlon XP processor,
> og jeg hentede derfor kildekoden og kompilerede programmet selv. - Ingen
> større fejl under kompileringen, men efterfølgende: Lagersegmentfejl.
>
> Efterfølgende tænkte jeg, at en Lagersegmentfejl måtte være tegn på
> noget dårlig hukommelse, men har jeg haft memtest86 til at køre hele
> natten og ingen fejl...
>
> Der er intet debug-mode for avidemux (version 2.0.26) og jeg kan derfor
> ikke identificere fejlen mere korrekt. Hvad skal jeg gøre???
Jeg skal måske også lige sige, at jeg bruger SuSE 9.1 Pro og at den ikke
fungerende pakke kan findes ved
http://packman.links2linux.org/?action=339
| |
Thomas S. Iversen (28-07-2004)
| Kommentar Fra : Thomas S. Iversen |
Dato : 28-07-04 08:56 |
|
On 2004-07-28, Jacob Tranholm <jacob_tranholm@hotmail.com> wrote:
> Efterfølgende tænkte jeg, at en Lagersegmentfejl måtte være tegn på
> noget dårlig hukommelse, men har jeg haft memtest86 til at køre hele
> natten og ingen fejl...
Lagersegmentfejl (iøvrigt er danske fejlbeskeder et support maridt!) betyder
bare at programmet har prøvet at tilgå noget hukommelse det ikke har lov
til. Det kan som du gætter på være dårlig ram der har flippet en bit og
cpuen derfor efterfølgende vil følge en pointer ud i noget ram som enten
ikke findes, eller som programmet ikke har lov til at tilgå.
Du har jo kørt memtest, så det er nok ikke det. Mere sandsynligt er de så,
at der er en fejl i programmet. Programmøren har sikkert ikke taget højde
for et eller andet tilfælde og følger sikkert en null pointer ud i intetheden.
Thomas
| |
Lasse Jensen (28-07-2004)
| Kommentar Fra : Lasse Jensen |
Dato : 28-07-04 16:50 |
|
Thomas S. Iversen wrote:
> On 2004-07-28, Jacob Tranholm <jacob_tranholm@hotmail.com> wrote:
>
>> Efterfølgende tænkte jeg, at en Lagersegmentfejl måtte være tegn på
>> noget dårlig hukommelse, men har jeg haft memtest86 til at køre hele
>> natten og ingen fejl...
>
> Lagersegmentfejl (iøvrigt er danske fejlbeskeder et support maridt!)
> betyder bare at programmet har prøvet at tilgå noget hukommelse det ikke
> har lov til. Det kan som du gætter på være dårlig ram der har flippet en
> bit og cpuen derfor efterfølgende vil følge en pointer ud i noget ram som
> enten ikke findes, eller som programmet ikke har lov til at tilgå.
Er det det vi plejer at kalde segmentation fault?
Prøv at tjekke om din kerne er compilet med samme options som avidemux. Jeg
har nemlig tidligere oplevet, at jeg havde compilet ffmpeg til at bruge SSE
på min Pentium III CPU, men at kernen var compilet til en CPU uden SSE og
ffmpeg derfor fandt SSE'en, men segfaultede, når den forsøgte at benytte
sig af den. Jeg kender ikke meget til Linux på Athlon CPU'er, men det kunne
måske være et lignende problem.
--
Lasse Jensen [fafler at linuxmail dot org]
| |
Thomas S. Iversen (28-07-2004)
| Kommentar Fra : Thomas S. Iversen |
Dato : 28-07-04 20:16 |
|
On 2004-07-28, Lasse Jensen <fafler@linuxmail.org> wrote:
> Er det det vi plejer at kalde segmentation fault?
Det var mit bedste gæt. Lagersegment fejl lyder i mine øre som en
segmentation fault.
Thomas
| |
Jacob Tranholm (28-07-2004)
| Kommentar Fra : Jacob Tranholm |
Dato : 28-07-04 20:45 |
|
Lasse Jensen skrev:
>
> Er det det vi plejer at kalde segmentation fault?
>
> Prøv at tjekke om din kerne er compilet med samme options som avidemux. Jeg
> har nemlig tidligere oplevet, at jeg havde compilet ffmpeg til at bruge SSE
> på min Pentium III CPU, men at kernen var compilet til en CPU uden SSE og
> ffmpeg derfor fandt SSE'en, men segfaultede, når den forsøgte at benytte
> sig af den. Jeg kender ikke meget til Linux på Athlon CPU'er, men det kunne
> måske være et lignende problem.
>
Det kan meget vel være, at du har ret mht. SSE, men hvorhenne tjekker
jeg, hvorvidt kernen inkluderer SSE-support, på min nuværende SuSE har
jeg bare anvendt standardkernen og jeg har derfor ikke specificeret i
kernen, at jeg har en Athlon XP processor... De sidste beskeder fra
avidemux på terminalen er:
....
Checking cpu capabilities
Cpu has MMX
Cpu has 3DNOW
Cpu has MMXEXT
Cpu has SSE
End of cpu capabilities check
Registering Filters
*********************
Using dummy audio device
Codec FFmpeg4 found
Global SDL init...
Lagersegmentfejl
Så du kan se, at programmet faktisk bruger SSE...
| |
Jacob Tranholm (28-07-2004)
| Kommentar Fra : Jacob Tranholm |
Dato : 28-07-04 21:54 |
|
Jacob Tranholm skrev:
>
> Det kan meget vel være, at du har ret mht. SSE, men hvorhenne tjekker
> jeg, hvorvidt kernen inkluderer SSE-support, på min nuværende SuSE har
> jeg bare anvendt standardkernen og jeg har derfor ikke specificeret i
> kernen, at jeg har en Athlon XP processor... De sidste beskeder fra
> avidemux på terminalen er:
>
> ...
> Checking cpu capabilities
> Cpu has MMX
> Cpu has 3DNOW
> Cpu has MMXEXT
> Cpu has SSE
> End of cpu capabilities check
>
> Registering Filters
> *********************
>
> Using dummy audio device
>
> Codec FFmpeg4 found
> Global SDL init...
> Lagersegmentfejl
>
> Så du kan se, at programmet faktisk bruger SSE...
Jeg har lige forsøgt af kompilere programmet, hvor jeg havde valgt den
eneste valgmulighed som jeg kunne finde, der havde med processoren at
gøre, nemlig '--disable-mmx'. Endnu en gang forløb kompileringen uden
store problemer og under opstarten af programmet blev SSE ikke
identificeret, men programmet virker fortsat ikke... Stadig
lagersegmentfejl.
| |
Jacob Tranholm (28-07-2004)
| Kommentar Fra : Jacob Tranholm |
Dato : 28-07-04 22:58 |
|
Jacob Tranholm wrote:
> I aftes blev et af mine programmer, 'avidemux' opdateret under en normal
> opdatering med færdigkonstruerede programmer, men da jeg efterfølgende
> forsøgte at anvende programmet, fik jeg en fejlbesked: Lagersegmentfejl.
>
> Indledningsvis tænkte jeg, at det bare var fordi dette program var
> konstrueret for i686-arkitekturen, hvor jeg har en Athlon XP processor,
> og jeg hentede derfor kildekoden og kompilerede programmet selv. - Ingen
> større fejl under kompileringen, men efterfølgende: Lagersegmentfejl.
>
> Efterfølgende tænkte jeg, at en Lagersegmentfejl måtte være tegn på
> noget dårlig hukommelse, men har jeg haft memtest86 til at køre hele
> natten og ingen fejl...
>
> Der er intet debug-mode for avidemux (version 2.0.26) og jeg kan derfor
> ikke identificere fejlen mere korrekt. Hvad skal jeg gøre???
Jeg søgte også hjælp i et Avidemux-forum og der fandt jeg løsningen på
alle problemerne. Programmet skulle bare kompileres med en
'--with-debug' specificeret under configure. På det sted, hvor
programmet plejer at bryde sammen, får jeg nu beskeden:
Canonizing null string ??? (/home/jt/)
Men programmet fungerer...
Og jeg kan igen lege med min konvertering af film. Avidemux er det
eneste linux-program, som jeg kender til, der er i stand til at lave en
2-pass konvertering af avi-filer til MPEG 2 video. Det er endnu ikke
lykkedes for mig at få hverken mencoder (mplayer) eller transcode til at
anvende 2-pass (eller 3-pass) teknologien.
| |
|
|