Please do not reply to this email- if you want to comment on the bug, go to the URL shown below and enter your comments there.
Changed by [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=82689 --- shadow/82689 2007-09-04 10:40:34.000000000 -0400 +++ shadow/82689.tmp.18784 2007-09-04 10:40:34.000000000 -0400 @@ -0,0 +1,270 @@ +Bug#: 82689 +Product: Mono: Class Libraries +Version: 1.2 +OS: +OS Details: XP SP2 +Status: NEW +Resolution: +Severity: +Priority: Normal +Component: Windows.Forms +AssignedTo: [EMAIL PROTECTED] +ReportedBy: [EMAIL PROTECTED] +QAContact: [EMAIL PROTECTED] +TargetMilestone: --- +URL: +Cc: +Summary: ListView: Win32 hang on infinite recalc (?when both scrollbars needed) + +ListView on Win32 often goes into an infinite loop of NCCALCSIZE-NCPAINT- +ERASEBKGND-WINDOWPOSCHANGED-WINDOWPOSCHANGING-etc and thus hangs the +application. Partial Windows SDK Spy++ log below, full 250KB log +available. It seems to occur when the listview needs both scrollbars. +I'll attach a screenshot. + +In some circumstances -- perhaps mouse in window, or child dialog was +over window -- it instead crashes with: + +(trimmed--full trace below)[[ +Unhandled Exception: System.MemberAccessException: Object is busy and +cannot state allow this operation [GDI+ status: ObjectBusy] + +at System.Drawing.GDIPlus.CheckStatus (System.Drawing.Status) [0x000df] +in System.Drawing\gdipFunctions.cs:206 +at System.Drawing.Graphics.FillRectangle +(System.Drawing.Brush,int,int,int,int) [0x0002a] in +System.Drawing\Graphics.cs:1600 +at System.Drawing.Graphics.FillRectangle +(System.Drawing.Brush,System.Drawing.Rectangle) [0x00012] in +System.Drawing\Graphics.cs:1591 +at (wrapper remoting-invoke-with-check) +System.Drawing.Graphics.FillRectangle +(System.Drawing.Brush,System.Drawing.Rectangle) <0x000ce> +at System.Windows.Forms.Control.PaintControlBackground +(System.Windows.Forms.PaintEventArgs) [0x00326] in +System.Windows.Forms\Control.cs:1398 +at System.Windows.Forms.Control.OnPaintBackground +(System.Windows.Forms.PaintEventArgs) [0x00000] in +System.Windows.Forms\Control.cs:5994 +... +... +]] + +I'm having difficulty creating a small-ish app reproducing this. The +full application is one of the samples available in my Brecham.Obex +available from http://32feet.NET However it needs to talk to a OBEX +peer -- normally an IrDA or Bluetooth device -- that supports the Folder- +Browsing (Bluetooth's FTP) service. And without patched socket-io.c +Bluetooth and IrDA sockets can't be used on Mono. + +I have test both with patched mono SVN head, and also by using a TCP/IP- +>Bluetooth proxy server with 1.2.5, and on 1.2.4 with some hacks to the +app. It shows both behaviours on all three. I think that I've added a +file with a long name to the remote folder hence not seeing this problems +previously. + + +[[ +... +... +<04954> 000A0C0A S WM_WINDOWPOSCHANGING lpwp:0022F59C +<04955> 000A0C0A R WM_WINDOWPOSCHANGING +<04956> 000A0C0A S WM_NCCALCSIZE fCalcValidRects:True lpncsp:0022F570 +<04957> 000A0C0A R WM_NCCALCSIZE fuValidRect:0000 lpncsp:0022F570 +<04958> 000A0C0A S WM_NCPAINT hrgn:48040C49 +<04959> 000A0C0A R WM_NCPAINT +<04960> 000A0C0A S WM_ERASEBKGND hdc:960117BA +<04961> 000A0C0A R WM_ERASEBKGND fErased:True +<04962> 000A0C0A S WM_WINDOWPOSCHANGED lpwp:0022F59C +<04963> 000A0C0A R WM_WINDOWPOSCHANGED +<04964> 000A0C0A S WM_WINDOWPOSCHANGING lpwp:0022F59C +<04965> 000A0C0A R WM_WINDOWPOSCHANGING +<04966> 000A0C0A S WM_NCCALCSIZE fCalcValidRects:True lpncsp:0022F570 +<04967> 000A0C0A R WM_NCCALCSIZE fuValidRect:0000 lpncsp:0022F570 +<04968> 000A0C0A S WM_WINDOWPOSCHANGED lpwp:0022F59C +<04969> 000A0C0A R WM_WINDOWPOSCHANGED +<04970> 000A0C0A S WM_WINDOWPOSCHANGING lpwp:0022F5A8 +<04971> 000A0C0A R WM_WINDOWPOSCHANGING +<04972> 000A0C0A S WM_NCCALCSIZE fCalcValidRects:True lpncsp:0022F57C +<04973> 000A0C0A R WM_NCCALCSIZE fuValidRect:0000 lpncsp:0022F57C +<04974> 000A0C0A S WM_NCPAINT hrgn:0B041789 +<04975> 000A0C0A R WM_NCPAINT +<04976> 000A0C0A S WM_ERASEBKGND hdc:960117BA +<04977> 000A0C0A R WM_ERASEBKGND fErased:True +<04978> 000A0C0A S WM_WINDOWPOSCHANGED lpwp:0022F5A8 +<04979> 000A0C0A R WM_WINDOWPOSCHANGED +<04980> 000A0C0A S WM_WINDOWPOSCHANGING lpwp:0022F5A8 +<04981> 000A0C0A R WM_WINDOWPOSCHANGING +<04982> 000A0C0A S WM_NCCALCSIZE fCalcValidRects:True lpncsp:0022F57C +<04983> 000A0C0A R WM_NCCALCSIZE fuValidRect:0000 lpncsp:0022F57C +<04984> 000A0C0A S WM_WINDOWPOSCHANGED lpwp:0022F5A8 +<04985> 000A0C0A R WM_WINDOWPOSCHANGED +<04986> 000A0C0A S WM_WINDOWPOSCHANGING lpwp:0022F59C +<04987> 000A0C0A R WM_WINDOWPOSCHANGING +<04988> 000A0C0A S WM_NCCALCSIZE fCalcValidRects:True lpncsp:0022F570 +<04989> 000A0C0A R WM_NCCALCSIZE fuValidRect:0000 lpncsp:0022F570 +<04990> 000A0C0A S WM_NCPAINT hrgn:690419E3 +<04991> 000A0C0A R WM_NCPAINT +<04992> 000A0C0A S WM_ERASEBKGND hdc:960117BA +<04993> 000A0C0A R WM_ERASEBKGND fErased:True +<04994> 000A0C0A S WM_WINDOWPOSCHANGED lpwp:0022F59C +<04995> 000A0C0A R WM_WINDOWPOSCHANGED +<04996> 000A0C0A S WM_WINDOWPOSCHANGING lpwp:0022F59C +<04997> 000A0C0A R WM_WINDOWPOSCHANGING +<04998> 000A0C0A S WM_NCCALCSIZE fCalcValidRects:True lpncsp:0022F570 +<04999> 000A0C0A R WM_NCCALCSIZE fuValidRect:0000 lpncsp:0022F570 +<05000> 000A0C0A S WM_WINDOWPOSCHANGED lpwp:0022F59C +]] + +[[ +Unhandled Exception: System.MemberAccessException: Object is busy and +cannot state allow this operation [GDI+ status: ObjectBusy] + +at System.Drawing.GDIPlus.CheckStatus (System.Drawing.Status) [0x000df] +in C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\System.Drawing\System.Drawing\gdipFunctions.cs:206 +at System.Drawing.Graphics.FillRectangle +(System.Drawing.Brush,int,int,int,int) [0x0002a] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\System.Drawing\System.Drawing\Graphics.cs:1600 +at System.Drawing.Graphics.FillRectangle +(System.Drawing.Brush,System.Drawing.Rectangle) [0x00012] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\System.Drawing\System.Drawing\Graphics.cs:1591 +at (wrapper remoting-invoke-with-check) +System.Drawing.Graphics.FillRectangle +(System.Drawing.Brush,System.Drawing.Rectangle) <0x000ce> +at System.Windows.Forms.Control.PaintControlBackground +(System.Windows.Forms.PaintEventArgs) [0x00326] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Control.cs:1398 +at System.Windows.Forms.Control.OnPaintBackground +(System.Windows.Forms.PaintEventArgs) [0x00000] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Control.cs:5994 +at System.Windows.Forms.Control.WmPaint (System.Windows.Forms.Message&) +[0x00063] in C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Control.cs:5169 +at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message&) +[0x0016c] in C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Control.cs:4949 +at ItemControl.WndProc (System.Windows.Forms.Message&) [0x00061] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\ListView.cs:2527 +at ControlWindowTarget.OnMessage (System.Windows.Forms.Message&) +[0x00000] in C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Control.cs:224 +at ControlNativeWindow.WndProc (System.Windows.Forms.Message&) [0x00000] +in C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Control.cs:205 +at System.Windows.Forms.NativeWindow.WndProc +(intptr,System.Windows.Forms.Msg,intptr,intptr) [0x0006b] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\NativeWindow.cs:183 +at System.Windows.Forms.XplatUIWin32.InternalWndProc +(intptr,System.Windows.Forms.Msg,intptr,intptr) [0x0002d] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\XplatUIWin32.cs:1859 +at (wrapper native-to-managed) +System.Windows.Forms.XplatUIWin32.InternalWndProc +(intptr,System.Windows.Forms.Msg,intptr,intptr) <0x0004d> +in (unmanaged) 7E418733 +at (wrapper managed-to-native) +System.Windows.Forms.XplatUIWin32.Win32UpdateWindow (intptr) <0x00004> +at System.Windows.Forms.XplatUIWin32.UpdateWindow (intptr) [0x00000] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\XplatUIWin32.cs:1727 +at System.Windows.Forms.XplatUI.UpdateWindow (intptr) [0x00000] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\XplatUI.cs:1131 +at System.Windows.Forms.Control.Refresh () [0x0001c] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Control.cs:3936 +at System.Windows.Forms.Control.Refresh () [0x0003f] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Control.cs:3940 +at System.Windows.Forms.ListView.Redraw (bool) [0x00035] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\ListView.cs:1020 +at (wrapper remoting-invoke-with-check) +System.Windows.Forms.ListView.Redraw (bool) <0x0004f> +at ListViewItemCollection.CollectionChanged (bool) [0x00024] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\ListView.cs:4637 +at ListViewItemCollection.Clear () [0x000b5] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\ListView.cs:4393 +at FolderExplorer2.Form1.connectButton_Click (object,System.EventArgs) +<0x00071> +at System.Windows.Forms.Control.OnClick (System.EventArgs) [0x0001c] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Control.cs:5603 +at System.Windows.Forms.Button.OnClick (System.EventArgs) [0x00025] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Button.cs:104 +at System.Windows.Forms.ButtonBase.OnMouseUp +(System.Windows.Forms.MouseEventArgs) [0x00076] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\ButtonBase.cs:616 +at System.Windows.Forms.Button.OnMouseUp +(System.Windows.Forms.MouseEventArgs) [0x00000] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Button.cs:126 +at System.Windows.Forms.Control.WmLButtonUp +(System.Windows.Forms.Message&) [0x0005c] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Control.cs:5204 +at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message&) +[0x0017c] in C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Control.cs:4962 +at System.Windows.Forms.ButtonBase.WndProc +(System.Windows.Forms.Message&) [0x00055] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\ButtonBase.cs:674 +at System.Windows.Forms.Button.WndProc (System.Windows.Forms.Message&) +[0x00000] in C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Button.cs:148 +at ControlWindowTarget.OnMessage (System.Windows.Forms.Message&) +[0x00000] in C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Control.cs:224 +at ControlNativeWindow.WndProc (System.Windows.Forms.Message&) [0x00000] +in C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Control.cs:205 +at System.Windows.Forms.NativeWindow.WndProc +(intptr,System.Windows.Forms.Msg,intptr,intptr) [0x0006b] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\NativeWindow.cs:183 +at System.Windows.Forms.XplatUIWin32.InternalWndProc +(intptr,System.Windows.Forms.Msg,intptr,intptr) [0x0002d] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\XplatUIWin32.cs:1859 +at (wrapper native-to-managed) +System.Windows.Forms.XplatUIWin32.InternalWndProc +(intptr,System.Windows.Forms.Msg,intptr,intptr) <0x0004d> +in (unmanaged) 7E418733 +at (wrapper managed-to-native) +System.Windows.Forms.XplatUIWin32.Win32DispatchMessage +(System.Windows.Forms.MSG&) <0x00004> +at System.Windows.Forms.XplatUIWin32.DispatchMessage +(System.Windows.Forms.MSG&) [0x00000] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\XplatUIWin32.cs:2054 +at System.Windows.Forms.XplatUI.DispatchMessage +(System.Windows.Forms.MSG&) [0x00000] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\XplatUI.cs:540 +at System.Windows.Forms.Application.RunLoop +(bool,System.Windows.Forms.ApplicationContext) [0x0037c] in +C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Application.cs:747 +at System.Windows.Forms.Application.Run (System.Windows.Forms.Form) +[0x00000] in C:\cygwin\tmp\monobuild\build\BUILD\mono-1.2.5 +\mcs\class\Managed.Windows.Forms\System.Windows.Forms\Application.cs:534 +at +Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRu +n () <0x00040> +at +Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run +(string[]) <0x0000b> +at FolderExplorer2.My.MyApplication.Main (string[]) <0x0003e> +]] _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
