<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Courier New \;";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:70.85pt 70.85pt 56.7pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body bgcolor=white lang=DE link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I think the reason for the behavior you describe and document by the test cases is that if several tests are executed in a row then several LexedTokens for the lookupScope-defined property from the mapping exist. It seems highly likely that there is some LexedToken produced by that rule which carries the value "b" inside. As I currently can't find the referencedElements collection properly filled, I was just using <i>all</i> LexedTokens produced by the respective rule which of course are too many if we're not just executing a single production at a time. Such a stray "b" token will then cause a resolution based on this phony token.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>As Stephan suggested, an additional test is required to constrain the token set.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Working on it :-)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>-- Axel<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'> Sebastian [mailto:schlag.sebastian@googlemail.com] <br><b>Sent:</b> Friday, February 11, 2011 4:16 PM<br><b>To:</b> Uhl, Axel<br><b>Cc:</b> Thomas Goldschmidt; furcas-discussion@lists.furcas.org<br><b>Subject:</b> Re: [furcas-discussion] [IMP] Incremental Lexer Crashes<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>@ Axel: Could it be, that the strange behavior within the testCorrectBindingIfElementWasNotBoundBeforeRename testcase has something to do with the usage of EcoreUtil.delete(), since I use this method to remove the definition from the model?<br><br><br><o:p></o:p></p><div style='margin-left:30.0pt'><div class=MsoNormal align=center style='text-align:center'><hr size=1 width="100%" align=center></div><p class=MsoNormal><o:p> </o:p></p></div><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:3.75pt .75pt .75pt .75pt'><p class=MsoNormal><img id="_x0000_i1028" src="cid:image001.jpg@01CBCA0D.2A75A610" name=compose-unknown-contact.jpg><o:p></o:p></p></td><td valign=top style='padding:3.75pt .75pt .75pt 3.75pt'><p class=MsoNormal><a href="mailto:axel.uhl@sap.com">Uhl, Axel</a><br><span style='color:#888888'>11. Februar 2011 16:05</span><o:p></o:p></p></td></tr></table><div style='margin-left:30.0pt'><p class=MsoNormal><span style='color:#888888'><br><br><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Yes, Stephan pointed that out already. As I suggested in my reply, we may consider avoiding EcoreUtil.delete altogether because its scope definition is not harmonized with the OppositeEndFinder's scope definition. I suggest we offer a delete(EObject) method somewhere that is based on the OppositeEndFinder's scope. Additionally, even for the tests, this may have the benefit of re-using an already attached cross reference adapter.</span><o:p></o:p></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>-- Axel</span><o:p></o:p></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><div style='border:none;border-left:solid windowtext 1.5pt;padding:0in 0in 0in 4.0pt;border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color blue'><div><div style='border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:-moz-use-text-color -moz-use-text-color'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a href="mailto:furcas-discussion-bounces@lists.furcas.org">furcas-discussion-bounces@lists.furcas.org</a> [<a href="mailto:furcas-discussion-bounces@lists.furcas.org">mailto:furcas-discussion-bounces@lists.furcas.org</a>] <b>On Behalf Of </b>Thomas Goldschmidt<br><b>Sent:</b> Friday, February 11, 2011 3:34 PM<br><b>To:</b> <a href="mailto:furcas-discussion@lists.furcas.org">furcas-discussion@lists.furcas.org</a><br><b>Subject:</b> Re: [furcas-discussion] [IMP] Incremental Lexer Crashes</span><o:p></o:p></p></div></div><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal><br><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>The problem that links to elements are nur nulled-out when the element is "deleted", as it was the case in MOIN.</span> <o:p></o:p></p><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><img border=0 id="_x0000_i1025" src="cid:image002.png@01CBCA0D.2A75A610"><o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal> <o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-size:7.5pt;font-family:"Verdana","sans-serif"'>Thomas Goldschmidt </span></b><span style='font-size:7.5pt;font-family:"Verdana","sans-serif"'><br><br>ABB AG<br>Forschungszentrum<br>Wallstadter Straße 59<br>68526 Ladenburg<br>Office Phone: +49 6203 716134<br>Office Fax: +49 6203 716253<br>e-mail:</span><span style='font-size:7.5pt;font-family:"Verdana","sans-serif";color:blue'> <a href="mailto:thomas.goldschmidt@de.abb.com">thomas.goldschmidt@de.abb.com</a></span><o:p></o:p></p></td></tr></table><p class=MsoNormal style='margin-bottom:12.0pt'><br><br><span style='font-size:7.5pt;font-family:"Verdana","sans-serif";color:gray'><br>ABB AG<br>Sitz/Head Office: Mannheim <br>Registergericht/Registry Court: Mannheim<br>Handelsregisternummer/Commercial Register No.: HRB 4664<br>Geschäftsführung/Managing Board: Peter Smits (Vorsitzender), Joachim Schneider, Markus Ochsner, Hans-Georg Krabbe<br>Vorsitzender des Aufsichtsrats/Chairman of Supervisory Board: Bernhard Jucker<br><br>Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. <br><br>This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.</span> <o:p></o:p></p><table class=MsoNormalTable border=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td width="24%" valign=top style='width:24.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>"Uhl, Axel" <a href="mailto:axel.uhl@sap.com"><axel.uhl@sap.com></a></span></b><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'> </span><o:p></o:p></p><p><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>11.02.2011 15:05</span> <o:p></o:p></p></td><td width="75%" valign=top style='width:75.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal> <o:p></o:p></p><table class=MsoNormalTable border=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td width="6%" valign=top style='width:6.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>To</span><o:p></o:p></p></td><td width="93%" valign=top style='width:93.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>Thomas Goldschmidt/DEABB/ABB@ABB, <a href="mailto:furcas-discussion@lists.furcas.org">"furcas-discussion@lists.furcas.org"</a> <a href="mailto:furcas-discussion@lists.furcas.org"><furcas-discussion@lists.furcas.org></a></span> <o:p></o:p></p></td></tr><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>cc</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td></tr><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>Subject</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>RE: [furcas-discussion] [IMP] Incremental Lexer Crashes</span><o:p></o:p></p></td></tr></table><p class=MsoNormal style='margin-bottom:12.0pt'> <o:p></o:p></p><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td></tr></table></td></tr></table><p class=MsoNormal><br><br><br><span style='font-family:"Calibri","sans-serif";color:#004080'><br>Did I miss something? Which of the horrible EMF element lifecycle aspects was at fault and how?</span> <span style='font-family:"Calibri","sans-serif";color:#004080'><br></span> <span style='font-family:"Calibri","sans-serif";color:#004080'><br>Cheers,</span> <span style='font-family:"Calibri","sans-serif";color:#004080'><br>-- Axel</span> <span style='font-family:"Calibri","sans-serif";color:#004080'><br></span> <b><span style='font-family:"Tahoma","sans-serif"'><br>From:</span></b><span style='font-family:"Tahoma","sans-serif"'> <a href="mailto:furcas-discussion-bounces@lists.furcas.org">furcas-discussion-bounces@lists.furcas.org</a> [<a href="mailto:furcas-discussion-bounces@lists.furcas.org">mailto:furcas-discussion-bounces@lists.furcas.org</a>] <b>On Behalf Of </b>Thomas Goldschmidt<b><br>Sent:</b> Friday, February 11, 2011 2:40 PM<b><br>To:</b> <a href="mailto:furcas-discussion@lists.furcas.org">furcas-discussion@lists.furcas.org</a><b><br>Subject:</b> Re: [furcas-discussion] [IMP] Incremental Lexer Crashes</span> <br> <span style='font-family:"Arial","sans-serif"'><br><br>Thanks a lot! Sorry, that I had no time to do this myself.</span> <span style='font-family:"Arial","sans-serif"'><br><br>One more things about the horrible model element lifecycle in EMF :(</span> <o:p></o:p></p><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><img border=0 id="_x0000_i1026" src="cid:image002.png@01CBCA0D.2A75A610"><o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal> <o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-family:"Verdana","sans-serif"'>Thomas Goldschmidt </span></b><span style='font-family:"Verdana","sans-serif"'><br><br>ABB AG<br>Forschungszentrum<br>Wallstadter Straße 59<br>68526 Ladenburg<br>Office Phone: +49 6203 716134<br>Office Fax: +49 6203 716253<br>e-mail:</span><span style='font-family:"Verdana","sans-serif";color:blue'> <a href="mailto:thomas.goldschmidt@de.abb.com">thomas.goldschmidt@de.abb.com</a></span><o:p></o:p></p></td></tr></table><p><span style='color:#888888'><br><br></span><span style='font-family:"Verdana","sans-serif";color:gray'><br><br>ABB AG<br>Sitz/Head Office: Mannheim <br>Registergericht/Registry Court: Mannheim<br>Handelsregisternummer/Commercial Register No.: HRB 4664<br>Geschäftsführung/Managing Board: Peter Smits (Vorsitzender), Joachim Schneider, Markus Ochsner, Hans-Georg Krabbe<br>Vorsitzender des Aufsichtsrats/Chairman of Supervisory Board: Bernhard Jucker<br><br>Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. <br><br>This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.</span><span style='color:#888888'> <o:p></o:p></span></p><table class=MsoNormalTable border=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td width="45%" valign=top style='width:45.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-family:"Arial","sans-serif"'>Stephan Erb <a href="mailto:stephan@dev.static-void.de"><stephan@dev.static-void.de></a></span></b><span style='font-family:"Arial","sans-serif"'> <br>Sent by: <a href="mailto:furcas-discussion-bounces@lists.furcas.org">furcas-discussion-bounces@lists.furcas.org</a></span> <o:p></o:p></p><p><span style='font-family:"Arial","sans-serif"'>11.02.2011 14:37</span> <o:p></o:p></p></td><td width="54%" valign=top style='width:54.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal> <o:p></o:p></p><table class=MsoNormalTable border=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td width="12%" valign=top style='width:12.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-family:"Arial","sans-serif"'>To</span><o:p></o:p></p></td><td width="87%" valign=top style='width:87.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'><a href="mailto:furcas-discussion@lists.furcas.org">furcas-discussion@lists.furcas.org</a></span> <o:p></o:p></p></td></tr><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-family:"Arial","sans-serif"'>cc</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td></tr><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-family:"Arial","sans-serif"'>Subject</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>Re: [furcas-discussion] [IMP] Incremental Lexer Crashes</span><o:p></o:p></p></td></tr></table><p class=MsoNormal><br><br> <o:p></o:p></p><p> <o:p></o:p></p><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td></tr></table></td></tr></table><p><span style='color:#888888'><br><br><br></span><span style='font-family:"Courier New";color:#888888'><br><br>For the record: It's fixed in </span><span style='color:#888888'><a href="https://github.com/FURCAS-dev/FURCAS/commit/397d33c6ccc9b020041ed68fab741380cdd61a78"><span style='font-family:"Courier New"'>https://github.com/FURCAS-dev/FURCAS/commit/397d33c6ccc9b020041ed68fab741380cdd61a78<br><br>On Sat, 2011-02-05 at 15:58 +0100, Stephan Erb wrote:<br>> Hey Thomas,<br>> <br>> the IMP branch contains the first partially working IMP editor (see<br>> [1]). Unfortunately the incremental lexer is crashing regularly and I am<br>> unable to find the cause.<br>> <br>> The lexer dies with: <br>> <br>> java.lang.ArrayIndexOutOfBoundsException<br>> at java.lang.System.arraycopy(Native Method)<br>> at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:446)<br>> at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUnique(NotifyingListImpl.java:393)<br>> at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:377)<br>> at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:345)<br>> at com.sap.ide.cts.parser.incremental.IncrementalLexer.addTokenIfNecessaryAndUpdateOffetsAndLengths(IncrementalLexer.java:675)<br>> at com.sap.ide.cts.parser.incremental.IncrementalLexer.lexPhase(IncrementalLexer.java:528)<br>> at com.sap.ide.cts.parser.incremental.IncrementalLexer.lex(IncrementalLexer.java:160)<br>> at com.sap.ide.cts.parser.incremental.antlr.ANTLRIncrementalLexerAdapter.lex(ANTLRIncrementalLexerAdapter.java:301)<br>> at com.sap.furcas.ide.editor.imp.services.FurcasParseController.parse(FurcasParseController.java:138)<br>> at com.sap.furcas.ide.editor.commands.ParseCommand.execute(ParseCommand.java:30)<br>> <br>> At lines 518 and 519 within the IncrementalLexer we seem to have<br>> inconsistently versioned TextBlocks: We have a token and its parent<br>> block within the previous version. Now we map both to the current<br>> version. However, during this process, the parent child relation seems<br>> to get lost. The block does no longer contain the token. <br>> <br>> Given your experience with all this TextBlocks versioning, any idea<br>> where I should start digging? <br>> <br>> Thanks!<br>> Stephan<br>> <br>> PS: If you want to try it yourself you have to install IMP from<br>> </span></a><a href="http://download.eclipse.org/technology/imp/updates/"><span style='font-family:"Courier New"'>http://download.eclipse.org/technology/imp/updates/<br>> <br>> <br>> [1]<br>> </span></a><a href="https://github.com/FURCAS-dev/FURCAS/blob/imp/DSLEngineering/com.sap.furcas.ide.editor/src/com/sap/furcas/ide/editor/imp/"><span style='font-family:"Courier New"'>https://github.com/FURCAS-dev/FURCAS/blob/imp/DSLEngineering/com.sap.furcas.ide.editor/src/com/sap/furcas/ide/editor/imp/<br>> <br>> _______________________________________________<br>> Furcas-discussion mailing list<br>> Furcas-discussion@lists.furcas.org<br>> </span></a><a href="http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion"><span style='font-family:"Courier New"'>http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion<br><br><br>_______________________________________________<br>Furcas-discussion mailing list<br>Furcas-discussion@lists.furcas.org</span></a></span><u><span style='color:blue'><br></span></u><span style='color:#888888'><a href="http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion"><span style='font-family:"Courier New"'>http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion</span></a> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#888888'>_______________________________________________<br>Furcas-discussion mailing list<br><a href="mailto:Furcas-discussion@lists.furcas.org">Furcas-discussion@lists.furcas.org</a><br><a href="http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion">http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion</a><o:p></o:p></span></p></div><div class=MsoNormal align=center style='margin-top:11.25pt;text-align:center'><span style='color:#888888'><hr size=1 width="100%" align=center></span></div><p class=MsoNormal style='margin-top:11.25pt'><span style='color:#888888'><o:p> </o:p></span></p></div><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:3.75pt .75pt .75pt .75pt'><p class=MsoNormal><img border=0 id="_x0000_i1030" src="cid:image001.jpg@01CBCA0D.2A75A610" name=compose-unknown-contact.jpg><o:p></o:p></p></td><td valign=top style='padding:3.75pt .75pt .75pt 3.75pt'><p class=MsoNormal><a href="mailto:thomas.goldschmidt@de.abb.com">Thomas Goldschmidt</a><br><span style='color:#888888'>11. Februar 2011 15:34</span><o:p></o:p></p></td></tr></table><div style='margin-left:30.0pt'><p class=MsoNormal style='margin-top:11.25pt'><span style='color:#888888'><br><br></span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#888888'>The problem that links to elements are nur nulled-out when the element is "deleted", as it was the case in MOIN.</span><span style='color:#888888'> <o:p></o:p></span></p><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='border:solid windowtext 1.0pt;padding:0in'><img border=0 id="_x0000_i1031" src="cid:~WRD000.jpg" alt="Image removed by sender."></span><o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal> <o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-size:7.5pt;font-family:"Verdana","sans-serif"'>Thomas Goldschmidt </span></b><span style='font-size:7.5pt;font-family:"Verdana","sans-serif"'><br><br>ABB AG<br>Forschungszentrum<br>Wallstadter Straße 59<br>68526 Ladenburg<br>Office Phone: +49 6203 716134<br>Office Fax: +49 6203 716253<br>e-mail:</span><span style='font-size:7.5pt;font-family:"Verdana","sans-serif";color:blue'> <a href="mailto:thomas.goldschmidt@de.abb.com">thomas.goldschmidt@de.abb.com</a></span><o:p></o:p></p></td></tr></table><p class=MsoNormal style='mso-margin-top-alt:11.25pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in'><span style='color:#888888'><br><br></span><span style='font-size:7.5pt;font-family:"Verdana","sans-serif";color:gray'><br>ABB AG<br>Sitz/Head Office: Mannheim <br>Registergericht/Registry Court: Mannheim<br>Handelsregisternummer/Commercial Register No.: HRB 4664<br>Geschäftsführung/Managing Board: Peter Smits (Vorsitzender), Joachim Schneider, Markus Ochsner, Hans-Georg Krabbe<br>Vorsitzender des Aufsichtsrats/Chairman of Supervisory Board: Bernhard Jucker<br><br>Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. <br><br>This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.</span><span style='color:#888888'> <o:p></o:p></span></p><table class=MsoNormalTable border=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td width="24%" valign=top style='width:24.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>"Uhl, Axel" <a href="mailto:axel.uhl@sap.com"><axel.uhl@sap.com></a></span></b><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'> </span><o:p></o:p></p><p><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>11.02.2011 15:05</span> <o:p></o:p></p></td><td width="75%" valign=top style='width:75.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><o:p> </o:p></p><table class=MsoNormalTable border=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td width="6%" valign=top style='width:6.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>To</span><o:p></o:p></p></td><td width="93%" valign=top style='width:93.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>Thomas Goldschmidt/DEABB/ABB@ABB, <a href="mailto:furcas-discussion@lists.furcas.org">"furcas-discussion@lists.furcas.org"</a> <a href="mailto:furcas-discussion@lists.furcas.org"><furcas-discussion@lists.furcas.org></a></span> <o:p></o:p></p></td></tr><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>cc</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td></tr><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>Subject</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>RE: [furcas-discussion] [IMP] Incremental Lexer Crashes</span><o:p></o:p></p></td></tr></table><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td></tr></table></td></tr></table><p class=MsoNormal style='margin-top:11.25pt'><span style='color:#888888'><br><br><br></span><span style='font-family:"Calibri","sans-serif";color:#004080'><br>Did I miss something? Which of the horrible EMF element lifecycle aspects was at fault and how?</span><span style='color:#888888'> </span><span style='font-family:"Calibri","sans-serif";color:#004080'><br></span><span style='color:#888888'> </span><span style='font-family:"Calibri","sans-serif";color:#004080'><br>Cheers,</span><span style='color:#888888'> </span><span style='font-family:"Calibri","sans-serif";color:#004080'><br>-- Axel</span><span style='color:#888888'> </span><span style='font-family:"Calibri","sans-serif";color:#004080'><br></span><span style='color:#888888'> </span><b><span style='font-family:"Tahoma","sans-serif";color:#888888'><br>From:</span></b><span style='font-family:"Tahoma","sans-serif";color:#888888'> <a href="mailto:furcas-discussion-bounces@lists.furcas.org">furcas-discussion-bounces@lists.furcas.org</a> [<a href="mailto:furcas-discussion-bounces@lists.furcas.org">mailto:furcas-discussion-bounces@lists.furcas.org</a>] <b>On Behalf Of </b>Thomas Goldschmidt<b><br>Sent:</b> Friday, February 11, 2011 2:40 PM<b><br>To:</b> <a href="mailto:furcas-discussion@lists.furcas.org">furcas-discussion@lists.furcas.org</a><b><br>Subject:</b> Re: [furcas-discussion] [IMP] Incremental Lexer Crashes</span><span style='color:#888888'> <br> </span><span style='font-family:"Arial","sans-serif";color:#888888'><br><br>Thanks a lot! Sorry, that I had no time to do this myself.</span><span style='color:#888888'> </span><span style='font-family:"Arial","sans-serif";color:#888888'><br><br>One more things about the horrible model element lifecycle in EMF :(</span><span style='color:#888888'> <o:p></o:p></span></p><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='border:solid windowtext 1.0pt;padding:0in'><img border=0 id="_x0000_i1032" src="cid:~WRD000.jpg" alt="Image removed by sender."></span><o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal> <o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-family:"Verdana","sans-serif"'>Thomas Goldschmidt </span></b><span style='font-family:"Verdana","sans-serif"'><br><br>ABB AG<br>Forschungszentrum<br>Wallstadter Straße 59<br>68526 Ladenburg<br>Office Phone: +49 6203 716134<br>Office Fax: +49 6203 716253<br>e-mail:</span><span style='font-family:"Verdana","sans-serif";color:blue'> <a href="mailto:thomas.goldschmidt@de.abb.com">thomas.goldschmidt@de.abb.com</a></span><o:p></o:p></p></td></tr></table><p><span style='color:#888888'><br><br></span><span style='font-family:"Verdana","sans-serif";color:gray'><br><br>ABB AG<br>Sitz/Head Office: Mannheim <br>Registergericht/Registry Court: Mannheim<br>Handelsregisternummer/Commercial Register No.: HRB 4664<br>Geschäftsführung/Managing Board: Peter Smits (Vorsitzender), Joachim Schneider, Markus Ochsner, Hans-Georg Krabbe<br>Vorsitzender des Aufsichtsrats/Chairman of Supervisory Board: Bernhard Jucker<br><br>Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. <br><br>This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.</span><span style='color:#888888'> <o:p></o:p></span></p><table class=MsoNormalTable border=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td width="45%" valign=top style='width:45.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-family:"Arial","sans-serif"'>Stephan Erb <a href="mailto:stephan@dev.static-void.de"><stephan@dev.static-void.de></a></span></b><span style='font-family:"Arial","sans-serif"'> <br>Sent by: <a href="mailto:furcas-discussion-bounces@lists.furcas.org">furcas-discussion-bounces@lists.furcas.org</a></span> <o:p></o:p></p><p><span style='font-family:"Arial","sans-serif"'>11.02.2011 14:37</span> <o:p></o:p></p></td><td width="54%" valign=top style='width:54.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><o:p> </o:p></p><table class=MsoNormalTable border=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td width="12%" valign=top style='width:12.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-family:"Arial","sans-serif"'>To</span><o:p></o:p></p></td><td width="87%" valign=top style='width:87.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'><a href="mailto:furcas-discussion@lists.furcas.org">furcas-discussion@lists.furcas.org</a></span> <o:p></o:p></p></td></tr><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-family:"Arial","sans-serif"'>cc</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td></tr><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-family:"Arial","sans-serif"'>Subject</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>Re: [furcas-discussion] [IMP] Incremental Lexer Crashes</span><o:p></o:p></p></td></tr></table><p class=MsoNormal><br><br> <o:p></o:p></p><p><o:p> </o:p></p><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td></tr></table></td></tr></table><p><span style='color:#888888'><br><br><br></span><span style='font-family:"Courier New";color:#888888'><br><br>For the record: It's fixed in </span><span style='color:#888888'><a href="https://github.com/FURCAS-dev/FURCAS/commit/397d33c6ccc9b020041ed68fab741380cdd61a78"><span style='font-family:"Courier New"'>https://github.com/FURCAS-dev/FURCAS/commit/397d33c6ccc9b020041ed68fab741380cdd61a78<br><br>On Sat, 2011-02-05 at 15:58 +0100, Stephan Erb wrote:<br>> Hey Thomas,<br>> <br>> the IMP branch contains the first partially working IMP editor (see<br>> [1]). Unfortunately the incremental lexer is crashing regularly and I am<br>> unable to find the cause.<br>> <br>> The lexer dies with: <br>> <br>> java.lang.ArrayIndexOutOfBoundsException<br>> at java.lang.System.arraycopy(Native Method)<br>> at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:446)<br>> at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUnique(NotifyingListImpl.java:393)<br>> at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:377)<br>> at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:345)<br>> at com.sap.ide.cts.parser.incremental.IncrementalLexer.addTokenIfNecessaryAndUpdateOffetsAndLengths(IncrementalLexer.java:675)<br>> at com.sap.ide.cts.parser.incremental.IncrementalLexer.lexPhase(IncrementalLexer.java:528)<br>> at com.sap.ide.cts.parser.incremental.IncrementalLexer.lex(IncrementalLexer.java:160)<br>> at com.sap.ide.cts.parser.incremental.antlr.ANTLRIncrementalLexerAdapter.lex(ANTLRIncrementalLexerAdapter.java:301)<br>> at com.sap.furcas.ide.editor.imp.services.FurcasParseController.parse(FurcasParseController.java:138)<br>> at com.sap.furcas.ide.editor.commands.ParseCommand.execute(ParseCommand.java:30)<br>> <br>> At lines 518 and 519 within the IncrementalLexer we seem to have<br>> inconsistently versioned TextBlocks: We have a token and its parent<br>> block within the previous version. Now we map both to the current<br>> version. However, during this process, the parent child relation seems<br>> to get lost. The block does no longer contain the token. <br>> <br>> Given your experience with all this TextBlocks versioning, any idea<br>> where I should start digging? <br>> <br>> Thanks!<br>> Stephan<br>> <br>> PS: If you want to try it yourself you have to install IMP from<br>> </span></a><a href="http://download.eclipse.org/technology/imp/updates/"><span style='font-family:"Courier New"'>http://download.eclipse.org/technology/imp/updates/<br>> <br>> <br>> [1]<br>> </span></a><a href="https://github.com/FURCAS-dev/FURCAS/blob/imp/DSLEngineering/com.sap.furcas.ide.editor/src/com/sap/furcas/ide/editor/imp/"><span style='font-family:"Courier New"'>https://github.com/FURCAS-dev/FURCAS/blob/imp/DSLEngineering/com.sap.furcas.ide.editor/src/com/sap/furcas/ide/editor/imp/<br>> <br>> _______________________________________________<br>> Furcas-discussion mailing list<br>> Furcas-discussion@lists.furcas.org<br>> </span></a><a href="http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion"><span style='font-family:"Courier New"'>http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion<br><br><br>_______________________________________________<br>Furcas-discussion mailing list<br>Furcas-discussion@lists.furcas.org</span></a></span><u><span style='color:blue'><br></span></u><span style='color:#888888'><a href="http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion"><span style='font-family:"Courier New"'>http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion</span></a> <o:p></o:p></span></p><div><p class=MsoNormal><span style='color:#888888'>_______________________________________________<br>Furcas-discussion mailing list<br><a href="mailto:Furcas-discussion@lists.furcas.org">Furcas-discussion@lists.furcas.org</a><br><a href="http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion">http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion</a><o:p></o:p></span></p></div><div class=MsoNormal align=center style='margin-top:11.25pt;text-align:center'><span style='color:#888888'><hr size=1 width="100%" align=center></span></div><p class=MsoNormal style='margin-top:11.25pt'><span style='color:#888888'><o:p> </o:p></span></p></div><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:3.75pt .75pt .75pt .75pt'><p class=MsoNormal><img border=0 id="_x0000_i1034" src="cid:image001.jpg@01CBCA0D.2A75A610" name=compose-unknown-contact.jpg><o:p></o:p></p></td><td valign=top style='padding:3.75pt .75pt .75pt 3.75pt'><p class=MsoNormal><a href="mailto:axel.uhl@sap.com">Uhl, Axel</a><br><span style='color:#888888'>11. Februar 2011 15:05</span><o:p></o:p></p></td></tr></table><div style='margin-left:30.0pt'><p class=MsoNormal style='margin-top:11.25pt'><span style='color:#888888'><br><br><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Did I miss something? Which of the horrible EMF element lifecycle aspects was at fault and how?</span><o:p></o:p></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Cheers,</span><o:p></o:p></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>-- Axel</span><o:p></o:p></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p><div style='border:none;border-left:solid windowtext 1.5pt;padding:0in 0in 0in 4.0pt;border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color blue'><div><div style='border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:-moz-use-text-color -moz-use-text-color'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a href="mailto:furcas-discussion-bounces@lists.furcas.org">furcas-discussion-bounces@lists.furcas.org</a> [<a href="mailto:furcas-discussion-bounces@lists.furcas.org">mailto:furcas-discussion-bounces@lists.furcas.org</a>] <b>On Behalf Of </b>Thomas Goldschmidt<br><b>Sent:</b> Friday, February 11, 2011 2:40 PM<br><b>To:</b> <a href="mailto:furcas-discussion@lists.furcas.org">furcas-discussion@lists.furcas.org</a><br><b>Subject:</b> Re: [furcas-discussion] [IMP] Incremental Lexer Crashes</span><o:p></o:p></p></div></div><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal><br><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Thanks a lot! Sorry, that I had no time to do this myself.</span> <br><br><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>One more things about the horrible model element lifecycle in EMF :(</span><o:p></o:p></p><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='border:solid windowtext 1.0pt;padding:0in'><img border=0 id="_x0000_i1027" src="cid:~WRD000.jpg" alt="Image removed by sender."></span><o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal> <o:p></o:p></p></td><td style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-size:7.5pt;font-family:"Verdana","sans-serif"'>Thomas Goldschmidt </span></b><span style='font-size:7.5pt;font-family:"Verdana","sans-serif"'><br><br>ABB AG<br>Forschungszentrum<br>Wallstadter Straße 59<br>68526 Ladenburg<br>Office Phone: +49 6203 716134<br>Office Fax: +49 6203 716253<br>e-mail:</span><span style='font-size:7.5pt;font-family:"Verdana","sans-serif";color:blue'> <a href="mailto:thomas.goldschmidt@de.abb.com">thomas.goldschmidt@de.abb.com</a></span><o:p></o:p></p></td></tr></table><p class=MsoNormal style='margin-bottom:12.0pt'><br><br><span style='font-size:7.5pt;font-family:"Verdana","sans-serif";color:gray'>ABB AG<br>Sitz/Head Office: Mannheim <br>Registergericht/Registry Court: Mannheim<br>Handelsregisternummer/Commercial Register No.: HRB 4664<br>Geschäftsführung/Managing Board: Peter Smits (Vorsitzender), Joachim Schneider, Markus Ochsner, Hans-Georg Krabbe<br>Vorsitzender des Aufsichtsrats/Chairman of Supervisory Board: Bernhard Jucker<br><br>Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. <br><br>This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.</span> <br><br><br><o:p></o:p></p><table class=MsoNormalTable border=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td width="40%" valign=top style='width:40.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>Stephan Erb <a href="mailto:stephan@dev.static-void.de"><stephan@dev.static-void.de></a></span></b><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'> </span><br><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>Sent by: <a href="mailto:furcas-discussion-bounces@lists.furcas.org">furcas-discussion-bounces@lists.furcas.org</a></span> <o:p></o:p></p><p><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>11.02.2011 14:37</span> <o:p></o:p></p></td><td width="59%" valign=top style='width:59.0%;padding:.75pt .75pt .75pt .75pt'><table class=MsoNormalTable border=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>To</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'><a href="mailto:furcas-discussion@lists.furcas.org">furcas-discussion@lists.furcas.org</a></span> <o:p></o:p></p></td></tr><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>cc</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td></tr><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal align=right style='text-align:right'><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>Subject</span><o:p></o:p></p></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:7.5pt;font-family:"Arial","sans-serif"'>Re: [furcas-discussion] [IMP] Incremental Lexer Crashes</span><o:p></o:p></p></td></tr></table><p class=MsoNormal> <o:p></o:p></p><table class=MsoNormalTable border=0 cellpadding=0><tr><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td><td valign=top style='padding:.75pt .75pt .75pt .75pt'></td></tr></table></td></tr></table><p class=MsoNormal><br><br><br><tt><span style='font-size:10.0pt'>For the record: It's fixed in </span></tt><a href="https://github.com/FURCAS-dev/FURCAS/commit/397d33c6ccc9b020041ed68fab741380cdd61a78"><tt><span style='font-size:10.0pt'>https://github.com/FURCAS-dev/FURCAS/commit/397d33c6ccc9b020041ed68fab741380cdd61a78</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br><br></span><tt><span style='font-size:10.0pt'>On Sat, 2011-02-05 at 15:58 +0100, Stephan Erb wrote:</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> Hey Thomas,</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> </span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> the IMP branch contains the first partially working IMP editor (see</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> [1]). Unfortunately the incremental lexer is crashing regularly and I am</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> unable to find the cause.</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> </span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> The lexer dies with: </span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> </span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> java.lang.ArrayIndexOutOfBoundsException</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> at java.lang.System.arraycopy(Native Method)</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:446)</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUnique(NotifyingListImpl.java:393)</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:377)</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:345)</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> at com.sap.ide.cts.parser.incremental.IncrementalLexer.addTokenIfNecessaryAndUpdateOffetsAndLengths(IncrementalLexer.java:675)</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> at com.sap.ide.cts.parser.incremental.IncrementalLexer.lexPhase(IncrementalLexer.java:528)</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> at com.sap.ide.cts.parser.incremental.IncrementalLexer.lex(IncrementalLexer.java:160)</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> at com.sap.ide.cts.parser.incremental.antlr.ANTLRIncrementalLexerAdapter.lex(ANTLRIncrementalLexerAdapter.java:301)</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> at com.sap.furcas.ide.editor.imp.services.FurcasParseController.parse(FurcasParseController.java:138)</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> at com.sap.furcas.ide.editor.commands.ParseCommand.execute(ParseCommand.java:30)</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> </span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> At lines 518 and 519 within the IncrementalLexer we seem to have</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> inconsistently versioned TextBlocks: We have a token and its parent</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> block within the previous version. Now we map both to the current</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> version. However, during this process, the parent child relation seems</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> to get lost. The block does no longer contain the token. </span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> </span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> Given your experience with all this TextBlocks versioning, any idea</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> where I should start digging? </span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> </span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> Thanks!</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> Stephan</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> </span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> PS: If you want to try it yourself you have to install IMP from</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> </span></tt></a><a href="http://download.eclipse.org/technology/imp/updates/"><tt><span style='font-size:10.0pt'>http://download.eclipse.org/technology/imp/updates/</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> </span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> </span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> [1]</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> </span></tt></a><a href="https://github.com/FURCAS-dev/FURCAS/blob/imp/DSLEngineering/com.sap.furcas.ide.editor/src/com/sap/furcas/ide/editor/imp/"><tt><span style='font-size:10.0pt'>https://github.com/FURCAS-dev/FURCAS/blob/imp/DSLEngineering/com.sap.furcas.ide.editor/src/com/sap/furcas/ide/editor/imp/</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> </span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> _______________________________________________</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> Furcas-discussion mailing list</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> Furcas-discussion@lists.furcas.org</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>> </span></tt></a><a href="http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion"><tt><span style='font-size:10.0pt'>http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br><br><br></span><tt><span style='font-size:10.0pt'>_______________________________________________</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>Furcas-discussion mailing list</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span><tt><span style='font-size:10.0pt'>Furcas-discussion@lists.furcas.org</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span></a><a href="http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion"><tt><span style='font-size:10.0pt'>http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion</span></tt><span style='font-size:10.0pt;font-family:"Courier New ;","serif"'><br></span></a><o:p></o:p></p></div><div><p class=MsoNormal><span style='color:#888888'>_______________________________________________<br>Furcas-discussion mailing list<br><a href="mailto:Furcas-discussion@lists.furcas.org">Furcas-discussion@lists.furcas.org</a><br><a href="http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion">http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion</a><o:p></o:p></span></p></div></div></div></div></body></html>