InfiniTimeOrg / InfiniTime

Firmware for Pinetime smartwatch written in C++ and based on FreeRTOS
GNU General Public License v3.0
2.63k stars 901 forks source link

Watch freezes and reboot after interacting with external resources #2021

Open liamcharger opened 4 months ago

liamcharger commented 4 months ago

When interacting with external resources (through InfiniLink), and then changing a setting, the watch will freeze, and then reboot.

The issue appears to be when InfiniLink uses an LS function to make a list with all the files in the selected directory.

The code used in InfiniLink to fetch the external resources has been checked multiple times and does not appear to contain any potential causes for this issue, so it's possible the issue resides in InfiniTime.

JF002 commented 4 months ago

Do you know of anyway to reproduce this, preferably without an iOS device? Is this reproducible with another companion app like Amazfish or ITD, for example?

liamcharger commented 4 months ago

I haven't used Amazfish or ITD yet, I'll try installing one of them and then let you know.

JenJell commented 4 months ago

I was able to reproduce this issue using ITD on postmarketOS. There may be other ways to go about this, but for me, I have found that calling the ls command to list the files and folders though the BLE_FS API, followed by creating a folder, then running the ls command again, and finally changing a setting on InfiniTime will pretty consistently cause the device to stop responding

everypizza1 commented 4 months ago

It's not just InfiniLink, it also happens with https://infinitimeexplorer.netlify.app/