* 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.
> 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
> >
>