This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: what does "Map and queue disagree" really mean?
On Fri, Apr 14, 2006 at 01:26:59PM -0700, Weili Yao wrote:
> Hello, there:
> I have "Map and queue disagree" assert problem. In my system, I have
> changed ECOS to support multi-PPP, and also added NAT (network address
> translation) functionality into ECOS. The multi-PPP has been working
> fine, but when I enabled my NAT, and the system starts to do NAT
> forwarding, I got the error of "Map and queue disagree". The trace is as
> follows:
>
> (gdb) bt
> #0 cyg_assert_msg (psz_func=0x3d78c8 "void
> Cyg_Scheduler_Implementation::add_thread(Cyg_Thread*)",
> psz_file=0x3d76dc
> "/home/local/ecos_sources/packages/kernel/current/src/sched/mlqueue.cxx"
> , linenum=311, psz_msg=0x3d779c "Map and queue disagree")
> at
> /home/local/ecos_sources/packages/infra/current/src/tcdiag.cxx:145
>
> #1 0x001dd58c in Cyg_Scheduler_Implementation::add_thread
> (this=0x8b6380, thread=0x3d0000)
> at
> /home/local/ecos_sources/packages/kernel/current/src/sched/mlqueue.cxx:3
> 11
>
> #2 0x001dafe8 in Cyg_Thread::wake (this=0x8c5308)
> at
> /home/local/ecos_sources/packages/kernel/current/src/common/thread.cxx:4
> 03
>
> #3 0x001e03dc in Cyg_Condition_Variable::broadcast (this=0x56e794)
> at
> /home/local/ecos_sources/packages/kernel/current/src/sync/mutex.cxx:756
>
> #4 0x001d9c84 in cyg_cond_broadcast (cond=0x3d78c8)
> at
> /home/local/ecos_sources/packages/kernel/current/src/common/kapi.cxx:113
> 9
>
> #5 0x0004444c in serial_rcv_char (chan=0x8c5308, c=0 '\0')
> at
> /home/local/ecos_sources/packages/io/serial/current/src/common/serial.c:
> 975
>
> #6 0x000b10bc in local_IoRxWakeUp (Channel=4028616)
> at ecos/cyg_io/cyg_serial.c:173
>
> (gdb)
You probably have either:
1) A buffer overrun which is corrupting a cyg_thread or schedular structure.
2) A stack overflow which is corrupting the schedular.
Try turning on full stack checking, it might find the problem.
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