Autor Thema: Assertion failed - abhängig von global-staff-size  (Gelesen 3675 mal)

harm6

  • Hero Member
  • *****
  • Beiträge: 631
Antw:Assertion failed - abhängig von global-staff-size
« Antwort #15 am: Mittwoch, 26. Juni 2019, 22:57 »
Hallo Arnold,

falls Deine Tests zu einem Fix führen, soll ich dann nicht nochmal einen windows-installer herstellen?
Eventuell sogar öffentlich zum download bereit stellen, sodaß Interessierte user ihn testen können?

Gruß,
  Harm

Arnold

  • Full Member
  • ***
  • Beiträge: 110
Antw:Assertion failed - abhängig von global-staff-size
« Antwort #16 am: Montag, 28. Oktober 2019, 14:37 »
Zitat
falls Deine Tests zu einem Fix führen, soll ich dann nicht nochmal einen windows-installer herstellen?
Eventuell sogar öffentlich zum download bereit stellen, sodaß Interessierte user ihn testen können?

Hallo Harm,

eigentlich sind es zwei Issues - wie bei der 'Relativitätstheorie' den speziellen Fall zuerst:

Das genannte »'Assertion failed: ret <= cached_line_details_.size()' in function 'Page_breaking::min_page_count()' of file '.../page-breaking.cc'«-Problem ließe sich offenbar durch ändern der Zeile 1178 von
»&& cur_rod_height > cached_line_details_.back ().full_height ())«
in .../page-breaking.cc zu
»&& page_starter + 1 != cached_line_details_.size())«
beheben.

Aber Auslöser, daß dieser »ungünstige Code« zum Fehler führt, ist offenbar ein Setupproblem im MINGW des GUB, und dadurch können noch viele, viele andere (noch unentdeckte) Baustellen sich eröffnen - dies ist also der allgemein Fall:
MINGW des GUB (auch in meiner LILYDEV VM) unterstützt »_FPU_SETCW()« nicht mehr.
Und da weiß ich nicht mehr so richtig, was ich tun könnte.
  • MINGW in GUB »reparieren«?
  • Im GUB mit Kommandozeilenoption »-march=pentium4 -mfpmath=sse -msse2« compilieren? Achtung, »-fpc64« sollte laut mingw-Beschreibung auch helfen, funtionierte nicht in meiner Lilydev VM)
  • In allen Funktionen mit Rückgabe-Wert 'double' bzw. 'Real' durch ein »store to volatile parameter« ein Runden von 80-bit Fließkommazahl zu 64-bit Fließkommazahl erzwingen, bevor dann der (in der Variable gepeicherte) Wert zurückgegeben wird?
  • Die Vergleichsfunktionen in Typ Real duch eine eigene Funktion überschreiben, welche für die Rundung auf 64-bit Fließkommazahlen sorgt? So firm bin ich aber im C++ (noch) nicht! Und könnte uns dann noch SCHEME dazwischenfunken?

Dann werde ich wohl erst einmal eine Nachricht »an Issue 4943« schreiben (eventell in die LilyDev Mailing list).

Arnold

harm6

  • Hero Member
  • *****
  • Beiträge: 631
Antw:Assertion failed - abhängig von global-staff-size
« Antwort #17 am: Montag, 28. Oktober 2019, 21:43 »
Hallo Arnold,

ich hab Dir ja eine ausführlichere PM geschickt.

Kurzfassung für alle:
Ich kann alles mögliche testen und evtl auch custom-Installer herstellen (kann natürlich jeder, der sich die Mühe macht GUB ans laufen zu kriegen), aber inhaltlich kann ich nicht helfen.
C++ ist nicht meine Welt.

Aber vielleicht jemand auf dieser Liste?

Gruß,
  Harm