-
-
Notifications
You must be signed in to change notification settings - Fork 402
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not enough values to unpack for certain NAMES entries when behind ZNC #2311
Comments
"Can't sleep, bug report will eat me." — Connecting directly to Libera on the same commit (plus one unrelated WIP change to the @HumorBaby is that something you can test for me without disrupting your regular setup? If not I'll get a local ZNC built sometime this weekend. (I hope.) |
Duplicate of #2289, I think. |
Not the same. Libera and ZNC (as tested) both advertise and ACK userhost-in-names; UHNAMES isn't involved in this one. The same workaround/mitigation could apply to both, though: gracefully handle missing hostmask even when Sopel expects it to be present. |
Reproduced on freshly built ZNC 1.9.x-git-176-fab1bb1b today. On my test instance, which had been started less than a minute or two before Sopel connected, it appeared that only Sopel had a hostmask included in the 353 lines. Noticed znc/znc#1224 after a bit of digging. So yes, the workaround I stated last night is still the safe bet: Handle missing userhosts gracefully, even if we're expecting the server to include them, because… sometimes it won't.
Never mind this, I was reading Sopel's own error PRIVMSG, which truncated the raw line it received to fit the error message and so forth.
|
Does #2312 fix the issue? |
"Fix" as in "works around". The error shouldn't happen any more; Sopel should just store incomplete user info like it would on servers without the feature. If you think it's sufficient, go ahead and close this. |
Yup, I don't really see how we can do better when the server makes a promise and then proceed to break it. Not crashing is good enough for me at this point. |
Description
I just updated our official instance to current master (8d077a0) and observed some errors in its startup log upon reconnecting to Libera, apparently related to NAMES replies not always containing the hostmask for every value.
Reproduction steps
Expected behavior
Sopel should not error, as this means it will fail to process the whole line. Regardless of whether Libera's IRCd is breaking spec by failing to always include hostmasks in NAMES when the relevant capability is enabled, Sopel should gracefully handle this case.
Relevant logs
Notes
Likely related to #2102, though I have not taken the time tonight for anything like a
git bisect
to prove it. Honestly, the relevant code seems obvious enough to skip that step.I have amended the report to include that Sopel was connecting via ZNC, a fact I forgot about initially.
Sopel version
8d077a0
Installation method
pip install
Python version
4.9
Operating system
No response
IRCd
solanum-1.0-dev via ZNC 1.8.2
Relevant plugins
No response
The text was updated successfully, but these errors were encountered: