Hi Adam
It had stopped this morning, so I attempted to attach gdb. The result (as far as I got) is as follows:
D:\Users\Daniel\Desktop\mbed\TCPSocket_HelloWorld>D:\Users\Daniel\Desktop\mbed\a
damgreen-gcc4mbed-8234d7c\adamgreen-gcc4mbed-8234d7c\gcc-arm-none-eabi\bin\arm-n
one-eabi-gdb TCPSocket_HelloWorld.elf --baud 115200 -ex "set target-charset ASCI
I" -ex "set remotelogfile mri.log" -ex "target remote com3"
GNU gdb (GNU Tools for ARM Embedded Processors) 7.4.1.20121207-cvs
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=i586-mingw32 --target=arm-none-eabi".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from D:\Users\Daniel\Desktop\mbed\TCPSocket_HelloWorld/TCPSocket
_HelloWorld.elf...done.
Remote debugging using com3
Ignoring packet error, continuing...
warning: unrecognized item "timeout" in "qSupported" response
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Malformed response to offset query, timeout
(gdb) set pagination off
(gdb) set logging on
Copying output to gdb.txt.
(gdb) bt
No stack.
(gdb) list
4 #define RETRIES_ALLOWED 5
5
6 //Serial pc(USBTX, USBRX);
7 EthernetInterface eth;
8 DigitalOut led1(LED1);
9
10 #define printf (void)
11
12 int main()
13 {
(gdb) disass
No frame selected.
(gdb)
The mri.log file says:
w +$qSupported:qRelocInsn+#9a
r <Timeout: 2 seconds>
w $qSupported:qRelocInsn+#9a
r <Timeout: 2 seconds>
w $qSupported:qRelocInsn+#9a
r <Timeout: 2 seconds>
w $qSupported:qRelocInsn+#9a
r <Timeout: 2 seconds><Timeout: 2 seconds>
w -
r <Timeout: 2 seconds>
w -
r <Timeout: 2 seconds>
w -+$Hg0#df
r <Timeout: 2 seconds>
w $Hg0#df
r <Timeout: 2 seconds>
w $Hg0#df
r <Timeout: 2 seconds>
w $Hg0#df
r <Timeout: 2 seconds><Timeout: 2 seconds>
w -
r <Timeout: 2 seconds>
w -
r <Timeout: 2 seconds>
w -+$?#3f
r <Timeout: 2 seconds>
w $?#3f
r <Timeout: 2 seconds>
w $?#3f
r <Timeout: 2 seconds>
w $?#3f
r <Timeout: 2 seconds><Timeout: 2 seconds>
w -
r <Timeout: 2 seconds>
w -
r <Timeout: 2 seconds>
w -+$Hc-1#09
r <Timeout: 2 seconds>
w $Hc-1#09
r <Timeout: 2 seconds>
w $Hc-1#09
r <Timeout: 2 seconds>
w $Hc-1#09
r <Timeout: 2 seconds><Timeout: 2 seconds>
w -
r <Timeout: 2 seconds>
w -
r <Timeout: 2 seconds>
w -+$qC#b4
r <Timeout: 2 seconds>
w $qC#b4
r <Timeout: 2 seconds>
w $qC#b4
r <Timeout: 2 seconds>
w $qC#b4
r <Timeout: 2 seconds><Timeout: 2 seconds>
w -
r <Timeout: 2 seconds>
w -
r <Timeout: 2 seconds>
w -+$qAttached#8f
r <Timeout: 2 seconds>
w $qAttached#8f
r <Timeout: 2 seconds>
w $qAttached#8f
r <Timeout: 2 seconds>
w $qAttached#8f
r <Timeout: 2 seconds><Timeout: 2 seconds>
w -
r <Timeout: 2 seconds>
w -
r <Timeout: 2 seconds>
w -+$qOffsets#4b
r <Timeout: 2 seconds>
w $qOffsets#4b
r <Timeout: 2 seconds>
w $qOffsets#4b
r <Timeout: 2 seconds>
w $qOffsets#4b
r <Timeout: 2 seconds><Timeout: 2 seconds>
w -
r <Timeout: 2 seconds>
w -
r <Timeout: 2 seconds>
w -+
End of log
Regards
Daniel
Hi
Following my question here, this is a thread to contribute on solving the problem of the EthernetInterface locking up after a few hours running.
Without solving this problem, there is no point trying to use the new stack for a continuously running application, even though you might be able to make a whizzy demo with it!
Why investigate this? I have a few thousand hours of uptime with my fork (Segundo) of the old NetServices running alongside scmRTOS. I thought it would be nice to use the "official" EthernetInterface and RTOS instead, but got a lock up after a couple of hours with the most basic of code.
This investigation will focus on using offline compilation and debugging to find out what is happening.
I've updated my demo code which locks up to the latest libraries:
Import programTCPSocket_HelloWorldTest
Test to demonstrate that TCP sockets lock up
Last commit 16 Jul 2013 by Daniel Peter
Thanks Daniel