stephenberry/glaze

Glaze minified seems to be having an issue under GCC/Ubuntu

Closed this issue · 13 comments

So when I run the following code as follows:
https://github.com/RealTimeChris/Json-Performance/blob/main/Source/main.cpp#L205
But with minified set to = minified, it seems to throw an "expected_bracket" error across 3 of the tests - the JsonData-Minified, CitmCatalog-Minified, and Twitter-Minified tests.

Well, currently your Json-Performance repository doesn't build on Mac where I usually develop. Could you try to version your code so that it isn't constantly breaking?

Thanks for bringing this up. I'll dig into it once I can build your code.

Alright my bad the benchmark branch should build properly now.

I can't seem to replicate this problem. I built and ran main and benchmarking tests on Ubuntu with GCC 13.2.1 and everything passed.

Can you test again on your side and provide more details about what configuration is failing if you still see the issue?

@RealTimeChris, can you check whether this is still an issue?

Alright checking.

Alright so if you pull the benchmarking-test branch, the issue happens there. Under Release mode.
{51ACCC81-C391-4CF4-AC3F-8A06BA982639}
{C4120D23-EB8D-4D05-BCD7-5ECB208A2A70}

I still can't replicate this. Does this error only show up in Release mode for you? And, what version of GCC are you using?

{4E793172-CDD1-4D0C-B507-035F8D7A03E5} And yes only release mode. Let me try it with a newer GNUC++.

image
{3367DD56-1717-4958-9B13-8BE4C2BDC63E}
{6EC71B55-B9F2-4936-9E41-53DC67FD5EED}

You sure you're cloning the benchmarking-test branch?

I was able to replicate the issue and figured out the problem. Will have a fix soon.

Nice - was it related to integer parsing?

Yeah, it was due to a reinterpret_cast<uint8_t*&>(...). Reinterpreting to a pointer of the same size or to an unsigned integer is not UB, but doing both together is UB.