View Issue Details

IDProjectCategoryView StatusLast Update
0001325unrealircdpublic2003-11-10 01:02
ReporterCnils Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionopen 
Platform-OSLinuxOS VersionAll
Product Version3.2-beta18 
Summary0001325: Rehash won't reload modules
DescriptionRehashing the server does not reload modules.
Steps To ReproduceCompile new module. Type "./unreal rehash" from shell
Expecting the new version loaded, but it's not.
TagsNo tags attached.
3rd party modules

Activities

syzop

2003-10-30 16:00

administrator   ~0003884

Could you specify your exact OS please :P.
But yes, I've seen this at Linux at least (reference count fun)...
The temporarely *workaround* is to remove the loadmodule line, rehash (so the module is unloaded) and add it back again and rehash..

AngryWolf

2003-10-30 20:28

reporter   ~0003885

RedHat, SuSE, Debian, any others? :)

syzop

2003-10-30 20:39

administrator   ~0003886

AngryWolf: The bugreport says '*nix' which is a too general description in this case so I ask the specific OS.. I know it affects Linux, but as you hopefully know too, there are other OS's in this world as well (eg: FreeBSD) :p.

Cnils

2003-10-30 21:27

reporter   ~0003887

Last edited: 2003-10-30 21:31

RedHat 7.3 is one I know of for sure.
There are others, but I haven't kept track of the different
OS's on our shells and if rehash works on those.
I just do the remove module - rehash - add again - rehash sequence.

edited on: 10-30-03 21:31

syzop

2003-10-30 21:33

administrator   ~0003889

Thanks. Dunnow when this will fixed, IIRC codemastr had been thinking of it.. could be a few weeks, could be a few months.

Rocko

2003-10-30 21:48

reporter   ~0003890

Maybe it makes the IRCd unstable, when reloading all modules with rehash !?
In third Party modules, especially in some of AngryWolfs modules, the IRCd crashed, because of unloading the module. Yes, because of bugs, but normally you don't rehash modules every day, but you do that with the main config ;)

Maybe it is better to add something like /rehash -module, to make sure, the modules get only reloaded if needed ;)

syzop

2003-10-30 21:54

administrator   ~0003891

it's a bit more complicated :P
actually it does reload them, but the dynamic linking loader doesn't reload it from disk because when you rehash it opens the new module, tests it.. and then closes the old one... therefore the reference count will be 1 --> 2 --> 1.. and only when it reaches 0 the module is unloaded from memory (and will be reread from disk)... blahbalbvsfkhds ;).

syzop

2003-11-10 01:02

administrator   ~0003995

Mergin bugreport into 0001332

Issue History

Date Modified Username Field Change
2003-10-30 14:15 Cnils New Issue
2003-10-30 16:00 syzop Note Added: 0003884
2003-10-30 20:28 AngryWolf Note Added: 0003885
2003-10-30 20:39 syzop Note Added: 0003886
2003-10-30 21:27 Cnils Note Added: 0003887
2003-10-30 21:31 Cnils Note Edited: 0003887
2003-10-30 21:33 syzop Note Added: 0003889
2003-10-30 21:33 syzop Status new => confirmed
2003-10-30 21:33 syzop OS => Linux
2003-10-30 21:33 syzop OS Version => All
2003-10-30 21:33 syzop Platform *nix => -
2003-10-30 21:48 Rocko Note Added: 0003890
2003-10-30 21:54 syzop Note Added: 0003891
2003-11-10 01:02 syzop Status confirmed => closed
2003-11-10 01:02 syzop Note Added: 0003995