1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 <2014> 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 <2014> 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: A call to 'assert(capacity != 0)' by thread |
From: | Emmanuel Mayssat <[email protected]> |
To: | EPICS mailing list <[email protected]> |
Date: | Mon, 13 Jan 2014 14:30:41 -0800 |
Just to close this thread and for future reference:
* There were no errors before or after the iocInit but the one posted herein. * The iocs were previously behaving correctly (i.e. were not in development) * The problems showed up in many of my IOCs at the same time. The culprit was a new record + associated library developed by third party I had compiled in my most of production IOCs. Although I had previously tested this new record, it was in a simple IOC. The issue showed up in my "bulky" IOCs which include also many other non-base libraries/records. I suspect there is a conflict between libraries (why? which ones? Well, this needs to be further investigated). The solution was simply to recompile my IOCs without the new record. For your information, -- Emmanuel > Date: Wed, 8 Jan 2014 17:26:32 +0100 > From: [email protected] > To: [email protected] > Subject: Re: A call to 'assert(capacity != 0)' by thread > > On 08.01.2014 00:32, Michael Davidsaver wrote: > > > epicsMessageQueueCreate(capacity, maxMessageSize) > > > > Someone is unwittingly attempting to create a message queue with capacity=0. > > Feature request: Can assert() write a stack dump? > What is written at the moment is not as helpful as it could be: > > A call to 'assert(capacity != 0)' > by thread '_main_' failed in > ../../../src/libCom/osi/os/default/osdMessageQueue.cpp line 76. > > Dirk > > > > > > > https://github.com/epicsdeb/epics-base/blob/9813f3c5d6b4251bfcb33dfce8b8db3f8efbe7fe/src/libCom/osi/os/default/osdMessageQueue.cpp#L76 > > > > (Code link to github since launchpad.net is having issue atm.) > > > > On 01/07/2014 05:45 PM, Emmanuel Mayssat wrote: > >> On our way to CE certification(required for export to Europe), we have > >> 3rd party consultants who are playing with the building electrical power. > >> Although we have UPSs everywhere, the shutdown was much longer than > >> anticipated. > >> Now as I am trying to recover from the shutdown, several of my IOC > >> come up with this message: > >> > >> > >> [...] > >> iocInit() > >> Starting iocInit > >> ############################################################################ > >> ## EPICS R3.14.11 $R3-14-11$ $2009/08/28 18:47:36$ > >> ## EPICS Base built Apr 9 2010 > >> ############################################################################ > >> > >> A call to 'assert(capacity != 0)' > >> by thread '_main_' failed in > >> ../../../src/libCom/osi/os/default/osdMessageQueue.cpp line 76. > >> EPICS Release EPICS R3.14.11 $R3-14-11$ $2009/08/28 18:47:36$. > >> Local time is 2014-01-07 13:30:20.876609556 PST > >> Please E-mail this message to the author or to [email protected] > >> Calling epicsThreadSuspendSelf() > >> > >> I am investigating the issue. > >> But as I have people breathing down my neck, pointers are welcome. > >> Regards, > >> -- > >> Emmanuel > > > |