This is the mail archive of the ecos-discuss@sourceware.org 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]

DSR Assert issue


I am forwarding this message for a colleague. His last two messages to
the list din't seem to have made it to the list.? I wonder if that is
because he had attached a small log file.? I have copied the text of
that log file into to the message, so we will see if that helps.

-----------------------------------
From: David Cardin
Sent: Wednesday, March 24, 2010 9:31 AM
To: 'ecos-devel@ecos.sourceware.org'
Subject:

Hello,

I am having a problem using the flash libraries V2 in eCos 2.0.89.

I am working on a system based on an OMAP 5912 processor (ARM core
with a TI DSP) using eCosPro v2.0.89.

When I attempt to save information to the flash memory the data gets
saved, however approximately 50 % of the time I get the following
error:


ASSERT FAIL: <1>intr.cxx[195]static void
Cyg_Interrupt::call_pending_DSRs_inner() DSR posted but post count is
zero


I have attached a log of the failure with thread and stack
information. ?As shown on line 32 of the log, the flash process
appears to lock, erase, program, and unlock without errors. Then the
ASSERT_FAIL occurs.

The code that is calling the flash routines is well established and
has worked with older versions of eCos (a snapshot from Feb, 2006).

I searched the web looking for information on this error and found 1
thread discussing it, however there was no concrete conclusion and the
email archive was itself from 2006.

Does anyone have an idea of what is happening, or suggestions on how
to pursue this? Any help would be appreciated.

Thanks very much.


David Cardin

Senior Design Engineer
DTC Products
Cobham Surveillance

Attached Log File:

Current directory is c:\projects\other\tw_version_III_2_gig_pf\src/
GNU gdb 6.3 (eCosCentric)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "--host=i686-pc-cygwin --target=arm-elf"...
(gdb) sb
(gdb) tr0
0x0c00a58c in ?? ()
(gdb) lo
Loading section .rom_vectors, size 0x40 lma 0x20000
Loading section .text, size 0xaa924 lma 0x20040
Loading section .rodata, size 0x158bc lma 0xca964
Loading section .gcc_except_table, size 0x1c80 lma 0xe0220
Loading section .data, size 0x3e54 lma 0xe1ea0
Start address 0x20040, load size 810228
Transfer rate: 86424 bits/sec, 382 bytes/write.
(gdb) b cyg_assert_fail
Breakpoint 1 at 0x8c6f0: file
/opt/ecos/ecos-2.0.89/packages/infra/v2_0_89/src/buffer.cxx, line 727.
(gdb) c
Continuing.
P25 Twoway Beta Software - 2 Gig Experimental .022
Compiled:Mar 22 2010   13:30:28

DSP SW Rev: 301
Watchdog disabled.
enable_USB: . . .
cus: setting ACTIVE flag
adjust_usb_state: USB state is active.
. . . enabled disk for USB access.
flash unlck ret
flash erase ret
flash prog ret
flash lock ret
ASSERT FAIL: <1>intr.cxx[195]static void
Cyg_Interrupt::call_pending_DSRs_inner() DSR posted but post count is
zero
[New Thread 1]
[Switching to Thread 1]
Breakpoint 1, cyg_assert_fail (
    psz_func=0xdac94 "static void Cyg_Interrupt::call_pending_DSRs_inner()",
    psz_file=0xdaccc
"/opt/ecos/ecos-2.0.89/packages/kernel/v2_0_89/src/intr/intr.cxx",
    linenum=195, psz_msg=0xdad1c "DSR posted but post count is zero")
    at /opt/ecos/ecos-2.0.89/packages/infra/v2_0_89/src/buffer.cxx:727
(gdb) where
#0  cyg_assert_fail (psz_func=0xdac94 "static void
Cyg_Interrupt::call_pending_DSRs_inner()",
    psz_file=0xdaccc
"/opt/ecos/ecos-2.0.89/packages/kernel/v2_0_89/src/intr/intr.cxx",
    linenum=195, psz_msg=0xdad1c "DSR posted but post count is zero")
    at /opt/ecos/ecos-2.0.89/packages/infra/v2_0_89/src/buffer.cxx:727
#1  0x00090950 in Cyg_Interrupt::call_pending_DSRs_inner ()
    at /opt/ecos/ecos-2.0.89/packages/kernel/v2_0_89/src/intr/intr.cxx:201
#2  0x00020428 in hal_interrupt_stack_call_pending_DSRs ()
#3  0x00000000 in ?? ()
(gdb) info threads
  8 Thread 8 ( Name: SD Card DMA Interface thread , State: sleeping,
Priority: 12 )  Cyg_Scheduler::unlock_inner (new_lock=1) at
/opt/ecos/ecos-2.0.89/packages/kernel/v2_0_89/src/sched/sched.cxx:225
  7 Thread 7 ( Name: USB Thread, State: sleeping, Priority: 8 )
Cyg_Scheduler::unlock_inner (
    new_lock=1) at
/opt/ecos/ecos-2.0.89/packages/kernel/v2_0_89/src/sched/sched.cxx:225
  6 Thread 6 ( Name: led update thread , State: ready, Priority: 6 )
Cyg_Scheduler::unlock_inner (
    new_lock=1) at
/opt/ecos/ecos-2.0.89/packages/kernel/v2_0_89/src/sched/sched.cxx:225
  5 Thread 5 ( Name: interrupt thread , State: sleeping, Priority: 7 )
 Cyg_Scheduler::unlock_inner
    (new_lock=1) at
/opt/ecos/ecos-2.0.89/packages/kernel/v2_0_89/src/sched/sched.cxx:225
  4 Thread 4 ( Name: Control Statemachine thread, State: sleeping,
Priority: 25 )  Cyg_Scheduler::unlock_inner (new_lock=0) at
/opt/ecos/ecos-2.0.89/packages/kernel/v2_0_89/src/sched/sched.cxx:225
  3 Thread 3 ( Name: User Interface thread , State: sleeping,
Priority: 24 )  Cyg_Scheduler::unlock_inner (new_lock=1) at
/opt/ecos/ecos-2.0.89/packages/kernel/v2_0_89/src/sched/sched.cxx:225
  2 Thread 2 ( Name: main, State: exited, Priority: 10 )
Cyg_Scheduler::unlock_inner (new_lock=1)
    at /opt/ecos/ecos-2.0.89/packages/kernel/v2_0_89/src/sched/sched.cxx:225
* 1 Thread 1 ( Name: Idle Thread, State: running, Priority: 31 )
cyg_assert_fail (
    psz_func=0xdac94 "static void Cyg_Interrupt::call_pending_DSRs_inner()",
    psz_file=0xdaccc
"/opt/ecos/ecos-2.0.89/packages/kernel/v2_0_89/src/intr/intr.cxx",
    linenum=195, psz_msg=0xdad1c "DSR posted but post count is zero")
    at /opt/ecos/ecos-2.0.89/packages/infra/v2_0_89/src/buffer.cxx:727
(gdb)

--
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]