View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0006649 | unreal | ircd | public | 2026-09-26 02:09 | 2026-09-26 19:13 |
| Reporter | basalat | Assigned To | syzop | ||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | feedback | Resolution | open | ||
| Product Version | 6.1.7.2 | ||||
| Summary | 0006649: /rehash and ~/unrealircd/unrealircd rehash have divergent behavours | ||||
| Description | They work differently: /rehash does not read the file but reports a false success The command line version loads properly | ||||
| Steps To Reproduce | Put 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 Information | Verified 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 | |||||
|
|
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? |
|
|
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 |
|
|
Addtional note: also happens on 6.2.7 I upgraded to check |
|
|
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) |
|
|
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. |
|
|
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 |
|
|
I cannot repro the issue any more, neither on older or latest servers. In all instances it happened exacty as it should. |
| 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 |