I'm trying to figure out a time-out issue with the Apache Tomcat web server, and I have dug quite deeply into the issue with the help of the tomcat user mailing list.

Apparently my machine's configuration for IPv6 may be causing a connection time-out and failure during tomcat's start-up routine. The machine is a gateway between the internet and my LAN, running dnsmasq as a DHCP and DNS server.

Tomcat displays a freeze or hang at start-up which I have tracked down to an IPv6 system call that times out, as shown by this line from a tomcat strace log:

connect(11, {sa_family=AF_INET6, sin6_port=htons(48669),
 inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0},
 28) = -1 ETIMEDOUT (Connection timed out)

Tomcat runs fine on a workstation on my LAN. This is my ifconfig -a output from the two machines:

Good machine:
eth0      Link encap:Ethernet  HWaddr 00:10:DC:79:FF:8F
          inet addr:192.168.0.234  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::210:dcff:fe79:ff8f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:606692 errors:0 dropped:0 overruns:0 frame:0
          TX packets:598681 errors:0 dropped:0 overruns:0 carrier:0
          collisions:65 txqueuelen:1000
          RX bytes:145074456 (138.3 MiB)  TX bytes:44751878 (42.6 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:59645 errors:0 dropped:0 overruns:0 frame:0
          TX packets:59645 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5125125 (4.8 MiB)  TX bytes:5125125 (4.8 MiB)

Gateway machine (eth1 is LAN, eth2 is internet):
eth1      Link encap:Ethernet  HWaddr 00:18:F3:98:F4:EC
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::218:f3ff:fe98:f4ec/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:134101 errors:0 dropped:0 overruns:0 frame:0
          TX packets:138909 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:12595060 (12.0 MiB)  TX bytes:53461584 (50.9 MiB)
          Base address:0xbc00 Memory:fe8e0000-fe900000

eth2      Link encap:Ethernet  HWaddr 00:08:54:0A:B1:E7
          inet addr:86.138.125.132  Bcast:86.138.125.132  Mask:255.255.255.255
          inet6 addr: fe80::208:54ff:fe0a:b1e7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:56889 errors:0 dropped:0 overruns:0 frame:0
          TX packets:50695 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:42379708 (40.4 MiB)  TX bytes:6543279 (6.2 MiB)
          Interrupt:58 Base address:0xd800

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:3894 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3894 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:236606 (231.0 KiB)  TX bytes:236606 (231.0 KiB)


I don't have any plans to set up my LAN as an IPv6 network, and I can't find any tomcat configuration options to tell it not to use IPv6 - have you got any tips that I could follow to sort this one out?

Thanks
Adam




Reply via email to