Quick Links: Download Gideros Studio | Gideros Documentation | Gideros community chat | DONATE
tvOS crash simulated in real device and symbolicated crash logs... - Page 2 — Gideros Forum

tvOS crash simulated in real device and symbolicated crash logs...

2

Comments

  • SinisterSoftSinisterSoft Maintainer
    edited December 2015
    Not yet, been watching tv this morning with the kids. Will try get a look at it though in the next 24 hours or so.

    Likes: MobAmuse

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+1 / -0 )Share on Facebook
  • I'm not sure you will actually get anywhere with it anyway in reality as I did a clean install of Xcode 7.2 on another mac here to be safe and exported the bird example ipa and it still crashed with bitcode enabled on export. Must be a specific bug to TV given hgy29 tried the same thing with iphone and it worked. That will take some finding with no useful crash logs :P
  • Have you tried deleting the contents of the assets folder in the xcode project and seeing if it starts up as a player when exported - that way we will know if it's a problem before a specific point.

    Likes: MobAmuse

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+1 / -0 )Share on Facebook
  • MobAmuseMobAmuse Member
    edited December 2015
    Thanks.

    Results are as follows...

    Removing assets folder makes TV player .ipa work with bitcode on!

    Removing Luafiles.txt but leaving assets folder results in it working .ipa with white screen but NO crash.

    Sending Lua code down from Gideros to what is now a working bitcoded TV player .ipa = everything works regards that at least.
  • I've now got the bird example (pic below) and took it down to this basic level which simply displays a background in Lua.

    I see this warning a fair bit on the xcode output log just doing that when I send it down to the now working bit coded tvOS player tho...

    'GL Program log:WARNING: Could not find vertex shader attribute 'vVertex' to match BindAttributeLocation request.'
    Screen Shot 2015-12-12 at 12.47.48 pm copy.png
    919 x 275 - 44K
  • MobAmuseMobAmuse Member
    edited December 2015
    Finally sending that down as a bitcoded development ipa to the TV via devices - WORKS!

    Conclusion: the only thing I removed was the sprites part of the bird demo and .pngs - strange, as it breaks with those in. I will test that again just to be 100% sure!!!
  • Plus...

    Jumping Balls 2 demo (original) when not bitcoded and sent to TV = works

    Jumping Balls 2 demo (original) when bitcoded and sent to TV = White screen only but no crash.
  • Seems like when I delete anything to do with the sprites in code and assets it works?
  • Can you test loading the png bitmaps eg Texture.new(

    But then nop out the bit that adds them as a bitmap, eg Bitmap.new( and the bit that makes them a child of the screen eg. scene:addChild(

    If that works then bring back the Bitmap.new( and see if that also works...


    Likes: MobAmuse

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+1 / -0 )Share on Facebook
  • Also try it with encryption for assets/code off if you can...

    Likes: MobAmuse

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+1 / -0 )Share on Facebook
  • That works fine.

    Putting the sprites back in the bird demo and turning off code and assets encryption WORKS!

    I will try which encryption next is affected when output bitcoded as a final test.
  • MobAmuseMobAmuse Member
    edited December 2015
    Same bitcoded output with code encryption alone breaks it and it crashes on TV.
  • MobAmuseMobAmuse Member
    edited December 2015
    Same bitcoded output with asset encryption alone breaks it and it crashes on TV.
  • Conclusion: Lua Code or Asset encryption on export breaks bitcoded ipa output on real tvOS device.

    I imagine my original app will now work if I export it without any encryption into Xcode before I archive and bitcode it. Just going to find out :P
  • Watch this space!...
  • Nope: It white screens and I get a crash log doing that.
    Incident Identifier: B82BE21A-7628-4BBD-A3A1-831FAE4B6C4B
    CrashReporter Key:   fb45bd8495e1a2641b75cd95b6025825e1695914
    Hardware Model:      AppleTV5,3
    Process:             Crock O'Gold Slots TV [448]
    Path:                /private/var/mobile/Containers/Bundle/Application/19E3EB31-AA11-4867-8C6A-D7FDD9A10A8A/Crock O'Gold Slots TV.app/Crock O'Gold Slots TV
    Identifier:          com.mobileamusements.COGSATV
    Version:             6.0 (6.0)
    Code Type:           ARM-64 (Native)
    Parent Process:      launchd [1]
     
    Date/Time:           2015-12-12 14:27:52.52 +0000
    Launch Time:         2015-12-12 14:27:51.51 +0000
    OS Version:          Apple TVOS 9.1 (13U85)
    Report Version:      105
     
    Exception Type:  EXC_CRASH (SIGABRT)
    Exception Codes: 0x0000000000000000, 0x0000000000000000
    Exception Note:  EXC_CORPSE_NOTIFY
    Triggered by Thread:  0
     
    Filtered syslog:
    None found
     
    Last Exception Backtrace:
    0   CoreFoundation                	0x1827cd8e8 __exceptionPreprocess + 124
    1   libobjc.A.dylib               	0x181e3bf80 objc_exception_throw + 56
    2   Crock O'Gold Slots TV         	0x100164530 0x100060000 + 1066288
    3   Crock O'Gold Slots TV         	0x100163fb8 0x100060000 + 1064888
    4   Crock O'Gold Slots TV         	0x100163a08 0x100060000 + 1063432
    5   Crock O'Gold Slots TV         	0x100164ab8 0x100060000 + 1067704
    6   Crock O'Gold Slots TV         	0x100070bf4 0x100060000 + 68596
    7   UIKit                         	0x187466354 -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 400
    8   UIKit                         	0x187695318 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 2904
    9   UIKit                         	0x187699694 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1672
    10  UIKit                         	0x18769679c -[UIApplication workspaceDidEndTransaction:] + 168
    11  FrontBoardServices            	0x183d73790 -[FBSSerialQueue _performNext] + 184
    12  FrontBoardServices            	0x183d73b10 -[FBSSerialQueue _performNextFromRunLoopSource] + 56
    13  CoreFoundation                	0x182784ee4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
    14  CoreFoundation                	0x182784978 __CFRunLoopDoSources0 + 540
    15  CoreFoundation                	0x182782678 __CFRunLoopRun + 724
    16  CoreFoundation                	0x1826b16c0 CFRunLoopRunSpecific + 384
    17  UIKit                         	0x18745f1d0 -[UIApplication _run] + 460
    18  UIKit                         	0x187459cd4 UIApplicationMain + 204
    19  Crock O'Gold Slots TV         	0x1000714c0 0x100060000 + 70848
    20  libdyld.dylib                 	0x182252974 start + 4
     
     
    Thread 0 name:  Dispatch queue: com.apple.main-thread
    Thread 0 Crashed:
    0   libsystem_kernel.dylib        	0x0000000182370140 __pthread_kill + 8
    1   libsystem_pthread.dylib       	0x0000000182438ef8 pthread_kill + 112
    2   libsystem_c.dylib             	0x00000001822e2198 abort + 140
    3   libc++abi.dylib               	0x0000000181e153f4 __cxa_bad_cast + 0
    4   libc++abi.dylib               	0x0000000181e31e98 default_unexpected_handler() + 0
    5   libobjc.A.dylib               	0x0000000181e3c248 _objc_terminate() + 124
    6   libc++abi.dylib               	0x0000000181e2ef44 std::__terminate(void (*)()) + 16
    7   libc++abi.dylib               	0x0000000181e2eb10 __cxa_rethrow + 144
    8   libobjc.A.dylib               	0x0000000181e3c120 objc_exception_rethrow + 44
    9   CoreFoundation                	0x00000001826b1768 CFRunLoopRunSpecific + 552
    10  UIKit                         	0x000000018745f1d0 -[UIApplication _run] + 460
    11  UIKit                         	0x0000000187459cd4 UIApplicationMain + 204
    12  Crock O'Gold Slots TV         	0x00000001000714c0 0x100060000 + 70848
    13  libdyld.dylib                 	0x0000000182252974 start + 4
  • MobAmuseMobAmuse Member
    edited December 2015
    If I run the code to the Apple TV direct from xcode I now even see this error in the output log window with no lua code or asset encryption so something is deffo going on.

    Crazy that I can run directly from Xcode WITH Lua code and asset encryption - meh?

    Mind blown.
    Screen Shot 2015-12-12 at 2.32.09 pm.png
    2551 x 629 - 263K
  • Did you try these tests with encryption on:

    Can you test loading the png bitmaps eg Texture.new(

    But then nop out the bit that adds them as a bitmap, eg Bitmap.new( and the bit that makes them a child of the screen eg. scene:addChild(

    If that works then bring back the Bitmap.new( and see if that also works...

    Likes: MobAmuse

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+1 / -0 )Share on Facebook
  • btw, when in player mode - there is no encryption, that is only applied on export.

    Likes: MobAmuse

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+1 / -0 )Share on Facebook
  • SinisterSoftSinisterSoft Maintainer
    edited December 2015
    Try this:

    Full export of your game with encryption turned off. Not just assets only.

    I think there may be a bug (with ios export) with the full export being the same as the assets export regarding encryption. Eg if you originally exported with encryption then when you export assets then they also need to have encryption. If you export fill without encryption then the same applies.
    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
  • I just did a new fresh export from Gideros without any encryption and it all worked fine when I exported the bit coded ipa.

    New conclusion then: Gideros encryption breaks it on tvOS.
  • It would mean loading the final app(s) to the store in a rather open state which is not ideal in this case.
  • Question, does the encryption export work on ios?

    If yes, then is it bitcode stuff messing up encryption, when removing debug stuff from binaries or something like that?
  • MobAmuseMobAmuse Member
    edited December 2015
    I've not been able to test that on iOS as I don't have bitcode enabled gideros libs for iOS of course. It looks like hgy29 tried it and was OK but then I don't know if he exported his Lua code and assets for the test with encryption before his own test.

    It 100% screws up encrypted stuff for tvOS tho of that I am now sure.

    All my 3 tvOS apps are now working on TV hardware from exported bitcoded .ipa's. None are encrypted tho :(
  • Maybe the location where the key is copied into is the wrong place - maybe the bitcode has a signature by coincidence that make the thing that inserts the key insert in the wrong place?

    OR

    The byte data that you have in a bitcode program may be stored differently than in an Arm or x86 program.

    Likes: MobAmuse

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    Turns out that bitcode stores data bitwise (not bytewise), but gideros only perform bytewise replacements. For this to bitcoded encryption we need to make gdrexport replace key pattern bitwise...
    +1 -1 (+2 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    @MobAmuse, I'd like to build you a modified version of gdrexport so that you can check if it works or not, do you use OSX or Win32 for exporting ?

    Likes: MobAmuse

    +1 -1 (+1 / -0 )Share on Facebook
  • MobAmuseMobAmuse Member
    edited December 2015
    @hgy29 I use OSX for gideros dev thanks.






  • hgy29hgy29 Maintainer
    edited December 2015
    Here it is. You have to place it into your Gideros Studio package, Tools subdirectory. Make a backup of the existing file in case it doesn't work, because I didn't have time to check myself.

    Hope it works.

    EDIT: Just tried, pattern matching works but replacement doesn't. Don't bother trying then...

    Likes: MobAmuse

    +1 -1 (+1 / -0 )Share on Facebook
  • MobAmuseMobAmuse Member
    edited December 2015
    Ah OK only just back to normal here after family invasion.

    I won't try then in that case.
Sign In or Register to comment.