GCHandle exception (appdomain related?) (was: Re: [Partly-SOLVED!] Re: Output from Console.WriteLine methods is deferred)
"Andrés G. Aragoneses" <[email protected]> Sun, 20 Jul 2008 22:11:46 +0200
| Newsgroups | gmane.comp.windows.dotnet.nunit.user |
|---|---|
| Message-ID | <[email protected]> |
Sorry for writing without further investigation! I've come to know about
the -domain=X option but:
- When using domain=none I get this error:
Could not load file or assembly 'GailTest' or one of its dependencies.
The system cannot find the file specified.
- When using domain=single I get this exception (which seems to be the
same as the one noted in my previous email):
Exception in Gtk# callback delegate
Note: Applications can use GLib.ExceptionManager.UnhandledException
to handle the exception.
System.ArgumentException: GCHandle value belongs to a different domain
at System.Runtime.InteropServices.GCHandle.op_Explicit (IntPtr value)
[0x00000]
at GLib.Signal.voidObjectCallback (IntPtr handle, IntPtr data) [0x00000]
at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e,
Boolean is_terminal)
at GLib.Signal.voidObjectCallback(IntPtr handle, IntPtr data)
at GLib.Signal.voidObjectCallback(IntPtr , IntPtr )
at Gtk.Object.gtk_object_destroy(IntPtr )
at Gtk.Object.gtk_object_destroy(IntPtr )
at Gtk.Object.Destroy()
at Gtk.Widget.Destroy()
at GailTestApp.MainClass.Kill()
at UiaAtkBridgeTest.GailTester.End()
at System.Reflection.MonoMethod.InternalInvoke(System.Object ,
System.Object[] )
at System.Reflection.MonoMethod.InternalInvoke(System.Object ,
System.Object[] )
at System.Reflection.MonoMethod.Invoke(System.Object obj,
BindingFlags invokeAttr, System.Reflection.Binder binder,
System.Object[] parameters, System.Globalization.CultureInfo culture)
at System.Reflection.MethodBase.Invoke(System.Object obj,
System.Object[] parameters)
at NUnit.Core.Reflect.InvokeMethod(System.Reflection.MethodInfo
method, System.Object fixture, System.Object[] args)
at NUnit.Core.Reflect.InvokeMethod(System.Reflection.MethodInfo
method, System.Object fixture)
at NUnit.Core.TestSuite.DoOneTimeTearDown(NUnit.Core.TestResult
suiteResult)
at
NUnit.Core.NUnitTestFixture.DoOneTimeTearDown(NUnit.Core.TestResult
suiteResult)
at NUnit.Core.TestSuite.Run(EventListener listener, ITestFilter filter)
at NUnit.Core.TestFixture.Run(EventListener listener, ITestFilter
filter)
at NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestSuiteResult
suiteResult, EventListener listener, ITestFilter filter)
at NUnit.Core.TestSuite.Run(EventListener listener, ITestFilter filter)
at NUnit.Core.TestSuite.RunAllTests(NUnit.Core.TestSuiteResult
suiteResult, EventListener listener, ITestFilter filter)
at NUnit.Core.TestSuite.Run(EventListener listener, ITestFilter filter)
at NUnit.Core.SimpleTestRunner.Run(EventListener listener,
ITestFilter filter)
at NUnit.Core.TestRunnerThread.TestRunnerThreadProc()
And it's not very clear what options are available for the -domain=X
option. BTW, then, when has this appdomain feature been introduced?
Thanks,
Andrés
Andrés G. Aragoneses wrote:
> Hey! I upgraded successfully (well, I had to overwrite and write some
> script to launch the appropiate version of the nunit-console) and it
> seems that the deferred output problem is fixed! So many thanks. I have
> also filed a bug against OpenSUSE:
> https://bugzilla.novell.com/show_bug.cgi?id=410731
>
> However, it seems I'm facing a problem now. I'm getting this exception
> when running my tests:
>
> Exception in Gtk# callback delegate
> Note: Applications can use GLib.ExceptionManager.UnhandledException to
> handle the exception.
> System.ArgumentException: GCHandle value belongs to a different domain
> at System.Runtime.InteropServices.GCHandle.op_Explicit (IntPtr value)
> [0x00000]
>
> As you may know, Gtk# cannot work well with AppDomains so I'm wondering
> if: is NUnit using more than one appdomain for running the tests?
> If yes, is there a way to make it work in a one-appdomain mode? And, do
> you know if this feature has been introduced in the 2.4 series? If yes,
> that would explain why I wasn't getting this exception earlier. If not,
> maybe there was a bug in earlier versions of NUnit which prevented from
> catching this exception, right?
>
> Any insight will be appreciated!
>
> Regards,
>
> Andrés
>
>
>
> Andrés G. Aragoneses wrote:
>> Wow! I'm surprised that openSUSE11 is shipping so an outdated version by
>> default then (you can see this is true here [1], if you look for "nunit"
>> you'll find mono-nunit-1.9 in the standard repositories).
>>
>> Luckily, it seems I can install a newer version from another repository.
>> I will try that an report back here. But we should do something about
>> that old version shipping (I'll file a bug in bugzilla about it...).
>>
>> Thanks!
>>
>> Andrés
>>
>>
>> [1] http://software.opensuse.org/search
>>
>> Charlie Poole wrote:
>>> Glad to hear it. :-)
>>>
>>> That release is almost four years old. I know that issues
>>> of delayed printing were dealt with several times by bugs
>>> submitted during that period. In fact, NUnit's internal
>>> handling of text has been re-designed since then.
>>>
>>> Are you in a position to upgrade the version of NUnit
>>> you are using? The last release in the 2.2 series was
>>> 2.2.10, which shipped in March 2007. The current release
>>> is 2.4.7, with a 2.4.8 bug fix release about to come out.
>>> The 2.5 release is in alpha.
>>>
>>> If you upgrade, I suggest doing a side by side install
>>> first. And when you finally remove 2.2, save a copy of
>>> its nunit.framework.dll for use by your old tests unless
>>> you plan to recompile them.
>>>
>>> NUnit always does fixes in a new release. So, if some
>>> local policy keeps you from upgrading, you're pretty
>>> much stuck with the bugs. :-(
>>>
>>> Charlie
>>>
>>>> -----Original Message-----
>>>> From: [email protected]
>>>> [mailto:[email protected]] On Behalf
>>>> Of "Andrés G. Aragoneses"
>>>> Sent: Sunday, July 20, 2008 9:34 AM
>>>> To: Charlie Poole
>>>> Cc: [email protected]
>>>> Subject: Re: [Nunit-users] Output from Console.WriteLine
>>>> methods is deferred
>>>>
>>>>
>>>> I'm using NUnit version 2.2.0 and I notice the deferred
>>>> printing behaviour even when my unit tests behave normally
>>>> (without infinite loops).
>>>>
>>>> Regards,
>>>>
>>>> Andrés
>>>>
>>>> Charlie Poole wrote:
>>>>> That may work, but I'm guessing not. It sounds as if your
>>>> program may
>>>>> just be taking up all the cpu cycles.
>>>>>
>>>>> This could also be a bug - in which case I hope he's using an old
>>>>> version of NUnit. :-)
>>>>>
>>>>> Charlie
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: [email protected]
>>>>>> [mailto:[email protected]] On
>>>> Behalf Of Eric
>>>>>> Teutsch
>>>>>> Sent: Saturday, July 19, 2008 7:39 AM
>>>>>> To: '"Andrés G. Aragoneses"'; [email protected]
>>>>>> Subject: Re: [Nunit-users] Output from Console.WriteLine
>>>> methods is
>>>>>> deferred
>>>>>>
>>>>>> Try to put this after the Console.WriteLine:
>>>>>> Console.Out.Flush();
>>>>>>
>>>>>>
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: [email protected]
>>>>>> [mailto:[email protected]] On Behalf Of
>>>>>> "Andrés G.
>>>>>> Aragoneses"
>>>>>> Sent: July 19, 2008 09:23
>>>>>> To: [email protected]
>>>>>> Subject: [Nunit-users] Output from Console.WriteLine methods is
>>>>>> deferred
>>>>>>
>>>>>> Hello. I've been using NUnit for a long time and I think it rocks!
>>>>>> Many thanks to all the devs.
>>>>>>
>>>>>> And now I would like to ask a question: I've been noticing
>>>> that, if
>>>>>> my unit tests write some text to the output
>>>> (Console.WriteLine), it
>>>>>> only gets shown when nunit-console finishes all the tests.
>>>> This may
>>>>>> be a feature and not a bug, but there's a problem with this
>>>>>> behaviour: it prevents easy debugging for when the unit
>>>> tests enter
>>>>>> in an infinite loop, because you cannot see what's happenning.
>>>>>>
>>>>>> Is there any command line to get direct output from the unit tests
>>>>>> without being deferred?
>>>>>>
>>>>>> Thanks!
>>>>>> Andrés
>>>>>>
>>>>>> --
>>>>>>
>>>>>>
>>>>>> --------------------------------------------------------------
>>>>>> -----------
>>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>>>>>> challenge Build the coolest Linux based applications with
>>>> Moblin SDK
>>>>>> & win great prizes Grand prize is a trip for two to an Open Source
>>>>>> event anywhere in the world
>>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>>>>>> _______________________________________________
>>>>>> Nunit-users mailing list
>>>>>> [email protected]
>>>>>> https://lists.sourceforge.net/lists/listinfo/nunit-users
>>>>>>
>>>>>>
>>>>>> --------------------------------------------------------------
>>>>>> -----------
>>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>>>>>> challenge Build the coolest Linux based applications with
>>>> Moblin SDK
>>>>>> & win great prizes Grand prize is a trip for two to an Open Source
>>>>>> event anywhere in the world
>>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>>>>>> _______________________________________________
>>>>>> Nunit-users mailing list
>>>>>> [email protected]
>>>>>> https://lists.sourceforge.net/lists/listinfo/nunit-users
>>>>>>
>>>>>
>>>> ----------------------------------------------------------------------
>>>>> --- This SF.Net email is sponsored by the Moblin Your Move
>>>> Developer's
>>>>> challenge Build the coolest Linux based applications with
>>>> Moblin SDK &
>>>>> win great prizes Grand prize is a trip for two to an Open
>>>> Source event
>>>>> anywhere in the world
>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>>>> --------------------------------------------------------------
>>>> -----------
>>>> This SF.Net email is sponsored by the Moblin Your Move
>>>> Developer's challenge Build the coolest Linux based
>>>> applications with Moblin SDK & win great prizes Grand prize
>>>> is a trip for two to an Open Source event anywhere in the
>>>> world http://moblin-contest.org/redirect.php?banner_id=100&url=/
>>>> _______________________________________________
>>>> Nunit-users mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/nunit-users
>>>>
>>>
>>> -------------------------------------------------------------------------
>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
>>> Build the coolest Linux based applications with Moblin SDK & win great prizes
>>> Grand prize is a trip for two to an Open Source event anywhere in the world
>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>>
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
>> Build the coolest Linux based applications with Moblin SDK & win great prizes
>> Grand prize is a trip for two to an Open Source event anywhere in the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/