This is the mail archive of the
ecos-bugs@sources.redhat.com
mailing list for the eCos project.
[Bug 1000184] New: Ecos kernel data corrupted
- From: bugzilla at ecoscentric dot com
- To: ecos-bugs at sources dot redhat dot com
- Date: Wed, 25 May 2005 02:20:37 +0100 (BST)
- Subject: [Bug 1000184] New: Ecos kernel data corrupted
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1000184
Summary: Ecos kernel data corrupted
Product: eCos
Version: 2.0
Platform: adder (A&M Adder PPC850 board)
OS/Version: PowerPC
Status: UNCONFIRMED
Severity: critical
Priority: high
Component: Kernel
AssignedTo: jifl@ecoscentric.com
ReportedBy: kori@dd.nec.com.au
QAContact: ecos-bugs@sources.redhat.com
1)set CYG_KERNEL_SYNC_MBOX_QUEUE_SIZE = 50(any value other than default)
2) Create 4 threads say Th_A,Th_B,Th_C,Th_D, and 4 mailboxes MB_A,MB_B,MB_C &
MB_D
3) Th_A postes a message to MB_A & waits for a message from MB_B
4) Th_B postes a message to MB_B & waits for a message from MB_A
5) Th_C postes a message to MB_C & waits for a message from MB_D
5) Th_D postes a message to MB_D & waits for a message from MB_C
Each of above threads posts a constant(0x77) as message. please have a look on
below sample code for thread A.All 4 threads well for few cycles after some
times two threads stops running. When we debugged in deatil on this we found
after some time number of messages in the que is modified by message sent
(0x77).In this case number of messages is modifies as 0x77. The sample code
for thread is as below.
void ThreadA_entry(cyg_addrword_t data)
{
int i;
void * data;
for(;;) {
cyg_mbox_put(MB_A,(void *)0x77);
LED_BIT_ON(5);//just for out target board PPC850
for(i=0; i<500000; i++);
data = g_mbox_get(MB_B);
}
}
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.