Intermittent boot poweroff (s90) - page 2 - General Discussion and Assistance - CHDK Forum
supplierdeeply

Intermittent boot poweroff (s90)

  • 18 Replies
  • 4448 Views
*

Offline reyalp

  • ******
  • 13045
Re: Intermittent boot poweroff (s90)
« Reply #10 on: 25 / January / 2011, 16:58:32 »
Advertisements
Romlog is much more useful with the core/main.dump from exact build that was running on the camera when it crashed. If you have this (or can make a new one and new romlog to go with it), please zip it and upload it to a file sharing site (e.g. zshare etc)

core/main.bin should also be acceptable (and a lot smaller)

I think chdkshell does a "make clean " after the build by default, which would delete these. You'll need to turn that off if you are using chdkshell to build.

Finally, please make sure the timestamp in your romlog corresponds to the crash you are trying to debug. If the startup crash doesn't generate a romlog, then the romlog will be from some previous unrelated crash.
Don't forget what the H stands for.

*

Offline whim

  • ******
  • 2040
  • A495/590/620/630 ixus70/115/220/230/300/870 S95
Re: Intermittent boot poweroff (s90)
« Reply #11 on: 25 / January / 2011, 18:55:34 »
Quote
Romlog is much more useful with the core/main.dump

Quote
I think chdkshell does a "make clean " after the build by default, which would delete these. You'll need to turn that off if you are using chdkshell to build.

No need ... the (somewhat cryptically named) checkbox "ELF objdump" does exactly that - and dresses it up in
neat WinDOS CR/LF line terminator style + compiler info & time stamp (in fact, it smuggles out core/main.dump
before the gmake clean can get hold of it)
If activated you'll find it after compilation as /bin/log/dump-{cam}-{firm}.txt ( ~3.5 MB)
Will not work under "command line access" (maybe not under 'gmake fir' incremental compile either, can't remember ATM)

cheers,

wim

edit: no need to make 'cryptically' more so by spelling it 'crypically'  :D
« Last Edit: 25 / January / 2011, 19:19:18 by whim »

Re: Intermittent boot poweroff (s90)
« Reply #12 on: 26 / January / 2011, 01:46:38 »
Ok, I managed to get another crash and uploaded a new romlog + main.dump here: s90-debug.tbz - 0.56MB

I'm not using chdkshell, just a linux command line.

*

Offline reyalp

  • ******
  • 13045
Re: Intermittent boot poweroff (s90)
« Reply #13 on: 26 / January / 2011, 02:10:08 »
romlog
Code: [Select]
StackDump:
...
0x0015A0F8
0x0016098D <- last CHDK thumb code on the stack
...
main.dump
Code: [Select]
00160980 <rbf_load_symbol>:
  160980: b5f0      push {r4, r5, r6, r7, lr}
  160982: b084      sub sp, #16
  160984: 2100      movs r1, #0
  160986: 4a72      ldr r2, [pc, #456] (160b50 <rbf_load_symbol+0x1d0>)
  160988: f012 faa8 bl 172edc <__open_from_thumb> <- this call
  16098c: 1c06      adds r6, r0, #0
  16098e: 2800      cmp r0, #0
lib/font/rbf_font.c
Code: [Select]
int rbf_load_symbol(char *file) {
...
    fd = open(file, O_RDONLY, 0777); <- same code

s90 101c primary.bin
Code: [Select]
sub_FF86B0B0
...
ROM:FF86B10C                 CMP     R4, #0
ROM:FF86B110                 LDREQ   R1, =0x1C3
ROM:FF86B114                 ADREQ   R0, aFsionotify_c ; "FsIoNotify.c"
ROM:FF86B118                 BLEQ    sub_FF81E88C <- this assert

Not sure what this means, I've seen this assert before.  In fact, it's in my example on http://chdk.wikia.com/wiki/Debugging#Camera_crash_logs_.28romlog.29
Don't forget what the H stands for.


Re: Intermittent boot poweroff (s90)
« Reply #14 on: 26 / January / 2011, 03:21:18 »
>Ok, I managed to get another crash and uploaded a new romlog + main.dump here:

have you get the crash and you have a msleep(1000) in ?
Ixus 1000 HS

Re: Intermittent boot poweroff (s90)
« Reply #15 on: 26 / January / 2011, 05:42:12 »
no, back to svn head, no modifications (to create the dump)..

Re: Intermittent boot poweroff (s90)
« Reply #16 on: 26 / January / 2011, 11:43:35 »
I`m happy (in a way  :-X) that this problem is not only on the SX20 like I had. Like I said in a previous thread, this problem has gone away for me since I found out that by holding the start button for a little over one seconds cure the problem. I have tried once to start it with the preview button (after I found the solution with the start button) and it crashed so I am not going to do that anymore. I know this is not the way I should do this....I should instead try to investigate why it crash on boot, but I got discouraged after a while trying to figure that out so from now on I just boot the camera the way I desribed earlier.
« Last Edit: 26 / January / 2011, 11:45:23 by wowsers51 »
SX20 1.02d

*

Offline reyalp

  • ******
  • 13045
Re: Intermittent boot poweroff (s90)
« Reply #17 on: 26 / January / 2011, 12:19:43 »
Possibly this is related to the filesystem task not being fully started. Maybe spytask_can_start is set before it is really safe. If adding delay fixes it, this seems likely.

Could also be related to task hooks, ISTR hooks get run differently on some cameras depending whether it is started in play or rec mode. This is related to taskCreateHook and taskCreateHook

Code: [Select]
    *(int*)0x1930=(int)taskCreateHook;
    *(int*)0x1934=(int)taskCreateHook2;
    *(int*)0x1938=(int)taskCreateHook;
(from s90) Looks odd to me. Most cameras have a most 2. Debugging which of these are called under various startup conditions might be productive. There may be discussion of why it is this way in the s90 dev thread.

Investigating rbf_load_symbol might also be useful. Is this the first open() that is called ? Is it being passed correct parameters ? What happens if you disable symbols and make it not load them at all ?
Don't forget what the H stands for.


*

Offline philmoz

  • *****
  • 3233
    • Photos
Re: Intermittent boot poweroff (s90)
« Reply #18 on: 12 / April / 2011, 18:39:18 »
If any S90 owners are still having this problem can you try the fix posted in http://chdk.setepontos.com/index.php?topic=6179 and see if it works on this camera.

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

 

Related Topics