View Issue Details

IDProjectCategoryView StatusLast Update
0006649unrealircdpublic2026-09-26 19:13
Reporterbasalat Assigned Tosyzop  
PrioritynormalSeverityminorReproducibilityhave not tried
Status feedbackResolutionopen 
Product Version6.1.7.2 
Summary0006649: /rehash and ~/unrealircd/unrealircd rehash have divergent behavours
DescriptionThey work differently:
/rehash does not read the file but reports a false success
The command line version loads properly
Steps To ReproducePut a syntax error in your unrealircd.conf file
and do both /rehash and
~/unrealircd/unrealircd rehash

The command line version will correctly report a syntax error.
 /rehash will incorrectly report success.
Additional InformationVerified on several different servers all running 6.1.7.1.
But they had all been running for several months.
This might not appear immediately.
Tried to catch the file being opened in lsof but wasn't fast enough.
I am sure it happens on my servers so am pushing to people better equipped to test.

3rd party modules

Activities

syzop

2026-09-26 08:04

administrator   ~0023707

Could it be that you are not rehashing the server with /REHASH? Some clients, such as irssi, intercept the command and rehash the client instead.

This should be quite obvious though, you can see it by the output of the /REHASH command on IRC. Can you show the output?

basalat

2026-09-26 08:17

reporter   ~0023708

three rehash commands below.
The first is /rehash, the other is /quote REHASH ...both are AdiIRC client, the thrd is irccloud client

[23:11:31] -rightout.bondage.red- config.CONFIG_RELOAD [info] Rehashing server configuration file [by: Bright`[email protected]]
[23:11:33] * /home/ircd/unrealircd/conf/unrealircd.conf Rehashing
[23:11:31] -rightout.bondage.red- config.CONFIG_INFO_GENERIC [info] Loading IRCd configuration..
[23:11:31] -rightout.bondage.red- config.CONFIG_INFO_GENERIC [info] Testing IRCd configuration..



.................................irccloud also seems to supports /quote ..... so:

11:15 PM config.CONFIG_RELOAD [info] Rehashing server configuration file [by: [9][email protected]]
11:15 PM Rehashed config: /home/ircd/unrealircd/conf/unrealircd.conf (Rehashing)
11:15 PM config.CONFIG_INFO_GENERIC [info] Loading IRCd configuration..
11:15 PM config.CONFIG_INFO_GENERIC [info] Testing IRCd configuration..
11:15 PM config.BEST_PRACTICES_PLAINTEXT_PORT [info] You have at least one IRC plaintext port open to users (such as 6660). Nowadays, everyone should be using SSL/TLS (on port 6697). See https://www.unrealircd.org/docs/Use_TLS.
11:15 PM config.CONFIG_LOADED [info] Configuration loaded
11:15 PM config.BEST_PRACTICES [info] Your config has NO errors, but you received some best practices tips above, in summary:
11:15 PM config.BEST_PRACTICES_POST_INFO [info] It is recommended you follow best practices, but if you want to hide such suggestions see https://www.unrealircd.org/docs/Set_block#set::best-practices

[23:11:34] -rightout.bondage.red- config.BEST_PRACTICES_PLAINTEXT_PORT [advice] You have at least one IRC plaintext port open to users (such as 6660). Nowadays, everyone should be using SSL/TLS (on port 6697). See https://www.unrealircd.org/docs/Use_TLS.
[23:11:34] -rightout.bondage.red- config.CONFIG_LOADED [info] Configuration loaded
[23:11:34] -rightout.bondage.red- config.BEST_PRACTICES [advice] Your config has NO errors, but you received some best practices tips above.
[23:11:34] -rightout.bondage.red- config.BEST_PRACTICES_POST_INFO [advice] It is recommended for you to follow best practices, but if you want to hide such suggestions see https://www.unrealircd.org/docs/Set_block#set::best-practices
[23:11:45] * Sent raw: 'REHASH'
[23:11:46] -rightout.bondage.red- config.CONFIG_RELOAD [info] Rehashing server configuration file [by: Bright`[email protected]]
[23:11:47] * /home/ircd/unrealircd/conf/unrealircd.conf Rehashing
[23:11:46] -rightout.bondage.red- config.CONFIG_INFO_GENERIC [info] Loading IRCd configuration..
[23:11:46] -rightout.bondage.red- config.CONFIG_INFO_GENERIC [info] Testing IRCd configuration..
[23:11:48] -rightout.bondage.red- config.BEST_PRACTICES_PLAINTEXT_PORT [advice] You have at least one IRC plaintext port open to users (such as 6660). Nowadays, everyone should be using SSL/TLS (on port 6697). See https://www.unrealircd.org/docs/Use_TLS.
[23:11:48] -rightout.bondage.red- config.CONFIG_LOADED [info] Configuration loaded
[23:11:48] -rightout.bondage.red- config.BEST_PRACTICES [advice] Your config has NO errors, but you received some best practices tips above.
[23:11:48] -rightout.bondage.red- config.BEST_PRACTICES_POST_INFO [advice] It is recommended for you to follow best practices, but if you want to hide such suggestions see https://www.unrealircd.org/docs/Set_block#set::best-practices




--------------------------------------------------iccloud rehash below.......................
11:13 PM config.CONFIG_RELOAD [info] Rehashing server configuration file [by: [9][email protected]]
11:13 PM Rehashed config: /home/ircd/unrealircd/conf/unrealircd.conf (Rehashing)
11:13 PM config.CONFIG_INFO_GENERIC [info] Loading IRCd configuration..
11:13 PM config.CONFIG_INFO_GENERIC [info] Testing IRCd configuration..
11:13 PM config.BEST_PRACTICES_PLAINTEXT_PORT [info] You have at least one IRC plaintext port open to users (such as 6660). Nowadays, everyone should be using SSL/TLS (on port 6697). See https://www.unrealircd.org/docs/Use_TLS.
11:13 PM config.CONFIG_LOADED [info] Configuration loaded
11:13 PM config.BEST_PRACTICES [info] Your config has NO errors, but you received some best practices tips above, in summary:
11:13 PM config.BEST_PRACTICES_POST_INFO [info] It is recommended you follow best practices, but if you want to hide such suggestions see https://www.unrealircd.org/docs/Set_block#set::best-practices

basalat

2026-09-26 08:18

reporter   ~0023709

Addtional note: also happens on 6.2.7
I upgraded to check

syzop

2026-09-26 09:07

administrator   ~0023710

Thanks for checking it in latests version, would have been my next comment.

So how do you test this, i mean how can i reproduce it. You just type fsdhsfdhsfhdksdhfl; in a local file somewhere and you say /REHASH succeeds and ./unrealircd rehash does not?

(I have to say this sounds extremely unlikely, but i am continueing with this conversation :D)

basalat

2026-09-26 17:10

reporter   ~0023711

Yep. It's trivial to reproduce. I didn't believe it myself - till it drove me crazy trying to link a new server. After a few hours, I became suspicious my changes were having no effect on the hub and I verified it by removing unrealircd.conf and getting no complaint. I started to wonder whether the inode to the file was being cached by unrealircd whereas my editor was creating a new version each time.

Certainly it's some weird interaction with the OS
More data: Happened on both Ubuntu 24.04.5 and Debian Release 12 (bookworm)
(6.8.0-136-generic & 6.1.0.38-cloud-amd64.)

It's not a big deal - there's an easy workaround but I figured I should reporit anwyay.

My earlier comment that it might happen on only long-running servers is disproven since the latest version was a virgin install.

syzop

2026-09-26 18:07

administrator   ~0023712

Could you try the following procedure:
0) Make sure you have an IRC client connected as IRCOp on the server
1) Log in to the server via SSH and rename conf/unrealircd.conf to conf/unrealircd.conf.renamed
2) Run ./unrealircd rehash
Q: Do you see the rehash fail on the console?
Q: Do you see the rehash happening on IRC as an IRCOp? Do you see it fail? If not, then you are probably not connected to the correct server or SSH'd to the wrong server
If you did see it on IRC and you saw it fail.. good.. then continue...
3) Do /REHASH or /QUOTE REHASH on IRC
Q: Do you see the rehash happening on IRC as an IRCOp? Do you see it fail?
4) Rename conf/unrealircd.conf.renamed back to conf/unrealircd.conf

It's probably something silly, but the above let you go through it systematically

basalat

2026-09-26 19:13

reporter   ~0023713

I cannot repro the issue any more, neither on older or latest servers.
In all instances it happened exacty as it should.

Issue History

Date Modified Username Field Change
2026-09-26 02:09 basalat New Issue
2026-09-26 08:04 syzop Note Added: 0023707
2026-09-26 08:04 syzop Assigned To => syzop
2026-09-26 08:04 syzop Status new => feedback
2026-09-26 08:17 basalat Note Added: 0023708
2026-09-26 08:18 basalat Note Added: 0023709
2026-09-26 09:07 syzop Note Added: 0023710
2026-09-26 17:10 basalat Note Added: 0023711
2026-09-26 18:07 syzop Note Added: 0023712
2026-09-26 19:13 basalat Note Added: 0023713