View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005616||unreal||ircd||public||2020-04-07 13:25||2020-04-10 19:33|
|Fixed in Version||5.0.4|
|Summary||0005616: Sajoin user 0 works but nicklists do not update to show parting of channels|
|Description||When we issue a /sajoin user 0 command.. the server reports correctly that user has parted all channels. and that the oper in question has (used sajoin to make user join 0).|
However.. the nicklists for the channels the user is in.. do not update to reflect this and still show the user as remaining in the channel unless you are on the same local server as the user was in which case, then you see the user leave and the nicklist updates.
|Additional Information||We currently have a 6 server network, 5 on unreal 184.108.40.206 and 1 using unreal 220.127.116.11.. all using openssl 1.0.2k-fips and PCRE2|
with the exception of the unreal 4.. they are all Fhn6OoEmMR (the unreal 4 server is Fhn6OoEmM).
Services is Anope 2.0.4 Unrealircd 4 (enc_md5) -- build #61(taken from version)
Linux 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64=5002 (all servers have same linux reply)
|3rd party modules|
I can reproduce the issue.
As it is a nick list desync the severity is major, but the priority is normal. This means it will be fixed for next release but it is not super urgent. The reason for this is twofold: 1) SAJOIN'ing to 0 is quite rare (which explains why the use has gone unnoticed until now) and 2) it requires an IRCOp action (which means normal users cannot trigger this bug).
I will probably have a go at it in the weekend.
Many thanks syzop. we've only just started noticing it on the new 5 series as it always worked fine on the 4's. We use the sajoin 0 regularly due to the type of network we have and the mentality of the users. Often we'll tempshun or shun followed by that.
Look forward to the fix
this bug not exists within unreal5 servers in the network. ( have no unreal4 in my network, only 5.0.1 - with the desync hotfix)
joined a few chans with a simple user:
i have joined to the channels as an oper too. asked a few users to also join these channels so we can "check" if this issue really exists or not. users were from other servers as well.
entered /sajoin <user> 0, then all of the users saw that the <user> has parted all channels.
message was (example):
<user> has left #noobcakes (Left all channels)
asked all users to check:
affected <user>: left all channels, -- *** You were forced to join 0
me (as an oper): couldnt see the <user> in any chans -- good.
other users: they also saw the user leaving the channel, nicklist also seemed fine (they didn't see the user in nicklist anymore) -- good.
||We're on 18.104.22.168 Lord255.. i think the issue only appeared when we updated to the 22.214.171.124|
true. my apologies. :) (i mean bugs can appear / reappear on specific versions)
syzop said he could reproduce it, i wonder if this is because of unreal4 in the network, or its a bug in (so only in) 126.96.36.199 :)
||Good to have been able to rule the 5.0.1 with the hotfix out though. at least that narrows things down|
Fixed, thanks for the report!
Git log (the actual fix from this bugid is the latter one):
commit 051fd4aebd7f09f48f63105193207413dabf2a57 (HEAD -> unreal50, origin/unreal50)
Author: Bram Matthys <firstname.lastname@example.org>
Date: Fri Apr 10 19:28:50 2020 +0200
Fix message tags (such as msgid) missing for JOIN 0 and SAJOIN 0.
Author: Bram Matthys <email@example.com>
Date: Fri Apr 10 19:27:39 2020 +0200
Fix SAJOIN to 0 (part all channels) resulting in a possible desync
when used on a multi-server network. This was due to the PART event
inadvertently not being sent towards the SAJOIN direction.
Bug reported by Cheiron in https://bugs.unrealircd.org/view.php?id=5616
By the way, looking at some comments here and seeing confusion: this bug happens if you are on server A and are typing "SAJOIN someuser 0" where this someuser is on server B. In such a case on server B you will see the PART, but on server A you won't see the PART at all. It likely affects all 5.* versions.
|2020-04-07 13:25||Cheiron||New Issue|
|2020-04-07 13:25||Cheiron||Tag Attached: sajoin|
|2020-04-07 14:35||syzop||Priority||high => normal|
|2020-04-07 15:15||syzop||Assigned To||=> syzop|
|2020-04-07 15:15||syzop||Status||new => confirmed|
|2020-04-07 15:15||syzop||Note Added: 0021404|
|2020-04-07 15:37||Cheiron||Note Added: 0021405|
|2020-04-07 23:05||Lord255||Note Added: 0021406|
|2020-04-07 23:11||Cheiron||Note Added: 0021407|
|2020-04-07 23:18||Lord255||Note Added: 0021408|
|2020-04-07 23:20||Cheiron||Note Added: 0021409|
|2020-04-10 19:31||syzop||Status||confirmed => resolved|
|2020-04-10 19:31||syzop||Resolution||open => fixed|
|2020-04-10 19:31||syzop||Fixed in Version||=> 5.0.4|
|2020-04-10 19:31||syzop||Note Added: 0021410|
|2020-04-10 19:33||syzop||Note Added: 0021411|
|2020-04-10 19:33||syzop||Note Edited: 0021411|