Acknowledged

Crashes on fr255/955 since latest firmware 15.19 with writing to copied dc

Hi, I have some responses from users with fr255/955 since latest firmware update (15.19). Also the ERA report give me many errors with invalid value on this devices.

targetDc = dc;
targetDc.drawBitmap(0, 0, backBuffer);

the backbuffer is designed and filled before

        backBuffer = Gfx.createBufferedBitmap({
                :width=> VA_Width,
                :height=>VA_Height
	 	}) as Gfx.BufferedBitmapReference;
        backBuffer = backBuffer.get();
        backDc = backBuffer.getDc();

The code is running also for other SDK4 devices (fenix7) without problem and also for fr255/955 before the latest firmware update.

It seems a copied dc isn't  supported with new firmware. The first write on targetDc runs in invalid value. 

The problem is not reproducable on Simulator. Here the code works perfect since a long time. It is published from Garmin in the Analog sample.

Is this a firmware bug or have we also this issue with the next firmware on other SDK4 devices?

  • Since SDK 6.2.0 the issue is now reproducible on all devices.

    I have find out, the copied context targetDC is only available in the active onUpdate procedure. On the next call of onUpdate the targetDC object is lost.

    The targetDC variable is defined as a global variable and the command targetDC = dc; is not running on every call of onUpdate, only on settings_changed.

    Since SDK 6.2.0 it’s important to copy the context on every onUpdate call.

  • Hi Richard, unfortunately I can’t check this on a real device with the new firmware. I had over 1000 crashes in ERA and therefore I have change my code fast, so that’s another buffered bitmap is used instead the copied device context. I think the risk is too high, to change back to my previous version.

    If you can’t reproduce the issue with the actual firmware, I think then it is fixed. 
    Thanks for your efforts.

    best regards 

    2aCD

  • Are you still experiencing this with firmware 16.03? I've recreated an example CIQ project implementing your described code, but am not seeing any crashes on device.