Canon 650D / T4i

Started by nanomad, August 03, 2013, 07:27:52 PM

Previous topic - Next topic

0 Members and 5 Guests are viewing this topic.

dfort

I could use some help figuring this one out. Looked over the changes and don't see anything that would cause this to happen.

a1ex

If you can consistently reproduce that bug (I cannot reproduce it at all), and you can tell for sure it's present in the unified branch, but not in experimental branches (e.g. crop_rec_4k), it might be fixed in the new-dryos-task-hooks branch (most likely changeset 4cf70155104c - with some fixes in that part of the code, but for unrelated issues).

I'd recommend testing the following:
- update-to-650D.105 (based on unified)
- update-to-650D.105 + new-dryos-task-hooks
- if (and only if) the first build has the bug and the second build does not have it, also test update-to-650D.105 + new-dryos-task-hooks without 4cf70155104c (hg backout --no-commit 4cf70155104c)

saulbass

@a1ex - not sure if you are replying in general or to dfort.

If it's a general reply - I can repeat the test again with dforts 105 firmware updater and his dforts magiclantern-Nightly.2018Apr14.650D105.
I'm trying to be a clinicial as possible - empty SD card - drag the ML over - so no prefs set. Then set fps to 24 and then test with only mlv_lite or mlv_rec active. (restart between each test with a blank SD card).

(not sure what - update-to-650D.105 (based on unified) & update-to-650D.105 + new-dryos-task-hooks are? - QEMU? maybe.)


dfort

@saulbass - There is a test to try out:

Quote from: a1ex on April 15, 2018, 07:42:27 PM
- update-to-650D.105 + new-dryos-task-hooks
- if (and only if) the first build has the bug and the second build does not have it, also test update-to-650D.105 + new-dryos-task-hooks without 4cf70155104c (hg backout --no-commit 4cf70155104c)

I uploaded a new-dryos-task-hooks build for the 650D.105 on my downloads page. If the bug is not there I'll backout commit 4cf70155104c and we'll need to run another test.

saulbass

Retested using dforts 650.105 firmware
clean install of dforts magiclantern-Nightly.2018Apr14.650D105
As before empty SDcard
set mlv_lite only
set fps 24 fps

What I've noticed is that if I turn off the auto focus on the lens - its the kit lens -  EFS 18-55mm, the camera works fine - no crashing.
If I turn on the AF on the side of the lens then I get crashes when recording.

I've turned the AF-on off and retested a few times - its seems repeatable. Without the AF on the build works okay on the 650.105.

This wasn't a problem with 650.104.

crash log here. https://we.tl/ppp6sfeK2l

[86] raw_rec_task: NULL PTR (e0703800,e1a00000)
pc=    c288 lr=    c288 stack=1abdd0+0x1000
entry=a53f94(0)
e1a00000 e59ff014 e59ff014 e59f0034
e59ff014 e1a00000 e59ff010 e59ff010
[86] raw_rec_task: NULL PTR (e0703800,e1a00000)
pc=    c288 lr=    c288 sta
Magic Lantern version : Nightly.2018Apr14.650D105
Mercurial changeset   : b7315277e327 (update-to-650D.105)
Built on 2018-04-14 15:57:11 UTC by rosiefort@RosieFoComputer.
Free Memory  : 128K + 3630K


saulbass

Okay - just retested with dforts new-dryos-task-hooks.2018Apr15.650D105

It now seems fine - I've tried mlv_lite and mlv_raw (only) and the AF slider on the lens on / off and it works fine now - no crashes -
Repeated the test a couple of times.




dfort

Excellent -- Next test: new-dryos-task-hooks_no-commit_4cf70155104c.2018Apr15.650D105

saulbass

Hmm - tried - new-dryos-task-hooks_no-commit_4cf70155104c.2018Apr15.650D105

back to the AF problems again.

crashes with mlv_lite and mlv_rec when AF on
works fine if AF off.

Tried with an EF 50mm and the problems still appear with AF on.

mlv's look fine though.

crash logs and core dump here...https://we.tl/9hWQ2PNwEf


[100] raw_rec_task: NULL PTR (80c3e100,e1a00000)
pc=    ce28 lr=    ce28 stack=1ac1d8+0x1000
entry=a67578(0)
e1a00000 e59ff014 e59ff014 e59f001d
e59ff014 e1a00000 e59ff010 e59ff010
[100] raw_rec_task: NULL PTR (80c3e100,e1a00000)
pc=    ce28 lr=    ce28 s
Magic Lantern version : Nightly.2018Apr15.650D105
Mercurial changeset   : afa08020138b+ (new-dryos-task-hooks_650D.105) tip
Built on 2018-04-16 00:58:46 UTC by rosiefort@RosieFoComputer.
Free Memory  : 127K + 3591K


dfort

Interesting. Don't know what to make of all this information but for now I'm removing all but the new-dryos-task-hooks test builds.

dfort

Looks like that autofocus bug on the 650D.105 firmware is fixed with the new-dryos-task-hooks changes as a1ex pointed out in this pull request comment. It is also something that is going to be a part of the unified branch so perhaps all of the firmware updates in progress should be tested on the new-dryos-task-hooks branch.

Next test--using the test build on my downloads page enable the selftest module and run the "Stubs API test." We're looking for a perfect score like this:



Please report back and post any failed tests. Note that when I ran the test it worked best if started in photo mode. The test will tell you when to switch to movie mode.

Walter Schulz


[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] is_play_mode() => 0x1
[FAIL] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[FAIL] is_pure_play_photo_mode() => 0x1
[FAIL] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0

dfort

Thanks. I get those on the EOSM too.

dfort

Next test needed for 650D.105 -- using the lua_fix test build on my downloads page, turn on the lua module and run the "Script API Tests."

Walter Schulz

Made a run before switching to "RAW+L" ...


===============================================================================
ML/SCRIPTS/api_test.lua - 2018-4-16 15:53:14
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "api_test.lua"
camera = table:
  shutter = table:
    raw = 83
    apex = 3.375
    ms = 96
    value = 0.096388
  aperture = table:
    raw = 51
    apex = 5.375
    value = 6.4
    min = table:
      raw = 42
      apex = 4.25
      value = 4.3
    max = table:
      raw = 85
      apex = 9.625
      value = 28.1
  iso = table:
    raw = 72
    apex = 5.
    value = 100
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 2500
  mode = 3
  metering_mode = 4
  drive_mode = 1
  model = "Canon EOS 650D"
  model_short = "650D"
  firmware = "1.0.5"
  temperature = 157
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  burst = function: p
  shoot = function: p
  wait = function: p
  bulb = function: p
  reboot = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  write = function: p
  clear = function: p
  hide = function: p
  show = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  start = function: p
  resume = function: p
  pause = function: p
  wait = function: p
  info = function: p
  stop = function: p
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS II"
  focal_length = 29
  focus_distance = 1130
  hyperfocal = 6974
  dof_near = 986
  dof_far = 1326
  af = true
  af_mode = 0
  focus = function: p
  autofocus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  rect = function: p
  on = function: p
  notify_box = function: p
  off = function: p
  pixel = function: p
  draw = function: p
  screenshot = function: p
  load = function: p
  circle = function: p
  print = function: p
  clear = function: p
  line = function: p
key = table:
  last = 10
  press = function: p
  wait = function: p
menu = table:
  visible = false
  get = function: p
  close = function: p
  open = function: p
  select = function: p
  set = function: p
  block = function: p
  new = function: p
movie = table:
  recording = false
  start = function: p
  stop = function: p
dryos = table:
  clock = 12
  ms_clock = 12698
  image_prefix = "IMG_"
  dcim_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "B:/DCIM/"
    path = "B:/DCIM/100CANON/"
  config_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    cluster_size = 131072
    drive_letter = "B"
    file_number = 9925
    folder_number = 100
    free_space = 83990400
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 131072
    drive_letter = "B"
    file_number = 9925
    folder_number = 100
    free_space = 83990400
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    min = 53
    hour = 15
    yday = 106
    year = 2018
    day = 16
    month = 4
    sec = 15
    wday = 2
    isdst = false
  remove = function: p
  rename = function: p
  call = function: p
  directory = function: p
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: p
battery = table:
function not available on this camera
stack traceback:
[C]: in ?
[C]: in for iterator 'for iterator'
ML/SCRIPTS/LIB/logger.lua:125: in function 'logger.serialize'
ML/SCRIPTS/api_test.lua:36: in function <ML/SCRIPTS/api_test.lua:35>
[C]: in function 'xpcall'
ML/SCRIPTS/api_test.lua:35: in function 'print_table'
ML/SCRIPTS/api_test.lua:81: in function 'generic_tests'
ML/SCRIPTS/api_test.lua:1338: in function 'api_tests'
ML/SCRIPTS/api_test.lua:1364: in main chunktask = table:
  yield = function: p
  create = function: p
property = table:
Generic tests completed.

Module tests...
Testing file I/O...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Rename test: apple.txt -> banana.txt
Rename test OK
Rename test: apple.txt -> ML/banana.txt
Rename test OK
File I/O tests completed.

Testing Canon GUI functions...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Pause LiveView...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Canon GUI tests completed.

Testing ML menu API...
Menu tests completed.

Testing picture taking functions...
Snap simulation test...
Single picture...
B:/DCIM/100CANON/IMG_9926.CR2: 24914735
B:/DCIM/100CANON/IMG_9926.JPG not found.
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_9927.CR2: 24911858
B:/DCIM/100CANON/ABC_9927.JPG not found.
B:/DCIM/100CANON/ABC_9928.CR2: 24906460
B:/DCIM/100CANON/ABC_9928.JPG not found.
Bracketed pictures...

===============================================================================
ML/SCRIPTS/api_test.lua - 2018-4-16 16:14:52
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "api_test.lua"
camera = table:
  shutter = table:
    raw = 75
    apex = 2.375
    ms = 193
    value = 0.192776
  aperture = table:
    raw = 51
    apex = 5.375
    value = 6.4
    min = table:
      raw = 42
      apex = 4.25
      value = 4.3
    max = table:
      raw = 85
      apex = 9.625
      value = 28.1
  iso = table:
    raw = 104
    apex = 9.
    value = 1600
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 2500
  mode = 3
  metering_mode = 4
  drive_mode = 1
  model = "Canon EOS 650D"
  model_short = "650D"
  firmware = "1.0.5"
  temperature = 157
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  bulb = function: p
  shoot = function: p
  wait = function: p
  burst = function: p
  reboot = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  hide = function: p
  write = function: p
  clear = function: p
  show = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  wait = function: p
  pause = function: p
  resume = function: p
  stop = function: p
  start = function: p
  info = function: p
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 IS II"
  focal_length = 29
  focus_distance = 280
  hyperfocal = 6974
  dof_near = 273
  dof_far = 287
  af = true
  af_mode = 0
  focus = function: p
  autofocus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  pixel = function: p
  load = function: p
  clear = function: p
  on = function: p
  line = function: p
  off = function: p
  print = function: p
  rect = function: p
  draw = function: p
  circle = function: p
  screenshot = function: p
  notify_box = function: p
key = table:
  last = 10
  press = function: p
  wait = function: p
menu = table:
  visible = false
  get = function: p
  close = function: p
  new = function: p
  set = function: p
  open = function: p
  select = function: p
  block = function: p
movie = table:
  recording = false
  start = function: p
  stop = function: p
dryos = table:
  clock = 54
  ms_clock = 54779
  image_prefix = "IMG_"
  dcim_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "B:/DCIM/"
    path = "B:/DCIM/100CANON/"
  config_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    cluster_size = 131072
    drive_letter = "B"
    file_number = 9932
    folder_number = 100
    free_space = 83820672
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 131072
    drive_letter = "B"
    file_number = 9932
    folder_number = 100
    free_space = 83820672
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    yday = 106
    min = 14
    wday = 2
    year = 2018
    hour = 16
    month = 4
    day = 16
    sec = 55
    isdst = false
  rename = function: p
  call = function: p
  remove = function: p
  directory = function: p
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: p
battery = table:
function not available on this camera
stack traceback:
[C]: in ?
[C]: in for iterator 'for iterator'
ML/SCRIPTS/LIB/logger.lua:125: in function 'logger.serialize'
ML/SCRIPTS/api_test.lua:36: in function <ML/SCRIPTS/api_test.lua:35>
[C]: in function 'globals.xpcall'
ML/SCRIPTS/api_test.lua:35: in function 'globals.print_table'
ML/SCRIPTS/api_test.lua:81: in function 'globals.generic_tests'
ML/SCRIPTS/api_test.lua:1338: in function 'globals.api_tests'
ML/SCRIPTS/api_test.lua:1364: in main chunktask = table:
  create = function: p
  yield = function: p
property = table:
Generic tests completed.

Module tests...
Testing file I/O...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Rename test: apple.txt -> banana.txt
Rename test OK
Rename test: apple.txt -> ML/banana.txt
Rename test OK
File I/O tests completed.

Testing Canon GUI functions...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Stop LiveView...
Start LiveView...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Canon GUI tests completed.

Testing ML menu API...
Menu tests completed.

Testing picture taking functions...
Snap simulation test...
Single picture...
B:/DCIM/100CANON/IMG_9933.CR2: 25674011
B:/DCIM/100CANON/IMG_9933.JPG: 8154086
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_9934.CR2: 25694668
B:/DCIM/100CANON/ABC_9934.JPG: 8151674
B:/DCIM/100CANON/ABC_9935.CR2: 25707938
B:/DCIM/100CANON/ABC_9935.JPG: 8135319
Bracketed pictures...
B:/DCIM/100CANON/IMG_9936.CR2: 22056763
B:/DCIM/100CANON/IMG_9936.JPG: 5387747
B:/DCIM/100CANON/IMG_9937.CR2: 25679876
B:/DCIM/100CANON/IMG_9937.JPG: 8103141
B:/DCIM/100CANON/IMG_9938.CR2: 26428792
B:/DCIM/100CANON/IMG_9938.JPG: 4801018
Bulb picture...
Elapsed time: 11795
B:/DCIM/100CANON/IMG_9939.CR2: 14200556
B:/DCIM/100CANON/IMG_9939.JPG: 371553
Picture taking tests completed.

Testing multitasking...
Only one task allowed to interrupt...
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Multitasking tests completed.

Testing half-shutter...
Half-shutter test OK.

Please switch to M mode.
Testing module 'lv'...
Starting LiveView...
Overlays: Canon
Overlays: Canon
Overlays: ML
Overlays: ML
Overlays: disabled
Overlays: Canon
Overlays: Canon
Overlays: disabled
Overlays: ML
Overlays: disabled
Overlays: Canon
Overlays: Canon
Overlays: disabled
Overlays: ML
Overlays: disabled
Overlays: Canon
Overlays: Canon
Setting zoom to x1...
Setting zoom to x5...
Setting zoom to x10...
Setting zoom to x5...
Setting zoom to x1...
Setting zoom to x10...
Setting zoom to x1...
Pausing LiveView...
Resuming LiveView...
Stopping LiveView...
LiveView tests completed.


Testing lens focus functionality...
Autofocus outside LiveView...
Focus distance: 655350
Autofocus in LiveView...


Screenshot
Suppose camera should have a target able to be focused ... will retry. Any other requirements?

dfort

Uh oh, that doesn't look good.



Does the focus confirmation work? We had a similar issue with the 550D test but I don't think it ended up with an assertion failed error. Did it save an error log? Of course you knows what comes next -- do you get the same error on 1.0.4 using the lua_fix build from the experiments downloads page?

These are the tests a1ex is asking for. @Walter - looks like you're mentioned in that post about autofocus issues so this is probably not something related to the 1.0.5 firmware update.

Walter Schulz

1.0.4. Lua_fix. Not looking good, either:
Screenshot
2nd run:
Screenshot

dfort

Hum--what's an "Introvolometer" ??



Looks like you have face tracking turned on. What happens if you choose another autofocus mode?

Walter Schulz

Quote from: dfort on April 16, 2018, 07:56:40 PM
Hum--what's an "Introvolometer" ??

See source. Some strings deliberately spelled wrong for testing purposes.

Walter Schulz

Quote from: dfort on April 16, 2018, 07:56:40 PM
Looks like you have face tracking turned on. What happens if you choose another autofocus mode?

This

saulbass

Slightly behind Walter here - running - lua_fix.2018Apr16.650D105

running selftest module: "Stubs API test."

I get the following - Test complete, 11781 passed, 1 failed.
second time - Test complete, 11780 passed, 2 failed.
third time - Test complete, 11781 passed, 1 failed.
Not sure why the number of failings changes - perhaps I'm too slow to switch to movie mode...
this is the log from the first run:

[Pass] is_play_mode() => 0x1
[INFO] Camera model: Canon EOS 650D 1.0.5 (0x80000301 650D)
[Pass] is_camera("DIGIC", "*") => 0x1
[Pass] is_camera(__camera_model_short, firmware_version) => 0x1
[Pass] src = fio_malloc(size) => 0x4a104084
[Pass] dst = fio_malloc(size) => 0x4a908090
[Pass] memcmp(dst, src, 4097) => 0xffffffd7
[Pass] edmac_memcpy(dst, src, 4097) => 0x4a908090
[Pass] memcmp(dst, src, 4097) => 0x0
[Pass] edmac_memcpy(dst, src, 4097) => 0x4a908090
[Pass] memcmp(dst, src, size) => 0xffffff99
[Pass] edmac_memcpy(dst, src, size) => 0x4a908090
[Pass] memcmp(dst, src, size) => 0x0
[Pass] memcmp(dst, src, size) => 0xffffff52
[Pass] edmac_memcpy_start(dst, src, size) => 0x4a908090
       dt => 0x276f
[Pass] copied => 0x407810
[Pass] copied => 0x407810
[Pass] copied => 0x407810
[Pass] memcmp(dst, src, copied) => 0x0
[Pass] memcmp(dst, src, copied + 16) => 0xffffffc3
       edmac_memcpy_finish()
       free(src)
       free(dst)
Cache test A (EDMAC on BMP buffer)...
[Pass] bmp = bmp_load("ML/CROPMKS/CINESCO2.BMP", 1) => 0x79e03c
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x95f
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x0
Cache test B (FIO on 8K buffer)...
[Pass] tries[0] => 0xfa
[Pass] tries[1] => 0x105
[Pass] tries[2] => 0xfb
[Pass] tries[3] => 0xee
[Pass] failr[0] => 0x80
[Pass] failw[0] => 0xe3
[Pass] failr[1] => 0x6e
[Pass] failw[1] => 0x0
[Pass] failr[2] => 0x0
[Pass] failw[2] => 0xe5
[Pass] failr[3] => 0x0
[Pass] failw[3] => 0x0
       times[0] / tries[0] => 0x16
       times[1] / tries[1] => 0x17
       times[2] / tries[2] => 0x19
       times[3] / tries[3] => 0x1a
Cache tests finished.

[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] f = FIO_CreateFile("test.dat") => 0x3
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
       FIO_CloseFile(f)
[Pass] FIO_GetFileSize("test.dat", &size) => 0x0
[Pass] size => 0x20000
[Pass] p = (void*)_alloc_dma_memory(0x20000) => 0x407f5e34
[Pass] f = FIO_OpenFile("test.dat", O_RDONLY | O_SYNC) => 0x3
[Pass] FIO_ReadFile(f, p, 0x20000) => 0x20000
       FIO_CloseFile(f)
       _free_dma_memory(p)
[Pass] count => 0x3a98
[Pass] buf = fio_malloc(0x1000000) => 0x4a104084
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000000
[Pass] f = FIO_OpenFile("test.dat", O_RDWR | O_SYNC) => 0x3
[Pass] FIO_SeekSkipFile(f, 0, SEEK_END) => 0x82000000
[Pass] FIO_WriteFile(f, buf, 0x10) => 0x10
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_END) => 0x81fffff0
[Pass] FIO_WriteFile(f, buf, 0x30) => 0x30
[Pass] FIO_SeekSkipFile(f, 0x20, SEEK_SET) => 0x20
[Pass] FIO_SeekSkipFile(f, 0x30, SEEK_CUR) => 0x50
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_CUR) => 0x30
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000020
[Pass] is_file("test.dat") => 0x1
[Pass] FIO_RemoveFile("test.dat") => 0x0
[Pass] is_file("test.dat") => 0x0
[Pass] SetTimerAfter(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x8330
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0x5
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x83a0
       msleep(400)
       CancelTimer(timer)
[Pass] timer_func => 0x0
       msleep(1500)
[Pass] timer_func => 0x0
[Pass] SetHPTimerAfterNow(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetHPTimerAfterNow(100000, timer_cbr, overrun_cbr, 0) => 0x1e0aa
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x11e
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0xfb
[Pass] ABS((get_us_clock() - t0) - 110000) => 0x216
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x1e0ac
       msleep(80)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x3
       msleep(80)
[Pass] timer_func => 0x3
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 300000) => 0x2a1
[Pass] ABS(DeltaT(timer_arg, ta0) - 300000) => 0x286
[Pass] ABS((get_us_clock() - t0) - 310000) => 0xb2
       t0 = GET_DIGIC_TIMER() => 0x4b417
       msleep(250)
       t1 = GET_DIGIC_TIMER() => 0x86b44
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x7
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x2b
       Date/time: 2018/04/17 01:03:43
       msleep(1500)
       LoadCalendarFromRTC( &now )
       s1 = now.tm_sec => 0x2d
[Pass] MOD(s1-s0, 60) => 0x2
[Pass] MOD(s1-s0, 60) => 0x2
       m0 = MALLOC_FREE_MEMORY => 0x26650
[Pass] p = (void*)_malloc(50*1024) => 0x1191f0
[Pass] CACHEABLE(p) => 0x1191f0
       m1 = MALLOC_FREE_MEMORY => 0x19e40
       _free(p)
       m2 = MALLOC_FREE_MEMORY => 0x26650
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m0 = GetFreeMemForAllocateMemory() => 0x37b5e8
[Pass] p = (void*)_AllocateMemory(128*1024) => 0x7f5df4
[Pass] CACHEABLE(p) => 0x7f5df4
       m1 = GetFreeMemForAllocateMemory() => 0x35b5dc
       _FreeMemory(p)
       m2 = GetFreeMemForAllocateMemory() => 0x37b5e8
[Pass] ABS((m0-m1) - 128*1024) => 0xc
[Pass] ABS(m0-m2) => 0x0
       m01 = MALLOC_FREE_MEMORY => 0x26650
       m02 = GetFreeMemForAllocateMemory() => 0x37b5e8
[Pass] p = (void*)_alloc_dma_memory(128*1024) => 0x407f5e34
[Pass] UNCACHEABLE(p) => 0x407f5e34
[Pass] CACHEABLE(p) => 0x7f5e34
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x407f5e34
       _free_dma_memory(p)
[Pass] p = (void*)_shoot_malloc(16*1024*1024) => 0x4a104074
[Pass] UNCACHEABLE(p) => 0x4a104074
       _shoot_free(p)
       m11 = MALLOC_FREE_MEMORY => 0x26650
       m12 = GetFreeMemForAllocateMemory() => 0x37b5e8
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
[Pass] suite = shoot_malloc_suite_contig(16*1024*1024) => 0x119148
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1000000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0x1191f0
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1000000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a104070
[Pass] UNCACHEABLE(p) => 0x4a104070
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite_contig(0) => 0x119148
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1f24000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0x1191f0
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1f24000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x44000064
[Pass] UNCACHEABLE(p) => 0x44000064
       largest_shoot_block = suite->size => 0x1f24000
[INFO] largest_shoot_block: 31MB
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(largest_shoot_block + 1024*1024) => 0x119148
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x3
[Pass] suite->size => 0x2024000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0x1191f0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x18b8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a104070
[Pass] UNCACHEABLE(p) => 0x4a104070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x119228
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1cb8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x419ff0a4
[Pass] UNCACHEABLE(p) => 0x419ff0a4
       chunk = GetNextMemoryChunk(suite, chunk) => 0x119260
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2024000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42200064
[Pass] UNCACHEABLE(p) => 0x42200064
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x2024000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(0) => 0x119148
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x6
[Pass] suite->size => 0x5b00000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0x1191f0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x18b8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a104070
[Pass] UNCACHEABLE(p) => 0x4a104070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x119228
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1cb8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x419ff0a4
[Pass] UNCACHEABLE(p) => 0x419ff0a4
       chunk = GetNextMemoryChunk(suite, chunk) => 0x119260
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3ab4000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42200064
[Pass] UNCACHEABLE(p) => 0x42200064
       chunk = GetNextMemoryChunk(suite, chunk) => 0x119298
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3b8c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x45f240e4
[Pass] UNCACHEABLE(p) => 0x45f240e4
       chunk = GetNextMemoryChunk(suite, chunk) => 0x1192d0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x5ab0000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x44000064
[Pass] UNCACHEABLE(p) => 0x44000064
       chunk = GetNextMemoryChunk(suite, chunk) => 0x119308
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x5b00000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x49f240e4
[Pass] UNCACHEABLE(p) => 0x49f240e4
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x5b00000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x1b4094
[Pass] msg => 'hi there'
[Pass] snprintf(a, sizeof(a), "foo") => 0x3
[Pass] snprintf(b, sizeof(b), "foo") => 0x3
[Pass] strcmp(a, b) => 0x0
[Pass] snprintf(a, sizeof(a), "bar") => 0x3
[Pass] snprintf(b, sizeof(b), "baz") => 0x3
[Pass] strcmp(a, b) => 0xfffffff8
[Pass] snprintf(a, sizeof(a), "Display") => 0x7
[Pass] snprintf(b, sizeof(b), "Defishing") => 0x9
[Pass] strcmp(a, b) => 0x4
[Pass] snprintf(buf, 3, "%d", 1234) => 0x2
[Pass] buf => '12'
[Pass] memcpy(foo, bar, 6) => 0x1b4060
[Pass] foo => 'asdfghuiop'
[Pass] memset(bar, '*', 5) => 0x1b4040
[Pass] bar => '*****hjkl;'
       bzero32(bar + 5, 5)
[Pass] bar => '****'
       EngDrvOut(LCD_Palette[0], 0x1234)
[Pass] shamem_read(LCD_Palette[0]) => 0x1234
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       call("TurnOffDisplay")
[Pass] DISPLAY_IS_ON => 0x0
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       task_create("test", 0x1c, 0x1000, test_task, 0) => 0xbe9e00b0
[Pass] test_task_created => 0x1
[Pass] get_current_task_name() => 'run_test'
[Pass] get_task_name_from_id(current_task->taskId) => 'run_test'
[Pass] task_max => 0x68
[Pass] task_max => 0x68
[Pass] mq = mq ? mq : (void*)msg_queue_create("test", 5) => 0xbea000b2
[Pass] msg_queue_post(mq, 0x1234567) => 0x0
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x0
[Pass] m => 0x1234567
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x9
[Pass] sem = sem ? sem : create_named_semaphore("test", 1) => 0xbea20246
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] take_semaphore(sem, 500) => 0x9
[Pass] give_semaphore(sem) => 0x0
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] give_semaphore(sem) => 0x0
[Pass] rlock = rlock ? rlock : CreateRecursiveLock(0) => 0xbea40098
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0xf
       SetGUIRequestMode(1); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x1
       SetGUIRequestMode(2); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x2
       SetGUIRequestMode(0); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x0
[Pass] display_idle() => 0x1
       GUI_Control(BGMT_PLAY, 0, 0, 0); msleep(1000);
[Pass] PLAY_MODE => 0x1
[Pass] MENU_MODE => 0x0
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(1000);
[Pass] MENU_MODE => 0x1
[Pass] PLAY_MODE => 0x0
[Pass] dialog->type => 'DIALOG'
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[Pass] MENU_MODE => 0x0
[Pass] PLAY_MODE => 0x0
       SW1(1,100)
[Pass] HALFSHUTTER_PRESSED => 0x1
       SW1(0,100)
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x1
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[FAIL] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
=========================================================
Test complete, 11781 passed, 1 failed.
.

dfort

Thanks--looks pretty good and confirms Walter's findings. Interested in what your lua_fix test reports.

Walter Schulz

Tried latest build found in your repository. No luck. Assertion failure again.

dfort

@Walter - If you roll back to 650D.104 and run the lua_fix from the experiments download page do you get the same assertion failure?

Walter Schulz


dfort

Infinite loop.

So it looks like whatever the problem is, it doesn't have to do with firmware update. Still, it is something that should be fixed. Are you always testing with the EF-S18-55mm f/3.5-5.6 IS II lens? Have you tried any other lens or even without a lens so it skips those tests?