threads/72353: Assertionfailsin/usr/src/lib/libpthread/sys/lock.c, line 171, when compilingmonodoc

Daniel Eischen deischen at freebsd.org
Thu Oct 7 06:30:38 PDT 2004


On Thu, 7 Oct 2004, David Xu wrote:

> Daniel Eischen wrote:
>
> >On Wed, 6 Oct 2004, Ivan Voras wrote:
> >
> >
> >
> >>Jeremy Messenger wrote:
> >>
> >>
> >>>Have you tried Tom McLaughlin <tmclaugh at sdf.lonestar.org> 's Mono
> >>>project[1]? Tom has ported 1.0.2, 1.1.1, newer gtk-sharp and few Mono
> >>>apps. He's kind of taking care of Mono on FreeBSD for now, which the
> >>>maintainer of Mono is kind of too busy or has disappeared. Tom has said
> >>>that it works with FreeBSD 5.3 only, because of better thread, TLS and etc.
> >>>
> >>>
> >>Ok, I'll try it. Meanwhile, if anybody wants to look at it, it's really
> >>simple to reproduce once you have mono installed (which isn't a
> >>problem). Make an empty file (touch empty.cs) and run 'mcs empty.cs
> >>-pkg:dummypkg'.
> >>
> >>
> >
> >It looks like something is overruning or corrupting the stack of
> >one of the threads.  The default stack size for threads is 64K in
> >libpthread.
> >
> >
> >
> I tried, increasing stack size to 2M still does not help.
> Here is the backtrace from .core file:
>
> Loaded symbols for /libexec/ld-elf.so.1
> #0  0x2837bf07 in pthread_testcancel () from /usr/lib/libpthread.so.1
> (gdb) bt
> #0  0x2837bf07 in pthread_testcancel () from /usr/lib/libpthread.so.1
> #1  0x2836d099 in sigaction () from /usr/lib/libpthread.so.1
> #2  0x283671c5 in pthread_kill () from /usr/lib/libpthread.so.1
> #3  0x28366b94 in raise () from /usr/lib/libpthread.so.1
> #4  0x28451653 in abort () from /lib/libc.so.5
> #5  0x2842c733 in __assert () from /lib/libc.so.5
> #6  0x2837cd37 in __error () from /usr/lib/libpthread.so.1
> #7  0x2837005b in _pthread_mutex_trylock () from /usr/lib/libpthread.so.1

The stack is already corrupt here.  pthread_mutex_lock() doesn't call
pthread_mutex_trylock().

> #8  0x283715c7 in pthread_mutex_lock () from /usr/lib/libpthread.so.1
> #9  0x28171cc6 in WaitForSingleObjectEx (handle=0xe, timeout=500,
> alertable=0) at handles-private.h:97
> #10 0x2816b116 in CreateProcess (appname=0xd, cmdline=0x8093ac4,
> process_attrs=0x0, thread_attrs=0x0, inherit_handles=1,
>     create_flags=1024, new_environ=0x0, cwd=0x0, startup=0xbf8ec78c,
> process_info=0xbf8ec77c) at processes.c:427
> #11 0x2813ef4f in ves_icall_System_Diagnostics_Process_Start_internal
> (appname=0x80f89d8, cmd=0x8093ab8, dirname=0x8091f30,
>     stdin_handle=0x17e, stdout_handle=0x17e, stderr_handle=0x17e,
> process_info=0xbf8ec964) at process.c:870
> #12 0x28f568ff in ?? ()
> #13 0x080f89d8 in ?? ()
> #14 0x08093ab8 in ?? ()
> #15 0x08091f30 in ?? ()
> #16 0x00000009 in ?? ()
> #17 0x0000000d in ?? ()
> #18 0x0000000b in ?? ()
> #19 0xbf8ec964 in ?? ()
> #20 0x0813a4e0 in ?? ()
> #21 0x0813a4c8 in ?? ()
> #22 0x081f17c0 in ?? ()
> #23 0x08091f30 in ?? ()
> #24 0x08093ab8 in ?? ()
> #25 0x080f89d8 in ?? ()
> #26 0xbf8ec838 in ?? ()
> #27 0x28f568cc in ?? ()
> #28 0xbf8ec98c in ?? ()
> #29 0x28f562aa in ?? ()
> #30 0x080f89d8 in ?? ()
> #31 0x08093ab8 in ?? ()
> #32 0x08091f30 in ?? ()
> #33 0x00000009 in ?? ()
> #34 0x0000000d in ?? ()
> #35 0x0000000b in ?? ()
> #36 0xbf8ec964 in ?? ()
> ---Type <return> to continue, or q <return> to quit---
> #37 0x28371b4e in pthread_mutex_unlock () from /usr/lib/libpthread.so.1
> Previous frame inner to this frame (corrupt stack?)
> (gdb)
>
>
>

-- 
Dan Eischen



More information about the freebsd-threads mailing list