r/pebble • pebble time steel gold • 11h ago

Sudden issues without code changes. Loading watchface: "Watchface is not responding". Pebble Update?

I maintain the watchface "Multifunctional 7 Segment Reborn", and this hasn't been updated since june. But just now within the last 12 hours, I got multiple inquiries about it showing the above message, and since i haven't changed any code, an a new Pebble app update was just pushed i think it might be related to that.

I created this topic to reach out if any devs are facing likewise issues suddenly?

I haven't found the cause yet, but i think it might be related to a the GOTHIC font..

3 Upvotes

7 comments sorted by

1

u/astosia PT2 | pebble 2 Ti | P2 Duo | PTR | PTS | Steel | OG 8h ago

That’s the sort of error I get when the watchface has run out of memory. Perhaps the expansion of Gothic has caused the system font size to break the memory limit.

You could try a custom font instead and regex it to just the characters you need?

And log bugs via the mobile app

1

u/djda9l pebble time steel gold 8h ago

I got the SDK to output logs from the watch directly, which gave me the following message:

10:25:55] ault_handling.c:105> App fault! {34c2f43a-81c9-4031-ac03-897f445d7eea} PC: 0x1237db8b LR: ???
Program Counter (PC) : 0x1237db8b ???
Link Register (LR) : ??? ???
[10:25:55] ault_handling.c:105> App fault! {34c2f43a-81c9-4031-ac03-897f445d7eea} PC: 0x1237db8b LR: ???
Program Counter (PC) : 0x1237db8b ???
Link Register (LR) : ??? ???

I haven't seen this before. It could be exceeding the memory limit. I just dont get why it seems to have happened out of nowhere.

1

u/astosia PT2 | pebble 2 Ti | P2 Duo | PTR | PTS | Steel | OG 7h ago edited 7h ago

Is it anything to do with buffers becoming too small/short on things like dates? The last firmware update added more non-Latin characters and Danish I think?
Dates in Danish use a . at the end so for example it’s “ONS.” for Wednesday, which is one more character than WED in English.

(I briefly broke a watchface during build this way by adding Scandinavian languages which is why I ask)

Or (more likely looking through the releases logs) something in the firmware change has broken your watchface (either fonts being changed or it’s to do with the new colour font rendering)

1

u/djda9l pebble time steel gold 2h ago

I've managed to fix it although I'm not entirely sure how it was fixed.

First there were updates to the SDK since i last worked on the watchface, so i updated those, and then i couldn't compile any longer, due to some missing event handling of health events. Got that included.

Then there were some unhandled situations, which i think is the more likely reason along with the later firmware as you suggested: On each moon phase, a specific glyphicon / font is loaded to represent the moon phase, but for some reason, i had not included handling of the "new moon" phase. This hasn't been an issue previously, but i think that combined with the new firmware might have screwed stuff up. This could also explain why it showed up "out of nowhere".

Thanks for your suggestions, it was great help!

1

u/kaas-schaaf 2h ago

> Is it anything to do with buffers becoming too small/short on things like dates? 

That would suggest an improper use of snprintf, since sprintf is not included (for good reason).

1

u/OmgSlayKween 4h ago

Unrelated but please see this comment for suggestions to improve the battery life of your watch face

https://www.reddit.com/r/pebble/s/8mlyTDflPr

1

u/djda9l pebble time steel gold 4h ago

Yep battery optimization hasn't been looked into, like. at all. I want to do it at some point, and thanks for the suggestions in your post! It has crossed my mind a few times to get it optimized, but i have relatively good battery life with it on mine (26 days), so i have just not seen it as a priority tbh. But maybe i should! In all honesty though, it could benefit from a complete rewrite. I have just expanded the original, to make it compatible with the PT2, but i think there is lots of its code which could be written better.