ncannasse / hxsl

Haxe Shader Language, a high level 3D shader language for Haxe
86 stars 10 forks source link

hxsl package air app store.make type error #32

Closed matrix3d closed 9 years ago

matrix3d commented 10 years ago

https://groups.google.com/forum/#!topic/haxelang/gXw2iIfyjcU

mikedotalmond commented 10 years ago

Hi - I've just come across the same issue, and have some more details to add....


I'm building a Flambe project, and trying it out on an iPad2, using the AIR 15 SDK (latest)

It works as expected (no error) on Android, so it may be an iOS packaging issue. I'm not packaging for app store, just ad-hoc builds.

Debugging it, I can see that the e.__constructs__ property referenced within createEnumIndex is null...

error

The error appears to happen for both debug and release builds.

matrix3d commented 10 years ago

@mikedotalmond this is a bug of adobe.i have add bug to adobo 4 moth ago.but the adobe can not fixed the bug.may be this can be fixed by hxsl?https://bugbase.adobe.com/index.cfm?event=bug&id=3772511. or pls vote the bug.need many vote

matrix3d commented 10 years ago

may be the adobe team limt the haxe team!

aduros commented 10 years ago

Do you guys know if it's just Type.createEnumIndex that fails under the new packager? It might be possible for Haxe to change the way enums are compiled to appease the new packager.

Simn commented 10 years ago

That would require understanding what the actual issue is.

aduros commented 10 years ago

@Simn Adobe AIR has a new compiler for iOS, which seems to break some Haxe code. It's almost certainly a bug in AIR. Apparently the __constructs__ field doesn't get properly set on enums, which causes a null pointer error in createEnumIndex.

As a workaround, users can pass -useLegacyAOT yes to the AIR compiler.

Simn commented 10 years ago

I got that part, but why is that particular field such a problem?

aduros commented 10 years ago

¯(°_o)/¯

Maybe the way that field is injected onto the class at initialization doesn't work with the new AOT. (generate_enum_init in genswf9.ml)

Simn commented 10 years ago

Does __meta__ still work? It seems to be generated the same way.

matrix3d commented 10 years ago

my god! i have write this to some group half year. this is a bug can be fix by adobe or haxe. but why no adobe ,haxe talk with me? this true a bug!why nobody fix it? my native3dlib use this lib. it can not package ipa use new package. and also can not package ipa use old package.

ncannasse commented 9 years ago

Took me hours to track down but it should now be fixed https://github.com/HaxeFoundation/haxe/commit/bda012b966d0cce018f385b1ea1638c4666ea479

aduros commented 9 years ago

Whoa, thanks a lot Nicolas! I can't wait to try it out!

Simn commented 9 years ago

Oh the wonders of List.rev...

ncannasse commented 9 years ago

Actually there seems to still have a problem with Type.createEnumIndex. Accessing the constructs works (I was debugging Type.allEnums). I'll finish the debug next week.

ncannasse commented 9 years ago

I've hopefully definitely fixed the issue in https://github.com/HaxeFoundation/haxe/commit/506f85afc2193da819911fe99b381209af684922

matrix3d commented 9 years ago

nice