<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<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 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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
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";}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@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 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'>Did I miss something? Which of the horrible EMF element lifecycle aspects was at fault and how?<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'>Cheers,<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"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> furcas-discussion-bounces@lists.furcas.org [mailto:furcas-discussion-bounces@lists.furcas.org] <b>On Behalf Of </b>Thomas Goldschmidt<br><b>Sent:</b> Friday, February 11, 2011 2:40 PM<br><b>To:</b> 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><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><img id="_x0000_i1025" src="cid:image001.gif@01CBC9FD.29193DA0"><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 style='color:blue'> thomas.goldschmidt@de.abb.com</span></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><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 <stephan@dev.static-void.de></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: furcas-discussion-bounces@lists.furcas.org</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"'>furcas-discussion@lists.furcas.org</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"'><br><br><tt>On Sat, 2011-02-05 at 15:58 +0100, Stephan Erb wrote:</tt><br><tt>> Hey Thomas,</tt><br><tt>> </tt><br><tt>> the IMP branch contains the first partially working IMP editor (see</tt><br><tt>> [1]). Unfortunately the incremental lexer is crashing regularly and I am</tt><br><tt>> unable to find the cause.</tt><br><tt>> </tt><br><tt>> The lexer dies with: </tt><br><tt>> </tt><br><tt>> java.lang.ArrayIndexOutOfBoundsException</tt><br><tt>> at java.lang.System.arraycopy(Native Method)</tt><br><tt>> at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:446)</tt><br><tt>> at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUnique(NotifyingListImpl.java:393)</tt><br><tt>> at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:377)</tt><br><tt>> at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:345)</tt><br><tt>> at com.sap.ide.cts.parser.incremental.IncrementalLexer.addTokenIfNecessaryAndUpdateOffetsAndLengths(IncrementalLexer.java:675)</tt><br><tt>> at com.sap.ide.cts.parser.incremental.IncrementalLexer.lexPhase(IncrementalLexer.java:528)</tt><br><tt>> at com.sap.ide.cts.parser.incremental.IncrementalLexer.lex(IncrementalLexer.java:160)</tt><br><tt>> at com.sap.ide.cts.parser.incremental.antlr.ANTLRIncrementalLexerAdapter.lex(ANTLRIncrementalLexerAdapter.java:301)</tt><br><tt>> at com.sap.furcas.ide.editor.imp.services.FurcasParseController.parse(FurcasParseController.java:138)</tt><br><tt>> at com.sap.furcas.ide.editor.commands.ParseCommand.execute(ParseCommand.java:30)</tt><br><tt>> </tt><br><tt>> At lines 518 and 519 within the IncrementalLexer we seem to have</tt><br><tt>> inconsistently versioned TextBlocks: We have a token and its parent</tt><br><tt>> block within the previous version. Now we map both to the current</tt><br><tt>> version. However, during this process, the parent child relation seems</tt><br><tt>> to get lost. The block does no longer contain the token. </tt><br><tt>> </tt><br><tt>> Given your experience with all this TextBlocks versioning, any idea</tt><br><tt>> where I should start digging? </tt><br><tt>> </tt><br><tt>> Thanks!</tt><br><tt>> Stephan</tt><br><tt>> </tt><br><tt>> PS: If you want to try it yourself you have to install IMP from</tt><br><tt>> </tt></span></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"'><br><tt>> </tt><br><tt>> </tt><br><tt>> [1]</tt><br><tt>> </tt></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/"><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"'><br><tt>> </tt><br><tt>> _______________________________________________</tt><br><tt>> Furcas-discussion mailing list</tt><br><tt>> Furcas-discussion@lists.furcas.org</tt><br><tt>> </tt></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"'><br><br><br><tt>_______________________________________________</tt><br><tt>Furcas-discussion mailing list</tt><br><tt>Furcas-discussion@lists.furcas.org</tt><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"'><br></span></a><o:p></o:p></p></div></div></body></html>