[#97] Bookmark ID number overflow
The application crashes (it closes) when I save certain addresses as bookmarks and then try to visit them by selecting from the bookmarks; for example, this happens with the URL gemini://nytpu.com/feed.gmi
#bug
๐ Issue #97 in s/Lagrange-Issues
2024-10-26 ยท 8 months ago
11 Comments โ
๐๏ธ skyjake [mod...] ยท 2024-10-26 at 18:08:
Is this with the latest beta? Could be a regression, let me check...
๐ astio [OP] ยท 2024-10-26 at 18:21:
the version is 1.18 (Beta 34)
๐ astio [OP] ยท 2024-10-27 at 19:32:
I don't think it's the version, it worked fine until two days ago, now every bookmark I add crashes. I tried clearing the cache and data, but when I import it happens again.
๐ astio [OP] ยท 2024-10-27 at 21:22:
Update: if I add an url to my bookmarks, I can no longer navigate to it; if I try to open it either from bookmarks or by typing it directly, or by going to it from another page, Lagrange closes; but if I remove it from bookmarks, everything works fine. However, this only happens with bookmarks created since a certain date, old bookmarks work fine.
๐ astio [OP] ยท 2024-10-28 at 12:31:
To recap, all bookmarks added since a certain time cause Lagrange to close.
๐ astio [OP] ยท 2024-10-28 at 17:30:
The problem seems to be in the bookmarks.ini file, specifically in the names of the sections: if the value is very high (a number with 6 digits), the bookmark does not work, e.g. the first bookmark does not work and the second does:
[239568]
url = "gemini://aaa.aa"
title = "aaa"
tags = ".usericon"
icon = 0x1f659
created = 1729876334 # 2024-10-25
parent = 23955
order = 4
[33]
url = "gemini://bbb.bb"
title = "bbb"
tags = ".usericon"
icon = 0x2690
created = 1729962346 # 2024-10-26
parent = 15
order = 63
๐๏ธ skyjake [mod...] ยท 2024-10-30 at 10:36:
Thanks for the details. If the problem is with the numbering, I can always force a renumbering to avoid the unnecessary range inflation.
๐ cthulhu ยท Feb 24 at 00:26:
Also affected: Android 1.18 (Beta 35); Linux 1.18.4;
Bookmark:
[77539] url = "gemini://salixos.org/" title = "Linux for the lazy Slacker" tags = ".usericon" icon = 0x1f30a created = 1740352870 # 2025-02-24 order = 100
Commit f725bf7f ยท Fixed: Bookmarks crash with correct id type (uint16_t -> uint32_t)
Feb 25 ยท 4 months ago
๐ cthulhu ยท Feb 25 at 02:57:
@skyjake, it is typo in id type in `documentwidget.c:documentWasChanged_DocumentWidget_`.
`uint16_t` is too small for `uint32_t` bookmark id. Truncated id, not found bookmark, iBookmark is NULL.
- const uint16_t bmid = findBookmarkId_DocumentWidget(d); + const uint32_t bmid = findBookmarkId_DocumentWidget(d);
๐ cthulhu ยท Feb 25 at 03:22:
โ Fixed: Bookmarks crash with correct id type (uint16_t -> uint32_t) #4
๐๏ธ skyjake [mod...] ยท Feb 25 at 05:32:
That would explain it, yes. I'm still planning on fixing the ID number inflation, as that seems like an issue that eventually triggers an overflow anyway.
Source