Anzeige:
Ergebnis 1 bis 14 von 14

Thema: Schwerwiegendes TexMemory-Problem (fatal ERROR)

  1. #1
    Registrierter Benutzer
    Registriert seit
    14.05.2009
    Beiträge
    297

    Schwerwiegendes TexMemory-Problem (fatal ERROR)

    Hallo,

    sicherlich bekommt der eine oder andere mit das ich gerade ziemlich am basteln bin mit meiner Arbeit. Jetzt hab ich warscheinlich, bin mir aber nicht sicher, ein ziemlich großes Problem.

    Ich kompiliere mein Dokument mit folgenden Befehlen einer Batch-Datei:

    Code:
    pdflatex diplomarbeit_dsu
    makeglossaries diplomarbeit_dsu
    pdflatex diplomarbeit_dsu
    makeglossaries diplomarbeit_dsu
    bibtex diplomarbeit_dsu
    bibtex On
    pdflatex diplomarbeit_dsu
    pdflatex diplomarbeit_dsu
    Jetzt habe ich mal alles zusammenkopiert und wollte die gesamte! Arbeit kompilieren. Jetzt kriege ich folgenden FATAL ERROR:

    Code:
    ! TeX capacity exceeded, sorry [main memory size=1500000].
    \Hy@FixNotFirstPage ... {\copy \AtBeginShipoutBox 
                                                      }
    l.166             oSet(
                           topBdr, "LineStyle", new object[1] { ExcelConstants.D...
    If you really absolutely need more capacity,
    you can ask a wizard to enlarge me.
    
     
    Here is how much of TeX's memory you used:
     35428 strings out of 95290
     596678 string characters out of 1182994
     1500000 words of memory out of 1500000
     34702 multiletter control sequences out of 110000
     131317 words of font info for 105 fonts, out of 3000000 for 5000
     51 hyphenation exceptions out of 8191
     57i,16n,100p,3597b,9283s stack positions out of 5000i,500n,10000p,200000b,50000s
    !  ==> Fatal error occurred, no output PDF file produced!
    Ich befürchte jetzt habe ich wirklich ein Problem. Jetzt habe ich versucht, da ich davon mal gelesen habe, dass das durch alles mögliche zustande kommen kann, den Fehler einzugrenzen und meine die Stelle gefunden zu haben bzw. den Abschnitt. Kommentiere ich den aus, dann läuft die Batch durch. Kommentiere ich alles andere mal aus und nur den Problemabschnitt ein und kompiliere dann funktioniert es aber AUCH!

    Lediglich funktioniert es NIE, wenn ich alles kompiliere mit dem (zuerst vermuteten) Problemabschnitt, der jedoch aber auch alleine kompiliertbar ist.
    Das war natürlich das Ausschlussverfahren, aber das hat nicht hingehauen.

    Und aussteigen tut er beim letzten! aufruf von pdftex! allerdings muss die batch datei mit den aufrufen genau so sein und auch in der anzahl sonst fehlt immer irgendwas an referenzen. Ich habe nicht großartig was an meinem Dokument geändert, gestern hat es noch funktioniert.

    Kann es denn sein, das der Problemabschnitt alleine kompilierbar ist, da er ja sowieso beim letzten aufruf von pdftex erst aussteigt? Ich kann das Dokument im Gesamten ja schon kompilieren, jedoch reicht ein aufruf von pdftex ja nicht.

    Ich muss den Fehler irgendwie behoben kriegen, sonst bin ich geliefert

  2. #2
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    1) irgendwo rechnet eines deiner konstrukte im kreis

    2) bibtex8 statt bibtex verwenden. eventuell noch bibtex8 mit option --wolfgang aufrufen.

    gruss
    Mein Ball ist umgefallen

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Keine Panik, main memory gehört zu den Größen, die auch in korrekten Dokumenten mal überlaufen können.

    Erzähl mal welches TeX-System du nutzt, dann wird dir jemand verraten, wie man dort main memory raufsetzt.

  4. #4
    Registrierter Benutzer
    Registriert seit
    14.05.2009
    Beiträge
    297
    was passiert dann?

    also so?

    bibtex8 --wolfgang

    in der batch statt nur bibtex docname?

  5. #5
    Registrierter Benutzer
    Registriert seit
    14.05.2009
    Beiträge
    297
    Panik ist gut, ich sitz hier in der Firma und dachte ich kompilier mal eben schnell alles und schau mir mal das gesamtergebis an und dann krieg ich so ne Meldung und man siehe (auf die Uhr guckt) oje oje..

    Ich nutze miktex 2.7 und technixcenter 1.0 stable

  6. #6
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    schau hier im punkt 1.1 der readmehttp://www.ctan.org/tex-archive/biblio/bibtex/8-bit/.

    aufruf müsste so funktionieren

    bibtex8 --wolfgang dateiname
    Mein Ball ist umgefallen

  7. #7
    Registrierter Benutzer
    Registriert seit
    14.05.2009
    Beiträge
    297
    Ich kompiliere gerade x mal und studiere das Fehlerverhalten. Ich versuch das gleich mal mit wolfgang. Kann es denn sein, das eine Anweisung falsch ist? Zb Klammer vergessen oder so? Dann würde er doch eigentlich meckern....

  8. #8
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Schau in die Doku des animate-Paketes unter "Bugs". Dort ist beschrieben wie man auf Dauer main_memory raufsetzt.

    Kurzfristig müsste es auch mit
    pdflatex --extra-mem-top=2000000
    gehen.

  9. #9
    Registrierter Benutzer Avatar von bobmalaria
    Registriert seit
    28.11.2006
    Ort
    Düsseldorf
    Beiträge
    4.174
    hi,

    eigentlich ist es schon richtig. siehe den link den ich dir geschickt habe. hier noch wie man miktex aufbohren kann

    http://docs.miktex.org/manual/runtimeparams.html
    Mein Ball ist umgefallen

  10. #10
    Registrierter Benutzer
    Registriert seit
    14.05.2009
    Beiträge
    297
    Ich kann nicht so ganz folgen. Wenn mein Dokument richtig ist und es durch mein Schreiben noch größer wird, krieg ich dann noch mehr Probleme oder sowas wird zum Alltag? (angenommen mein dokument ist korrekt)

    Sollte ich noch weiter auskommentieren und eine Fehlerzeile suchen?

  11. #11
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    In main_memory sind die Definitionen gespeichert. Wenn du viele Pakete benutzt, viele \labels setzt, oder z.B. in xskak viele Schachpartien speicherst, kann es überlaufen. TeX ist halt alt und erweitert seinen Speicher nicht dynamisch (was auch sein Gutes hat, weil es bei Fehlern irgendwann stoppt).

    Also schau erstmal, ob das Hochsetzen von main_memory das Problem löst.

  12. #12
    Registrierter Benutzer
    Registriert seit
    14.05.2009
    Beiträge
    297
    ok ich gebe gleich rückmeldung. bisher sieht es eher so aus das es an irgendeinem teilabschnitt liegt....

  13. #13
    Registrierter Benutzer
    Registriert seit
    14.05.2009
    Beiträge
    297
    Verflucht es klappt!

    Ich bin so glücklich. Es klappt mit:

    Code:
    Mode con cols=100 lines=40
    TITLE ### Erzeugung des LateX-Dokumentes ###
    @echo off
    CLS
    COLOR 17
    ECHO PDF-Latex-RUN
    ECHO =======================================
    pdflatex --extra-mem-top=2000000 diplomarbeit
    
    CLS
    COLOR 20
    ECHO MAKEGLOSSARIES-RUN
    ECHO =======================================
    makeglossaries diplomarbeit
    
    CLS
    COLOR 17
    ECHO PDF-Latex-RUN
    ECHO =======================================
    pdflatex --extra-mem-top=2000000 diplomarbeit
    
    CLS
    COLOR 20
    ECHO MAKEGLOSSARIES-RUN
    ECHO =======================================
    makeglossaries diplomarbeit
    
    CLS
    COLOR 47
    ECHO BIBTEX-RUN (MAINDOC)
    ECHO =======================================
    bibtex diplomarbeit
    
    CLS
    COLOR 47
    ECHO BIBTEX-RUN (ON)
    ECHO =======================================
    bibtex On
    
    CLS
    COLOR 17
    ECHO PDF-Latex-RUN
    ECHO =======================================
    pdflatex --extra-mem-top=2000000 diplomarbeit
    
    CLS
    COLOR 4
    ECHO PDF-Latex-RUN
    ECHO =======================================
    pdflatex --extra-mem-top=2000000 diplomarbeit

    Ganz ehrlich? Ich danke euch so sehr, meine nerven sind am Ende, aber es geht. Was soll man nur ohne euch machen? Wenn meine Arbeit fertig ist, geb ich glaub ich erstmal einen aus.

    Nichts desto trotz eine kurze Erläuterung und ich muss einiges fragen, damit ich das viell. auch mal weitergeben kann.

    Ich habe ja vorher mal herumgesucht (auch wenn mir Panik auf der Stirn geschrieben stand) und geschaut, wer noch so das Problem hat. Dann habe ich 2 stunden auskommentiert, bis ich irgendwann mal das auskommentierte wieder (bis zu dem zeitpunkt ohne fehler) einkommentiert habe und gemerkt habe das das erneut nicht geht, obwohl ich den abschnitt eigentlich als Fehlerlos definiert habe (gerade durch das auskommentieren). Und außerdem lief der vermutete Problemsektor ja auch ohne den Rest des Dokumentes. Das war also eine gute Diagnose -> Speicherproblem.

    Jetzt meine fragen, die mir wichtg sind:

    kurz vorher: Auf der Seite steht ja "Extra space for large TeX data structures: boxes, glue, breakpoints, et al." Wenn ich das richtig interpretiere (mein englisch, dann trifft das genau auf mich zu. Mein Dokument ist mega "hübsch", aber voll mit boxen und so ein kram.

    1. Was ist wenn ich jetzt weiter schreibe, platzt irgendwann wieder der Speicher? Muss ich deswegen zu sehen das ich zum Ende komme? Angenommen ich würde das Dokument nochmal verdoppeln, was dann? (nur angenommen)

    2. Wie ist meine Batch-Datei für den kompletten Durchlauf für ein fertiges Dokument zu beurteilen? Fehlt viel. noch ein Durchlauf oder müsste das reichen? (Fehlende Referenzen habe ich nach dem Batch-Durchlauf keine)

    3. Wenn ich meine DA abgebe, reicht es wenn ich die Batch (s. oben) EINMAL durchlaufen lasse oder wäre es besser zur Sicherheit nochmal einen PDFTex durchlauf zu starten? Diese Frage stelle ich, weil ich ja irgendwie nur im TechnixCenter sehe, ob ich 0 Fehler, 0 Warnungen habe, in der log Datei sehe ich nur den Fatal error und richtige Fehler eben. Wie kann ich aus der log datei erkennen, wieviele Warnunge etc. ich habe. Ich lasse nach der Batch datei deswegen nochmal ein Durchlauf mit Technixcenter starten, damit ich sehen ob ich wirklich 0 Fehler 0 Warnungen habe.

    4. Reicht die Änderung der MemoryCapacity per Parameterübergabe wie in der Batch-Datei oben oder sollte ich irgendwas in der besagten ini ändern? Kommt das aufs gleiche raus? Weil Bobmalaria sagte "kurzfristig" würde reichen

    5. Was ist mit dem Herrn Wolfgang also mit der Option. Die habe ich nicht benötigt. Wäre es sicherer, wenn ich zusätzlich auch bibtex mit dem speicherparameter bzw bibtex8 statt bibtex benutzte, auch wenn es ohne funktioniert?

    6. Ihr seit die Besten !

    Viele Grüße und ich muss erstmal schlafen, das war zu viel eben gerade für meine Nerven


    Ein großes Dankeschön nochmal!

    Gruß
    D.

  14. #14
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    "Extra space for large TeX data structures: boxes, glue," ist --extra-mem-bot, --extra-mem-top ist für "chars, tokens, et al.". Jede neue Definition (z.B. jeder label ) nutzt diesen Speicher. Wenn er wieder vollläuft, muss du ihn halt wieder vergrößern.

    Abgesehen davon: Es kann immer alles mögliche schiefgehen (ich hatte letzthin einen Festplattencrash). Also wenn sich deine Arbeit dem Ende nähert: Mache Sicherheitskopien. Lass die Finger vom Updateknopf. Erstelle in regelmäßigen Abständen eine Komplettversion. Mache Probedrucke diverser Seiten (besonders solche mit Bildern). Sobald du eine Version hast, von der du meinst, dass du sie im Notfall abgeben könntest, drucke sie aus und lege sie an einen sicheren Ort. Gestalte dir deinen Zeitplan so, dass du Luft für unerwartete Probleme hast. Dann musst du dir jetzt keine Gedanken über bibtex8 u.ä. machen.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •