2 Replies Latest reply on Aug 13, 2009 7:11 PM by youplaboom

    brcc.exe crashes [bug report]

    Raistmer
      Kernel attached

      I added few more kernels, brcc.exe found some errors in them, I resolved problems... and then, on next compilation attempt, brcc crashed.
      Restarting of MS-VS didn't help.

      Is there some limit on br file size?
      What can I do to get brook compiler back to work (and secure build environment from such crashes in future) ?

        • brcc.exe crashes
          Raistmer
          Well, attached kernel leads to brcc.exe crash.
          I know, there is unalowed switch statement.
          But compiler should report syntax error (as it did for switch before, in other kernel), and not to crash badly.

          Consider it as bug report.

          kernel void GPU_coadd_kernel3_54(float src[][],int size[],out float4 dest<>) { int threadID=instance().y; int i=instance().x; float4 o; float4 i1; float4 i2; float i3; float i4; int ln=(size[threadID])>>2;//R:last elements will be treated separately if(i>ln)return; if(i<ln){ i1.x=src[threadID][8*i]; i2.x=src[threadID][8*i+1]; i1.y=src[threadID][8*i+2]; i2.y=src[threadID][8*i+3]; i1.z=src[threadID][8*i+4]; i2.z=src[threadID][8*i+5]; i1.w=src[threadID][8*i+6]; i2.w=src[threadID][8*i+7]; o=i1+i2; dest=o; }else{ //R:last elements //o=0.f; switch(size[threadID]-ln*4){ case 1:o.x=src[threadID][8*ln]+src[threadID][8*ln+1];//R:no break,falling through to next case case 2:o.y=src[threadID][8*ln+2]+src[threadID][8*ln+3]; case 3:o.z=src[threadID][8*ln+4]+src[threadID][8*ln+5]; } dest=o; } }

            • brcc.exe crashes [bug report]
              youplaboom

              I had many of these brcc crashes for no particular reason; sometimes a simple blank line inserted in the code would prevent the crash (!?)

              That was really infuriating...

              I think something is really buggy in the memory management of brcc; since that tends to appear when the brook code is large enough.

              Anyway I found that forcing brcc.exe/brcc_d.exe to run in windows 95 compatibility mode, prevents the no-reason-crash. (file property->compatibility mode-> Run for...-> Windows 95)

              It still crashes sometimes when there's an error in the brook code, but at least I know I have to check the code.