View Issue Details

IDProjectCategoryView StatusLast Update
0000402unrealircdpublic2003-05-03 19:37
Reportermcskaf Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionopen 
OSwindowsOS Versionxp pro 
Product Version3.2-beta12 
Summary0000402: /restart pw makes ircd die but not restart
DescriptionI installed the ircd using the windows installer (very nice btw). It installed as a service. When I use the /restart pw command the server stops but does not restart. I looked at the services manager - it says the ircd is installed as a service - automatic startup enabled but it is currently stopped. The system event log says it stopped unexpectedly. There is no services.log file. There is nothing relevent in the ircd.log file.
Additional InformationI am able to work around this problem by manually setting the service to restart on first, second, and subsequent failures via the services properties in mmc. Perhaps the easy fix is to set these fields programmatically when the service is installed but I don't know about the consequences when the services fails with gpf or other errors.
TagsNo tags attached.
3rd party modules

Activities

mister

2002-10-13 16:18

reporter   ~0000607

Last edited: 2002-10-13 16:56

I have the same problem under linux, mdk8.2 & mdk9
using unreal3.2 b12

after some restarts, I found that it hangs only if the second process has start.
I don't know what is exactly this second process (the proxy scanner ?) but before it starts, I can restart from my irc client or in console without any problem
 and after this one started, the ircd freezes if I restart it
should then stop it (./unreal stop) to kill the pid and start again

*******************************************************************************

2nd edition:
the ircd hangs effectively only if this second process (which appear when a client from another machine connects to the server) has been launched
then the second process blocks or I don't know what, but the ircd has to be killed to be able to start it again

Before the 2nd client:
[bach@Shark Unreal3.2]$ ps -x | grep ircd
21472 ? S 0:00 /home/bach/Unreal3.2/src/ircd
21477 pts/1 S 0:00 grep ircd

With the 2nd client:
[bach@Shark Unreal3.2]$ ps -x | grep ircd
21472 ? S 0:00 /home/bach/Unreal3.2/src/ircd
21483 ? S 0:00 /home/bach/Unreal3.2/src/ircd
21495 pts/1 S 0:00 grep ircd

After the restart:
[bach@Shark Unreal3.2]$ ps -x | grep ircd
21472 ? S 0:00 /home/bach/Unreal3.2/src/ircd
21483 ? R 0:06 /home/bach/Unreal3.2/src/ircd
21506 pts/1 S 0:00 grep ircd
[bach@Shark Unreal3.2]$ ps -x | grep ircd
21472 ? S 0:00 /home/bach/Unreal3.2/src/ircd
21483 ? R 0:15 /home/bach/Unreal3.2/src/ircd
21511 pts/1 S 0:00 grep ircd

Tried to kill the second process:
[bach@Shark Unreal3.2]$ kill -9 21483
[bach@Shark Unreal3.2]$ ps -x | grep ircd
21472 ? S 0:00 /home/bach/Unreal3.2/src/ircd
21483 ? Z 0:43 [ircd <defunct>]
21528 pts/1 S 0:00 grep ircd

even tried to kill -2 or kill -1 the ircd, but nothing more... had to kill -9 21472 to be able to start the ircd

and I don't know how it works through the /restart command from an oper

don't know if it really help... but the bug is here


edited on: 10-13 16:55

edited on: 10-13 16:56

mcskaf

2002-10-16 22:35

reporter   ~0000628

mister's problem may be something different than what I originally reported. I found the problem with restarting the service under windows and I'm working on a solution.

codemastr

2002-10-16 23:01

reporter   ~0000629

Yes the problems are definately different. In non-service mode, /restart works fine in win32. In service mode it doesn't, I've yet to come up with a good way of fixing this, if you can come up with a solution I'd be glad to hear it...

syzop

2003-04-24 02:18

administrator   ~0002478

Note (for myself): This hang-at-/restart bug is still present at Linux. Tested with libc2.2.5/pthreads0.9/Unreal from CVS (.1751)

Rocko

2003-04-26 16:33

reporter   ~0002492

Yes, thought I was the only one, where it don´t work. When I do /restart password, its disconnecting me and when I try to reconnect, it says connection refused, but the two processes (or one process and one thread) are still there. And the CPU load gets higher and higher after doing a restart, up to 50% and more...

syzop

2003-04-29 01:39

administrator   ~0002544

It hangs here:

(gdb) bt
#0 0x4009a61a in sigsuspend () from /lib/libc.so.6
#1 0x40065699 in __pthread_wait_for_restart_signal () from /lib/libpthread.so.0
#2 0x40065251 in pthread_onexit_process () from /lib/libpthread.so.0
#3 0x40065593 in pthread_kill_other_threads_np () from /lib/libpthread.so.0
#4 0x08061a4b in server_reboot (mesg=0x400 <Address 0x400 out of bounds>) at ircd.c:341
#5 0x08082c9c in m_restart (cptr=0x8150178, sptr=0x8150178, parc=0, parv=0x81136a0) at s_serv.c:3777
[..]

syzop

2003-05-03 19:37

administrator   ~0002619

Closing this /restart *NIX thread, the windows bug may still be present and is left open as bugid 0000815.

Issue History

Date Modified Username Field Change
2003-04-24 02:18 syzop Note Added: 0002478
2003-04-26 16:33 Rocko Note Added: 0002492
2003-04-29 01:39 syzop Note Added: 0002544
2003-05-03 19:37 syzop Status confirmed => closed
2003-05-03 19:37 syzop Note Added: 0002619