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

Intermittent boot poweroff (s90)

  • 18 Replies
  • 4447 Views
Intermittent boot poweroff (s90)
« on: 24 / January / 2011, 23:12:23 »
Advertisements
Hi all,

My s90 (101c) intermittently fails to boot properly; it will just power off again early in the boot process. I'm not sure if this means chdk has crashed. I spent some time bisecting the svn revision that introduced this behaviour, and it turns out to be r972:

Code: [Select]
------------------------------------------------------------------------
r972 | reyalp | 2010-11-15 09:02:15 +0800 (Mon, 15 Nov 2010) | 1 line

remove spurious "conf_change_script_file" from text reader conf code. thx emlyn and ultimA
------------------------------------------------------------------------

Which looks trivial:

Code: [Select]
Index: core/conf.c
===================================================================
--- core/conf.c (revision 971)
+++ core/conf.c (revision 972)
@@ -181,7 +181,7 @@
     CONF_INFO( 35, conf.raw_in_dir,             CONF_DEF_VALUE, i:0, NULL),
     CONF_INFO( 36, conf.raw_prefix,             CONF_DEF_VALUE, i:RAW_PREFIX_CRW, NULL),
     CONF_INFO( 37, conf.raw_ext,                CONF_DEF_VALUE, i:DEFAULT_RAW_EXT, NULL),
-    CONF_INFO( 38, conf.reader_file,            CONF_DEF_PTR,   ptr:"A/README.TXT", conf_change_script_file),
+    CONF_INFO( 38, conf.reader_file,            CONF_DEF_PTR,   ptr:"A/README.TXT", NULL),
     CONF_INFO( 39, conf.reader_pos,             CONF_DEF_VALUE, i:0, NULL),
     CONF_INFO( 40, conf.sokoban_level,          CONF_DEF_VALUE, i:0, NULL),
     CONF_INFO( 41, conf.show_clock,             CONF_DEF_VALUE, i:2, NULL),

Reverting this commit makes the camera work as per normal. Since nobody else has a problem with this, could it be a problem with my flashcard files? It may be that I don't have a readme.txt in the proper location.

The use of conf_change_script_file seems incorrect (and the commit correct), but could it be that thing don't work well if script_load (called by conf_change_script_file) is called much later in the conf handling process (entry 38 vs 194)?

Cheers,

     Rob

*

Offline reyalp

  • ******
  • 13045
Re: Intermittent boot poweroff (s90)
« Reply #1 on: 24 / January / 2011, 23:55:53 »
This seems possibly related to the troubles with sx20 http://chdk.setepontos.com/index.php?topic=4348.1080

Very strange if this is in fact the cause.

Power off in boot process does mean a crash. Getting a romlog (as described in the linked thread) might shed some light on this.
Don't forget what the H stands for.

Re: Intermittent boot poweroff (s90)
« Reply #2 on: 25 / January / 2011, 01:30:48 »
After compiling in native calls I tried to run romlog.lua, but that fails (so does tstcallf.lua). I have no idea if this functionality is supported in the first place on an s90.

If you have any other hints, I'd be happy to help debug this.

Re: Intermittent boot poweroff (s90)
« Reply #3 on: 25 / January / 2011, 01:45:50 »
Ah, sorry, I used an old version of the script. With the current one I get a romlog:

Code: [Select]
ASSERT!! FsIoNotify.c Line 451
Occured Time  2011:01:23 13:06:03
Task ID: 14286876
Task name: SpyTask
SP: 0x0038A8AC
StackDump:
0x00000000
0xFF86AFF8
0x000001C3
0x00000000
0x00000003
0x00000000
0x00186328
0x19980218
0x19980218
0x19980218
0x19980218
0xFF86B11C
0x00000000
0x00186328
0x00000003
0x00000000
0x19980218
0xFF835404
0x00186328
0x000000AF
0x0017381C
0x19980218
0x19980218
0x00159F84
0x00160819
0x00000003
0x00000004
0x00000005
0x00000006
0x00186328
0x000000AF
0x0017381C
0x19980218
0x0014A2F3
0x001745C8
0x0014A2C3
0x00000090
0x00182920
0x00000191
0x0014A5DD
0x00000000
0xFF816C5C
0xFF816C5C
0x60000013
0x00182920
0x00000191
0xFF8127D8
0x00000032
0xFF838A94
0x00000090
0x00182920
0x00000191
0x19980218
0x00141E4B
0x19980218
0x00372E94
0x19980218
0x19980218
0x19980218
0x0015E018
0xFF816A20
0x19980218
0x19980218
0x00001008
ShootConDump:
0f 0f 0f 0f 0f 0f 0f 0f 0f 0f
CameraConDump:
07 0f 0f 0f 0f 0f 0f 0f 0f 0f
00000070: *** Camera Log Start ***
00000090: SS:S-Imag
00000120: UI:ScreenLock
00000120: UI:ScreenLock
00000120: UI:ScreenUnLock
00000130: UI:LogicalEvent:0x300a:adr:0,Para:0
00000130: UI:PB.Create
00000130: UI:DispSwCon_TurnOnBackLight
00000130: UI:TurnOnBackLight
00000150: UI:DispSwCon_MuteOffPhysicalScreen
00000150: UI:MuteOffPhysicalScreen
00000150: UI:LogicalEvent:0x3138:adr:0,Para:0
00000170: UI:LogicalEvent:0x5001:adr:0,Para:0
00000290: UI:ScreenLock
00000290: UI:ScreenUnLock
00000300: UI:LogicalEvent:0x112c:adr:0,Para:0
00000320: UI:ScreenLock
00000320: UI:ScreenUnLock
00000340: UI:PB.CreateE
00000540: UI:Button:0x00001004:UnpressPBButton
00001520: UI:LogicalEvent:0x5006:adr:0,Para:0
00001530: UI:AC:StartPB
00001530: UI:DispSwCon_TurnOnDisplayDevice
00001530: UI:AC:EBtn
00001530: UI:PB.Start
00001530: UI:DSIC:46,0
00001560: UI:CC_CompFlhJpg
00001560: UI:_CompFlhJpg
00001560: UI:PB.Flash
0001560: UI:DSIC:46,0
00001560: UI:ScreenLock
00001560: UI:DSIC:46,0

Hopefully that's helpful to you :)


Re: Intermittent boot poweroff (s90)
« Reply #4 on: 25 / January / 2011, 06:01:35 »
I can now confirm that a Sleep(1000) help on Ixus 1000 HS.I get since maybe more than 100 chdk start in last days with that code and super fine pictures no boot crash.

read here for more.

http://chdk.setepontos.com/index.php?topic=4348.msg60115#msg60115

maybe tha additional config read, show only a timing problem that now occur and the notify that tell chdk to continue boot sit on wrong place in newer firmware

and it help to add a sleep
maybe 100 is too ok.
« Last Edit: 25 / January / 2011, 06:04:58 by Bernd R »
Ixus 1000 HS

Re: Intermittent boot poweroff (s90)
« Reply #5 on: 25 / January / 2011, 06:45:43 »
Hi Bernd,

Interesting, I put r972 back and incremented the 400 in main.c to 500 (instead of adding a new msleep), and now the problem is gone as well. I don't know if there's a way to log how many 'i' increments it actually took to initialize things..

Code: [Select]
#ifdef CAM_CHDK_PTP
    init_chdk_ptp_task();
#endif

    while((i++<500) && !spytask_can_start) msleep(10);

    started();
    msleep(50);
    finished();

Re: Intermittent boot poweroff (s90)
« Reply #6 on: 25 / January / 2011, 09:17:19 »
Hello everyone...I hope that this can help to fix the boot time crash with the sx20 as well that several of us have!

i wish i knew even a quarter of the programming stuff you guys know :)

ah....Reyalp mentioned the sx20 thread above  hehe...hes fast....lol (i must be slow,i missed it the first time i read through)
« Last Edit: 25 / January / 2011, 09:20:39 by bdasmith »
sx20is 1.02d

Re: Intermittent boot poweroff (s90)
« Reply #7 on: 25 / January / 2011, 09:50:59 »
>Interesting, I put r972 back and incremented the 400 in main.c to 500 (instead of adding a new msleep), >and now the problem is gone as well. I don't know if there's a way to log how many 'i' increments it >actually took to initialize things..

change the 400 to 500 does not help, its only the maximum time to wait, if the spytask_can_start variable is not set by the port.
then chdk wait 4 sec until start.

you need really add a msleep(1000); after the code.
this mean, when spytask_can_start is set, wait another sec to start.

if you never ever see then a crash you can shorten the value later
« Last Edit: 25 / January / 2011, 09:53:17 by Bernd R »
Ixus 1000 HS


Re: Intermittent boot poweroff (s90)
« Reply #8 on: 25 / January / 2011, 10:19:52 »
"change the 400 to 500 does not help, its only the maximum time to wait, if the spytask_can_start variable is not set by the port. then chdk wait 4 sec until start."

OK thanks. To complicate things, I can't reproduce the problem anymore.. I removed all my hacks, made a clean binary, and everything is fine. Very annoying.. That also means my 400 to 500 change has no relation to the problem, as you mentioned.

The other thing I did was to rsync the CHDK directory to my camera, so that I'd get the latest scritps etc. I wonder if that somehow influences the issue, but there's no way I can roll back to the previous card contents for testing..


Re: Intermittent boot poweroff (s90)
« Reply #9 on: 25 / January / 2011, 11:52:53 »
>I wonder if that somehow influences the issue, but there's no way I can roll back to the previous card >contents for testing..

the problem depend on what image or video canon firmware want show during start.
a superfine jpg trigger the Problem in 3 of 10 start on my IX1000

I use in the past no superfine, because i see no better image quality.and here i get near 0 crashes, without the added mlseep.so i live with that because i think its IX1000 only.

But when i read about same Problem on SX20, i begin to search, because i know how i can trigger more often.

now i use always superfine and since the sleep is in no crashes come.
Ixus 1000 HS

 

Related Topics