HaxeFoundation / haxe

Haxe - The Cross-Platform Toolkit
https://haxe.org
6.16k stars 657 forks source link

[Windows Installer Build] Intermittent issues compiling #6112

Closed jgranick closed 7 years ago

jgranick commented 7 years ago

I just installed Haxe 3.4.2 using the official Windows Installer build

Unfortunately, the first time I used haxe, it threw a confusing error:

C:/Development/Haxe/openfl/openfl/geom/Matrix3D.hx:647: characters 2-19 : No @:arrayAccess function accepts arguments of Float and Float

The line in question is references an abstract type with array access:

rawData[12] = 0.0;

No Float. Subsequent builds work, with no error.

Then "haxe.exe" has an unknown error, and crashes.

Then it works, then it throws another error:

C:\HaxeToolkit\haxe\std/haxe/macro/Context.hx:381: characters 9-37 : Invalid input value C:\HaxeToolkit\haxe\std/haxe/macro/ComplexTypeTools.hx:51: characters 28-71 : Called from C:/Development/Haxe/lime/lime/_macros/CFFIMacro.hx:60: characters 57-75 : Called from C:/Development/Haxe/lime/lime/system/CFFI.hx:47: characters 9-41 : Called from C:/Development/Haxe/lime/lime/_backend/native/NativeCFFI.hx:25: characters 1-7 : Called from Aborted

Then the next build works.

I had a similar problem with the Haxe 3.4.0 official Windows Installer, but no problem with nearby Windows development builds. I think there is an issue with how the binary is built?

I hope we also can preserve the performance gains determined by this issue:

https://github.com/HaxeFoundation/haxe/issues/5928

I'd love a 200% performance gain :wink:

jgranick commented 7 years ago

I am repeatedly asked why we do not link to Haxe 3.4.2 on our Download page. I decided to give it a try again, so download the official Haxe 3.4.2 Windows installer, ran it, then allowed it to reboot my system. Upon reboot, two subsequent Neko builds worked, but building to C++ provides the following output:

C:\Projects\Samples\PiratePig>lime test windows
C:/Development/Haxe/lime/lime/utils/AssetLibrary.hx:40: characters 42-56 : Type not found : Class   .  h⌠╚⌠  ╙b└   H₧Ü ,⌠∞⌠  ╝Å

Retry

C:\Projects\Samples\PiratePig>lime test windows
Creating C:/Projects/Samples/PiratePig/Export/windows/cpp/release/obj/obj/msvc19-ncxp/__pch/haxe/hxcpp.pch...
hxcpp.cpp

Compiling group: haxe
cl.exe -Iinclude -nologo /WX- /fp:precise -DHX_WINDOWS -D_USING_V140_SDK71_ -GR -O2(optim-std) -Zi(debug) -FdC:\Projects\Samples\PiratePig\Export\windows\cpp\release\obj\obj/msvc19-ncxp/vc.pdb(debug) -Od(debug) -O2(release) -Os(optim-size) -FS -Oy- -c -EHs -GS- -arch:SSE2 -IC:/Development/Haxe/hxcpp/include -DHXCPP_VISIT_ALLOCS(haxe) -DHXCPP_API_LEVEL=331(haxe) -D_CRT_SECURE_NO_DEPRECATE -D_ALLOW_MSC_VER_MISMATCH -D_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH -DHX_WIN_MAIN(main) -wd4996 ... tags=[haxe,static]
 - src/sys/io/Process.cpp
 - src/sys/io/_Process/Stdin.cpp
 - src/sys/io/_Process/Stdout.cpp

It worked two more times, then I tried Neko again, and haxe.exe crashed with a Windows dialog, then it worked again on the second try.

This is really the same behavior as this issue: https://github.com/HaxeFoundation/haxe/issues/5986

Surprised there haven't been more reports. Have you heard other people with similar experiences with the official release on Windows?

f-rank commented 7 years ago

This sort of random error throwing during builds plagues cpp bin target for me. Rarely happens when target is flash. I can't believe it isn't being reported more often. On Haxe 3.4.2 on Windows 10 it just throws out an error and then will go on and generate the binary with no problem on the next try. Haven't found this issue under Linux. It seems much snappier and way faster to compile there. There are also big waits, 20+ minutes sometimes when compiling halts on resources and sometimes boot if memory doesn't fail me, also didn't happen before. Task manager shows 25% +/- cpu usage and it just keeps going. Been telling people to just wait it out or to just recompile.

Simn commented 7 years ago

Closing favor of #5986.