www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - How to proceed with ICE?

reply =?UTF-8?B?IsOYaXZpbmQi?= <oivind.loe gmail.com> writes:
After moving to 2.062, I get the following ICE:

src/boss/core/addr.d(23): Error: Internal Compiler Error: CTFE 
literal cast(uint)PROC_INVALID
dmd: ctfeexpr.c:353: Expression* copyLiteral(Expression*): 
Assertion `0' failed.
Aborted (core dumped)

The line it fails on is here, but I have not managed to get a 
reduced testcase to fail yet..

struct Addr {
   alias uint tProcId;
   alias uint tNodeId;

   const PROC_INVALID    = 0;
   const NODE_SELF       = 0;

   tProcId m_procId = PROC_INVALID;  // << This is the line
   tNodeId m_nodeId = NODE_SELF;


  ....
}
Mar 24 2013
next sibling parent =?UTF-8?B?IsOYaXZpbmQi?= <oivind.loe gmail.com> writes:
On Sunday, 24 March 2013 at 16:01:14 UTC, Øivind wrote:
 After moving to 2.062, I get the following ICE:

 src/boss/core/addr.d(23): Error: Internal Compiler Error: CTFE 
 literal cast(uint)PROC_INVALID
 dmd: ctfeexpr.c:353: Expression* copyLiteral(Expression*): 
 Assertion `0' failed.
 Aborted (core dumped)

 The line it fails on is here, but I have not managed to get a 
 reduced testcase to fail yet..

 struct Addr {
   alias uint tProcId;
   alias uint tNodeId;

   const PROC_INVALID    = 0;
   const NODE_SELF       = 0;

   tProcId m_procId = PROC_INVALID;  // << This is the line
   tNodeId m_nodeId = NODE_SELF;


  ....
 }

Also inside the struct is the following constructor.. Commenting it out removes the ICE: this(tProcId procId, tNodeId nodeId) { m_procId = procId; m_nodeId = nodeId; }
Mar 24 2013
prev sibling next sibling parent "lomereiter" <lomereiter gmail.com> writes:
DustMite (https://github.com/CyberShadow/DustMite) is an 
invaluable tool for reducing test cases like this. I have to use 
it after each frontend update =\
Mar 24 2013
prev sibling next sibling parent =?UTF-8?B?IsOYaXZpbmQi?= <oivind.loe gmail.com> writes:
On Sunday, 24 March 2013 at 18:16:03 UTC, lomereiter wrote:
 DustMite (https://github.com/CyberShadow/DustMite) is an 
 invaluable tool for reducing test cases like this. I have to 
 use it after each frontend update =\

Thanks! After running, my project is reduced to a small set of files. There are now also a couple of regular compiler errors before the ICE (introduced by dustmite), but the ICE should not be there anyway.. Should I zip the remaining files with instructions and post them on the tracker, or do I need to take steps to remove the first errors? Here is the output now: Compiling: src/main.d -> build/debug/src/main.o src/boss/core/addr.d(9): Error: undefined identifier procId, did you mean alias tProcId? src/boss/core/annotstruct.d(3): Error: no identifier for declarator index src/boss/core/annotstruct.d(3): Error: semicolon expected, not 'EOF' src/boss/core/annotstruct.d(3): Error: undefined identifier index src/boss/core/annotstruct.d(3): Error: constructor addr.Addr.this (_error_, uint) is not callable using argument types (uint,uint) src/boss/core/addr.d(6): Error: Internal Compiler Error: CTFE literal cast(uint)PROC_INVALID dmd: ctfeexpr.c:353: Expression* copyLiteral(Expression*): Assertion `0' failed. Aborted (core dumped) make[1]: *** [build/debug/src/main.o] Error 134
Mar 24 2013
prev sibling next sibling parent Iain Buclaw <ibuclaw ubuntu.com> writes:
--000e0cd6af72c11c6d04d8b24adc
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 24 March 2013 21:15, "=D8ivind" <oivind.loe gmail.com> wrote:

 On Sunday, 24 March 2013 at 18:16:03 UTC, lomereiter wrote:

 DustMite (https://github.com/**CyberShadow/DustMite<https://github.com/C=


 is an invaluable tool for reducing test cases like this. I have to use i=


 after each frontend update =3D\

Thanks! After running, my project is reduced to a small set of files. There are now also a couple of regular compiler errors before the ICE (introduced by dustmite), but the ICE should not be there anyway.. Should=

 zip the remaining files with instructions and post them on the tracker, o=

 do I need to take steps to remove the first errors?

 Here is the output now:

 Compiling: src/main.d -> build/debug/src/main.o
 src/boss/core/addr.d(9): Error: undefined identifier procId, did you mean
 alias tProcId?
 src/boss/core/annotstruct.d(3)**: Error: no identifier for declarator
 index
 src/boss/core/annotstruct.d(3)**: Error: semicolon expected, not 'EOF'
 src/boss/core/annotstruct.d(3)**: Error: undefined identifier index
 src/boss/core/annotstruct.d(3)**: Error: constructor addr.Addr.this
 (_error_, uint) is not callable using argument types (uint,uint)
 src/boss/core/addr.d(6): Error: Internal Compiler Error: CTFE literal
 cast(uint)PROC_INVALID

 dmd: ctfeexpr.c:353: Expression* copyLiteral(Expression*): Assertion `0'
 failed.
 Aborted (core dumped)
 make[1]: *** [build/debug/src/main.o] Error 134

http://d.puremagic.com/issues/ --=20 Iain Buclaw *(p < e ? p++ : p) =3D (c & 0x0f) + '0'; --000e0cd6af72c11c6d04d8b24adc Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On 2= 4 March 2013 21:15, &quot;=D8ivind&quot; <span dir=3D"ltr">&lt;<a href=3D"m= ailto:oivind.loe gmail.com" target=3D"_blank">oivind.loe gmail.com</a>&gt;<= /span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-= left:1px solid rgb(204,204,204);padding-left:1ex"><div class=3D"im">On Sund= ay, 24 March 2013 at 18:16:03 UTC, lomereiter wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-= left:1px solid rgb(204,204,204);padding-left:1ex"> DustMite (<a href=3D"https://github.com/CyberShadow/DustMite" target=3D"_bl= ank">https://github.com/<u></u>CyberShadow/DustMite</a>) is an invaluable t= ool for reducing test cases like this. I have to use it after each frontend= update =3D\<br> </blockquote> <br></div> Thanks! After running, my project is reduced to a small set of files. There= are now also a couple of regular compiler errors before the ICE (introduce= d by dustmite), but the ICE should not be there anyway.. Should I zip the r= emaining files with instructions and post them on the tracker, or do I need= to take steps to remove the first errors?<br> <br> Here is the output now:<br> <br> Compiling: src/main.d -&gt; build/debug/src/main.o<br> src/boss/core/addr.d(9): Error: undefined identifier procId, did you mean a= lias tProcId?<br> src/boss/core/annotstruct.d(3)<u></u>: Error: no identifier for declarator = index<br> src/boss/core/annotstruct.d(3)<u></u>: Error: semicolon expected, not &#39;= EOF&#39;<br> src/boss/core/annotstruct.d(3)<u></u>: Error: undefined identifier index<br=

error_, uint) is not callable using argument types (uint,uint)<br> src/boss/core/addr.d(6): Error: Internal Compiler Error: CTFE literal cast(= uint)PROC_INVALID<div class=3D"im"><br> dmd: ctfeexpr.c:353: Expression* copyLiteral(Expression*): Assertion `0&#39= ; failed.<br> Aborted (core dumped)<br></div> make[1]: *** [build/debug/src/main.o] Error 134<br> <br> </blockquote></div><br></div><div class=3D"gmail_extra">Put it in a new bug= report please.<br clear=3D"all"></div><div class=3D"gmail_extra"><br><a hr= ef=3D"http://d.puremagic.com/issues/">http://d.puremagic.com/issues/</a><br=
<br>

&#39;; </div></div> --000e0cd6af72c11c6d04d8b24adc--
Mar 24 2013
prev sibling parent =?UTF-8?B?IsOYaXZpbmQi?= <oivind.loe gmail.com> writes:
 Put it in a new bug report please.

 http://d.puremagic.com/issues/

Done: http://d.puremagic.com/issues/show_bug.cgi?id=9847
Mar 31 2013