[prev in list] [next in list] [prev in thread] [next in thread] 

List:       tomcat-dev
Subject:    [Bug 65775] New: fgets_unlocked crash on CentOS 7 (and Ubuntu 14.04) in Tomcat 9.0.12 through 9.0.54
From:       bugzilla () apache ! org
Date:       2021-12-30 23:31:42
Message-ID: bug-65775-78 () https ! bz ! apache ! org/bugzilla/
[Download RAW message or body]

https://bz.apache.org/bugzilla/show_bug.cgi?id=65775

            Bug ID: 65775
           Summary: fgets_unlocked crash on CentOS 7 (and Ubuntu 14.04) in
                    Tomcat 9.0.12 through 9.0.54 (and others)
           Product: Tomcat 9
           Version: 9.0.x
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
          Assignee: dev@tomcat.apache.org
          Reporter: mhill@ximasoftware.com
  Target Milestone: -----

Our Tomcat and it's JVM sporadically crash during an apparent name lookup.

Oracle Java 8u181 as a packaged app, and OpenJDK 8u312
Tomcat 9.0.12 and 9.0.54
CentOS 7 (GNU libc 2.17) and Ubuntu 14.04 (GLIBC 2.19)
Original stack mentioned IPv6, but is otherwise the same regardless of whether
it's disabled

Stack: [0x00007efe61a44000,0x00007efe61b45000],  sp=0x00007efe61b420b0,  free
space=1016k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libc.so.6+0x79530]  fgets_unlocked+0x10
V  [libjvm.so+0xb2349b] 
vframeStreamCommon::skip_reflection_related_frames()+0xfb
V  [libjvm.so+0x73e091]  JVM_LatestUserDefinedLoader+0xd1
V  [libjvm.so+0x583b8f]  frame::sender(RegisterMap*) const+0xaf
V  [libjvm.so+0xa0a993] 
OptoRuntime::is_deoptimized_caller_frame(JavaThread*)+0xc3
C  0xd837e72400000000

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 46267  java.net.Inet4AddressImpl.getHostByAddr([B)Ljava/lang/String; (0
bytes) @ 0x00007efef59189cc [0x00007efef5918980+0x4c]
J 46266 C1 java.net.InetAddress$2.getHostByAddr([B)Ljava/lang/String; (10
bytes) @ 0x00007efef4a73b8c [0x00007efef4a73ac0+0xcc]
j 
java.net.InetAddress.getHostFromNameService(Ljava/net/InetAddress;Z)Ljava/lang/String;+37
 J 46315 C1
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.populateLocalName()V
(36 bytes) @ 0x00007efef646ef54 [0x00007efef646e7e0+0x774]
J 35700 C2
org.apache.coyote.AbstractProcessor.action(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
 (1081 bytes) @ 0x00007efef77735f0 [0x00007efef7772fa0+0x650]
J 24573 C1
org.apache.coyote.Request.action(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
(37 bytes) @ 0x00007efef6cb4a04 [0x00007efef6cb4760+0x2a4]
J 33627 C1
org.apache.catalina.connector.Request.getLocalName()Ljava/lang/String; (40
bytes) @ 0x00007efef60c42bc [0x00007efef60c4160+0x15c]
J 47606 C2
org.apache.catalina.filters.RemoteIpFilter.doFilter(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V
 (1086 bytes) @ 0x00007efef95f1088 [0x00007efef95f0520+0xb68]
J 47607 C2
org.apache.catalina.filters.RemoteIpFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V
 (39 bytes) @ 0x00007efef75104cc [0x00007efef7510480+0x4c]
J 38331 C2
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
 (388 bytes) @ 0x00007efef6eada5c [0x00007efef6ead920+0x13c]
J 48137 C2
com.ximasoft.filter.AuthenticationFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V
 (1149 bytes) @ 0x00007efef96698b8 [0x00007efef96686e0+0x11d8]
J 38331 C2
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
 (388 bytes) @ 0x00007efef6eada5c [0x00007efef6ead920+0x13c]
J 47641 C2
com.ximasoft.filter.AllowAllCorsFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V
 (56 bytes) @ 0x00007efef6076568 [0x00007efef60764a0+0xc8]
J 38331 C2
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
 (388 bytes) @ 0x00007efef6eada5c [0x00007efef6ead920+0x13c]
J 48136 C2
org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
 (2665 bytes) @ 0x00007efef812e90c [0x00007efef812e6c0+0x24c]
J 47638 C2
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
 (810 bytes) @ 0x00007efef7c18c4c [0x00007efef7c18020+0xc2c]
J 43966 C2
org.apache.catalina.valves.rewrite.RewriteValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
 (1540 bytes) @ 0x00007efef8eaa068 [0x00007efef8ea94e0+0xb88]
J 47594 C2
org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
 (396 bytes) @ 0x00007efef95cd228 [0x00007efef95ccfa0+0x288]
J 47529 C2
org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V
 (892 bytes) @ 0x00007efef9549700 [0x00007efef9549220+0x4e0]
J 46992 C2
org.apache.coyote.http11.Http11Processor.service(Lorg/apache/tomcat/util/net/SocketWrapperBase;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
 (1189 bytes) @ 0x00007efef93c1ef0 [0x00007efef93c1c20+0x2d0]
J 48415 C1
org.apache.coyote.AbstractProcessorLight.process(Lorg/apache/tomcat/util/net/SocketWra \
pperBase;Lorg/apache/tomcat/util/net/SocketEvent;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
 (367 bytes) @ 0x00007efef763d914 [0x00007efef763bfa0+0x1974]
J 43440 C2
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(Lorg/apache/tomcat/util/n \
et/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketEvent;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
 (1315 bytes) @ 0x00007efef8d8cdfc [0x00007efef8d8c900+0x4fc]
J 43064 C2 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun()V (637
bytes) @ 0x00007efef8cc175c [0x00007efef8cc16a0+0xbc]
J 42778 C2 org.apache.tomcat.util.net.SocketProcessorBase.run()V (35 bytes) @
0x00007efef4bcbbc4 [0x00007efef4bcbb00+0xc4]
j 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(Lorg/apache/tomcat/util/threads/ThreadPoolExecutor$Worker;)V+92
 j  org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run()V+5
j  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run()V+4
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub

At some point org.apache.catalina.connector.Request.getLocalName is called,
which is apparently for every request. Each browser client asks for a variety
of values and eventually two of them occur within the millisecond necessary to
block each other from the final java.net.Inet4AddressImpl.getHostByAddr

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic