Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001126Denora[All Projects] Generalpublic2010-01-11 00:312012-07-23 04:36
ReporterHal9000 
Assigned ToOUTsider 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusfeedbackResolutionopen 
PlatformOSOS Version
Product Version1.4.4 
Target Version1.5.1-gitFixed in Version 
Summary0001126: Denora doesn't hold connection for longer than about 2 minutes
DescriptionFor some reason, I can no longer get Denora to maintain a connection for longer than two minutes and some seconds. I can somehow manage to get a backtrace: http://pastebin.ca/1411544 [^]
(bt full produces http://pastebin.ca/1411542 [^])
I'm not sure which side the problem is on. I am receiving this error with InspIRCd 1.2-rc3 on kubuntu 9.04.

A ping timeout appears to be involved (from IRCd in a log channel, network name removed in case it has to be):
LINK: Received end of netburst from stats.* (burst time: 5599 msecs)
STATS: Remote stats 'u' requested by StatServ (stats@services.*)
STATS: Remote stats 'U' requested by StatServ (stats@services.*)
LINK: Server stats.* has not responded to PING for 15 seconds, high latency.
LINK: Sent ERROR to stats.*: Ping timeout
LINK: Server stats.* split: Ping timeout
REMOTEOPER: User StatServ de-opered (by StatServ)
LINK: Netsplit complete, lost 1 users on 1 servers.
LINK: Connection to 'stats.*' failed.
LINK: Connection to 'stats.*' was established for 2m8s

This appears to be caused by Denora's complete lack of ability to pong the server while it does other stuff. :S

Worked around (read: not "fixed" or at least I wouldn't call it fixed) by adjusting serverpingfreq.

<circles.alchemyirc.net> LINK: Received end of netburst from stats.alchemyirc.net (burst time: 13 secs)

<circles.alchemyirc.net> LINK: Received end of netburst from stats.alchemyirc.net (burst time: 84 msecs)

It appears the problem is it trying to dump MySQL all at once WHILE it's connecting. (The MySQL server appears to have gone down between those, as evidenced by <StatServ> [seen] SQL needs to be enabled to load this module. and that site not loading.) I don't know if the server is slow, or what... when I can manage to keep it connected it generally doesn't disconnect later. Maybe stop trying to dump stuff while it's bursting, etc.?
Additional InformationThis was issue 544 in our old BT, reported by ElementAlchemist
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0006231)
OUTsider (developer)
2012-07-23 04:36

I did some coding... try if it works now :)
(0006230)
OUTsider (developer)
2012-07-22 06:06

denora IS threaded, IF you enable it also in the config:

threading {
    usethread;
}

(the threadcount arg makes things not working btw, so I might rip it out)
(0005823)
neobear (reporter)
2011-05-07 08:22
edited on: 2011-05-07 08:33

Just wanted to confirm this issue here.. I'm using the latest stable Denora (v1.4.5(February 7th, 2011)), and this is still an issue. I believe it has to do with MySQL, and the fact that Denora refuses to respond to ping while requesting stats and sending CTCP versions to all the connected clients. This issue seems to arise when the MySQL server has some latency (e.g. in another data center) and Denora can't keep up with the ircd ping requirements. One possible way of tackling this bug is to make Denora more thread-friendly.. Perhaps have a thread that handles ircd commands, and another to handle the database side. Just a thought..

tl;dr: Denora is kinda broken, and needs a bit of work to fix it 'properly'..

Another thing to think about is command priority.. perhaps have ircd functions > mysql functions. that could help.. but as far as I can see as of right now, Denora isn't multi-threaded, and it really /should/ be.


edit:
even by setting the inspircd link option: serverpingfreq, it still has issues with ping time outs. This tells me that Denora is not responding to the initial pings from the servers. Therefore, a possible work around is to delay the loading of the mysql module, until after a reliable connection has been established (perhaps after the two minute mark) and then have Denora do its fancy mysql work.


- Issue History
Date Modified Username Field Change
2010-01-11 00:31 Hal9000 New Issue
2011-02-03 22:05 Hal9000 Target Version 1.4.5 => 1.5.0-git
2011-05-07 08:22 neobear Note Added: 0005823
2011-05-07 08:33 neobear Note Edited: 0005823 View Revisions
2012-07-06 11:54 OUTsider Note Added: 0006179
2012-07-06 11:54 OUTsider Assigned To => OUTsider
2012-07-06 11:54 OUTsider Status new => feedback
2012-07-17 16:43 OUTsider Status feedback => acknowledged
2012-07-18 13:39 OUTsider Target Version 1.5.0-git => 1.5.1-git
2012-07-18 13:39 OUTsider Note Deleted: 0006179
2012-07-22 06:06 OUTsider Note Added: 0006230
2012-07-22 06:06 OUTsider Status acknowledged => feedback
2012-07-23 04:36 OUTsider Note Added: 0006231


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker