Posted 12 years ago by Jake Pearson - Software Developer, Alion Science and Technology
Version: 2.0.0093
Platform: .NET 2.0
Environment: Windows Vista (32-bit)
Avatar
Hi,
I am getting a crash in my application when a user right clicks on a tool window and presses the close button when they follow a few steps that are pretty specific to my application. The stack track (at the bottom of the post) does not hit my code anywhere. Could you give me any idea why this might happen?

thanks,
Jake

System.Windows.Forms.dll!System.Windows.Forms.Control.ControlCollection.this[int].get(int index) + 0xd2 bytes
ActiproSoftware.UIStudio.Dock.Net20.dll!ActiproSoftware.UIStudio.Dock.TabbedMdiContainer.SelectedTabbedMdiWindow.set(ActiproSoftware.UIStudio.Dock.TabbedMdiWindow value = {ToolWindow[Key=TaskNetworkView]}) + 0xa2 bytes
ActiproSoftware.UIStudio.Dock.Net20.dll!ActiproSoftware.UIStudio.Dock.ToolWindow.Activate(bool focus = true) + 0x1d9 bytes
ActiproSoftware.UIStudio.Dock.Net20.dll!ActiproSoftware.UIStudio.Dock.TabbedMdiWindow.Activate() + 0x20 bytes
ActiproSoftware.UIStudio.Dock.Net20.dll!ActiproSoftware.UIStudio.Dock.DockManager.a(ActiproSoftware.UIStudio.Dock.TabbedMdiWindow[] A_0 = {Dimensions:[1]}, bool A_1 = false, ActiproSoftware.UIStudio.Dock.TabbedMdiWindowCloseReason A_2 = User) + 0x3c3 bytes
ActiproSoftware.UIStudio.Dock.Net20.dll!ActiproSoftware.UIStudio.Dock.ToolWindow.Close(ActiproSoftware.UIStudio.Dock.TabbedMdiWindowCloseReason reason = User) + 0x48 bytes
ActiproSoftware.UIStudio.Dock.Net20.dll!ActiproSoftware.UIStudio.Dock.DockManager.k(object A_0 = {ActiproSoftware.WinUICore.OwnerDrawMenuItem, Items.Count: 0, Text: Close}, System.EventArgs A_1 = {System.EventArgs}) + 0x98 bytes
System.Windows.Forms.dll!System.Windows.Forms.MenuItem.OnClick(System.EventArgs e) + 0x80 bytes
System.Windows.Forms.dll!System.Windows.Forms.MenuItem.MenuItemData.Execute() + 0x26 bytes
System.Windows.Forms.dll!System.Windows.Forms.Command.Invoke() + 0x30 bytes
System.Windows.Forms.dll!System.Windows.Forms.Command.DispatchID(int id) + 0x13 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WmCommand(ref System.Windows.Forms.Message m = {msg=0x111 (WM_COMMAND) hwnd=0x2315b6 wparam=0x100 lparam=0x0 result=0x0}) + 0x59 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) + 0x281 bytes
System.Windows.Forms.dll!System.Windows.Forms.ScrollableControl.WndProc(ref System.Windows.Forms.Message m) + 0x45 bytes
System.Windows.Forms.dll!System.Windows.Forms.ContainerControl.WndProc(ref System.Windows.Forms.Message m) + 0x13 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0xd bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0xd6 bytes
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg = 273, System.IntPtr wparam, System.IntPtr lparam) + 0x5a bytes
[Native to Managed Transition]
[Managed to Native Transition]
System.Windows.Forms.dll!System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(int dwComponentID, int reason = -1, int pvLoopData = 0) + 0x2f1 bytes
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int reason = -1, System.Windows.Forms.ApplicationContext context = {System.Windows.Forms.ApplicationContext}) + 0x17d bytes
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int reason, System.Windows.Forms.ApplicationContext context) + 0x53 bytes
System.Windows.Forms.dll!System.Windows.Forms.Application.Run(System.Windows.Forms.Form mainForm) + 0x2e bytes
> MAAD.MicroSaint.exe!MAAD.MicroSaint.Launcher.Main(string[] args = {Dimensions:[0]}) Line 33 + 0x7 bytes C#

Comments (5)

Posted 12 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Hi Jake,

I see where this could be happening (based on the stack trace) and have made a code change to account for it so no exception is thrown. However if possible, I'd appreciate it if you could build a tiny repro project and send it over so that we can ensure that this change doesn't cause any other issues. Thanks!


Actipro Software Support

Posted 12 years ago by Jake Pearson - Software Developer, Alion Science and Technology
Avatar
Hi,
The crash only seems to happen for us on our tab that hosts a directx window, so I probably can't make a really simple example. But you can test it by downloading and running our demo. If you want to do that send me an email j_pearson at alionscience.com and I can get you the latest build and the bug report.

thanks,
Jake
Posted 12 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Hi Jake,

How about you email us and we can make a "preview" build of the next maintenance release so you can try out the changes in your app.


Actipro Software Support

Posted 12 years ago by Jake Pearson - Software Developer, Alion Science and Technology
Avatar
Hi,
I found a crash bug in the version you sent me. Run the "Dock Controls" part of your test application. Click on the "Welcome to UIStudio" thumbtack, then click on the "Tool Window Properties" thumbtack ... crash:

System.ArgumentOutOfRangeException was unhandled
Message="The specified index '1' was out of range for the collection.\r\nParameter name: index\r\nActual value was ActiproSoftware.UIStudio.Dock.AutoHideTab."
Source="ActiproSoftware.Shared.Net20"
ParamName="index"
StackTrace:
at ActiproSoftware.ComponentModel.LogicalTreeNodeCollection.InsertCore(Int32 index, ILogicalTreeNode value)
at ActiproSoftware.UIStudio.Dock.AutoHideTabCollection.a(Int32 A_0, AutoHideTab A_1)
at ActiproSoftware.UIStudio.Dock.AutoHideContainer.a(Int32 A_0, ToolWindow A_1, AutoHideTabGroup A_2)
at ActiproSoftware.UIStudio.Dock.AutoHideContainer.a(ToolWindow A_0, AutoHideTabGroup A_1)
at ActiproSoftware.UIStudio.Dock.DockManager.a(ToolWindow[] A_0, ToolWindow A_1, DockStyle A_2)
at ActiproSoftware.UIStudio.Dock.DockManager.a(DockContainerTitleBarButton A_0)
at ActiproSoftware.UIStudio.Dock.DockContainerTitleBarButton.OnMouseUp(MouseEventArgs e)
at ActiproSoftware.WinUICore.UIElement.ActiproSoftware.WinUICore.IInputElement.RaiseMouseUpEvent(MouseEventArgs e)
at ActiproSoftware.WinUICore.UIControl.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at TestApplication.Program.Main() in C:\Users\j_pearson_2\Desktop\TestApplication-CSharp.Net20\Program.cs:line 19
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

thanks,
Jake
Posted 12 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Hi Jake,

Thanks, we found that the other day and have the crash fixed and are working on tweak for the tab order before we can officially release it.


Actipro Software Support

The latest build of this product (v2020.1 build 0400) was released 3 days ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.