Hotrian / OpenVRTwitchChat

Put your favorite Twitch Chat directly into any OpenVR game!
Other
174 stars 50 forks source link

OVRTC Crashing on Unity 5.3.6 builds #22

Open Hotrian opened 7 years ago

Hotrian commented 7 years ago

Not sure what's causing the crashing, it never happened on Unity 5.3.5 that I know of so I assume the switch to 5.3.6 broke something. Sometimes OVRTC will run fine for well over an hour. sometimes it will crash within 10 minutes, and the frequency of messages doesn't seem to make much of a difference.

The stack-trace isn't particularly helpful

========== OUTPUTING STACK TRACE ==================

  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 013BC8B4)
0x013BC8B4 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 013BCB5D)
0x013BCB5D (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00E75562)
0x00E75562 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00E76768)
0x00E76768 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00E74797)
0x00E74797 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00E74877)
0x00E74877 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00E74BE6)
0x00E74BE6 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00DFFD27)
0x00DFFD27 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 012ADF98)
0x012ADF98 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 012B3D7C)
0x012B3D7C (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 012B404B)
0x012B404B (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 012B2483)
0x012B2483 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 012B2DAB)
0x012B2DAB (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 012DCBD9)
0x012DCBD9 (OpenVRTwitchChat-v1.0.7.3-beta) 
0x05624477 (Mono JIT Code) (wrapper managed-to-native) UnityEngine.TextMesh:set_text (string)
0x05625599 (Mono JIT Code) TwitchChatTester:WordWrapText (System.Collections.Generic.List`1<TwitchChatTester/TwitchChat>,TwitchEmoteMaterialRecycler/EmoteMaterial[])
0x05623FF2 (Mono JIT Code) TwitchChatTester:SetChatMessages (TwitchChatTester/TwitchChatUpdate,TwitchEmoteMaterialRecycler/EmoteMaterial[])
0x05621DBA (Mono JIT Code) TwitchEmoteMaterialRecycler/<UpdateEmoteMaterials>c__Iterator5:MoveNext ()
0x056213DF (Mono JIT Code) UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr)
0x05621484 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void_object_intptr (object,intptr,intptr,intptr)
0x100F1328 (mono) mono_set_defaults
0x1005D984 (mono) mono_runtime_invoke
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F3394E)
0x00F3394E (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00FB8119)
0x00FB8119 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F230A7)
0x00F230A7 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F23243)
0x00F23243 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F2500C)
0x00F2500C (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F251D5)
0x00F251D5 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 01059B95)
0x01059B95 (OpenVRTwitchChat-v1.0.7.3-beta) 
0x05621357 (Mono JIT Code) (wrapper managed-to-native) UnityEngine.MonoBehaviour:StartCoroutine_Auto (System.Collections.IEnumerator)
0x05621314 (Mono JIT Code) UnityEngine.MonoBehaviour:StartCoroutine (System.Collections.IEnumerator)
0x0561F78C (Mono JIT Code) TwitchChatTester:AddMsg (string,string,string,System.Collections.Generic.List`1<TwitchIRC/EmoteKey>)
0x0561DFAD (Mono JIT Code) TwitchChatTester:OnChatMsg (TwitchIRC/TwitchMessage)
0x0567D962 (Mono JIT Code) UnityEngine.Events.InvokableCall`1<TwitchIRC/TwitchMessage>:Invoke (object[])
0x0562A1A7 (Mono JIT Code) UnityEngine.Events.InvokableCallList:Invoke (object[])
0x056284A0 (Mono JIT Code) UnityEngine.Events.UnityEventBase:Invoke (object[])
0x0567D8B3 (Mono JIT Code) UnityEngine.Events.UnityEvent`1<TwitchIRC/TwitchMessage>:Invoke (TwitchIRC/TwitchMessage)
0x05660061 (Mono JIT Code) TwitchIRC:Update ()
0x0560E571 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
0x100F1328 (mono) mono_set_defaults
0x1005D984 (mono) mono_runtime_invoke
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F3394E)
0x00F3394E (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00FB849A)
0x00FB849A (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00FB8265)
0x00FB8265 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F242DA)
0x00F242DA (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F25EA8)
0x00F25EA8 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00F7DEFF)
0x00F7DEFF (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 01020B97)
0x01020B97 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 0102295E)
0x0102295E (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 013D8078)
0x013D8078 (OpenVRTwitchChat-v1.0.7.3-beta) 
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 0140741E)
0x0140741E (OpenVRTwitchChat-v1.0.7.3-beta) 
0x744238F4 (KERNEL32) BaseThreadInitThunk
0x77205DE3 (ntdll) RtlUnicodeStringToInteger

========== END OF STACKTRACE ===========

Based on this I think it's an issue with recycling the emote material, so I think it might be related to Unity 5.3.6's Garbage Collection.

Hotrian commented 7 years ago

The Crash Dump says The thread tried to read from or write to a virtual address for which it does not have the appropriate access. Doesn't sound like something that can be fixed from my end.

I checked Google and it seems quite a few other people have gotten this error from time to time. I think upgrading to a newer Unity might fix this issue, but it will also bring a lot of necessary code changes, and possibly other bugs :/. Will continue to investigate.