Software reset and initial trap occuring
Posted: Tue Apr 17, 2012 3:14 am
Hi there,
lately I ran into a weird problem with a firmware I'm developing. The firmware itself is developed in
object oriented C++ and uses HTTP to post a SOAP request during the bootup sequence of the control unit
(in order to get its configuration from the database). In some rare cases, if I update the firmware via Autoupdate, the control unit
reboots itself and runs into a trap just at the beginning (during the HTTP post header build). Due to the "reboot on trap"-setting this happens
endlessly. The only way to resolve this problem, is through a new power on. I have checked the code line the firmware crashes
with winaddr2line. The firmware crashes (in these rare cases) at a point where only a character array is being initialized. If I power
on the control unit, the problem disappears and it boots up normally.
One thing...the firmware uses all three serial ports (0: printer, 1: rfid reader, 2: bill validator (cctalk)). I have another task which provides
the debug output via telnet. The filedescriptors (stdin, stdout, stderr) used are being replaced (ReplaceStdio()) to the one of the telnet task.
Thank you guys in advance!
lately I ran into a weird problem with a firmware I'm developing. The firmware itself is developed in
object oriented C++ and uses HTTP to post a SOAP request during the bootup sequence of the control unit
(in order to get its configuration from the database). In some rare cases, if I update the firmware via Autoupdate, the control unit
reboots itself and runs into a trap just at the beginning (during the HTTP post header build). Due to the "reboot on trap"-setting this happens
endlessly. The only way to resolve this problem, is through a new power on. I have checked the code line the firmware crashes
with winaddr2line. The firmware crashes (in these rare cases) at a point where only a character array is being initialized. If I power
on the control unit, the problem disappears and it boots up normally.
One thing...the firmware uses all three serial ports (0: printer, 1: rfid reader, 2: bill validator (cctalk)). I have another task which provides
the debug output via telnet. The filedescriptors (stdin, stdout, stderr) used are being replaced (ReplaceStdio()) to the one of the telnet task.
Thank you guys in advance!