playMaker

Author Topic: Crash on Level Load  (Read 7945 times)

nick_h82

  • Playmaker Newbie
  • *
  • Posts: 36
Crash on Level Load
« on: August 01, 2013, 07:13:17 AM »
Hi, I've been using the level load action successfully for a while.

Hadn't built an IOS build for a few weeks, but did so recently after updating to Unity 4.2 and Playmaker 1.6.3, to find the game now crashes when the scene changes.

Xcode profiler shows the following, I apologise if it's not specifically the action causing the crash:

LoadLevel: SceneryStart
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:Log(Object)
HutongGames.PlayMaker.Actions.LoadLevel:OnEnter()
HutongGames.PlayMaker.FsmState:OnEnter()
HutongGames.PlayMaker.Fsm:EnterState(FsmState)
HutongGames.PlayMaker.Fsm:SwitchState(FsmState)
HutongGames.PlayMaker.Fsm:UpdateStateChanges()
HutongGames.PlayMaker.Fsm:OnTriggerEnter(Collider)
PlayMakerTriggerEnter:OnTriggerEnter(Collider)
 
(Filename: /Applications/buildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 54)

UnloadTime: 30.895958 ms
System memory in use before: 2.5 MB.
Unloading 4 Unused Serialized files (Serialized files now loaded: 0 / Dirty serialized files: 0)
System memory in use after: 2.4 MB.

Unloading 2 unused Assets to reduce memory usage. Loaded Objects now: 1314.
Total: 26.758541 ms (FindLiveObjects: 0.843708 ms CreateObjectMapping: 0.408541 ms MarkObjects: 21.980415 ms  DeleteObjects: 0.232208 ms)

2013-08-01 23:09:37.047 CallaeasAlpha1[469:707] -[__NSCFDictionary UTF8String]: unrecognized selector sent to instance 0xddb5ce0
2013-08-01 23:09:37.053 CallaeasAlpha1[469:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary UTF8String]: unrecognized selector sent to instance 0xddb5ce0'
*** First throw call stack:
(0x34eb788f 0x36e85259 0x34ebaa9b 0x34eb9915 0x34e14650 0x128a3e8 0x12930f4 0x15e45fc 0xbe05d4 0x3695a8 0x3a3c58 0x3a3a38 0x3a3738 0x3a19a4 0x3a2204 0x3a2850 0x3a2bc0 0x36f2f0 0x113426c 0x1815288 0x18b8308 0x151a358 0x1519910 0x150fe44 0x1380744 0x137e7b8 0x137d178 0x14e4f74 0x14ea894 0x14ea668 0x14edea8 0x14ed1c8 0x14ed6c4 0x14ed7cc 0x14eb7bc 0x1295950 0x1288b50 0x3343186f 0x334317c5 0x31c51001 0x3107160d 0x34e80f13 0x34e8b523 0x34e8b4c5 0x34e8a313 0x34e0d4a5 0x34e0d36d 0x34478439 0x31484e7d 0x1738c 0x17268)
terminate called throwing an exception(lldb)

Anyone using the action successfully with the above version numbers?

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15500
  • Official Playmaker Support
Re: Crash on Level Load
« Reply #1 on: August 02, 2013, 09:43:36 AM »
Hi,

 are you using "set property" or "get property" action in that scene?

 can you load another scene fine?

bye,

 Jean

nick_h82

  • Playmaker Newbie
  • *
  • Posts: 36
Re: Crash on Level Load
« Reply #2 on: August 02, 2013, 07:13:18 PM »
Hi Jean,

Setup at the moment is to go into a plain scene with image in front of camera, load the playable scene after a wait of 5 seconds, and on hitting collider at the end loop back to the first scene etc.

None of the elements are persisted between scenes at this point.

Until the update, cycling through the above behaviours was fine, currently I can load into the first scene, successfully load the playable scene, and then transfer back to the first scene again. The crash happens trying to load the playable scene again, and happens also if I try just loading straight back into the playable scene (the log above is from this)

I'm using set property in two places in the playable scene, the drag value on a rigid body, and the target of a Unity Constraints component.

Saw your post about loading scenes in IOS with a JavaScript scene manager you trigger with a send message, and have been starting to set that up. Works ok, but I also have the issue with non-destroyed cameras, as well as render settings (skybox etc) being ignored. Haven't tried on the device yet, want to crack manually removing cameras an setting render settings first.

Thanks for the help, Nick

nick_h82

  • Playmaker Newbie
  • *
  • Posts: 36
Re: Crash on Level Load
« Reply #3 on: August 02, 2013, 08:34:37 PM »
Ok, got the LoadLevelCleanHelper.js system set up properly and ironed out the idiosyncracies alluded to above. Behaviour is all correct in the IDE, apart from a console warning: 'Asynchronous Background loading is only supported in Unity Pro.' Built and deployed to IOS, and can still get from the first scene to the main playable one.

Can't quite work out from the Xcode profiler whether the Asynchronous loading warning is the culprit now:

Asynchronous Background loading is only supported in Unity Pro.
Please use Application.LoadLevel or Application.LoadLevelAdditive instead.
UnityEngine.Application:LoadLevelAsync(String, Int32, Boolean, Boolean)
UnityEngine.Application:LoadLevelAsync(String)
$:MoveNext()
UnityEngine.GameObject:SendMessage(String, Object, SendMessageOptions)
HutongGames.PlayMaker.Actions.SendMessage:DoSendMessage()
HutongGames.PlayMaker.Actions.SendMessage:OnEnter()
HutongGames.PlayMaker.FsmState:OnEnter()
HutongGames.PlayMaker.Fsm:EnterState(FsmState)
HutongGames.PlayMaker.Fsm:SwitchState(FsmState)
HutongGames.PlayMaker.Fsm:UpdateStateChanges()
HutongGames.PlayMaker.Fsm:OnTriggerEnter(Collider)
PlayMakerTriggerEnter:OnTriggerEnter(Collider)

[/Applications/buildAgent/work/cac08d8a5e25d4cb/Runtime/Misc/PreloadManager.cpp line 814]
(Filename: /Applications/buildAgent/work/cac08d8a5e25d4cb/Runtime/Misc/PreloadManager.cpp Line: 814)

UnloadTime: 21.334583 ms
System memory in use before: 2.3 MB.
Unloading 1 Unused Serialized files (Serialized files now loaded: 0 / Dirty serialized files: 0)
System memory in use after: 2.1 MB.

Unloading 24 unused Assets to reduce memory usage. Loaded Objects now: 799.
Total: 21.627916 ms (FindLiveObjects: 0.413416 ms CreateObjectMapping: 0.269416 ms MarkObjects: 9.504000 ms  DeleteObjects: 11.034208 ms)

UnloadTime: 0.666416 ms
System memory in use before: 2.1 MB.
Unloading 1 Unused Serialized files (Serialized files now loaded: 0 / Dirty serialized files: 0)
System memory in use after: 2.1 MB.

Unloading 1 unused Assets to reduce memory usage. Loaded Objects now: 798.
Total: 11.682208 ms (FindLiveObjects: 0.405708 ms CreateObjectMapping: 0.257625 ms MarkObjects: 10.468958 ms  DeleteObjects: 0.139458 ms)

UnloadUnusedAssets
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:Log(Object)
$:MoveNext()
 
(Filename: /Applications/buildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 54)

System memory in use before: 2.1 MB.
Unloading 0 Unused Serialized files (Serialized files now loaded: 0 / Dirty serialized files: 0)
System memory in use after: 2.1 MB.

Unloading 0 unused Assets to reduce memory usage. Loaded Objects now: 798.
Total: 16.205458 ms (FindLiveObjects: 0.980166 ms CreateObjectMapping: 0.523291 ms MarkObjects: 14.153749 ms  DeleteObjects: 0.116625 ms)

Loading SceneryStart
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:Log(Object)
$:MoveNext()
 
(Filename: /Applications/buildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/iPhonePlayer-armv7/UnityEngineDebug.cpp Line: 54)

Asynchronous Background loading is only supported in Unity Pro.
Please use Application.LoadLevel or Application.LoadLevelAdditive instead.
UnityEngine.Application:LoadLevelAsync(String, Int32, Boolean, Boolean)
UnityEngine.Application:LoadLevelAdditiveAsync(String)
$:MoveNext()

[/Applications/buildAgent/work/cac08d8a5e25d4cb/Runtime/Misc/PreloadManager.cpp line 814]
(Filename: /Applications/buildAgent/work/cac08d8a5e25d4cb/Runtime/Misc/PreloadManager.cpp Line: 814)