Menu

#16 Sofortiger Absturz unter Linux

open
nobody
5
2004-04-24
2004-04-24
No

Ich benutze Debian unstable (tagesaktuell), habe heute (24.4.04
nach der Meldung für 1.32) einen cvs-checkout von det gemacht.

configure lief ohne Probleme durch. make genauso.

Beim ersten Start von det sollte ich ein Standardverzeichnis
auswählen, ich habe ein noch nicht existierendes angegeben (alle
Elternverzeichnisse existierten), det hat gesagt, es müsse noch
angelegt werden.
Danach kam nur noch auf der Konsole die Ausgabe

Abgebrochen

Das wars dann. Jeder weitere Start bringt nur noch diese Meldung
uns sonst nichts.

Was ist los?

PS:
Welche Angaben sollte ich noch machen?

Discussion

  • Denny Vrandečić

    Logged In: YES
    user_id=443587

    Hi Daniel,

    ich wei gar nicht, wo wxWindows auf der Linux-Version die
    entsprechenden Daten speichert, sonst knntest Du es dort
    ndern. Wurde das Verzeichnis angelegt, welches Du
    angegeben hast?

    Wenn das Verzeichnis nicht existiert, kannst Du es erstellen?
    Versuch in das Verzeichnis eine data.xdi und eine
    detconfig.xml zu kopieren. Ansonsten wre es interessant,
    wenn Du in der Datei det.cpp in der Funktion detApp::OnInit()
    herausfinden wrdest, wo genau er abstrzt.

    Ich muss mir dringend ein Linux-System anschaffen, sobald
    ich etwas Geld habe :) So kann ich immer nur auf
    Vermutungen hin raten, was gerade los ist.

    Hoffe, das war irgendwie hilfreich. Daran sollte jedenfalls, da
    hast Du Recht, noch gearbeitet werden.

    Viel Erfolg beim zum Laufen bringen,
    Denny

     
  • Hans-Joachim Daniels

    Logged In: YES
    user_id=368440

    Also, das ganze scheint eine locale-Geschichte zu sein.
    strace liefert als Ende der Ausgabe:
    uname({sys="Linux", node="lacci", ...}) = 0
    stat64("/home/daniels/.DarkeyeTool", {st_mode=S_IFREG|0644,
    st_size=83, ...}) = 0
    open("/home/daniels/.DarkeyeTool", O_RDONLY|O_LARGEFILE) = 5
    read(5, "DSA4WZPath=/home/daniels/Hans-Jo"..., 1024) = 83
    close(5) = 0
    open("/usr/lib/locale/de_DE.ISO-8859-1/LC_CTYPE", O_RDONLY)
    = -1 ENOENT (No such file or directory)
    open("/usr/lib/locale/de_DE.iso88591/LC_CTYPE", O_RDONLY) =
    -1 ENOENT (No such file or directory)
    open("/usr/lib/locale/de_DE/LC_CTYPE", O_RDONLY) = 5
    fstat64(5, {st_mode=S_IFREG|0644, st_size=207252, ...}) = 0
    mmap2(NULL, 207252, PROT_READ, MAP_PRIVATE, 5, 0) = 0x4104a000
    close(5) = 0
    futex(0x40892554, FUTEX_WAKE, 2147483647) = 0
    rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
    tgkill(11404, 11404, SIGABRT) = 0
    --- SIGABRT (Aborted) @ 0 (0) ---
    +++ killed by SIGABRT +++

    nachdem ich eines der Verzeichnisse angelegt habe, vorher
    war es:

    stat64("/home/daniels/.DarkeyeTool", {st_mode=S_IFREG|0644,
    st_size=83, ...}) = 0
    open("/home/daniels/.DarkeyeTool", O_RDONLY|O_LARGEFILE) = 5
    read(5, "DSA4WZPath=/home/daniels/Hans-Jo"..., 1024) = 83
    close(5) = 0
    fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 1),
    ...}) = 0
    mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
    MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x41021000
    open("/usr/lib/locale/de_DE.ISO-8859-1/LC_CTYPE", O_RDONLY)
    = -1 ENOENT (No such file or directory)
    open("/usr/lib/locale/de_DE.iso88591/LC_CTYPE", O_RDONLY) =
    -1 ENOENT (No such file or directory)
    open("/usr/lib/locale/de_DE/LC_CTYPE", O_RDONLY) = -1 ENOENT
    (No such file or directory)
    open("/usr/lib/locale/de.ISO-8859-1/LC_CTYPE", O_RDONLY) =
    -1 ENOENT (No such file or directory)
    open("/usr/lib/locale/de.iso88591/LC_CTYPE", O_RDONLY) = -1
    ENOENT (No such file or directory)
    open("/usr/lib/locale/de/LC_CTYPE", O_RDONLY) = -1 ENOENT
    (No such file or directory)
    futex(0x40892554, FUTEX_WAKE, 2147483647) = 0
    rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
    write(1, "Vor locales0", 12Vor locales0) = 12
    tgkill(11489, 11489, SIGABRT) = 0
    --- SIGABRT (Aborted) @ 0 (0) ---
    +++ killed by SIGABRT +++

    Auch nicht viel anders, vielleicht aber doch interessant.

    Mit zustzlicher Debug-Ausgabe kommt folgendes heraus:

    daniels@lacci:~/Documents/programmieren/DSA4-Werkzeug/det$ ./det
    Vor locales0Abgebrochen

    Hier der Code:

    //@ << setze Locales >>
    //@+node:<< setze Locales >>
    // setzt das Locale (nicht unbedingt portabel) -
    alternativer Namen wre "de"
    std::cout << "Vor locales0";
    std::locale loc("German"); // TODOPORT
    std::cout << "Vor locales1";
    std::locale::global(loc); // TODOPORT
    std::cout << "Vor locales2";
    wxLocale* wxloc = new wxLocale();
    std::cout << "Vor locales3";
    wxloc->Init(wxLANGUAGE_GERMAN);
    std::cout << "Nach locales";
    // sollte eigentlich fr die Sortierung der Strings sorgen,
    scheint aber
    // nicht zu taugen
    //@nonl
    //@-node:<< setze Locales >>
    //@nl

    Was man jetzt da tun muss, wei ich leider nicht. Der
    alternative Name "de" ndert auch nichts.

    data.xdi und detconfig.xml habe ich keine bei mir auf der
    Platte gefunden, aber da scheint das Problem auch nicht zu
    liegen.

    Was das Linux bei dir angeht: Ich bin auch
    Parallelinstallierthabender ...

    Gre,
    Ha-Jo Daniels

     
  • Denny Vrandečić

    Logged In: YES
    user_id=443587

    Versuch doch mal bitte, die ganzen Locale-Zeilen
    rauszukommentieren, und es dann nochmal zu versuchen. Die
    scheinen auch sonst vor allem viel rger zu machen, aber
    selten korrekt zu sortieren.

    ber Rckmeldung dankbar.

    Denny

     
  • Hans-Joachim Daniels

    Logged In: YES
    user_id=368440

    OK, habe die Locale-Zeilen auskommentiert. Nur geht jetzt gar nichts
    mehr. Speicherzugriffsfehler.

    strace ./det

    open("/home/daniels/Hans-Joachim/Rollenspiel/dsa/Tools/det/detconfig.
    xml", O_RDONLY) = 5
    brk(0) = 0x84ac000
    brk(0x84d4000) = 0x84d4000
    fstat64(5, {st_mode=S_IFREG|0777, st_size=0, ...}) = 0
    mmap2(NULL, 32768, PROT_READ|PROT_WRITE,
    MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4104a000
    read(5, "", 32768) = 0
    futex(0x40892554, FUTEX_WAKE, 2147483647) = 0
    futex(0x408d46c4, FUTEX_WAKE, 2147483647) = 0
    close(5) = 0
    munmap(0x4104a000, 32768) = 0
    --- SIGSEGV (Segmentation fault) @ 0 (0) ---
    +++ killed by SIGSEGV +++

    Die angegebene detconfig.xml ist leer.

     
  • Hans-Joachim Daniels

    Logged In: YES
    user_id=368440

    Korrektur:
    Die leere detconfig.xml habe ich mit touch erzeugt. Daraufhin strzt det
    ab.
    Mit gelschter detconfig.xml funktioniert es, det luft.

     

Log in to post a comment.