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: e7t crash


On Wed, 2002-07-03 at 02:47, Vinayak P Risbud wrote:
>     Hi,
> 
>         I am working on ARM e7t.  I am trying to read characters from
>         serial port in blocking mode.  But my system is crashing.
>         The trace dump as follows...
> 
>         ASSERT FAIL: <1>mlqueue.cxx         [ 286] void
> Cyg_Scheduler_Implementation::re
> m_thread()                                                      Idle
> thread tryi
> ng to sleep!
> TRACE: <1>mutex.cxx           [  81] Cyg_Mutex::Cyg_Mutex()
>                                                           {{enter
> TRACE: <1>mutex.cxx           [ 119] Cyg_Mutex::Cyg_Mutex()
>                                                           }}return void
> TRACE: <1>strcpy.cxx          [  69] __strcpy()
>                                                           {{enter
> TRACE: <1>strcpy.cxx          [  69] __strcpy()
> 
> ((s1=0003cd04, s2=00
> 03cbfc))
> TRACE: <1>strcpy.cxx          [ 117] __strcpy()
>                                                           }}returning
> addr 0003c
> d04
> TRACE: <1>strlen.cxx          [  71] __strlen()
>                                                           {{enter
> TRACE: <1>strlen.cxx          [  71] __strlen()
> 
> ((s=0003cbfc))
> TRACE: <1>strlen.cxx          [ 118] __strlen()
>                                                           }}returning
> length 6
> TRACE: <1>strlen.cxx          [  71] __strlen()
>                                                           {{enter
> TRACE: <1>strlen.cxx          [  71] __strlen()
> 
> ((s=0003cbfc))
> TRACE: <1>strlen.cxx          [ 118] __strlen()
>                                                           }}returning
> length 3
> TRACE: <1>strlen.cxx          [  71] __strlen()
>                                                           {{enter
> TRACE: <1>strlen.cxx          [  71] __strlen()
> 
> ((s=0002eafc))
> TRACE: <1>strlen.cxx          [ 118] __strlen()
>                                                           }}returning
> length 3
> TRACE: <1>strlen.cxx          [  71] __strlen()
>                                                           {{enter
> TRACE: <1>strlen.cxx          [  71] __strlen()
> 
> ((s=00039cd0))
> TRACE: <1>strlen.cxx          [ 118] __strlen()
>                                                           }}returning
> length 16
> TRACE: <1>mutex.cxx           [ 205] cyg_bool Cyg_Mutex::lock()
>                                                           {{enter
> TRACE: <1>mutex.cxx           [ 309] cyg_bool Cyg_Mutex::lock()
>                                                           }}returning 1
> TRACE: <1>mutex.cxx           [ 604] cyg_bool
> Cyg_Condition_Variable::wait_inner
> ()                                                        {{enter
> TRACE: <1>mutex.cxx           [ 565] cyg_bool
> Cyg_Condition_Variable::check_this
> ()                                                          {{enter
> TRACE: <1>mutex.cxx           [ 565] cyg_bool
> Cyg_Condition_Variable::check_this
> ()                                                            ((zeal =
> 2))
> TRACE: <1>mutex.cxx           [ 588] cyg_bool
> Cyg_Condition_Variable::check_this
> ()                                                          }}returning
> 1
> TRACE: <1>mutex.cxx           [ 368] void Cyg_Mutex::unlock()
>                                                             {{enter
> TRACE: <1>sched.cxx           [ 704] void
> Cyg_SchedThread::disinherit_priority()
>                                                               {{enter
> TRACE: <1>sched.cxx           [ 627] void
> Cyg_SchedThread::clear_inherited_prior
> ity()                                                           {{enter
> TRACE: <1>sched.cxx           [ 627] void
> Cyg_SchedThread::clear_inherited_prior
> ity()
> }}RETURNING UNSE
> T!
> TRACE: <1>sched.cxx           [ 704] void
> Cyg_SchedThread::disinherit_priority()
> 
> }}RETURNING UNSET!
> 
> TRACE: <1>mutex.cxx           [ 432] void Cyg_Mutex::unlock()
>                                                             }}return
> void
> TRACE: <1>thread.cxx          [ 339] static void Cyg_Thread::sleep()
>                                                             {{enter
> TRACE: <1>mlqueue.cxx         [ 276] void
> Cyg_Scheduler_Implementation::rem_thre
> ad()                                                          {{enter
> TRACE: <1>mlqueue.cxx         [ 276] void
> Cyg_Scheduler_Implementation::rem_thre
> ad()
> ((thread=000403a
> c))
> 
> Scheduler:
> 
> Lock:                4
> Current Thread:      Idle Thread
> 
> Threads:
> 
>          Idle Thread pri =  31 state =      R id =   1
>                      stack base = 0004044c ptr = 00040bd4 size =
> 00000800
>                      sleep reason     WAIT wake reason     NONE
>                      queue = 00000000      wait info = 00000000
> 
>     Can any one tell me what could be the reason ?

Without some more real information, it would only be a guess.

My best guess is that you have an ISR or DSR which is trying to
"take" a mutex.


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


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