[Mono-bugs] [Bug 341244] [Regression] Crashes in threading code after update to svn r89306

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Thu Dec 6 05:34:18 EST 2007


User juraj at hotfeet.ch added comment

--- Comment #2 from Juraj Skripsky <juraj at hotfeet.ch>  2007-12-06 03:34:18 MST ---
I haven't been able to find a way to reproduce the problem reliably. But I'm
still seeing the crash after mod-mono-server has been running for a day or two
(with the code from commit 89306) or a few days (without commit 89306).

After adding a few debug messages to handles.c, I found out that before getting
the "CreateThread: error creating thread handle" message, we're always reaching
these lines in _wapi_handle_new:

        if (_WAPI_SHARED_HANDLE(type)) {
                /* Add the shared section too */
                guint32 ref;

                ref = _wapi_handle_new_shared (type, handle_specific);
                if (ref == 0) {
                        _wapi_handle_collect ();
                        ref = _wapi_handle_new_shared (type, handle_specific);
                        if (ref == 0) {
>				/* FIXME: grow the arrays */
>				handle = _WAPI_HANDLE_INVALID;
>				goto done;

Running the following command now and then shows me a number which seems to be
continuously increasing:

export MONO_SHARED_DIR=/tmp; mono --wapi=hps | grep Thread |wc -l 
=> 1998

According to the following command, most of the threads have status exited

export MONO_SHARED_DIR=/tmp; mono --wapi=hps | grep Thread | grep "state: 1"
|wc -l
=> 1935

It seems that we're consistently running out of handle slots after a while. Are
the handles for terminated threads supposed to be kept around for so long?

Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the mono-bugs mailing list