[Mono-dev] Shutdown hangs

Miguel de Icaza miguel at microsoft.com
Wed Jul 27 21:13:53 UTC 2016


Hello George,

> I too am interested in this.  We (naively) approached our Microsoft
> contacts about getting this support, and it quickly went in a completely
> different direction (why don¹t you run on Azure on Windows machines!).
> 
> Miguel, does Xamarin offer paid support for Mono on Linux as opposed to
> Mobile?

We do not offer this support, but the fine guys at Sinenomine offer this sort of paid support.

(Neale Ferguson, he often posts to mono-list and mono-devel-list).

That said, if we can get a reproducible test case, we are generally interested in making sure we do not have ugly bugs like this.   But without a test case, it is hard to tell what causes this.   

I am hoping that it is something wrong with your code and not ours :-)

Miguel.

> 
> 
> ― ― ― 
> 
> Glover E. George
> Computer Scientist
> Information Technology Laboratory
> US Army Engineer Research and Development Center
> Vicksburg, MS 39180
> 601-634-4730
> 
> 
> 
> 
> 
> On 7/18/16, 4:48 PM, "mono-devel-list-bounces at lists.dot.net on behalf of
> Chris Swiedler" <mono-devel-list-bounces at lists.dot.net on behalf of
> cswiedler at trionworlds.com> wrote:
> 
>> Does Xamarin (or anyone else) offer paid support for server-side mono
>> issues like this? The support offerings on their website only mention
>> mobile apps.
>> 
>> chris
>> 
>> -----Original Message-----
>> From: Chris Swiedler
>> Sent: Tuesday, July 12, 2016 9:19 AM
>> To: 'Chris Swiedler' <cswiedler at trionworlds.com>; mono-devel-list
>> <mono-devel-list at lists.ximian.com>
>> Subject: RE: Shutdown hangs
>> 
>> Switching to mono 4.0.5 seems a little better, but the problem (or a
>> similar problem) is still there, and I get segfaults and other problems
>> with 4.0.
>> 
>> Does anyone have any suggestions for brute-force ways to fix this
>> problem? E.g., can I modify ves_icall_System_Environment_Exit or similar
>> to just call exit()? I haven't looked at the code but from the call
>> stacks it seems like this happens in an attempt to make an orderly
>> shutdown of threads. While that would be nice, it's much more important
>> to me for the application to actually exit. If I have to, I'll make the
>> process kill itself with SIGKILL, but I'd rather not since then I lose
>> the actual exit code.
>> 
>> chris
>> 
>> -----Original Message-----
>> From: mono-devel-list-bounces at lists.ximian.com
>> [mailto:mono-devel-list-bounces at lists.ximian.com] On Behalf Of Chris
>> Swiedler
>> Sent: Monday, June 13, 2016 9:55 AM
>> To: mono-devel-list <mono-devel-list at lists.ximian.com>
>> Subject: [Mono-dev] Shutdown hangs
>> 
>> I'm getting semi-reliable shutdown hangs in a mono command-line app using
>> mono 4.2.3 on Centos 7 64-bit. The app does different things at different
>> times, and the shutdowns only seem to happen when it connects to our SQL
>> server database (using the Mono database bindings, not ODBC). We've also
>> seen an occasional segfault, also seemingly only when doing database
>> work, though those may have gone away since upgrading to 4.2.3.
>> 
>> Does anyone have any thoughts? Pstack output below.
>> 
>> Thanks,
>> chris
>> 
>> 
>> Thread 5 (Thread 0x7f4c777ff700 (LWP 11658)):
>> #0  pthread_cond_wait@@GLIBC_2.3.2 () at
>> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
>> #1  0x00000000005f786c in thread_func (thread_data=0x0) at
>> sgen-thread-pool.c:118
>> #2  0x00007f4c77ffedf5 in start_thread (arg=0x7f4c777ff700) at
>> pthread_create.c:308
>> #3  0x00007f4c77d2c1ad in clone () at
>> ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
>> 
>> Thread 4 (Thread 0x7f4c75560700 (LWP 11659)):
>> #0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
>> #1  0x000000000061aa37 in mono_sem_wait (sem=sem at entry=0x953c40
>> <finalizer_sem>, alertable=alertable at entry=1) at mono-semaphore.c:107
>> #2  0x00000000005a1736 in finalizer_thread (unused=<optimized out>) at
>> gc.c:1096
>> #3  0x00000000005841e9 in start_wrapper_internal (data=<optimized out>)
>> at threads.c:725
>> #4  start_wrapper (data=<optimized out>) at threads.c:772
>> #5  0x0000000000621026 in inner_start_thread (arg=0x7fffda0d42e0) at
>> mono-threads-posix.c:97
>> #6  0x00007f4c77ffedf5 in start_thread (arg=0x7f4c75560700) at
>> pthread_create.c:308
>> #7  0x00007f4c77d2c1ad in clone () at
>> ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
>> 
>> Thread 3 (Thread 0x7f4c74fd3700 (LWP 11660)):
>> #0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
>> #1  0x000000000061aa37 in mono_sem_wait (sem=sem at entry=0x7f4c68000940,
>> alertable=alertable at entry=0) at mono-semaphore.c:107
>> #2  0x000000000061f5ba in mono_thread_info_wait_for_resume
>> (info=<optimized out>) at mono-threads.c:110
>> #3  mono_thread_info_end_self_suspend () at mono-threads.c:692
>> #4  0x0000000000583d2c in self_suspend_internal (thread=0x7f4c78a74330)
>> at threads.c:4546
>> #5  mono_thread_execute_interruption (thread=thread at entry=0x7f4c78a74330)
>> at threads.c:4050
>> #6  0x0000000000583f50 in mono_thread_interruption_checkpoint_request
>> (bypass_abort_protection=bypass_abort_protection at entry=1) at
>> threads.c:4184
>> #7  0x0000000000584dae in mono_thread_force_interruption_checkpoint () at
>> threads.c:4221
>> 
>> Thread 2 (Thread 0x7f4c746ff700 (LWP 11661)):
>> #0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
>> #1  0x000000000061aa37 in mono_sem_wait (sem=sem at entry=0x7f4c6c000940,
>> alertable=alertable at entry=0) at mono-semaphore.c:107
>> #2  0x000000000061f5ba in mono_thread_info_wait_for_resume
>> (info=<optimized out>) at mono-threads.c:110
>> #3  mono_thread_info_end_self_suspend () at mono-threads.c:692
>> #4  0x0000000000583d2c in self_suspend_internal (thread=0x7f4c78a74430)
>> at threads.c:4546
>> #5  mono_thread_execute_interruption (thread=thread at entry=0x7f4c78a74430)
>> at threads.c:4050
>> #6  0x00000000005851f9 in
>> ves_icall_System_Threading_Thread_Sleep_internal (ms=1000) at
>> threads.c:1206
>> #17 0x00007f4c756fa2e7 in System_Threading_Thread_Sleep_int
>> (millisecondsTimeout=1000) at
>> /home/cswiedler/mono-main/Extern/mono/source/external/referencesource/msco
>> rlib/system/threading/thread.cs:715
>> 
>> Thread 1 (Thread 0x7f4c78b34780 (LWP 11657)):
>> #0  0x00007f4c7800599d in nanosleep () at
>> ../sysdeps/unix/syscall-template.S:81
>> #1  0x0000000000632a5a in monoeg_g_usleep (microseconds=1935890) at
>> gdate-unix.c:53
>> #2  0x000000000061f2bb in suspend_sync_nolock
>> (id=id at entry=139966347736832, interrupt_kernel=interrupt_kernel at entry=1)
>> at mono-threads.c:870
>> #3  0x000000000061f732 in mono_thread_info_safe_suspend_and_run
>> (id=139966347736832, interrupt_kernel=interrupt_kernel at entry=1,
>> callback=callback at entry=0x5813c0 <suspend_thread_critical>,
>> user_data=user_data at entry=0x7fffda0d3a10) at mono-threads.c:891
>> #4  0x0000000000581d29 in suspend_thread_internal (thread=0x7f4c78a74430,
>> interrupt=1) at threads.c:4531
>> #5  0x00000000005834ff in mono_thread_suspend_all_other_threads () at
>> threads.c:3154
>> #6  0x0000000000538176 in ves_icall_System_Environment_Exit (result=0) at
>> icall.c:6006
>> #7  0x0000000040731832 in ?? ()
>> _______________________________________________
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
>> Blockedhttp://lists.ximian.com/mailman/listinfo/mono-devel-listBlocked
>> _______________________________________________
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.dot.net
>> Blockedhttp://lists.dot.net/mailman/listinfo/mono-devel-listBlocked
>> 
> 
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.dot.net
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2flists.dot.net%2fmailman%2flistinfo%2fmono-devel-list&data=01%7c01%7cmiguel%40microsoft.com%7cdeb756a7d6664a2460f408d3af58415c%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=oRk%2bIVztxInNf1aQAqDVg6tM6q4mrO2I%2bqeMga6I5KU%3d



More information about the Mono-devel-list mailing list