-
Notifications
You must be signed in to change notification settings - Fork 7
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
Since December, there has been a freeze issue occurring on jbnc #70
Comments
If I understand correctly, are you saying that it isn't tracking the channels a user should be in correctly? If a user turns their phone off, it should disconnect due to the "SHACK" which is the PING/PONG trades between jbnc and the user. I'm going to read through everything from connection to channels as well as the reconnect and see if I can figure this out! |
|
Oh, I remember I had put 'false' here because I saw that it was already set to 'USER'. Actually, I put 'false' because on my IRC web client, every time people reconnected, sometimes they would write twice. The client socket was open two or three times, and people were writing in duplicates, flooding. So, I put 'false' here. Eventually, some time later, I noticed that the random flood bug continued, but after a few more months, it resolved itself. The issue was with the IRC web client, not with JBNC. It hasn't been doing it for a long time (or rarely), and I haven't removed this 'false' because since it was working well, I thought I might as well leave it as 'false'. I will test removing the 'false' and see how it goes for 2-3 days to observe the difference |
Removing the If I refresh the page, it still doesn't work. Even when I connect to JBNC with mIRC using the It's strange because this issue happens every morning lately, perhaps under the condition that the last connection was yesterday evening around 11 p.m. using a mobile phone, leaving the bouncer on but turning off the mobile phone (power off). Then, after 30 minutes, the bouncer automatically disconnects from the IRC with the " Maybe during this time, there are many connections to JBNC from other users? Perhaps the bug occurs at 7:30 a.m., and I should wait until 8 a.m. or 4 p.m. before reconnecting to see if it still occurs. However, to be sure, I need to connect to JBNC with my mobile and wait until around 8 or 9 hours., then connect with my PC at 4 p.m. That's the only way I can see to reproduce the bug, but it's worth noting that it doesn't happen every time. Alternatively, it could be that my session doesn't close properly with the ' It could also be a bug related to the joins channels. |
Looking at the screenshot it's unclear, are you receiving this on reconnect
|
@realrasengan The screenshot is of the connection; otherwise, yes, upon reconnecting, I do receive this. I didn't capture the screenshot of the reconnection |
That's really peculiar. I'm very confused. I wonder if there is a way to log the data the irc client is receiving and sending to understand if something is not firing/is missing, or if its something else. That would be the easiest way to track this down. |
Yes, it is true that it would be good if my client could record all the logs only for my pseudo because otherwise it will not be easy to find the right lines. However, such a logging system does not exist, it will be long to set up, and I will have to think about how I could do it. |
@realrasengan Unfortunately, the bug didn't occur this morning, even though I activated debugging by recording everything from the ' I also noticed a bug this morning on one of my bots created with IRC Framework. It's a bot named 'Tapavu' which does the same thing as '
Let's imagine that There's also this :
Normally there shouldn't be a problem; it probably returns the right results as it's positioned now Could there be problems for those who put |
I restarted the dedicated server 30 minutes ago after 60 days without a reboot. So, I started the ircd and jbnc, anope, the whole package, and 3 minutes later, I connected to jbnc and the bug occurred. Here are the two logs attached: https://labs.discussionner.com/logs/First_connection_immediately_afte_ircd_started.txt : This is the first connection to the ircd with jbnc immediately after the dedicated server restarted. Here, the bug on the #ados channel is frozen; it doesn't want to display as a tab on either the web client or mIRC. https://labs.discussionner.com/logs/A_new_connection_which_does_not_bug.txt : Here, I disconnected from the irc with /jbnc quit and then reconnected. This is the log of the second connection just after /jbnc quit. Here, the #ados channel is not frozen If needed, I also have the log while reconnecting to jbnc without having done /jbnc quit, but there is nothing interesting in it I don't see anything special in the two logs. Perhaps it could be a bug with either UnrealIRCd (with the who nick %tcuhsnfdaorl), or with jbnc, or maybe there's an issue with the webirc client, but I'm not sure. Alternatively, it could be a problem with the dedicated server. Would sending these two logs to UnrealIRCd be useful to explain the issue? |
On the first connection that's bug, there's this: But not on the new connection that isn't glitching. Perhaps there's an issue around this line: I also tried with a second channel, which is Maybe it's because of the "extended-join"? |
It could be. I haven't actually looked that deeply into all of extended-join code -- I think that was entirely contributed by you; so you might have the best luck, but please let me know and I'll try to help out as well if I can make some time! |
I compared the code archive from July 2020 to the current one (April 12, 2024), and I didn't find anything suspicious. Here are all the new habits I adopted between October and December 2023:
I'll think about this new thing in one line: |
I manage to reproduce the bug exactly by modifying the Simply by removing this line There seems to be something peculiar between At the end of the code, I added this:
Every time I change |
I located the bug, it doesn't come from unrealircd or jbnc. It originates either from the web client IRC, or from the IRC framework. In the event listener for "join" on the IRC framework or the web client, simply add |
Finally, I don't know, I manage to reproduce the bug by doing this:
So by doing these three, I manage to reproduce the bug, but the bug does not occur identically because afterwards, I can connect to BNC with mIRC (without disconnecting from the IRC server first, leaving it online in the BNC), so here the blocked channels join correctly whereas with the original bug everything freezes, unable to display the channels. I have the impression that the bug does not come from IRC Framework. This bug is very random, I manage to reproduce it only at the following times:
Maybe it's the Firefox browser, I'll test tomorrow with Chrome (I've always tested with Firefox), because a second person I was able to see that she had the identical bug, and I just noticed that she also had Firefox |
Today, I restarted the dedicated server, and the bug did not occur. It's the first time (no idea if it's just a coincidence). Just before restarting the dedicated server, I modified JBNC to remove a " |
What was the logic around it? |
@realrasengan The join freeze bug hasn't recurred. We should restart the dedicated server and check if it happens again. This code is placed on line 1433 :
|
@realrasengan For a while, I've noticed an issue where sometimes the IRC client wouldn't connect to the server, although it happened rarely. To fix the problem, I had to restart the web client. I might have found a clue about what was causing it: https://github.com/freenode/jbnc/blob/master/lib/ClientConnect.js#L147 Above line 147, I added a On this line: https://github.com/freenode/jbnc/blob/master/lib/ClientConnect.js#L139, I replaced |
Since December 2023, I've been experiencing a random issue with JBNC, here's the explanation:
I have an IRC web client with approximately 550 concurrent users during peak hours (around 9 p.m.) and about 200 in the afternoon during school hours, so on JBNC, there are around 350 users during peak hours. Here's how to reproduce this random bug; it doesn't happen every time but at least once every 24 or 48 hours. Here's how to do it:
bouncerTimeout
to 1800 seconds, which is 30 minutes; it will disconnect after 30 minutes.I see myself connected from an mIRC (no-jbnc) on the channels where I have autojoin with JBNC, I am present on them, but with JBNC, I am stuck on status, I am on no channel. I then typed the PASS command to connect to JBNC from an mIRC client, and indeed I see that I am not on any channel, although I am present in the channels, JBNC refuses to display the channel on mIRC and on the applet. The only way for it to work is either to restart JBNC by typing "
/jbnc quit
" or I can also type "/part #channels
" and then join the 2 channels, and then it works fine again. This is a significant UX issue because I have noticed that this problem not only happens to me but also to many others, so it's losing customers. I also encountered this bug for the first time in December 2023 during a change of dedicated server, but the problem is that neither the IRC web client nor JBNC is installed on the new dedicated server. However, to try to fix this issue, in January, I migrated the IRC web client and JBNC to the new dedicated server, but this did not fix the problem. I feel like the problem comes either from:005
and also at the end of the MOTD)gone=settimeout()
" and all that is automatic quit)Please note also that the problem does not exclusively come from leaving a space without doing anything between 11 p.m. and 8 a.m. because one day I was coding and trying to reconnect to the web IRC client (with JBNC), and I had to type "
/jbnc quit
" each time, and in an hour, this freeze happened quite often, to quickly fix it, I reconnected by typing/jbnc quit
. There might be a conflict, for example, if one joins a channel and someone else joins it at the same time, causing the freeze? I'm not sure; I can't locate the bug.I also noticed that this bug could also occur by stopping JBNC with "
pm2 stop bouncer
" and then starting it again with "start
", with at least 300 people reconnecting within 10 minutes; here the bug also occurs randomly; it may not happen to me, but it probably does to other users.This bug could be related to a connection issue, or quitting, or joining a channel, it's one of the three. I think, in my opinion, it doesn't come from quitting.
Do you have any idea where this problem might be coming from?
Have you ever experienced this bug?
Best regards.
The text was updated successfully, but these errors were encountered: