Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SEGV on libc.so.6: Segmentation Fault on Linux System with FFmpeg Library in Java] #2208

Open
everAndNever opened this issue Mar 26, 2024 · 1 comment

Comments

@everAndNever
Copy link

We are encountering a segmentation fault (SIGSEGV) in our Java application when running on a Linux system. The error occurs at address 0xa32ba in libc.so.6. We suspect that this issue is related to the Java wrapper we are using for the FFmpeg library.
`
--------------- T H R E A D ---------------

Current thread (0x00007f62617ff800): JavaThread "http-nio-11166-exec-3" daemon [_thread_in_native, id=3758308, stack(0x00007f60cbcfd000,0x00007f60cbdfe000)]

siginfo: si_signo: 11 (SIGSEGV), si_code: 128 (SI_KERNEL), si_addr: 0x0000000000000000

Registers:
RAX=0x8000000000000000, RBX=0x0000000000000140, RCX=0x00007f60bc3a736c, RDX=0x0000000000000100
RSP=0x00007f60cbdf4848, RBP=0x00007f60bc2cc6a0, RSI=0x00007f60bc3a727c, RDI=0x8000000000000000
R8 =0x0000000000000000, R9 =0x8000000000000130, R10=0x0000000000000246, R11=0x8000000000000130
R12=0x00007f60bc2ca280, R13=0x00007f60bc2d2d60, R14=0x0000000000000000, R15=0x00007f60bc3a727c
RIP=0x00007f6265bb92ba, EFLAGS=0x0000000000010206, CSGSFS=0x002b000000000033, ERR=0x0000000000000000
TRAPNO=0x000000000000000d

Top of Stack: (sp=0x00007f60cbdf4848)
0x00007f60cbdf4848: 00007f5fbc5f7022 0000000000000000
0x00007f60cbdf4858: 6b4f38d865c1bd76 0000000000000000
0x00007f60cbdf4868: 00007f60bc2cc6a0 00007f60bc2ca280
0x00007f60cbdf4878: 00007f60bc3a7270 00007f60bc2d1b60
0x00007f60cbdf4888: 000000000000014c 00007f60bc021eb0
0x00007f60cbdf4898: 00007f5fbc5f7ea1 0000000000000000
0x00007f60cbdf48a8: 0000000000000000 0000000000000000
0x00007f60cbdf48b8: 0000014c00000000 0000000000000000
0x00007f60cbdf48c8: 6b4f38d800000000 00007f60bc021eb0
0x00007f60cbdf48d8: 00007f60bc2cf8a0 0000000000000008
0x00007f60cbdf48e8: 0000000000000000 00007f60bc2cf8a0
0x00007f60cbdf48f8: 0000000000000002 00007f60bc021eb0
0x00007f60cbdf4908: 00007f5fbc60c2ea 0000000000000000
0x00007f60cbdf4918: 0000000000000000 00007f60bc021eb0
0x00007f60cbdf4928: 0000000000000000 0000000000000000
0x00007f60cbdf4938: 0000000000000000 0000000000000000
0x00007f60cbdf4948: 00007f60bc2ca280 0000000000000000
0x00007f60cbdf4958: 00007f60cbdf496c 0000000000000000
0x00007f60cbdf4968: 0000000000000000 00007f60bc2d1be0
0x00007f60cbdf4978: 0000000000000000 0000000000000000
0x00007f60cbdf4988: 00007f60bc2cf8a0 00007f60bc2ca280
0x00007f60cbdf4998: 00007f60bc021eb0 8000000000000000
0x00007f60cbdf49a8: 00007f60bc2ca280 00007f60bc021eb0
0x00007f60cbdf49b8: 00007f5fbc60edfb 0000000000000000
0x00007f60cbdf49c8: 0000000000000000 0000000000000000
0x00007f60cbdf49d8: 0000000000000000 0000000000000000
0x00007f60cbdf49e8: 0000000000000000 0000000000000000
0x00007f60cbdf49f8: 0000000000000000 0000000000000000
0x00007f60cbdf4a08: 0000000000000000 0000000000000000
0x00007f60cbdf4a18: 0000000000000000 0000000000000000
0x00007f60cbdf4a28: 0000000000000000 0000000000000000
0x00007f60cbdf4a38: 0000000000000000 0000000000000000

Instructions: (pc=0x00007f6265bb92ba)
0x00007f6265bb929a: 3d 11 00 0f 87 af 00 00 00 0f 10 01 0f 10 49 f0
0x00007f6265bb92aa: 0f 10 51 e0 0f 10 59 d0 48 83 e9 40 48 83 ea 40
0x00007f6265bb92ba: 41 0f 29 01 41 0f 29 49 f0 41 0f 29 51 e0 41 0f
0x00007f6265bb92ca: 29 59 d0 49 83 e9 40 48 83 fa 40 77 cc 0f 11 27

Register to memory mapping:

RAX=0x8000000000000000 is an unknown value
RBX=0x0000000000000140 is an unknown value
RCX=0x00007f60bc3a736c is an unknown value
RDX=0x0000000000000100 is an unknown value
RSP=0x00007f60cbdf4848 is pointing into the stack for thread: 0x00007f62617ff800
RBP=0x00007f60bc2cc6a0 is an unknown value
RSI=0x00007f60bc3a727c is an unknown value
RDI=0x8000000000000000 is an unknown value
R8 =0x0000000000000000 is an unknown value
R9 =0x8000000000000130 is an unknown value
R10=0x0000000000000246 is an unknown value
R11=0x8000000000000130 is an unknown value
R12=0x00007f60bc2ca280 is an unknown value
R13=0x00007f60bc2d2d60 is an unknown value
R14=0x0000000000000000 is an unknown value
R15=0x00007f60bc3a727c is an unknown value

Stack: [0x00007f60cbcfd000,0x00007f60cbdfe000], sp=0x00007f60cbdf4848, free space=990k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libc.so.6+0xa32ba]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j org.bytedeco.ffmpeg.global.avformat.avformat_find_stream_info(Lorg/bytedeco/ffmpeg/avformat/AVFormatContext;Lorg/bytedeco/javacpp/PointerPointer;)I+0
j org.bytedeco.javacv.FFmpegFrameGrabber.startUnsafe(Z)V+824
j org.bytedeco.javacv.FFmpegFrameGrabber.start(Z)V+7
j org.bytedeco.javacv.FFmpegFrameGrabber.start()V+2
j com.rtsp.common.utils.CameraUtil.savePictures(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+64
j com.rtsp.common.utils.CameraUtil.captureScreenshot(Ljava/util/List;Ljava/lang/String;)Lcom/lancoo/converterService/common/R;+105
j com.rtsp.common.service.impl.SubInnerSystemBusinessServiceImpl.run(Ljava/lang/Object;)Lcom/lancoo/converterService/common/R;+33
j com.lancoo.converterService.controller.InnerSystemController.innerSystemBusiness(Ljava/lang/String;Ljava/lang/Object;)Lcom/lancoo/converterService/common/R;+55
j com.lancoo.converterService.controller.InnerSystemController$$FastClassBySpringCGLIB$$4b5c26b1.invoke(ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+45
j org.springframework.cglib.proxy.MethodProxy.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+19
j org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint()Ljava/lang/Object;+19
j org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object;+19
j org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed()Ljava/lang/Object;+1
j org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed()Ljava/lang/Object;+9
j com.lancoo.converterService.aop.AccessValidityDetectionAop.aroundControllerLog(Lorg/aspectj/lang/ProceedingJoinPoint;)Ljava/lang/Object;+317
v ~StubRoutines::call_stub
J 2496 sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (0 bytes) @ 0x00007f6251a6aab7 [0x00007f6251a6aa40+0x77]
J 2495 C1 sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (104 bytes) @ 0x00007f6251a6d774 [0x00007f6251a6c600+0x1174]
J 5863 C2 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x00007f625186b564 [0x00007f625186b4c0+0xa4]
j org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs([Ljava/lang/Object;)Ljava/lang/Object;+35
j org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(Lorg/aspectj/lang/JoinPoint;Lorg/aspectj/weaver/tools/JoinPointMatch;Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;+10
j org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object;+58
j org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object;+120
j org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed()Ljava/lang/Object;+1
j org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object;+18
j org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object;+120
j org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed()Ljava/lang/Object;+1
j org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;Lorg/springframework/cglib/proxy/MethodProxy;)Ljava/lang/Object;+133
j com.lancoo.converterService.controller.InnerSystemController$$EnhancerBySpringCGLIB$$f7927a0c.innerSystemBusiness(Ljava/lang/String;Ljava/lang/Object;)Lcom/lancoo/converterService/common/R;+40
v ~StubRoutines::call_stub
J 2496 sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (0 bytes) @ 0x00007f6251a6aab7 [0x00007f6251a6aa40+0x77]
J 2495 C1 sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (104 bytes) @ 0x00007f6251a6d774 [0x00007f6251a6c600+0x1174]
J 5863 C2 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x00007f625186b564 [0x00007f625186b4c0+0xa4]
j org.springframework.web.method.support.InvocableHandlerMethod.doInvoke([Ljava/lang/Object;)Ljava/lang/Object;+16
j org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(Lorg/springframework/web/context/request/NativeWebRequest;Lorg/springframework/web/method/support/ModelAndViewContainer;[Ljava/lang/Object;)Ljava/lang/Object;+56
j org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(Lorg/springframework/web/context/request/ServletWebRequest;Lorg/springframework/web/method/support/ModelAndViewContainer;[Ljava/lang/Object;)V+4
j org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/web/method/HandlerMethod;)Lorg/springframework/web/servlet/ModelAndView;+244
j org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/web/method/HandlerMethod;)Lorg/springframework/web/servlet/ModelAndView;+81
j org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/Object;)Lorg/springframework/web/servlet/ModelAndView;+7
j org.springframework.web.servlet.DispatcherServlet.doDispatch(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+257
j org.springframework.web.servlet.DispatcherServlet.doService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+212
j org.springframework.web.servlet.FrameworkServlet.processRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+71
j org.springframework.web.servlet.FrameworkServlet.doPost(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+3
j javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+149
j org.springframework.web.servlet.FrameworkServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+33
j javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+36
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+304
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+101
j org.apache.tomcat.websocket.server.WsFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+21
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+101
j org.springframework.web.filter.RequestContextFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+21
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+101
j org.springframework.web.filter.FormContentFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+38
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+101
j org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/FilterChain;)V+53
j org.springframework.web.filter.OncePerRequestFilter.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V+147
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+135
j org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+101
j org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+694
j org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+166
j org.apache.catalina.authenticator.AuthenticatorBase.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+260
j org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+114
j org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+6
j org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+45
j org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V+199
j org.apache.coyote.http11.Http11Processor.service(Lorg/apache/tomcat/util/net/SocketWrapperBase;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+735
j org.apache.coyote.AbstractProcessorLight.process(Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketEvent;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+170
j org.apache.coyote.AbstractProtocol$ConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketEvent;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+505
j org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun()V+221
j org.apache.tomcat.util.net.SocketProcessorBase.run()V+21
j java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+95
j java.util.concurrent.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`
What could be the cause
hs_err_pid2069897.log

@saudet
Copy link
Member

saudet commented Apr 7, 2024

siginfo: si_signo: 11 (SIGSEGV), si_code: 128 (SI_KERNEL), si_addr: 0x0000000000000000

That means there is a null pointer somewhere that shouldn't be null...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants