Mantis - Resin
Viewing Issue Advanced Details
350 minor always 08-12-05 00:00 08-21-06 08:44
user347  
ferg  
high  
closed 3.0.14  
3.0.14 fixed  
none    
none 3.1.0  
0000350: Resin doesn't start with httpd.sh -start switch
RSN-394
When I try to start resin with ./httpd.sh -start it tells me that its starting then after a while it restarts again. after checking the process table it shows me [java] <defunct> error.

The logs are empty, so i don't know what's going on. This is from the default install.

It works fine if I run it without the -start switch. Maybe its a Fedora Core 4 problem, because same version of Resin 3.0.14 is running fine under Fedora Core 3

Linux lucius 2.6.12-1.1398_FC4 0000001 Fri Jul 15 00:52:32 EDT 2005 i686 i686 i386 GNU/Linux
JDK 1.4.2

Notes
(0000398)
user347   
08-12-05 00:00   
Same thing happens with Resin 3.0.13 and 2.1.16 on Fedora Core 4. Works fine without the "start" switch. and with it just screws up.
(0000399)
ferg   
08-12-05 00:00   
Changing priority since this is with a new operating system and has been working without modification with several other unix operating system for years.
(0000400)
user352   
08-12-05 00:00   
We have this problem with Fedora Core 3, and a 'nasty' workaround - I hope this helps:
-An update containing IPv6 was installed on the FC3 server.
-I tried starting resin (both resin-3.0.14 and resin-3.0.12) and got the same result (nothing in the resin stderr or stdout logs, and a java <defunct> process) - and resin just tries restarting over and over.
-I modified wrapper.pl in resin/bin to comment out the following lines (~ line 712 - see bottom of my comment). This sent the error messages back to the console. I've lost the exact error messages, but it was along the lines that "Can't start java:... the child process needs to connect to the parent process, but socket=null". Sorry for not having the exact error msg :(
-The workaround was to remove Ipv6 from the server and it started fine with Ipv4.

resin/bin/wrapper.pl - line 712
      if (($child = fork()) == 0) {
          close(S);
# close(STDOUT);
# close(STDERR);
# open(STDOUT, ">>$jvm_log");
# open(STDERR, ">&STDOUT");


(0000401)
user347   
08-12-05 00:00   
Commenting out those lines seemed to have resolved the issue. Resin starts out fine with the start switch. Weird, eh. I am going to do some more testing see if i can pin point the problem to what is really causing the problem. I didn't hage the Can't start java error message though.

I'll comment if I find anything.
(0000402)
user372   
08-12-05 00:00   
I believe I found the cause...

if you run lsmod, you'll see the ipv6 module loaded. It seems to be a pretty low level module with (in my case) 36 dependencies. I renamed the module:

# cd /lib/modules/2.6.12-1.1398_FC4/kernel/net/
# mv mv ipv6.ko ipv6.ko.unused

then rebooted

wrapper.pl worked properly after doing this.

I can't imagine there being an issue with not loading this module.. if anything, less things to be worried about.

Brian
(0000403)
user372   
08-12-05 00:00   
A better option is to do this '
echo "alias net-pf-10 off" >> /etc/modprobe.conf

this'll prevent ipv6 module from loading.

This is a better method as the first will be overwritten with th enext kernel upgrade.

I tested this on a freshly installed FC4 box.

Brian
(0000404)
user347   
08-12-05 00:00   
Thanx Brian. I'll try this out.
(0000405)
ferg   
08-12-05 00:00   
moving to medium since there is a workaround.