Final result for the D10 was 8 errors in 10k shots. I haven't had time to analyze much yet.
One reason I let it run all the way through is to get some statistical sense of how long we'd need to run to prove we fixed the problem. Interestingly, the last stretch was from at least 6390 or less to 10k without an error, indicating that it can go up to at least 3500 shots or so without hitting it. Up to that point, it was averaging closer to 1 error in 750 shots. The late part of the run had lower light and cooler temperatures, which might be a factor I guess.
I should be able to work out exactly which exposures the errors occurred in from the dumps.
Was the Lres value consistent in each case?
I haven't looked at the dumps yet, but the check to ignore the value was
if(status > (int)luaD_rawrunprotected && status < (int)lua_resume) {
So it's safe to say it's very similar to the ones we've seen in the past. We could narrow this a lot more...
I started the A540 shooting today, it's gone 3900 without hitting the error.
edit:
All the Lres values as before, pointing to the instruction that loads the return value.
Exact times and exposure counts for the errors
res1
time 2013:04:29 11:25:33 (1367234733) tick 4584060
== photo: 587 ==
Mon Apr 29 11:25:31 2013 (1367234731)
-presd shoot_half:4583020
- start sleep: 4584020
- test get_sht: 4584180
res2
time 2013:04:29 13:15:22 (1367241322) tick 11173960
== photo: 1448 ==
Mon Apr 29 13:15:21 2013 (1367241321)
-presd shoot_half:11172870
- start sleep: 11173920
- test get_sht: 11174120
res3
time 2013:04:29 15:02:09 (1367247729) tick 17580140
== photo: 2344 ==
Mon Apr 29 15:02:08 2013 (1367247728)
-presd shoot_half:17579990
- test get_sht: 17580130
- start sleep: 17580290
res4
time 2013:04:29 16:11:08 (1367251868) tick 21719930
== photo: 3135 ==
Mon Apr 29 16:11:07 2013 (1367251867)
- shoot: 21719860
- start counter: 21722290
res5
time 2013:04:29 17:19:27 (1367255967) tick 25818250
== photo: 4066 ==
Mon Apr 29 17:19:25 2013 (1367255965)
- shoot: 25818190
- start counter: 25820620
res6
time 2013:04:29 19:00:25 (1367262025) tick 31876110
== photo: 5448 ==
Mon Apr 29 19:00:24 2013 (1367262024)
-presd shoot_half:31875470
- start sleep: 31876030
- test get_sht: 31876210
res7
time 2013:04:29 20:03:09 (1367265789) tick 35640380
== photo: 6127 ==
Mon Apr 29 20:03:08 2013 (1367265788)
-presd shoot_half:35639660
- start sleep: 35640320
- test get_sht: 35640490
res8
time 2013:04:29 20:26:19 (1367267179) tick 37030320
== photo: 6311 ==
Mon Apr 29 20:26:18 2013 (1367267178)
- start sleep: 37030240
- test get_sht: 37030420
First line after resN is from the dump, time and tick count
The remaining stuff is from the script log, showing where in the sequence the error occurred
Note for the ones in shoot_half, I've snipped out start sleep/ test lines after the -presd shoot_half, the errors are *not* usually occurring on the first sleep.
Initial observation is that mostly occurred in shoot_half (indicating the error should probably happen in no-shoot) but some happened in shooting as well.
Also, the number of shots to error varied from 184 to > 3689.
Aside, I'm very happy I put my dump decoding code in Lua:
!d={};for i=1,8 do d[i]=m.load('RES'..i..'.DMP');end
!for i,r in ipairs(d) do print(r:user_data_str():gsub('.*(lua_resume %x+\nignored).*','%1')) end
A540 is at > 4700 shot.