Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

FreeBASIC produziert eine "Segmentation Violation"

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 13.07.2009, 18:49    Titel: FreeBASIC produziert eine "Segmentation Violation" Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Muttonhead



Anmeldungsdatum: 26.08.2008
Beiträge: 565
Wohnort: Jüterbog

BeitragVerfasst am: 13.07.2009, 20:35    Titel: Antworten mit Zitat

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 neutral

Mutton
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 13.07.2009, 20:38    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 13.07.2009, 23:11    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 14.07.2009, 20:12    Titel: Antworten mit Zitat

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 happy
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 15.07.2009, 04:08    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 15.07.2009, 16:38    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 15.07.2009, 17:45    Titel: Antworten mit Zitat

Auf FBP haben wir nur stables.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 16.07.2009, 14:48    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 16.07.2009, 15:53    Titel: Antworten mit Zitat

Die Linuxversionen auf FBP sind nichts anderes als die entsprechenden Pakete von freebasic.net. Es handelt sich dabei nicht um selbst compilierte, neu zusammengestellte oder anderweitig veränderte Pakete.
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 28.07.2009, 20:19    Titel: Antworten mit Zitat

Melde mich aus dem Urlaub zurück, deswegen bitte nicht rumhacken, wenn ich abundzu mal 'nen "alten" Thread ausbuddel. zwinkern

@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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz