This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: need debugging help


On Thu, Aug 05, 2004 at 11:29:23AM -0400, harmon wrote:
> Thanks for the advice.  I figured out how to enable asserts, enabled
> them, ran my application and asserted where I was having a problem:
> 
> The message is:
> ASSERT FAIL: <6>mutex.cxx[249]cyg_bool Cyg_Mutex::lock() Locking mutex I
> already own
> ASSERT FAIL: <6>mutex.cxx  [249] cyg_bool Cyg_Mutex::lock()
> 
> 
> This problem occurs where I call
> 	cyg_flag_setbits(&UsbRspStateFlag,
> (1<<USB_STATE_IN_MESSAGE_DONE));
> from a DSR.
> 
> I believe this might be a point where my DSR calls cyg_flag_setbits
> twice, once for each thread, and the second call results in problems.

No, that does not sound right. cyg_flash_setbits should not be doing
anything with mutex's. Also, you should not be using mutex's inside a
DSR. I think the mutex problem is being triggered from some other
location. You should be able to put a breakpoint in cyg_assert_failed
and then get a backtrace from gdb.

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]