<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="https://syndication.webwiz.net/rss_namespace/">
 <channel>
  <title>Codejock Developer Community : Crash in skin code, sort of</title>
  <link>http://forum.codejock.com/</link>
  <description><![CDATA[This is an XML content feed of; Codejock Developer Community : Skin Framework : Crash in skin code, sort of]]></description>
  <copyright>Copyright (c) 2006-2013 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Mon, 25 May 2026 13:10:29 +0000</pubDate>
  <lastBuildDate>Tue, 04 Feb 2025 14:19:08 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 12.04</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>forum.codejock.com/RSS_post_feed.asp?TID=24547</WebWizForums:feedURL>
  <image>
   <title><![CDATA[Codejock Developer Community]]></title>
   <url>http://forum.codejock.com/forum_images/codejock-logo.gif</url>
   <link>http://forum.codejock.com/</link>
  </image>
  <item>
   <title><![CDATA[Crash in skin code, sort of : I could not find a way to shut...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=24547&amp;PID=79137&amp;title=crash-in-skin-code-sort-of#79137</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=3213">rdhd</a><br /><strong>Subject:</strong> 24547<br /><strong>Posted:</strong> 04 February 2025 at 2:19pm<br /><br /><div>I could not find a way to shut down the skin manager. I did find a way to avoid the crash. Since Win10 I have been calling XTPShutdown from my app. The reason for that was CJ calls Couninitialize in its DllMain. That is something the Microsoft documentation says should never be done because one cannot assume the order DLLs unload. I called the shutdown from our own code to fix the crash that started showing up in Win10 which occurred in Microsofts's UIAutomationcore.dll. I see the CJ DllMain still calls CoUninitialize but I removed our call to XTPShutdown and that, so far, has avoided the crash in the skin manger calls.</div><div><br></div><div>I recall UIAutomationcore code caused CJ crashes previously and that was fixed a release or so again (V22 I think). Hopefully that crash won't come back. It was harder to duplicate than this one which is apparently occurring because our app is sometimes using .NET components. If I crash again, I will just modify the CJ code to not throw the memory exception as the app comes down. That excepting throwing is triggering our exception handling which then informs the user we crashed and sends crash data to our telemetry server.<br></div>]]>
   </description>
   <pubDate>Tue, 04 Feb 2025 14:19:08 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=24547&amp;PID=79137&amp;title=crash-in-skin-code-sort-of#79137</guid>
  </item> 
  <item>
   <title><![CDATA[Crash in skin code, sort of : Shutting down the app I can get...]]></title>
   <link>http://forum.codejock.com/forum_posts.asp?TID=24547&amp;PID=79136&amp;title=crash-in-skin-code-sort-of#79136</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://forum.codejock.com/member_profile.asp?PF=3213">rdhd</a><br /><strong>Subject:</strong> 24547<br /><strong>Posted:</strong> 04 February 2025 at 11:49am<br /><br /><div>Shutting down the app I can get this code to throw the memory exception intentionally crashing our app.<br></div><div><br></div><div>void* CXTPSingletonPointer::GetInstance()<br>{<br>&nbsp;&nbsp;&nbsp; _ASSERTE(!m_bDestroyed);<br>&nbsp;&nbsp;&nbsp; if (m_bDestroyed)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AfxThrowMemoryException();<br>&nbsp;&nbsp;&nbsp; }<br></div><div><br></div><div>I call the xtp shutdown code. I'm going to try and unload the skin before shutting down though that seems to be something I should not have to do.<br></div><div><br></div><div><br></div><div>&nbsp;&nbsp;&nbsp;&nbsp; KernelBase.dll!00007ffeb39efb4c()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; vcruntime140d.dll!_CxxThrowException(void * pExceptionObject, const _s__ThrowInfo * pThrowInfo) Line 81&nbsp;&nbsp;&nbsp; C++<br>&nbsp;&nbsp;&nbsp;&nbsp; mfc140ud.dll!AfxThrowMemoryException() Line 221&nbsp;&nbsp;&nbsp; C++<br>&gt;&nbsp;&nbsp;&nbsp; ToolkitPro2400vc170x64UD.dll!CXTPSingletonPointer::GetInstance() Line 75&nbsp;&nbsp;&nbsp; C++<br>&nbsp;&nbsp;&nbsp;&nbsp; ToolkitPro2400vc170x64UD.dll!CXTPSingleton&lt;CXTPSkinManager,CXTPSingletonDependencies&lt;CXTPSingleton&lt;CXTPSkinManagerModuleListSharedData,CXTPSingletonDependencies&lt;CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency&gt;&gt;,CXTPSingleton&lt;CXTPSkinManagerSchemaCodeManager,CXTPSingletonDependencies&lt;CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency&gt;&gt;,CXTPSingleton&lt;CXTPColorManager,CXTPSingletonDependencies&lt;CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency&gt;&gt;,CXTPSingleton&lt;CXTPFontCache,CXTPSingletonDependencies&lt;CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency&gt;&gt;,CXTPSingleton&lt;CXTPDpi,CXTPSingletonDependencies&lt;CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency&gt;&gt;,CXTPSingleton&lt;CXTPBrushCache,CXTPSingletonDependencies&lt;CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency&gt;&gt;,CXTPSingleton&lt;CXTPSoundManager,CXTPSingletonDependencies&lt;CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency&gt;&gt;,CXTPDummySingletonDependency,CXTPDummySingletonDependency,CXTPDummySingletonDependency&gt;&gt;::Instance() Line 226&nbsp;&nbsp;&nbsp; C++<br>&nbsp;&nbsp;&nbsp;&nbsp; ToolkitPro2400vc170x64UD.dll!XTPSkinManager() Line 918&nbsp;&nbsp;&nbsp; C++<br>&nbsp;&nbsp;&nbsp;&nbsp; ToolkitPro2400vc170x64UD.dll!CXTPSkinManagerDetoursApiHook::OnHookDeleteObject(void * hObject) Line 669&nbsp;&nbsp;&nbsp; C++<br>&nbsp;&nbsp;&nbsp;&nbsp; System.Windows.Forms.ni.dll!00007ffe91747b80()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; System.Windows.Forms.ni.dll!00007ffe916d6330()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; System.Windows.Forms.ni.dll!00007ffe916c62ef()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; System.Windows.Forms.ni.dll!00007ffe91710e7d()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; clr.dll!FastCallFinalizeWorker()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; clr.dll!FastCallFinalize()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; clr.dll!MethodTable::CallFinalizer()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; clr.dll!CallFinalizer()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; clr.dll!FinalizerThread::DoOneFinalization()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; clr.dll!FinalizerThread::FinalizeAllObjects()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; clr.dll!ManagedThreadBase_DispatchInner()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; clr.dll!ManagedThreadBase_DispatchMiddle()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; clr.dll!ManagedThreadBase_DispatchOuter()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; clr.dll!FinalizerThread::FinalizerThreadStart()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; clr.dll!Thread::intermediateThreadProc()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; kernel32.dll!BaseThreadInitThunk()&nbsp;&nbsp;&nbsp; Unknown<br>&nbsp;&nbsp;&nbsp;&nbsp; ntdll.dll!RtlUserThreadStart()&nbsp;&nbsp;&nbsp; Unknown<br><br></div>]]>
   </description>
   <pubDate>Tue, 04 Feb 2025 11:49:41 +0000</pubDate>
   <guid isPermaLink="true">http://forum.codejock.com/forum_posts.asp?TID=24547&amp;PID=79136&amp;title=crash-in-skin-code-sort-of#79136</guid>
  </item> 
 </channel>
</rss>