From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Csebits To: eCos mailing list Subject: [ECOS] cyg_create_thread Date: Tue, 04 Sep 2001 07:46:00 -0000 Message-id: <20010904164640.A12696@frequentis.com> X-SW-Source: 2001-09/msg00043.html hi I have a MPC860T board with a MBX based eCos/RedBoot self made port. With the snapshot of today (04-Sep-2001) my twothreads example does not work any longer. it hangs somewhere in the second call of cyg_thread_create: (sorry for the long list) TRACE: [94]Cyg_Scheduler_Implementation::Cyg_Scheduler_Implementation() enter TRACE: [113]Cyg_Scheduler_Implementation::Cyg_Scheduler_Implementation() return void TRACE: [86]Cyg_Exception_Control::Cyg_Exception_Control() enter TRACE: [98]Cyg_Exception_Control::Cyg_Exception_Control() return void TRACE: [77]Cyg_Counter::Cyg_Counter() enter TRACE: [77]Cyg_Counter::Cyg_Counter() RETURNING UNSET! TRACE: [422]Cyg_Clock::Cyg_Clock() enter TRACE: [422]Cyg_Clock::Cyg_Clock() RETURNING UNSET! TRACE: [77]Cyg_Interrupt::Cyg_Interrupt() enter TRACE: [77]Cyg_Interrupt::Cyg_Interrupt() vector=0, priority=1, data=000459E8, isr=0002EE04, dsr=0002EE44 TRACE: [100]Cyg_Interrupt::Cyg_Interrupt() return void TRACE: [806]Cyg_RealTimeClock::Cyg_RealTimeClock() enter TRACE: [383]void Cyg_Interrupt::attach() enter TRACE: [444]void Cyg_Interrupt::attach() return void TRACE: [623]static void Cyg_Interrupt::unmask_interrupt() enter TRACE: [632]static void Cyg_Interrupt::unmask_interrupt() return void TRACE: [806]Cyg_RealTimeClock::Cyg_RealTimeClock() RETURNING UNSET! TRACE: [590]Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation() enter TRACE: [590]Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation() sched_info=0000001F TRACE: [604]Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation() return void TRACE: [467]Cyg_SchedThread::Cyg_SchedThread() enter TRACE: [467]Cyg_SchedThread::Cyg_SchedThread() RETURNING UNSET! TRACE: [637]Cyg_Alarm::Cyg_Alarm() enter TRACE: [637]Cyg_Alarm::Cyg_Alarm() RETURNING UNSET! TRACE: [191]Cyg_Thread::Cyg_Thread() enter TRACE: [432]void Cyg_Scheduler_Implementation::register_thread() enter TRACE: [432]void Cyg_Scheduler_Implementation::register_thread() thread=00042FC0 TRACE: [435]void Cyg_Scheduler_Implementation::register_thread() return void TRACE: [224]Cyg_Thread::Cyg_Thread() return void TRACE: [1251]Cyg_IdleThread::Cyg_IdleThread() enter TRACE: <1>[594]void Cyg_Thread::resume() enter TRACE: <1>[205]void Cyg_Scheduler_Implementation::add_thread() enter TRACE: <1>[205]void Cyg_Scheduler_Implementation::add_thread() thread=00042FC0 TRACE: <1>[266]void Cyg_Scheduler_Implementation::add_thread() return void TRACE: <1>[625]void Cyg_Thread::resume() return void TRACE: <1>[1258]Cyg_IdleThread::Cyg_IdleThread() return void TRACE: <1>[81]Cyg_Mutex::Cyg_Mutex() enter TRACE: <1>[102]Cyg_Mutex::Cyg_Mutex() return void TRACE: <1>[590]Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation() enter TRACE: <1>[590]Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation() sched_info=0000000A TRACE: <1>[604]Cyg_SchedThread_Implementation::Cyg_SchedThread_Implementation() return void TRACE: <1>[467]Cyg_SchedThread::Cyg_SchedThread() enter TRACE: <1>[467]Cyg_SchedThread::Cyg_SchedThread() RETURNING UNSET! TRACE: <1>[637]Cyg_Alarm::Cyg_Alarm() enter TRACE: <1>[637]Cyg_Alarm::Cyg_Alarm() RETURNING UNSET! TRACE: <1>[191]Cyg_Thread::Cyg_Thread() enter TRACE: <1>[432]void Cyg_Scheduler_Implementation::register_thread() enter TRACE: <1>[432]void Cyg_Scheduler_Implementation::register_thread() thread=00043938 TRACE: <1>[435]void Cyg_Scheduler_Implementation::register_thread() return void TRACE: <1>[224]Cyg_Thread::Cyg_Thread() return void TRACE: <1>[79]cyg_iso_c_start() enter TRACE: <1>[79]cyg_iso_c_start() (void) TRACE: <1>[83]void cyg_iso_c_start() Resuming cyg_libc_main_thread TRACE: <1>[594]void Cyg_Thread::resume() enter TRACE: <1>[205]void Cyg_Scheduler_Implementation::add_thread() enter TRACE: <1>[205]void Cyg_Scheduler_Implementation::add_thread() thread=00043938 TRACE: <1>[266]void Cyg_Scheduler_Implementation::add_thread() return void TRACE: <1>[625]void Cyg_Thread::resume() return void TRACE: <1>[86]cyg_iso_c_start() return void TRACE: <1>[1068]Cyg_Check_Structure_Sizes::Cyg_Check_Structure_Sizes() Size of C struct cyg_thread != size of C++ struct Cyg_Thread ASSERT FAIL: <1>[1080]Cyg_Check_Structure_Sizes::Cyg_Check_Structure_Sizes() Size checks failed Any hints? regards, christoph --