View Issue Details

IDProjectCategoryView StatusLast Update
0005028unrealmodule apipublic2017-11-14 17:41
ReporterGottem Assigned Tosyzop  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
Platformx86_64OSDebianOS Version7 (wheezy)
Product Version4.0.12.1 
Summary0005028: Raising MODDATA_MAX_CLIENT past 16 results in mysterious link errors
DescriptionIt seems that once you raise "#define MODDATA_MAX_CLIENT 8" above 16, it results in mysterious link errors (this happens for _every_ configured leaf):
    ERROR: Link denied (No link block found named 'services.my.net' or link::incoming::mask did not match your IP 127.0.0.1) [@127.0.0.1.59858]
    ERROR: Closing Link: [localhost] (Link denied (No link block found with your server name or link::incoming::mask did not match))

When I decrease it to <= 16 and recompile + restart again, the errors go away. It also works fine with all of the MODDATA_MAX_* #defines set to 16.
Steps To ReproduceChange "#define MODDATA_MAX_CLIENT 8" to 17, recompile and restart the IRCd.
Additional InformationMy test/dev net runs almost all of my own modules, so I can check for possible interference as well. As such I'm using a lot of moddata slots, mostly CLIENT. =]
TagsNo tags attached.
3rd party modulesAlmost all of my own

Activities

Gottem

2017-11-11 19:32

developer   ~0019958

Just to make sure, I also tested it on the current version as found in the GitHub repo. It does the exact same thing. =]

syzop

2017-11-11 20:23

administrator   ~0019959

I would expect it to be something else, like some module that previously wasn't loaded and is now

Another possibility is that you have old *.so files laying around. So to be sure I'd delete ~/unrealircd/modules/*.so if I were you.

syzop

2017-11-11 20:24

administrator   ~0019960

And if neither of these help I would suggest running with valgrind (a great tool, if you haven't used it before).
But only after you tried previous post :)

Gottem

2017-11-11 20:46

developer   ~0019961

Well I made sure the IRCd could start with <= 16 CLIENT slots regardless, there were also no messages like "no space available". I also deleted _all_ .so files found in ~/ircd/modules and recompiled 'em all. I even tried running without any of my modules, but none of these things make a difference. :D

I do know valgrind but I've never used it so not sure how to go about it. I ran a quick check by doing "valgrind --error-limit=no ~/ircd/bin/unrealircd -F", but it only seems to report libcrypto related stuff. I may look deeper into it tomorrow (unless you'll beat me to it). =]

syzop

2017-11-11 21:05

administrator   ~0019962

Ah ok. Strange.

As for valgrind, yeah you can use my supressions (ugly but works):
wget https://archive.vulnscan.org/tmp/valgrind.unreal.suppress
And then something like this:
valgrind --suppressions=/the/path/to/valgrind.unreal.suppress --show-possibly-lost=no --alignment=4096 bin/unrealircd -F

syzop

2017-11-11 21:07

administrator   ~0019963

In addition to above: connect without SSL/TLS ;)

syzop

2017-11-12 16:20

administrator   ~0019964

Last edited: 2017-11-12 16:21

And I could not reproduce with MODDATA_MAX_CLIENT set to 17 and linking two servers. (I somehow already assumed this without trying, but now confirmed to be true that I cannot reproduce :D)
This is on 4.0.16 by the way.

Gottem

2017-11-13 21:14

developer   ~0019965

I ran valgrind for a while and attempted to reconnect Anope a few times, but nothing appeared despite it erroring out still (even without the suppressions). I did find that unreal_mask_match() returns 0, though. I also got "You are not authorized to connect to this server" every time I tried to connect myself.

But it doesn't seem to matter; weirdly enough I can't reproduce it anymore. :D I'm now at 30/16/16/16 and I can restart both the IRCd and services all I want. Not sure what happened there as I didn't change anything but whatever. I'll keep an eye on it and attempt further tracing if it (ever) occurs again. =]

syzop

2017-11-14 17:41

administrator   ~0019966

Ok

Issue History

Date Modified Username Field Change
2017-11-11 18:14 Gottem New Issue
2017-11-11 19:32 Gottem Note Added: 0019958
2017-11-11 20:23 syzop Note Added: 0019959
2017-11-11 20:24 syzop Note Added: 0019960
2017-11-11 20:46 Gottem Note Added: 0019961
2017-11-11 21:05 syzop Note Added: 0019962
2017-11-11 21:07 syzop Note Added: 0019963
2017-11-12 16:20 syzop Note Added: 0019964
2017-11-12 16:21 syzop Note Edited: 0019964
2017-11-13 21:14 Gottem Note Added: 0019965
2017-11-14 17:41 syzop Assigned To => syzop
2017-11-14 17:41 syzop Status new => closed
2017-11-14 17:41 syzop Resolution open => no change required
2017-11-14 17:41 syzop Note Added: 0019966