[Mono-dev] .net winforms and windows

Rob Wilkens robwilkens at gmail.com
Wed Jun 13 22:10:49 UTC 2012


Ok - My fault.  I referred to .NET as the technology, not the version of 
its implementation.  I'll try to refer to either Windows.NET or 
Microsoft.NET when i specifically mean microsoft's implementation.

I'm torn as to whether or not to re-open my pull request right away or 
not.  The sample in the bug report code is freezing trying to create a 
window in the second thread, which we established yesterday is against 
mono design for winforms.

My sample code does not do that, but it is occasionally crashing in 
areas where invoke is being used on windows mono.

-Rob

On 06/13/2012 05:45 PM, Stifu wrote:
> "My test code (attached) runs fine in Windows .net, doesn't crash once, and i
> just ran it from the command prompt about 30-40 times in a row in .net.  So
> that should run in mono, no?"
>
> Yes, I was just confused by your original post: "In my testing of .net
> winforms on windows i received a lot of gdi+ object busy errors", which made
> it sound like the errors were .NET ones.
>
>
> Rob Wilkens wrote
>> [long story short: Got to troubleshoot some more, but the answer is that
>> these apps are functional in windows, attached a sample]
>>
>> In Windows.NET it definitely works, both the code sample from the bug
>> report (which, incidentally, is not running for me right now, so i've
>> pulled back my pull request while i investigate, if i figure out why i
>> will reopen it, i haven't troubleshot that yet)..  My test code
>> (attached) runs fine in Windows .net, doesn't crash once, and i just ran
>> it from the command prompt about 30-40 times in a row in .net.  So that
>> should run in mono, no?
>>
>> In unpatched mono in windows, my code leaves two windows open, and after
>> you close that it will say 'error' because the would-be assertions fail.
>>
>> In mono with my patch, it passed, but it crashed every 5-10 runs,
>> unrelated, i beleive, to my patch but more to the rest of the code now
>> being run because of the patch.  Yesterday i was getting GDI+ Object
>> Busy, I can't reproduce that now, but that could be any number of things
>> such as timing.
>>
>> The crash I'm occasionally getting in my app now may have something to
>> do with the change in response to your message yesterday about needing
>> to call invoke (the form was created in thread 1, invoke is being called
>> in thread 3[the 2nd thread]).  But the form was shown with a call to
>> Application.Run(form2) in thread 2, because i couldn't figure another
>> easy way to make the application.run loop to exit on its own at the end
>> of execution (I tried several methods, none worked).
>>
>> The crash I've traced twice to here (again in Windows .NET this does not
>> crash) using gdb:..
>> #8  0x02733612 in ?? ()
>> #9  0x027333c1 in ?? ()
>> #10 0x659cb7ac in mono_jit_runtime_invoke (method=0x5bee70, obj=0x2f709d8,
>>       params=0x393ff44, exc=0x0) at mini.c:5897
>> #11 0x65b235d2 in mono_runtime_invoke (method=0x5bee70, obj=0x2f709d8,
>>       params=0x393ff44, exc=0x0) at object.c:2809
>> #12 0x65b24237 in mono_runtime_delegate_invoke (delegate=0x2f709d8,
>>       params=0x393ff44, exc=0x0) at object.c:3489
>> #13 0x65b4ef76 in start_wrapper (data=0x2ff3d68) at threads.c:577
>> #14 0x65b7452a in inner_start_thread (arg=0x2ff3990)
>>     at mono-threads-windows.c:86
>> #15 0x7670339a in KERNEL32!BaseCleanupAppcompatCacheSupport ()
>>      from /cygdrive/c/Windows/syswow64/kernel32.dll
>> #16 0x02ff3990 in ?? ()
>> #17 0x770f9ef2 in ntdll!RtlpNtSetValueKey ()
>> ---Type<return>  to continue, or q<return>  to quit---ls ~
>>      from /cygdrive/c/Windows/system32/ntdll.dll
>> #18 0x02ff3990 in ?? ()
>> #19 0x770f9ec5 in ntdll!RtlpNtSetValueKey ()
>>      from /cygdrive/c/Windows/system32/ntdll.dll
>> #20 0x65b744e0 in mono_threads_platform_free ()
>>      from
>> /cygdrive/c/cygwin/home/RobWilkens/new-mono-local/bin/mono-2.0.dll
>>
>> But again, this doesn't seem to crash every or most times, and is
>> unrelated to my patch, only to my test.
>>
>> And i still have to first debug the original sample code..
>>
>> I'll try to make sure my code sample and the sample from the bug report
>> work before i re-open my pull request.  Both run fine on Windows 7 with
>> MS .NET.
>>
>> _______________________________________________
>> Mono-devel-list mailing list
>> Mono-devel-list at .ximian
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
> --
> View this message in context: http://mono.1490590.n4.nabble.com/net-winforms-and-windows-tp4649922p4649928.html
> Sent from the Mono - Dev mailing list archive at Nabble.com.
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list



More information about the Mono-devel-list mailing list