Hello, while typesetting a document of mine (just to check if my documents still work with the new LuaTeX beta), I got the following result (I used Arthur's build for OS X): ----------------------------------------------------------------- This is LuaTeX, Version snapshot-0.20.0-2007120515 (Web2C 7.5.6) (Schwarzfahren.tex (/Dokumente/Writing/trunk/Writing/DerProzess/TeX/tex/prozess.kprj [more included files] (Schwarzfahren.aux../../../../src/texk/web2c/luatexdir/tex/linebreak.c:215: failed assertion `vlink(alink(r))==r' ))Abort trap ----------------------------------------------------------------- I was unable to determine what exactly caused the assertion. Unfortunately, the document uses neither LaTeX nor Context nor PlainTeX, so I am also unable to post it here (unless I would post the macros as well). The raw text (without umlauts and headings) can be typeset correctly using PlainTeX. A more detailed log (with TeX's tracing turned on): ----------------------------------------------------------------- \BT:centerLine #1->\:noindent \BT:strut \:hfill #1\:hfill \BT:strut \:par #1<-Schwarzfahren {\noindent} \BT:strut ->\:relax \:ifmmode \:copy \:strutbox \:else \:unhcopy \:strutbox \:f i {horizontal mode: \relax} {\ifmmode} {false} {\unhcopy} {\fi} {\hfill} {the letter S} {\hfill} \BT:strut ->\:relax \:ifmmode \:copy \:strutbox \:else \:unhcopy \:strutbox \:f i {\relax} {\ifmmode} {false} {\unhcopy} {\fi} {\par} @firstpass []| \FS:O@font@t1/lmss/r/r/n/n/10@font Schwarz-fah-ren @ via @@0 b=0 p=0 d=100 @@1: line 1.2 t=100 -> @@0 | @\par via @@0 b=0 p=-10000 d=100 @\par via @@1 b=0 p=-10000 d=100 @@2: line 1.2- t=100 -> @@0 ../../../../src/texk/web2c/luatexdir/tex/linebreak.c:215: failed assertion `vlink(alink(r))==r' Abort trap ----------------------------------------------------------------- Also a little bit above this trace, while creating the current strut box, there are some weird "reassigning" messages: ----------------------------------------------------------------- {\setbox} {entering hbox group (level 2) at line 33} {reassigning [unknown integer parameter!]=0} {reassigning [unknown integer parameter!]=0} {reassigning [unknown integer parameter!]=0} {changing [level_local_dir]=1} {into [level_local_dir]=3} {restricted horizontal mode: \vrule} ----------------------------------------------------------------- If I disable font switches, a little bit more text is typeset before LuaTeX aborts with the same assertion. The text fragment typeset is (the \section results in "Einziges Kapitel: Berufswahl..." as seen below): ----------------------------------------------------------------- \chapter{Schwarzfahren}< preamble= {Februar `12}, label= {12.Schwarzfahren},
\section{Berufswahl per Ausschlußverfahren}< preamble= {Worin ein ungestörtes Plätzchen (noch) eine Straßenbahnreise entfernt ist; ein Generalverdacht wird bedenkenlos akzeptiert; ein Glücksspieler verliert das Spiel; und eine Frage wird lieber nicht gestellt.}, datewritten={????/??/??, 2007/11/26},
----------------------------------------------------------------- And the trace (also note how TeX's primitives are traced with their original name and not the name they have in the macros): ----------------------------------------------------------------- [now the \chapter's title is typeset] \BT:centerLine #1->\:noindent \BT:strut \:hfill #1\:hfill \BT:strut \:par #1<-Schwarzfahren {\noindent} \BT:strut ->\:relax \:ifmmode \:copy \:strutbox \:else \:unhcopy \:strutbox \:f i {horizontal mode: \relax} {\ifmmode} {false} {\unhcopy} {\fi} {\hfill} {the letter S} {\hfill} \BT:strut ->\:relax \:ifmmode \:copy \:strutbox \:else \:unhcopy \:strutbox \:f i {\relax} {\ifmmode} {false} {\unhcopy} {\fi} {\par} @firstpass [] Schwarz-fah-ren @\par via @@0 b=0 p=-10000 d=100 @@1: line 1.2- t=100 -> @@0 %% goal height=431.24408, max depth=4.0 % t=0.0 g=431.24408 b=10000 p=0 c=100000# \BT:suppressNextParIndent ->\:begingroup \:edef \:Mi {\:the \:everypar }\:expan dafter \:endgroup \:ifx \:Mi \:empty \:global \:everypar {\:global \:everypar { }{\:setbox \:z \:lastbox }}\:else \:global \:everypar \:expandafter {\:expandaf ter \:global \:expandafter \:everypar \:expandafter {\:the \:everypar }{\:setbo x \:z \:lastbox }\:the \:everypar }\:fi [about 10000 lines of trace inbetween, mostly key-value processing] [now the \section's title immediately after the \chapter is typeset] \CF:first:b #1->#1 #1<-: Berufswahl per Ausschlußverfahren {blank space } {the letter B} {blank space } {the letter p} {blank space } {the letter A} ß->\EX:protect \OE:ssharp \EX:protect -> \OE:ssharp ->\:char 255 {\par} @firstpass []Ein-zi-ges @ via @@0 b=0 p=0 d=100 @@1: line 1.2 t=100 -> @@0 Ka-pi-tel: @ via @@0 b=0 p=0 d=100 @ via @@1 b=0 p=0 d=100 @@2: line 1.2 t=100 -> @@0 Be-rufs-wahl @ via @@0 b=0 p=0 d=100 @ via @@1 b=0 p=0 d=100 @ via @@2 b=0 p=0 d=100 @@3: line 1.2 t=100 -> @@0 per @ via @@0 b=0 p=0 d=100 @ via @@1 b=0 p=0 d=100 @ via @@2 b=0 p=0 d=100 @ via @@3 b=0 p=0 d=100 @@4: line 1.2 t=100 -> @@0 Aus-schluÿ-ver-fah-ren @\par via @@0 b=0 p=-10000 d=100 @\par via @@1 b=0 p=-10000 d=100 @\par via @@2 b=0 p=-10000 d=100 @\par via @@3 b=0 p=-10000 d=100 @\par via @@4 b=0 p=-10000 d=100 @@5: line 1.2- t=100 -> @@0 ../../../../src/texk/web2c/luatexdir/tex/linebreak.c:215: failed assertion `vlink(alink(r))==r' Abort trap ----------------------------------------------------------------- (LuaTeX beta 0.11.2 worked correctly) @Taco: What do you need to narrow this down? I can try to create a PlainTeX document exhibiting the same behaviour. Or maybe you could include some more tracing of the line breaking algorithm (just temporarily, in the trunk), and I send you the log file of the run. The document uses the "process_input_buffer" callback to convert vom MacRoman to UTF-8. It uses Latin Modern, T1 encoding. It uses a simple OTR with a single column as well as a simple header and footer. It does not use any specials, but the pdfTeX color stack. It uses Context's UTF-8 hyphenation patterns for traditional german, slightly modified to include "y diaresis" as a synonym for "s sharp". Jonathan