Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 13.07.2009, 18:49 Titel: FreeBASIC produziert eine "Segmentation Violation" |
|
|
hey leute...
ich habe grade eine nichtige änderung an meinem programm durchgeführt, und auf einmal compilt der fbc (versionen 0.17 und 0.20) das ding nicht mehr.
er schmiert einfach mit
fbc hat Folgendes geschrieben: | Aborting due to runtime error 12 ("segmentation violation" signal) |
ab
mit einer kleine änderung der änderung bring ich das ding wieder zum laufen (allerdings auf kosten des codestyles :/ )
der workaround besteht darin:
Code: |
type footype
a as string
b as byte
end type
dim as footype foobar(1 to 5)
|
wird durch
Code: |
dim as string foobar_a(1 to 5)
dim as byte foobar_b(1 to 5)
|
ersetzt.
funzt, ist aber hässlich (ich fühle mich an qb erinnert oO)
hier findet ihr den kompletten code:
http://home.arcor.de/michael.jung11/segfault.tar.bz2
achtung, das programm ist nicht lauffähig, es fehlen sämtliche externe dateien.
außerdem wird freetype und lua benötigt (jedenfalls die includes)
die libs selbst dürfen fehlen, weil der segfault ja vor dem linken passiert... (denke ich mal)
zum segfault nochmal:
im funktionierenden code reicht das simple einfügen von
Code: |
type foo
bar as string
end type
|
um ihn wieder zum segfaulten zu bringen
das alles ist auch in SEGFAULT.TXT im archiv beschrieben.
ich hoffe ihr könnt mir da helfen, zur not arbeite ich meinetwegen auch mit dem workaround weiter... aber nur ungern...
hattet ihr auch schon solche erfahrungen?
grüße
flo _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
 |
Muttonhead

Anmeldungsdatum: 26.08.2008 Beiträge: 565 Wohnort: Jüterbog
|
Verfasst am: 13.07.2009, 20:35 Titel: |
|
|
hab beide Type-Definitionen jeweils mal an den Anfang beider Codes kopiert:
der Fehler ist nicht aufgetreten.
Code: |
type footype
something as string
end type
type TSave_Game
nam as string
firstplay as byte
end type
|
Damit ist aber die Ursache noch nicht klar
Mutton |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 13.07.2009, 20:38 Titel: |
|
|
es hängt mit dem gesamten code zusammen...
wenn ich nur die types rausnehme (und zwar _alle_, compilt er trotzdem erfolgreich...) _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 13.07.2009, 23:11 Titel: |
|
|
Ich vermute das es was mit dem aufbau des stacks zutun hat .. irgend wie wirds da probs geben, beim hinzufügen von UDT's wärend komplexe befehle ausgeführt werden.
das original beispiel nutzt zwar PRINT und dergleichen, aber keine so aufwendigen schleifen udn do/loop's .. das müsste man unter umständen man genauer untersuchen
flo, versuch doch mal den FBC selbst via valgrind zu starten, udn schau, was der ausgibt ..
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 14.07.2009, 20:12 Titel: |
|
|
valgrind fbc 117c.bas ergibt folgendes am ende...
vorher beschwert er sich noch oft folgendermaßen:
==7047== Conditional jump or move depends on uninitialised value(s)
aber da gehts einfach weiter...
jetzt kommt das wichtige (das das ich für wichtig erachte)
Code: |
==7047== Invalid read of size 4
==7047== at 0x8063A8D: (within /usr/local/bin/fbc)
==7047== by 0x8062C9D: (within /usr/local/bin/fbc)
==7047== by 0x8062E73: (within /usr/local/bin/fbc)
==7047== by 0x8062A03: (within /usr/local/bin/fbc)
==7047== by 0x808D143: (within /usr/local/bin/fbc)
==7047== by 0x808CAFC: (within /usr/local/bin/fbc)
==7047== by 0x804AD60: (within /usr/local/bin/fbc)
==7047== by 0x804A628: (within /usr/local/bin/fbc)
==7047== by 0x1916D4: (below main) (in /lib/libc-2.9.so)
==7047== Address 0x2c is not stack'd, malloc'd or (recently) free'd
Aborting due to runtime error 12 ("segmentation violation" signal)
==7047==
==7047== ERROR SUMMARY: 1816 errors from 12 contexts (suppressed: 17 from 1)
==7047== malloc/free: in use at exit: 8,667,771 bytes in 8,386 blocks.
==7047== malloc/free: 226,869 allocs, 218,483 frees, 18,730,631 bytes allocated.
==7047== For counts of detected errors, rerun with: -v
==7047== searching for pointers to 8,386 not-freed blocks.
==7047== checked 5,628,588 bytes.
==7047==
==7047== LEAK SUMMARY:
==7047== definitely lost: 28,595 bytes in 851 blocks.
==7047== possibly lost: 0 bytes in 0 blocks.
==7047== still reachable: 8,639,176 bytes in 7,535 blocks.
==7047== suppressed: 0 bytes in 0 blocks.
==7047== Rerun with --leak-check=full to see details of leaked memory.
|
ich wiederhole es auch gerne, wenn du mir noch andere parameter sagen willst  _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 15.07.2009, 04:08 Titel: |
|
|
hast du ne SVN fbc version? .. eine, die mit "quasi" "-g" compiliert wurde? .. die original fbc hat scheinbar keine debuggin-infos drin .. was natürlich schlecht is, wenn man den entsprechenden programm-punkt finden will.
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 15.07.2009, 16:38 Titel: |
|
|
ich hab die von freebasic-portal.de... ich bezweifle dass das ne cvs ist, oder? _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 15.07.2009, 17:45 Titel: |
|
|
Auf FBP haben wir nur stables. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 16.07.2009, 14:48 Titel: |
|
|
so stable erscheint mir die version jetzt auch wieder nicht.
ich hab sie definitiv vom fb-portal. entweder ihr habt euch (zweimal?!?) vertan, oder fb hat einfach einen ekelhaften bug, der so schnell wie möglich behoben werden sollte _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 28.07.2009, 20:19 Titel: |
|
|
Melde mich aus dem Urlaub zurück, deswegen bitte nicht rumhacken, wenn ich abundzu mal 'nen "alten" Thread ausbuddel.
@flo:
Mit stable bezeichnete ich die von den Entwicklern als "stable" herausgegebene Version. Schau dich doch außerdem mal um, jede Software hat auch in ihrer Release-Version Bugs. Insofern ist die Bezeichnung "stable" kein "Prädikat bug-frei". _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
|