olety / cjass

Preserving cjass code from code.google.com/p/cjass
0 stars 0 forks source link

Locals auto flush crash (version 1.4.2.33) and compile error (in 1.4.2.30) #21

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
<1.4.2.30 - compile error report>

When I try to compile, pjass gives me around 50 errors from all over the map 
(from line 1018 to 6362)

Error messages:
Line 1018: Undeclared variable cj_v666_nothing
Line 1018: Cannot return value from function that returns nothing

error in line: 
return cj_v666_nothing

Line 1037: Undeclared variable cj_v666_integer
Line 1629: Undeclared variable cj_v666_nothing
...
etc

 All reports are actually very similar, either `undeclared variable cj_v666_<type>` or `Cannot return value from func that returns nothing`

<1.4.2.33 - crash report>

When I try to compile my map with locals auto flush enabled, something bad 
happens. AdicHelper doesn't give error, but my Visual Studio installed, and it 
laucnhes the "Just-in-time Debugger". 

If you ignore it once, it tries launch the second time. (2nd error?) If you 
ignore it again, the cJass compilation finishes and pjass outputs some errors 
for my map.

Here's the disassembly code it outputs the first time: (one line in center is 
highlighted by a yellow arrow, probably where the problem is)

00406117  add         edx,8  
0040611A  pop         eax  
0040611B  add         esp,4  
0040611E  or          dword ptr [edx],eax  
00406120  add         edx,8  
00406123  cmp         dword ptr [esp+4],0  
00406128  jne         0040611A  
0040612A  pop         dword ptr ds:[53ABD2h]  
00406130  add         esp,4  
00406133  jmp         ebp  
00406135  cmp         byte ptr ds:[53A3BFh],0  
0040613C  je          004061D9  
00406142  lea         ecx,[esi+5]  
00406145  xor         eax,eax  
00406147  inc         ecx  
00406148  cmp         word ptr [ecx],0A0Dh  
0040614D  je          004061D9  
00406153  mov         al,byte ptr [ecx]  
00406155  cmp         byte ptr [eax+40D275h],ah  
0040615B  je          00406147  
0040615D  lea         ebp,[esp-8]  
00406161  add         ebp,8  
00406164  mov         edx,ecx  
00406166  mov         ebx,dword ptr [ebp+4]  
00406169  test        ebx,ebx  
0040616B  je          004061C9  
0040616D  mov         al,byte ptr [edx]  
0040616F  cmp         byte ptr [eax+40D275h],ah  
00406175  je          0040617F  
00406177  cmp         al,byte ptr [ebx]  
00406179  jne         00406161  
0040617B  inc         ebx  
0040617C  inc         edx  
0040617D  jmp         0040616D  
0040617F  mov         al,byte ptr [ebx]  
00406181  cmp         byte ptr [eax+40D275h],ah  
00406187  jne         00406161  
00406189  cmp         dword ptr [ebp],0  
0040618D  je          004061C9  
0040618F  mov         eax,dword ptr ds:[0053A3B3h]  
00406194  mov         dword ptr [edi],20746573h  
0040619A  mov         dword ptr [edi+4],765F6A63h  
004061A1  mov         dword ptr [edi+8],5F363636h  
004061A8  add         edi,0Ch  
004061AB  call        00405A3E  
004061B0  mov         byte ptr [edi],3Dh  
004061B3  inc         edi  
004061B4  add         esi,6  
004061B7  movs        byte ptr es:[edi],byte ptr [esi]  
004061B8  cmp         word ptr [edi-2],0A0Dh  
004061BE  jne         004061B7  
004061C0  mov         byte ptr ds:[53A3C0h],1  
004061C7  jmp         004061D9  
004061C9  inc         ecx  
004061CA  mov         al,byte ptr [ecx]  
004061CC  cmp         byte ptr [eax+40D275h],ah  
004061D2  jne         004061C9  
004061D4  jmp         00406148  
004061D9  cmp         byte ptr ds:[542BF9h],0  
004061E0  je          004061EC  
004061E2  push        4061D9h  
004061E7  call        00406105  
004061EC  pop         eax  
004061ED  pop         ebx  
004061EE  test        ebx,ebx  
004061F0  je          00406221  
004061F2  test        eax,eax  
004061F4  je          004061EC  
004061F6  mov         dword ptr [edi],20746573h  
004061FC  add         edi,4  
004061FF  mov         al,byte ptr [ebx]  ; THIS LINE IS HIGHLIGHTED BY YELLOW 
ARROW !!! (probably where the error is?)
00406201  cmp         byte ptr [eax+40D275h],ah  
00406207  je          0040620F  
00406209  mov         byte ptr [edi],al  
0040620B  inc         ebx  
0040620C  inc         edi  
0040620D  jmp         004061FF  
0040620F  mov         dword ptr [edi],6C756E3Dh  
00406215  mov         dword ptr [edi+4],0A0D6Ch  
0040621C  add         edi,7  
0040621F  jmp         004061EC  
00406221  cmp         byte ptr ds:[53A3C0h],0  
00406228  je          00406277  
0040622A  mov         dword ptr ds:[53A3C0h],0  
00406234  mov         byte ptr ds:[53A3C1h],1  
0040623B  mov         dword ptr [edi],75746572h  
00406241  mov         dword ptr [edi+4],63206E72h  
00406248  mov         dword ptr [edi+8],36765F6Ah  
0040624F  mov         dword ptr [edi+0Ch],5F5F3636h  
00406256  add         edi,0Fh  
00406259  mov         ecx,dword ptr ds:[53A3B3h]  
0040625F  xor         eax,eax  
00406261  mov         al,byte ptr [ecx]  
00406263  cmp         byte ptr [eax+40D275h],ah  
00406269  je          0040626F  
0040626B  stos        byte ptr es:[edi]  
0040626C  inc         ecx  
0040626D  jmp         00406261  
0040626F  mov         word ptr [edi],0A0Dh  
00406274  add         edi,2  
00406277  ret  
00406278  add         esp,8  
0040627B  ret  
0040627C  cmp         eax,6D646E65h  
00406281  jne         0040629D  
00406283  cmp         dword ptr [esi+4],6F687465h  
0040628A  jne         0040629D  
0040628C  cmp         byte ptr [esi+8],64h  
00406290  jne         0040629D  
00406292  cmp         byte ptr [esi+9],20h  
00406296  jg          0040629D  
00406298  jmp         0040534E  
0040629D  mov         ecx,esi  
0040629F  xor         ebp,ebp  
004062A1  inc         ecx  
004062A2  mov         eax,dword ptr [ecx]  
004062A4  cmp         al,22h  
004062A6  jne         004062B8  
004062A8  inc         ecx  
004062A9  cmp         byte ptr [ecx],5Ch  
004062AC  jne         004062B1  
004062AE  add         ecx,2  
004062B1  cmp         byte ptr [ecx],22h  
004062B4  jne         004062A8  
004062B6  jmp         004062A1  
004062B8  cmp         ax,0A0Dh  
004062BC  jne         004062D9  
004062BE  cmp         ebp,4  
004062C1  jb          00407337  
004062C7  mov         dword ptr [edi],6C6C6163h  
004062CD  mov         byte ptr [edi+4],20h  
004062D1  add         edi,5  
004062D4  jmp         00407337  
004062D9  cmp         al,28h  
004062DB  jne         004062E2  
004062DD  or          ebp,4  
004062E0  jmp         004062A1  
004062E2  cmp         al,3Dh  
004062E4  jne         00406315  
004062E6  cmp         ax,3D3Dh  
004062EA  jne         004062EF  
004062EC  inc         ecx  
004062ED  jmp         004062A1  
004062EF  cmp         ax,3D3Dh  
004062F3  je          004062A1  
004062F5  cmp         byte ptr [ecx-1],3Ch  
004062F9  je          004062A1  
004062FB  cmp         byte ptr [ecx-1],3Eh  
004062FF  je          004062A1  
00406301  cmp         byte ptr [ecx-1],21h  
00406305  je          004062A1  
00406307  mov         dword ptr [edi],20746573h  
0040630D  add         edi,4  
00406310  jmp         00407337  
00406315  cmp         eax,0A0D2B2Bh  
0040631A  jne         00406323  
0040631C  mov         word ptr [ecx],7001h  
00406321  jmp         00406307  
00406323  cmp         eax,6062B2Bh  
00406328  jne         00406331  
0040632A  mov         word ptr [ecx],7001h  
0040632F  jmp         00406307  
00406331  cmp         eax,0A0D2D2Dh  
00406336  jne         0040633F  
00406338  mov         word ptr [ecx],6D01h  
0040633D  jmp         00406307  
0040633F  cmp         eax,6062D2Dh  
00406344  jne         0040634D  
00406346  mov         word ptr [ecx],6D01h  
0040634B  jmp         00406307  
0040634D  cmp         al,20h  
0040634F  jne         00406359  
00406351  or          ebp,1  
00406354  jmp         004062A1  
00406359  cmp         al,5Bh  
0040635B  jne         00406365  
0040635D  or          ebp,2  
00406360  jmp         004062A1  
00406365  cmp         ebp,1  
00406368  jne         004062A1  
0040636E  cmp         al,41h  
00406370  jb          004062A1  
00406376  cmp         al,5Ah  
00406378  jbe         0040638A  
0040637A  cmp         al,61h  

Original issue reported on code.google.com by evgkoc...@gmail.com on 12 Aug 2011 at 2:47

GoogleCodeExporter commented 9 years ago
Bug with cj_v666_nothing are fixed in 33, but 33 have another bug (Черт, 
просто опечатка, плохо кодить после того, 
как копал картошку). Wait for 1.4.2.34

Original comment by adi...@gmail.com on 12 Aug 2011 at 5:18

GoogleCodeExporter commented 9 years ago
already fixed =)

Original comment by doctorge...@gmail.com on 13 Aug 2011 at 6:43