timo-sisus / Power-Inspector

Report bugs and offer improvement ideas for Power Inspector.
http://u3d.as/1sNc
8 stars 0 forks source link

exception on enter play mode (sometimes) #23

Closed puschie286 closed 4 years ago

puschie286 commented 4 years ago

sometimes when entering play mode we encounter following exception:

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Threading.ThreadAbortException at (wrapper managed-to-native) System.RuntimeTypeHandle.GetBaseType(System.RuntimeType) at System.RuntimeType.GetBaseType () [0x00081] in :0 at System.RuntimeType.IsSubclassOf (System.Type type) [0x00020] in :0 at Sisus.TypeExtensions.GetExtendingUnityObjectTypes (System.Type type, System.Boolean includeInvisible, System.Boolean includeAbstract) [0x00413] in Assets\Sisus\Power Inspector\Code\Editor\Extensions\TypeExtensions.cs:1839 at Sisus.DefaultDrawerProvider.BuildDictionariesForInheritedTypes (Sisus.DrawerProviderData drawerProviderData, System.Collections.Generic.List`1[T] drawerTypes, System.Boolean isFallback) [0x00435] in Assets\Sisus\Power Inspector\Code\Editor\Drawers\Provider\DefaultDrawerProvider.cs:747 at Sisus.DefaultDrawerProvider.BuildDictionariesThreaded (Sisus.DrawerProviderData drawersFor) [0x000fa] in Assets\Sisus\Power Inspector\Code\Editor\Drawers\Provider\DefaultDrawerProvider.cs:167 at Sisus.DrawerProviderBase..ctor () [0x00028] in Assets\Sisus\Power Inspector\Code\Editor\Drawers\Provider\DrawerProviderBase.cs:86 at Sisus.DefaultDrawerProvider..ctor () [0x00000] in Assets\Sisus\Power Inspector\Code\Editor\Drawers\Provider\DefaultDrawerProvider.cs:50 at (wrapper managed-to-native) System.Reflection.MonoCMethod.InternalInvoke(System.Reflection.MonoCMethod,object,object[],System.Exception&) at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00002] in :0 --- End of inner exception stack trace --- at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00014] in :0 at System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic) [0x000a8] in :0 at System.RuntimeType.CreateInstanceSlow (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x00009] in :0 at System.RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x00027] in :0 at System.Activator.CreateInstance (System.Type type, System.Boolean nonPublic) [0x0002c] in :0 at System.Activator.CreateInstance (System.Type type) [0x00000] in :0 at Sisus.DefaultDrawerProviders.SetupThreaded (System.Object threadTaskId) [0x00139] in Assets\Sisus\Power Inspector\Code\Editor\Drawers\Provider\DefaultDrawerProviders.cs:251 at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context (System.Object state) [0x00007] in :0 at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in :0 at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in :0 at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00021] in :0 at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00074] in :0 at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in :0

could you have a look at it ? it doesn't break anything but its a bit annoying and i dont have time for a deep investigation - if you need more information feel free to ask

timo-sisus commented 4 years ago

I'm pretty sure that the ThreadAbortException during domain reloading can be safely ignored. I added some code to update 1.3.4 that should catch and suppress it if encountered. Let me know if this didn't solve the issue.