View Issue Details

IDProjectCategoryView StatusLast Update
0004783unrealircdpublic2016-12-30 16:30
ReporterFwdInTime Assigned Tosyzop  
PriorityhighSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Product Version4.0.9 
Fixed in Version4.0.10 
Summary0004783: IRCd stops (crashes?) on /PART
DescriptionHello,

I have just installed a fresh copy of UnrealIRCd 4.0.9. After a few minutes of testing around, the IRCd ceased to function (crashed?) when I left a channel. The issue can be reproduced at will (at least, on my side) providing that several conditions are met (see below).

I had not installed any of the previous UnrealIRCd 4 releases, so I cannot tell if the issue is specific to 4.0.9 or not.
Steps To ReproduceYou must /PART any channel while these conditions are met:

1. set::static-part is disabled (enabling it prevents the issue from happening).
2. The server has active badword blocks in its configuration.
3. The channel you leave has channel mode +G set.

It seems it doesn't matter if a badword is present in the /PART message or not. From what I can tell, the issue happens even if no /PART message is given.

It seems also that the badword action (block or replace) is irrelevant.
TagsNo tags attached.
3rd party modules

Activities

syzop

2016-12-05 15:58

administrator   ~0019552

I cannot reproduce this issue, tried on Linux and Windows.

What OS are you on?

Any 3rd party modules you have loaded?

Could you send your unrealircd.conf to [email protected] with cloak-keys and passwords ****'ed out?
And also 'config.log' when you are at it :)

Thanks.

syzop

2016-12-05 16:00

administrator   ~0019553

In addition to the above...


You say "ceased to function". What happened? Were you disconnected? Did it become unresponsive? Is the process still running?

If UnrealIRcd crashed then you can run "./unrealircd backtrace" which shows crash information. The output of that command would be most welcome.

syzop

2016-12-05 16:21

administrator   ~0019554

User e-mailed. Can't reproduce.

FwdInTime

2016-12-05 16:37

reporter   ~0019555

I am on Linux and I have no 3rd party modules loaded.

Yes, I was disconnected and the process wasn't running anymore.

$ ../unrealircd backtrace
Core files available:
ls: cannot access *core*: No such file or directory
No core files found... Nothing to do

If you are sure UnrealIRCd crashed, then verify that unreal
has permission to dump core (type "ulimit -c unlimited" and see
if you get permission denied errors). Also verify that you did
not run out of quota.
If all that is ok, then it might be that UnrealIRCd did not crash but
got killed by the OS (eg: cpu/mem resource limits), the syadmin,
or an automated process.

BUT when you wrote that you couldn't reproduce the issue, I came back to a configuration close to the default one (as I played much with mine which is now quite different). Interestingly, the issue couldn't be reproduced this way.

One of the things I played with was the modules configuration file. While playing with it, it seems I changed the order of a few things compared to the defaults. I wasn't aware it could be dangerous, but it seems it has something to do with it.

For instance, taking the default modules.default.conf, there is no issue. But move "loadmodule "chanmodes/censor";" higher in the list (tried above m_part) and the issue is introduced.

syzop

2016-12-05 16:42

administrator   ~0019556

Ahh okay.. thanks for the additional information, could very well be that.

Seems less urgent then, I will take a look and fix on Wednesday :)

syzop

2016-12-09 16:09

administrator   ~0019557

Private -> Public
And bump for myself.

syzop

2016-12-30 16:30

administrator   ~0019586

Fixed. Thanks again for the report :)

commit bff5e39d6780417e6d40aa6d7ca59d1f921ba0c2
Author: Bram Matthys <[email protected]>
Date: Fri Dec 30 16:27:35 2016 +0100

    Fix crash on PART if chanmodes/nocolor module is not loaded or loadmodule
    line reordered so nocolor is above m_part. Reported by FwdInTime (0004783).

https://github.com/unrealircd/unrealircd/commit/bff5e39d6780417e6d40aa6d7ca59d1f921ba0c2

Issue History

Date Modified Username Field Change
2016-12-05 15:54 FwdInTime New Issue
2016-12-05 15:58 syzop Note Added: 0019552
2016-12-05 16:00 syzop Note Added: 0019553
2016-12-05 16:21 syzop Assigned To => syzop
2016-12-05 16:21 syzop Status new => feedback
2016-12-05 16:21 syzop Note Added: 0019554
2016-12-05 16:37 FwdInTime Note Added: 0019555
2016-12-05 16:42 syzop Note Added: 0019556
2016-12-09 16:09 syzop View Status private => public
2016-12-09 16:09 syzop Note Added: 0019557
2016-12-09 16:09 syzop Status feedback => acknowledged
2016-12-30 16:30 syzop Status acknowledged => resolved
2016-12-30 16:30 syzop Resolution open => fixed
2016-12-30 16:30 syzop Fixed in Version => 4.0.10
2016-12-30 16:30 syzop Note Added: 0019586