The assert basically complains that we have a deadlock (and the mutex has error
check enabled or is recursive, which all epicsMutexes are). That means we are
trying to lock a mutex that is already locked by someone else. Without a core
dump it seems impossible to find out which EPICS mutex it may be.
The glibc code in question seems to be here (now at line 420):
https://github.com/lattera/glibc/blob/895ef79e04a953cac1493863bcae29ad85657ee1/nptl/pthread_mutex_lock.c#L420C33-L420C33
On Fri, 2023-09-22 at 15:33 +0200, Zimoch Dirk wrote:
> Do you have a coredump?
>
> On Fri, 2023-09-22 at 14:03 +0200, Ralph Lange via Core-talk wrote:
> > We are seeing CA Gateway crashes that log
> >
> > gateway: ../nptl/pthread_mutex_lock.c:430: __pthread_mutex_lock_full: Assertion `INTERNAL_SYSCALL_ERRNO (e, __err) != EDEADLK || (kind != PTHREAD_MUTEX_ERRORCHECK_NP && kind != PTHREAD_MUTEX_RECURSIVE_NP)' failed.
> >
> > which is from glibc code. I have never seen that before.
> >
> > Looks like a Gateway thread died without releasing a semaphore?
> >
> > Scared,
> > ~Ralph
> >
- Replies:
- Re: Gateway crashes Zimoch Dirk via Core-talk
- References:
- Gateway crashes Ralph Lange via Core-talk
- Re: Gateway crashes Zimoch Dirk via Core-talk
- Navigate by Date:
- Prev:
Re: Gateway crashes Ralph Lange via Core-talk
- Next:
Re: Gateway crashes Zimoch Dirk via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
<2023>
2024
- Navigate by Thread:
- Prev:
Re: Gateway crashes Michael Davidsaver via Core-talk
- Next:
Re: Gateway crashes Zimoch Dirk via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
<2023>
2024
|