Yeah, which makes sense, unfortunately. I have a hunch what it might be, a possibly fixed build is brewing, if anyone is willing to test that build (once done) to confirm or deny that would be great.
It should in either case also provide more information when running with API tracing, so might help in that respect even if I didn’t guess the bug correctly…
i am not much of a developer but I would like to understand how this bug manifested into the new release. you stated before you have no clue since nothing (much?) changed from 1.28.x to 1.29.0
so what exactly changed outside of the code? some compilter stuff, some buildsystems or some tools or anything?
then again why does a change in sourcecode fix this to begin with? thanks for explaining about more about this.
It’s an interesting confluence of a couple of things.
We changed the protobuf library; it has a different behaviour than the previous one. We unmarshal session tokens from the database into a token set. Previously, when unmarshalling no tokens into an empty map, it would leave an empty map. Now, it sets the map itself to nil instead. We then tried to access this, “knowing” it would not be nil, and the request panicked (=> connection reset).
The Go HTTP server by default does a bunch of unnecessary logging on it’s own; we squash that. But that also means we didn’t get any debug logs for this. I added that so we at least see something on the console when this happens and debugging is enabled.
Hey folks, on v1.29.2, still encountering this issue. Removing the password from config.xml and re-setting the password via the GUI does not result in a change of behavior. Once the password is set, I’m unable to log in.
EDIT: Switching the GUI from HTTP → HTTPS resolved the issue. Very strange, but I have basic login working again.