View Issue Details

IDProjectCategoryView StatusLast Update
0005943unrealircdpublic2021-07-02 09:18
Reporteradamus1red Assigned Tosyzop  
PrioritylowSeveritycrashReproducibilityrandom
Status resolvedResolutionfixed 
Product Version5.2.0.1 
Fixed in Version5.2.1-rc1 
Summary0005943: Crash after adding allowed-nickchars to running server
DescriptionWhen adding "allowed-nickchars { latin-utf8; };" to the config of a running unrealircd server it crashed as soon as /rehash was executed by an operator to apply the config change.
Steps To ReproduceAdd "set { allowed-nickchars { latin-utf8; }; };" to the config
Execute /rehash of the server.
Additional InformationThe Crashdump from the server was sent to the crash reporting service on restart.

I have attempted to reproduce with an unused server but was unable to do so.
TagsNo tags attached.
3rd party modules

Activities

syzop

2021-06-30 09:57

administrator   ~0022057

Last edited: 2021-06-30 09:57

I received an anonymous crash report an hour before this post, let me assume it is related...
That crash indeed happened on REHASH but I'm not sure it is related to the change to set { allowed-nickchars { latin-utf8; }; };
It basically crashes when freeing the previous configuration. There are no indications in the crash backtrace that point to allowed-nickchars (though it also doesn't rule it out, really).

I cannot reproduce the issue by starting UnrealIRCd without any set::allowed-nickchars, then adding set { allowed-nickchars { latin-utf8; }; }; and then doing REHASH. It prints this but that's all:
Permitted nick characters changed at runtime: -> cat-utf8,cze-utf8,dan-utf8,dut-utf8,fre-utf8,ger-utf8,hun-utf8,ice-utf8,ita-utf8,pol-utf8,rum-utf8,slo-utf8,spa-utf8,swe-utf8,tur-utf8
No crash here on my machine.

Since I cannot reproduce it locally and the backtrace is unclear I would need your help. Not sure if you want to go through that trouble, of course :)
1) Can you reproduce the issue? So first without allowed-nickchars, and then with latin-utf8 + REHASH.
2) Can you reproduce the issue without 3rd party modules? Same procedure as above but with never any 3rd party modules loaded since the start.

Let me know.

syzop

2021-07-02 08:19

administrator   ~0022064

Last edited: 2021-07-02 08:20

I'm now in contact with someone else who also has the same backtrace.
It does not seem related to changing one particular setting but it is related to rehashing and both of you use remote includes.

I don't know yet from him or from you if it is reproducible, as in: if it happens every time.
To be clear why i ask that: when a bug is reproducible on my machine it becomes a lot easier with tracing stuff :D

syzop

2021-07-02 09:18

administrator   ~0022065

Last edited: 2021-07-02 09:18

For now I'm going to assume it was the same issue and it is fixed now. Thanks for the report.

https://github.com/unrealircd/unrealircd/commit/35f8598f3fca5255e48c0689a48d101c7c5f5f46

commit 35f8598f3fca5255e48c0689a48d101c7c5f5f46 (HEAD -> unreal52, origin/unreal52, origin/HEAD)
Author: Bram Matthys <[email protected]>
Date: Fri Jul 2 09:12:01 2021 +0200

    Fix crash if using persistent channel history: if you had ANY rehash error
    (often completely unrelated to channel history) and you then rehashed again
    UnrealIRCd would crash. Reported by gh0st.
    May be the same issue as reported by adamus1red in
    https://bugs.unrealircd.org/view.php?id=5943
    
    This has to do with SavePersistentPointer/LoadPersistentPointer calls
    which normally work fine but this particular module uses it in MOD_TEST
    causing a certain sequence of events causing a double free or read-
    after-free if you do it slightly differently.

Issue History

Date Modified Username Field Change
2021-06-29 21:28 adamus1red New Issue
2021-06-30 09:57 syzop Assigned To => syzop
2021-06-30 09:57 syzop Status new => feedback
2021-06-30 09:57 syzop Note Added: 0022057
2021-06-30 09:57 syzop Note Edited: 0022057
2021-07-02 08:19 syzop Note Added: 0022064
2021-07-02 08:20 syzop Note Edited: 0022064
2021-07-02 09:18 syzop Status feedback => resolved
2021-07-02 09:18 syzop Resolution open => fixed
2021-07-02 09:18 syzop Fixed in Version => 5.2.1-rc1
2021-07-02 09:18 syzop Note Added: 0022065
2021-07-02 09:18 syzop Note Edited: 0022065