playMaker

Author Topic: iOS crash during game play. il2cpp related  (Read 172 times)

jongkook

  • Playmaker Newbie
  • *
  • Posts: 21
    • View Profile
    • Email
iOS crash during game play. il2cpp related
« on: January 02, 2017, 02:55:47 AM »
iOS crash during game play. il2cpp related
Crash occurs when loading a scene or during a game.

xcode crash report


Unloading 20 unused Assets to reduce memory usage. Loaded Objects now: 2902.
Total: 8.629416 ms (FindLiveObjects: 0.123875 ms CreateObjectMapping: 0.121625 ms MarkObjects: 7.729250 ms  DeleteObjects: 0.654083 ms)

ArgumentException: Set Method not found for 'material'
  at System.Reflection.MonoProperty.SetValue (System.Object obj, System.Object value, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] index, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.ReflectionUtils.SetMemberValue (System.Reflection.MemberInfo member, System.Object target, System.Object value) [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.Actions.SetProperty.OnEnter () [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.FsmState.ActivateActions (Int32 startIndex) [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.FsmState.OnEnter () [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.Fsm.UpdateStateChanges () [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.Fsm.Start () [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.Fsm.ProcessEvent (HutongGames.PlayMaker.FsmEvent fsmEvent, HutongGames.PlayMaker.FsmEventData eventData) [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.Fsm.BroadcastEvent (HutongGames.PlayMaker.FsmEvent fsmEvent, Boolean excludeSelf) [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.Fsm.Event (HutongGames.PlayMaker.FsmEventTarget eventTarget, HutongGames.PlayMaker.FsmEvent fsmEvent) [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.Actions.SendEvent.OnEnter () [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.FsmState.ActivateActions (Int32 startIndex) [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.FsmState.OnEnter () [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.Fsm.UpdateStateChanges () [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.Fsm.Start () [0x00000] in <filename unknown>:0
UnityEngine.UnhandledExceptionHandler:PrintException(String, Exception)
UnityEngine.UnhandledExceptionHandler:HandleUnhandledException(Object, UnhandledExceptionEventArgs)
 
(Filename: currently not available on il2cpp Line: -1)

LittleNinjas was compiled with optimization - stepping may behave oddly; variables may not be available.
« Last Edit: January 04, 2017, 11:19:18 PM by jongkook »

jongkook

  • Playmaker Newbie
  • *
  • Posts: 21
    • View Profile
    • Email
Re: iOS crash during game play. il2cpp related
« Reply #1 on: January 10, 2017, 04:56:42 AM »
---Unity's answer ---

Thanks again for submitting this bug report. It looks like this is a code stripping issue related to PlayMaker. I see the following exception in the Xcode console when I run this project:

ArgumentException: Set Method not found for 'material'
  at CK_Record.GetRecordByInternalId (Int32 id) [0x00000] in <filename unknown>:0
  at System.Reflection.MonoProperty.SetValue (System.Object obj, System.Object value, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] index, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  at System.Reflection.PropertyInfo.GetOptionalCustomModifiers () [0x00000] in <filename unknown>:0
  at System.Reflection.PropertyInfo.SetValue (System.Object obj, System.Object value, System.Object[] index) [0x00000] in <filename unknown>:0
  at PropertyReference.Convert (System.Object& value) [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.ReflectionUtils.SetMemberValue (System.Reflection.MemberInfo member, System.Object target, System.Object value) [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.ReflectionUtils.SetMemberValue (System.Reflection.MemberInfo[] memberInfo, System.Object target, System.Object value) [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.FsmProperty.SetValue () [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.Actions.SetProperty.OnEnter () [0x00000] in <filename unknown>:0
  at BaseIOSFeaturePreview.UpdateToStartPos () [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.FsmState.ActivateActions (Int32 startIndex) [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.FsmState.OnEnter () [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.Fsm.EnterState (HutongGames.PlayMaker.FsmState state) [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.Fsm.SwitchState (HutongGames.PlayMaker.FsmState toState) [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.Fsm.UpdateStateChanges () [0x00000] in <filename unknown>:0
  at HutongGames.PlayMaker.Fsm.Start () [0x00000] in <filename unknown>:0
  at PlayMakerFSM.Start () [0x00000] in <filename unknown>:0

This error indicates that the type "material" should have a method named "Set", but that method does not exist. You can probably correct this by creating a link.xml file in the project to require the code stripper to preserve the the proper methods. You can find more details about the link.xml file in the Unity manual here:

https://docs.unity3d.com/Manual/iphone-playerSizeOptimization.html

Although it is not part of Unity, I believe that you can use a PlayMaker plugin to generate the proper link.xml file for you. See this thread on the PlayMaker forums:

http://hutonggames.com/playmakerforum/index.php?topic=11126.0
------
 
But the problem is not solved.

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 10936
    • View Profile
    • Email
Re: iOS crash during game play. il2cpp related
« Reply #2 on: January 11, 2017, 02:28:06 AM »
Hi,

 Excellent, It's great to see that Unity support is aware of the Linker wizard trick :)

So, what exactly are you setting on the material? are you calling a method or setting a property, and what is this method or property?

 Bye,

 Jean

jongkook

  • Playmaker Newbie
  • *
  • Posts: 21
    • View Profile
    • Email
Re: iOS crash during game play. il2cpp related
« Reply #3 on: January 11, 2017, 02:54:18 AM »
I do not know what the problem is.
I created the linker file, but the problem is not resolved.

<linker>
  <assembly fullname="UnityEngine">
    <type fullname="UnityEngine.Camera" preserve="all" />
    <type fullname="UnityEngine.TextMesh" preserve="all" />
    <type fullname="UnityEngine.SphereCollider" preserve="all" />
    <type fullname="UnityEngine.BoxCollider" preserve="all" />
    <type fullname="UnityEngine.ParticleSystem" preserve="all" />
    <type fullname="UnityEngine.CapsuleCollider" preserve="all" />
    <type fullname="UnityEngine.Material" preserve="all" />
  </assembly>
  <assembly fullname="PlayMaker">
    <type fullname="PlayMakerFSM" preserve="all" />
  </assembly>
  <assembly fullname="Assembly-CSharp">
    <type fullname="UILabel" preserve="all" />
    <type fullname="tk2dSprite" preserve="all" />
  </assembly>
« Last Edit: January 11, 2017, 02:55:49 AM by jongkook »

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 10936
    • View Profile
    • Email
Re: iOS crash during game play. il2cpp related
« Reply #4 on: January 11, 2017, 03:45:39 AM »
Hi,

 you'll need to isolate the state and action that causes this issue and find out what property or method you are calling that doesn't work when published.

Unfortunatly, there are no real other options at this point if the linker.xml doesn't work, we need to know exactly what is called.


 Bye,

 Jean

jongkook

  • Playmaker Newbie
  • *
  • Posts: 21
    • View Profile
    • Email
Re: iOS crash during game play. il2cpp related
« Reply #5 on: January 11, 2017, 12:06:38 PM »
---Unity Answer---

Since I'm not too familiar with PlayMaker, I'm not sure what the link.xml file should look like. This seems like a somewhat common problem though, so I would recommend checking with PlayMaker support about it - they may have a solution. 

:'(
« Last Edit: January 11, 2017, 12:08:27 PM by jongkook »

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 10936
    • View Profile
    • Email
Re: iOS crash during game play. il2cpp related
« Reply #6 on: January 11, 2017, 11:11:33 PM »
Hi,

 Let me try to reformulate.

 One of your "Set Property" or "Call Method" action is faulty, and if the linker wiazrd did not manage to gather the right class for this to work, you need to find in your fsms which action it is and what class, property or method you are trying to set or call.

to do this, you will need to take them down one by one, the best method is to disable a whole feature, if it works then you know its inside this feature, and progress from large features to smaller parts until you find the state and action that gives you this trouble.

 Unfortunatly, no one will be able to help you here as you first need to find out what is not being compiled when publishing.

 Bye,

 Jean

jongkook

  • Playmaker Newbie
  • *
  • Posts: 21
    • View Profile
    • Email
Re: iOS crash during game play. il2cpp related
« Reply #7 on: January 17, 2017, 05:29:36 AM »
Fixed a crash bug.
When changing the physic material with the 'set Property' action
Crash bug occurs

It was not a problem when building with 32-bit settings.

crash bug occurs in 64-bit settings.

« Last Edit: January 17, 2017, 05:40:50 AM by jongkook »

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 10936
    • View Profile
    • Email
Re: iOS crash during game play. il2cpp related
« Reply #8 on: January 17, 2017, 07:38:55 AM »
Hi,

 what property exactly are you trying to reach within this physics material? I'll try to repro and see if I can do something within the linker wizard to fix this.

 Bye,

 Jean

jongkook

  • Playmaker Newbie
  • *
  • Posts: 21
    • View Profile
    • Email
Re: iOS crash during game play. il2cpp related
« Reply #9 on: January 18, 2017, 02:43:07 AM »
I used the Linker Wizard to fix the problem, but the problem was not resolved.
So now I do not use the linker wizard.

I used the 'playmaker platforming starter kit' asset.
   (https://www.assetstore.unity3d.com/kr/#!/content/11892)
But I think I used the wrong action.
« Last Edit: January 18, 2017, 02:49:20 AM by jongkook »

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 10936
    • View Profile
    • Email
Re: iOS crash during game play. il2cpp related
« Reply #10 on: January 18, 2017, 11:20:49 PM »
Hi,

 sorry, I mean: what property of the Physics Material are you trying to access, your screenshot do not expose what property exactly you are accessing. I need this to be able repro and validate a problem or not with this.

 Bye,

 Jean