Project

General

Profile

Actions

Bug #3037

closed

AdiIRC randomly fails to let me join channels over ZNC

Added by Not Relevant about 8 years ago. Updated about 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Irc
Target version:
Start date:
10/15/2016
Due date:
% Done:

0%

Estimated time:
Operative System:
All
Regression:
Yes

Description

I have 7 servers in my auto-connect list, some of which are ZNC connections. All of them seem to be connected automatically, but AdiIRC randomly denies to open the channel windows I've joined.

Ex.: On QuakeNet, the Status window shows that i'm connected but none of my channel windows are opened. Trying to join a channel manually results in nothing happening, meaning that (obviously) I'm already in the channel, I just can't see it. It doesn't appear in the Window list either.

Usually, this can be "fixed" by just reconnecting the faulty connections. Still this should not happen, probably.


Files

Rawlog.log (30 KB) Rawlog.log Not Relevant, 10/29/2016 02:30 PM
Actions #1

Updated by Per Amundsen about 8 years ago

  • Category set to Irc
  • Status changed from New to Assigned
  • Assignee set to Per Amundsen
  • Operative System changed from Windows 10 to All

Does the incoming "JOIN" message show up in rawlog?

Actions #2

Updated by Not Relevant about 8 years ago

I'll try and find out next time it happens. Where can I find the rawlog?

Actions #3

Updated by Per Amundsen about 8 years ago

Rawlog is in File -> Rawlog, but it must be open while the error happens.

This might be related to #3038 which I just fixed, let me know if the next beta fixes it.

Actions #4

Updated by Not Relevant about 8 years ago

I wish.

[20:03] <Cthulhux> kr0n: the "adiirc doesnt really "connect"" error is still there
[20:03] <Cthulhux> and of course i forgot to enable the rawlog
[20:04] <Cthulhux> but i do get the usual "you are banned" messages :-)
[20:04] <Cthulhux> [19:53] * #GN-Community Cannot join channel, you are banned (+b)
[20:04] <Cthulhux> [19:53] * #[d]ominion Cannot join channel, you are banned (+b)
[20:04] <Cthulhux> [19:53] * #w00t.pub Cannot join channel, you are banned (+b)
[20:04] <Cthulhux> so it tries to join channels...

Actions #5

Updated by Per Amundsen about 8 years ago

Okay, then it must be a different issue, data from rawlog is needed to determine if AdiIRC/ZNC is receiving/sending the JOIN messages.

Actions #6

Updated by Not Relevant about 8 years ago

Can I, somehow, auto-enable the RAW log on every start? As the issue happens with auto-connected servers, I'd need to have it ready from the beginning.

I just checked the "later" RAW log: I'm in the channels, they are just "not opened".

Actions #7

Updated by Per Amundsen about 8 years ago

In latest beta you can type /setoption Misc RawlogBuffer N ... where N is the number of raw lines to keep in memory per server, they will be added to the rawlog dialog when you open it.

What is the output from //echo -ag $window(#channelname) on the affected server?

Actions #8

Updated by Not Relevant about 8 years ago

I could just reproduce it with RawLogBuffer set to 100. I do send JOINs, see the attached saved file (feel free to remove it when you're done reading it, I'm not sure about personal information here). E.g. #midipix seems to have been joined.

Still:

//echo -ag $window(#midipix)
  • /echo: zu wenige Parameter

(Too few parameters.)

And it will work again after I restart AdiIRC.

Actions #9

Updated by Per Amundsen about 8 years ago

File deleted.

It does seem to receive the JOIN from the server, question is if the window is created and then closed, or just never created and why.

Maybe try this debug script:

on *:JOIN:#:echo -s Channel # window is $iif($window(#),created,not created)
Actions #10

Updated by Not Relevant about 8 years ago

/j #testchannel1234
Channel #testchannel1234 window is not created

Actions #11

Updated by Per Amundsen about 8 years ago

I created a debug build with more information, replace your old adiirc.exe with this one https://dl.dropboxusercontent.com/u/18303/AdiIRC64_45.exe (If you use 32 bit or .net 2.0 let me know, and I will make a build matching that).

Please paste the the lines matching a broken channel from Rawlog -> Debug tab.

Actions #12

Updated by Not Relevant about 8 years ago

This time, the Quakenet was the broken one. Looks like WSACancelBlockingCall does stuff here. (I only kept QNet and freenode in my auto-connect list for now to avoid spamming away/back messages.)

> Connect called
> Connect called and working
> Connect called
> Connect called and working
> ConnectLoop started
> ConnectLoop started
> OnLookingUp called
> OnLookingUp called
> ConnectLoop hostOK
> ConnectLoop hostOK
> OnConnecting called
> OnConnecting called
> ConnectLoop socket init
> ConnectLoop socket init
> ConnectLoop socket started
> ConnectLoop socket started
> Connection is IPv4
> Connection is IPv4
> Start Readthread
> Start Readthread
> Readthread started
> Readthread started
> Start Writethread
> Start Writethread
> Writethread started
> Start Pingthread
> Writethread started
> Pingthread started
> Start Pingthread
> Pingthread started
> OnConnected called
> OnConnected called
> OnConnected running
> OnConnected running
> OnConnected server = ok, sent login info
> OnConnected server = ok, sent login info
> YOU ARE 100% CONNECTED
> YOU ARE 100% CONNECTED
> Identd :Ein Blockierungsvorgang wurde durch einen Aufruf von WSACancelBlockingCall unterbrochen
> bei System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) bei System.Collections.Hashtable.SyncHashtable.Add(Object key, Object value) bei AdiIRC.Utils.Crc32..ctor(UInt32 polynomial) bei AdiIRC.IRC.Core.User.SetNickColor2() bei AdiIRC.IRC.Core.IrcCore.ReadLine(Object sender, ReadLineEventArgs e)
> Das Element wurde bereits hinzugefügt. Schlüssel im Wörterbuch: "3988292384". Hinzuzufügender Schlüssel: "3988292384".
> MODE - channel missing SpongeTux
> bei System.Collections.Generic.Dictionary`2.get_Item(TKey key) bei AdiIRC.IRC.Core.SafeDictionary`2.get_Item(TKeyT key) bei AdiIRC.IRC.Core.IrcCore.ReadLine(Object sender, ReadLineEventArgs e)
> Der angegebene Schlüssel war nicht im Wörterbuch angegeben.
> JOIN #GN.Team: SpongeTux - tux - False
> JOIN #La-Familia: SpongeTux - tux - False
> JOIN #beta-ruleZ: SpongeTux - tux - False
> JOIN #evtl.intern: SpongeTux - tux - False
> JOIN #funcity.gn: SpongeTux - tux - False
> JOIN #gahq: SpongeTux - tux - False
> JOIN #galactica.pub: SpongeTux - tux - False
> JOIN #gamers.irc: SpongeTux - tux - False
> JOIN #gi.staff: SpongeTux - tux - False
> JOIN #jallajalla.gn: SpongeTux - tux - False
> JOIN #kibo.hc: SpongeTux - tux - False
> JOIN #musik: SpongeTux - tux - False
> JOIN #new-revenger: SpongeTux - tux - False
> JOIN #progrock-dt: SpongeTux - tux - False
> JOIN #templar.gn: SpongeTux - tux - False
> JOIN #Die_Eisblumen: SpongeTux - tux - False
> JOIN #alleliebhaben: SpongeTux - tux - False
> Debug started

Actions #13

Updated by Per Amundsen about 8 years ago

WSACancelBlockingCall is a normal error, it can be ignored.

It seems AdiIRC is confused about your nick, it thinks it's tux, but it's SpongeTux, not sure how that happened, could you paste the "001" message from this server? AdiIRC will try to use the nick from that.

Actions #14

Updated by Not Relevant about 8 years ago

"tux" is my ZNC user name. Maybe that's why?

-> @time=2016-10-22T22:20:47.562Z :port80a.se.quakenet.org 001 tux :Welcome to the QuakeNet IRC Network, SpongeTux

(LOL @ "normal error" though.)

Actions #15

Updated by Not Relevant about 8 years ago

Maybe the part between connecting to my ZNC and having AdiIRC set the SpongeTux nickname is relevant:

> CAP LS
> PASS (MYPASSWORD)
> NICK tux
> USER tux. 2 * :tux
> :irc.znc.in CAP unknown-nick LS :userhost-in-names multi-prefix znc.in/server-time-iso znc.in/batch znc.in/self-message
> CAP REQ :userhost-in-names multi-prefix znc.in/server-time-iso
> :irc.znc.in CAP tux ACK :userhost-in-names multi-prefix znc.in/server-time-iso
> CAP END
> :* NOTICE SpongeTux :You have several networks configured, but no network was specified for the connection.
> :* NOTICE SpongeTux :Selecting network [default]. To see list of all configured networks, use /znc ListNetworks
> :* NOTICE SpongeTux :If you want to choose another network, use /znc JumpNetwork <network>, or connect to ZNC with username tux./<network> (instead of just tux.)
> time=2016-10-22T22:20:47.562Z :port80a.se.quakenet.org 001 tux :Welcome to the QuakeNet IRC Network, SpongeTux
-> @time=2016-10-22T22:20:47.562Z :port80a.se.quakenet.org 002 tux :Your host is port80a.se.quakenet.org, running version u2.10.12.10+snircd(1.3.4a)
-> @time=2016-10-22T22:20:47.562Z :port80a.se.quakenet.org 003 tux :This server was created Wed Apr 23 2014 at 01:59:22 CEST
-> @time=2016-10-22T22:20:47.562Z :port80a.se.quakenet.org 004 tux port80a.se.quakenet.org u2.10.12.10+snircd(1.3.4a) dioswkgxRXInP biklmnopstvrDcCNuMT bklov
-> @time=2016-10-22T22:20:47.562Z :port80a.se.quakenet.org 005 tux WHOX WALLCHOPS WALLVOICES USERIP CPRIVMSG CNOTICE SILENCE=15 MODES=6 MAXCHANNELS=20 MAXBANS=45 NICKLEN=15 :are supported by this server
-> @time=2016-10-22T22:20:47.562Z :port80a.se.quakenet.org 005 tux MAXNICKLEN=15 TOPICLEN=250 AWAYLEN=160 KICKLEN=250 CHANNELLEN=200 MAXCHANNELLEN=200 CHANTYPES=#&~ PREFIX=(ov)
+ STATUSMSG=@+ CHANMODES=b,k,l,imnpstrDducCNMT CASEMAPPING=rfc1459 NETWORK=QuakeNet :are supported by this server
> @time=2016-10-22T22:20:47.562Z :port80a.se.quakenet.org 251 tux :There are 23 users and 26318 invisible on 39 servers
> @time=2016-10-22T22:20:47.563Z :port80a.se.quakenet.org 252 tux 59 :operator(s) online
> @time=2016-10-22T22:20:47.563Z :port80a.se.quakenet.org 254 tux 21983 :channels formed
> @time=2016-10-22T22:20:47.563Z :port80a.se.quakenet.org 255 tux :I have 3352 clients and 1 servers
> USERHOST tux
> : NICK :SpongeTux
-> @time=2016-10-22T22:20:47.701Z :port80a.se.quakenet.org 422 SpongeTux :MOTD blocked by ZNC

Actions #16

Updated by Per Amundsen about 8 years ago

It's a normal error if something else is listening on the identd port, e.g another client or the user is not allowed to listen to that port.

It seems AdiIRC sets the nick correctly to tux at "001", but then the nick is changed here ": NICK :SpongeTux", not sure where that request came from.

It's possible AdiIRC fails to change the nick and keeps using "tux", I added some debug for that here https://dl.dropboxusercontent.com/u/18303/AdiIRC64_45.exe

Actions #17

Updated by Not Relevant about 8 years ago

Unlikely:

[15:54] * tux No such nick

I'll try with the new build...

Actions #18

Updated by Per Amundsen about 8 years ago

Just created another build, think I found the issue with changing nick.

Actions #19

Updated by Not Relevant about 8 years ago

I have an idea though where it "comes from". My ZNC never disconnects, so, when I'm "afk", I'm still online with my previous nickname. (Even on freenode.net, so you might already know that.) When I reconnect, ZNC will restore my nickname client-side while still having preserved it on the server-side.

edit: Ah, OK.

Actions #20

Updated by Per Amundsen about 8 years ago

Same link, should work now.

Actions #21

Updated by Not Relevant about 8 years ago

No error after a couple of restarts...

Actions #22

Updated by Per Amundsen about 8 years ago

  • Status changed from Assigned to Resolved

Awesome, thanks for helping me debug, should fix some other errors as well, will make a new beta soon.

Actions #23

Updated by Per Amundsen about 8 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF