I have weird behaviour on the G7X2 when uploading / deleting DNG files from the DCIM image folder.
I'm curious if the same happens on the M100, if anyone has time to test it.
Uploading (with chdkptp) or deleting a .DNG file from the JPEG image folder crashes the camera if it is plugged into the PC via USB.
Crash is in FsIoNotify task, ObjTreeMgr.c module, line 804.
The file does not have to be a real DNG file or an image taken with the camera, so long as the name is in the normal image format (IMG_xxxx.DNG) then it will crash when uploaded or deleted. Deleting can be with the CHDK file browser or via chdkptp.
It also crashes if the file extension is .CRW.
I tried a few combinations with dummy files (CRW, DNG) matching the name of a real JPG. No crashes.
FWIW, there is one issue that may affect operations that involve CPU cache:
It also occurred to me that the CPU cache routines used in CHDK may not be adequate in a dual-core setup. We're probably only clearing the cache on one core...
I suspect (but did not verify) that the cache controller might be
L2C310, as mentioned in the Cortex A9 ARM docs. We could either use firmware routines, replacing the lib/armutil/cache.c routines with equivalents, or make our own versions. But I have not looked up the necessary routines yet.
Now, I don't know whether caching is involved in this case, but it might be worth a look. Otherwise, you might be having some unknown corruption issue like I did (or still do):
- There is an ugly memory corruption issue which I can't currently reproduce. It appeared to be triggered by saving a romlog from menu, crash happened on the next GetMemInfo call. At least one fw variable (used by GetMemInfo) was corrupted.