Bug 12483 - mono crash at wait.c
Summary: mono crash at wait.c
Alias: None
Product: Runtime
Classification: Mono
Component: General ()
Version: unspecified
Hardware: PC Linux
: --- normal
Target Milestone: ---
Assignee: Bugzilla
Depends on:
Reported: 2013-05-31 03:49 UTC by Amos
Modified: 2017-07-07 21:00 UTC (History)
4 users (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on GitHub or Developer Community with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description Amos 2013-05-31 03:49:48 UTC
Mono runtime crash in wait.c : 

_wapi_handle_unref_full: Attempting to unref unused handle 0x1778
* Assertion at wait.c:231, condition `thr_ret == 0' not met

_wapi_handle_unref_full: Attempting to unref unused handle 0x71c
* Assertion at wait.c:245, condition `thr_ret == 0' not met

system info :

Dell x86 dual core
MemTotal:        3847384 kB
model name      : Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz
model name      : Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz

CentOS release 6.4 (Final)
Linux dummy.dummy.it 2.6.32-358.6.2.el6.i686 #1 SMP Thu May 16 18:12:13 UTC 2013 i686 i686 i386 GNU/Linux

Architecture:          i686
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 23
Stepping:              10
CPU MHz:               2992.455
BogoMIPS:              5984.91
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              6144K

Thanks in advanced
Comment 1 Amos 2013-05-31 05:47:01 UTC
I rebuilt mono 2.10.9 with a workarond fix to avoid crash :

245	thr_ret = _wapi_handle_unlock_handle (handle);
246	//g_assert (thr_ret == 0);  //need a better fix - Amos
247	if(thr_ret != 0)			//need a better fix - Amos
248		ret = WAIT_FAILED;		//need a better fix - Amos
249	pthread_cleanup_pop (0);

so, I think now that mono generate this Exception (but not crash :-)) :

Mutex is not owned mscorlib System.ApplicationException
	System.ApplicationException: Mutex is not owned
  at System.Threading.Mutex.ReleaseMutex () [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Threading.Mutex:ReleaseMutex ()

I found a interesting discussion about this exception at this link :


Comment 2 Rodrigo Kumpera 2013-08-23 14:26:55 UTC
Please provide us with a test case.
Comment 3 Ludovic Henry 2017-07-07 21:00:59 UTC
Can you still reproduce this bug with latest version of mono? Please feel free to reopen if that is still the case. Thank you.