MantisBT - LibParserUtils
View Issue Details
0002901LibParserUtils[All Projects] Generalpublic2026-08-14 01:072026-10-06 17:07
ReporterIsmael Luceno 
Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
StatusfeedbackResolutionreopened 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Fixed in CI build #
Reported in CI build #
Summary0002901: Crashes due to divergent inline function
DescriptionThis seems to be the same issue as 0002871.

I caught this bug after updating libparserutils 0.2.5 while continuing using a libcss compiled against 0.2.4; it caused netsurf to crash immediately after launching.

In libparserutils 0.2.5 a new member was added to the top of struct parserutils_buffer, shifting all fields, but because at least parserutils_inputstream_peek is inline in the header, it gets stale; it's dereferencing .alloc while wanting .data, and faults while accessing the end of the buffer crossing a page boundary.

This is serious ABI breakage, major-version should be updated.
Steps To ReproduceBuild libcss against libparserutils 0.2.4 then upgarde to libparserutils 0.2.5.
TagsNo tags attached.
Attached Files

Notes
(0002496)
John-Mark Bell   
2026-10-05 21:29   
(Last edited: 2026-10-05 21:31)
As noted in https://bugs.netsurf-browser.org/mantis/view.php?id=2871#c2442 there are no ABI stability guarantees at all for the component libraries unless and until they reach a major version of 1 or greater.

(0002524)
Ismael Luceno   
2026-10-06 06:59   
Perhaps make the SONAME ship the full version (MAJOR.MINOR.PATCH) for 0.x, then only MAJOR.MINOR; that bypasses the issue entirely with no extra work on your part and can be applied at buildsystem level. Does that sound good? I can provide a patch.
(0002525)
John-Mark Bell   
2026-10-06 17:07   
We'd be happy to consider patches, yes. Note that the default build configuration (and the one we use) is to build these as static libraries, so all/any such conflicts must be resolved at build time anyway in that mode.

In all honesty, supporting these as standalone shared libraries is not very high on our priority list so there are probably other things that don't quite work correctly when building/using them that way.

Issue History
2026-08-14 01:07Ismael LucenoNew Issue
2026-10-05 21:29John-Mark BellStatusnew => resolved
2026-10-05 21:29John-Mark BellResolutionopen => won't fix
2026-10-05 21:29John-Mark BellNote Added: 0002496
2026-10-05 21:31John-Mark BellNote Edited: 0002496bug_revision_view_page.php?bugnote_id=2496#r2205
2026-10-06 06:59Ismael LucenoStatusresolved => feedback
2026-10-06 06:59Ismael LucenoResolutionwon't fix => reopened
2026-10-06 06:59Ismael LucenoNote Added: 0002524
2026-10-06 17:07John-Mark BellNote Added: 0002525