[
https://issues.apache.org/jira/browse/MYNEWT-334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15375940#comment-15375940
]
Vipul Rahane edited comment on MYNEWT-334 at 7/13/16 10:46 PM:
---------------------------------------------------------------
Fixed it as part of this [pull
request|https://github.com/apache/incubator-mynewt-core/pull/73] with commit
[b75aca0|https://github.com/apache/incubator-mynewt-core/pull/73/commits/b75aca0064511a17a4c62d8864c61bf5c1048e32|b75aca0].
The problem isn't the reboot log. It was the log append function not checking
for valid arguments.
was (Author: vrahane):
Fixed it as part of this [pull
request|https://github.com/apache/incubator-mynewt-core/pull/73] with commit
[b75aca0|https://github.com/apache/incubator-mynewt-core/pull/73/commits/b75aca0064511a17a4c62d8864c61bf5c1048e32|b75aca0]
> log_append() not checking for log validation
> --------------------------------------------
>
> Key: MYNEWT-334
> URL: https://issues.apache.org/jira/browse/MYNEWT-334
> Project: Mynewt
> Issue Type: Bug
> Components: Newtmgr
> Affects Versions: v0_9_0
> Reporter: Todd Mitton
> Assignee: Vipul Rahane
> Priority: Minor
>
> After an upgrade to the latest apache-mynewt-core, reset commands no longer
> worked. Issuing a reset via newtmgr would not reset the device and caused
> all subsequent newtmgr commands to timeout. The newtmgr task would enter an
> infinite loop. Here's an example stack trace when in the infinite loop.
> {noformat}
> (gdb) bt
> #0 0x00003050 in ?? ()
> #1 0x000174ae in log_append (log=log@entry=0x2000132c <reboot_log>,
> module=module@entry=6, level=level@entry=4,
> data=0x20002740 <newtmgr_stack+3768>, data@entry=0x20002738
> <newtmgr_stack+3760>, len=28) at log.c:125
> #2 0x00017520 in log_printf (log=log@entry=0x2000132c <reboot_log>,
> module=module@entry=6, level=level@entry=4,
> msg=0x1c14c "rsn:%s, cnt:%u, img:%u.%u.%u.%u") at log.c:155
> #3 0x00017d70 in log_reboot (reason=reason@entry=0) at log_reboot.c:158
> #4 0x00013cb8 in nmgr_reset (njb=0x2000405c <nmgr_task_jbuf>) at
> newtmgr_os.c:230
> #5 0x00013838 in nmgr_handle_req (req=0x20003268 <default_mbuf_mpool_data>,
> nt=0x20004120 <g_nmgr_shell_transport>) at newtmgr.c:461
> #6 nmgr_process (nt=0x20004120 <g_nmgr_shell_transport>) at newtmgr.c:500
> #7 0x000138d0 in nmgr_task (arg=<optimized out>) at newtmgr.c:519
> #8 0x00000000 in ?? ()
> {noformat}
> I was able to fix the problem by adding this code in my main()
> reboot_init_handler(LOG_TYPE_STORAGE, 10);
> I'm guessing the infinite loop is the while (1) loop in log_fcb_append.
> It would be good to handle the case where the reboot log isn't initialized
> more gracefully.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)