gpt4 book ai didi

java - 在 tomcat 服务器上的 Web 应用程序中使用 SVNKit 时 JRE 崩溃

转载 作者:行者123 更新时间:2023-11-28 22:51:05 27 4
gpt4 key购买 nike

我正在尝试使用 SVNKit 通过 Web 门户处理 svn 操作与 Spring 。我能够执行单独的操作,如提交、清理、更新等。我的提交代码如下:

public Exception commit(String user, String password, String fileName,String comment) {

Exception svnException = null;
try {
SVNUtil.cleanUpSVN();
ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager(user, password);
ISVNOptions options = SVNWCUtil.createDefaultOptions(true);
SVNClientManager svnClientManager = SVNClientManager.newInstance(options, authManager);
SVNCommitClient svnCommitClient = svnClientManager.getCommitClient();
File commitFile = new File(fileName);
svnCommitClient.doCommit(new File[]{commitFile}, false, comment, null, null, false, false, SVNDepth.INFINITY);
} catch (SVNException svnEx) {
svnException = svnEx;
svnException.printStackTrace();
}finally{
System.out.print("Completed Execution of Commit method");
}
return svnException;

}

上面的代码在单独触发时就像一个魅力,但当我把它放在我的 webapp 实现类中时,一切都变得一团糟。我在 catalina.out 中遇到的错误如下:

#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000003c3633362f, pid=13153, tid=0x00007f8791469700
#
# JRE version: Java(TM) SE Runtime Environment (8.0_92-b14) (build 1.8.0_92-b14)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.92-b14 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libc.so.6+0x13362f]
#
# Core dump written. Default location: /home/shavivek/Downloads/apache-tomcat-7.0.70/logs/core or core.13153
#
# An error report file with more information is saved as:
# /home/shavivek/Downloads/apache-tomcat-7.0.70/logs/hs_err_pid13153.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

/home/shavivek/Downloads/apache-tomcat-7.0.70/logs/hs_err_pid13153.log 中:

Register to memory mapping:

RAX=0x0000000000000001 is an unknown value
RBX=0x6b65766976616873 is an unknown value
RCX=0x0000000000000003 is an unknown value
RDX=0x0000003c4ae0f520: <offset 0xf520> in /usr/lib64/libgnome-keyring.so.0.1.1 at 0x0000003c4ae00000
RSP=0x00007f87914640b8 is pointing into the stack for thread: 0x00007f8764002000
RBP=0x00007f8791464180 is pointing into the stack for thread: 0x00007f8764002000
RSI=0x6b65766976616873 is an unknown value
RDI=0x6b65766976616870 is an unknown value
R8 =0x6b65766976616873 is an unknown value
R9 =0x00007f876005f070 is an unknown value
R10=0x00007f8791463e20 is pointing into the stack for thread: 0x00007f8764002000
R11=0x0000003c36283a8e: <offset 0x83a8e> in /lib64/libc.so.6 at 0x0000003c36200000
R12=0x00007f8754187a80 is an unknown value
R13=0x00007f876005f060 is an unknown value
R14=0x6b65766976616873 is an unknown value
R15=0x0000000000000001 is an unknown value


Stack: [0x00007f8791369000,0x00007f879146a000], sp=0x00007f87914640b8, free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libc.so.6+0x13362f]
C 0x0000000000000032

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 6308 com.sun.jna.Native.invokeInt(JI[Ljava/lang/Object;)I (0 bytes) @ 0x00007f87b6080cd8 [0x00007f87b6080c80+0x58]
j com.sun.jna.Function.invoke([Ljava/lang/Object;Ljava/lang/Class;Z)Ljava/lang/Object;+225
J 7060 C1 com.sun.jna.Function.invoke(Ljava/lang/Class;[Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object; (538 bytes) @ 0x00007f87b6228d3c [0x00007f87b62277a0+0x159c]
J 6605 C2 com.sun.jna.Library$Handler.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; (320 bytes) @ 0x00007f87b61f8ffc [0x00007f87b61f89e0+0x61c]
j com.sun.proxy.$Proxy28.gnome_keyring_set_network_password_sync(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILcom/sun/jna/Pointer;Lcom/sun/jna/ptr/IntByR
eference;)I+67
v ~StubRoutines::call_stub
J 1155 sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (0 bytes) @ 0x00007f87b5461cb7 [0x00007f87b5461c40+0x77]
J 388 C1 sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (104 bytes) @ 0x00007f87b521fa0c [0x00007f87b521e880+0x118c]
J 1931 C2 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x00007f87b5744dcc [0x00007f87b5744d20+0xac]
j org.tmatesoft.svn.core.internal.wc.SVNMethodCallLogger.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;+101
j com.sun.proxy.$Proxy28.gnome_keyring_set_network_password_sync(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILcom/sun/jna/Pointer;Lcom/sun/jna/ptr/IntByR
eference;)I+67
j org.tmatesoft.svn.core.internal.util.jna.SVNGnomeKeyring.setPassword(Ljava/lang/String;Ljava/lang/String;[C)Z+103
j org.tmatesoft.svn.core.internal.util.jna.SVNGnomeKeyring.setPassword(Ljava/lang/String;Ljava/lang/String;[CZLorg/tmatesoft/svn/core/internal/wc/ISVNGnomeKeyringPasswordProvider;)Z+71
j org.tmatesoft.svn.core.internal.util.jna.SVNJNAUtil.addPasswordToGnomeKeyring(Ljava/lang/String;Ljava/lang/String;[CZLorg/tmatesoft/svn/core/internal/wc/ISVNGnomeKeyringPasswordProvider;)Z+12
j org.tmatesoft.svn.core.internal.wc.DefaultSVNPersistentAuthenticationProvider$GnomeKeyringPasswordStorage.savePassword(Ljava/lang/String;[CLorg/tmatesoft/svn/core/auth/SVNAuthentication;Lorg/tmatesoft/svn/core/SVNProperties;)Z+44
j org.tmatesoft.svn.core.internal.wc.DefaultSVNPersistentAuthenticationProvider.savePasswordCredential(Lorg/tmatesoft/svn/core/SVNProperties;Lorg/tmatesoft/svn/core/auth/SVNAuthentication;Ljava/lang/String;)V+78
j org.tmatesoft.svn.core.internal.wc.DefaultSVNPersistentAuthenticationProvider.saveAuthentication(Lorg/tmatesoft/svn/core/auth/SVNAuthentication;Ljava/lang/String;Ljava/lang/String;)V+119
j org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.acknowledgeAuthentication(ZLjava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/SVNErrorMessage;Lorg/tmatesoft/svn/core/auth/SVNAuthentication;)V+90
j org.tmatesoft.svn.core.auth.BasicAuthenticationManager.acknowledgeAuthentication(ZLjava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/SVNErrorMessage;Lorg/tmatesoft/svn/core/auth/SVNAuthentication;Lorg/tmatesoft/svn/core/SVNUR
L;Lorg/tmatesoft/svn/core/auth/ISVNAuthenticationManager;)V+37
j org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(Ljava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPHeader;Ljava/io/InputStream;IILjava/io/OutputStream;Lorg/xml/sax/helpers/DefaultHa
ndler;Lorg/tmatesoft/svn/core/SVNErrorMessage;)Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPStatus;+2405
j org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(Ljava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPHeader;Ljava/lang/StringBuffer;IILjava/io/OutputStream;Lorg/xml/sax/helpers/Defaul
tHandler;Lorg/tmatesoft/svn/core/SVNErrorMessage;)Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPStatus;+67
j org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(Ljava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPHeader;Ljava/lang/StringBuffer;IILjava/io/OutputStream;Lorg/xml/sax/helpers/Defaul
tHandler;)Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPStatus;+15
j org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(Lorg/tmatesoft/svn/core/internal/io/dav/http/IHTTPConnection;Ljava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPHeader;Ljava/lan
g/StringBuffer;IILjava/io/OutputStream;Lorg/xml/sax/helpers/DefaultHandler;)Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPStatus;+21
j org.tmatesoft.svn.core.internal.io.dav.DAVConnection.doMakeActivity(Lorg/tmatesoft/svn/core/io/ISVNWorkspaceMediator;)Ljava/lang/String;+94
j org.tmatesoft.svn.core.internal.io.dav.DAVCommitEditor.createActivity()[Ljava/lang/String;+8
j org.tmatesoft.svn.core.internal.io.dav.DAVCommitEditor.openRoot(J)V+335
j org.tmatesoft.svn.core.internal.wc.SVNCommitUtil.driveCommitEditor(Lorg/tmatesoft/svn/core/internal/wc/ISVNCommitPathHandler;Ljava/util/Collection;Lorg/tmatesoft/svn/core/io/ISVNEditor;J)V+100
j org.tmatesoft.svn.core.internal.wc.SVNCommitter.commit(Ljava/util/Collection;Ljava/util/Map;Lorg/tmatesoft/svn/core/SVNURL;Lorg/tmatesoft/svn/core/io/ISVNEditor;Lorg/tmatesoft/svn/core/wc/ISVNEventHandler;)Lorg/tmatesoft/svn/core/SVNC
ommitInfo;+31
j org.tmatesoft.svn.core.internal.wc16.SVNCommitClient16.doCommit([Lorg/tmatesoft/svn/core/wc/SVNCommitPacket;ZZLjava/lang/String;Lorg/tmatesoft/svn/core/SVNProperties;)[Lorg/tmatesoft/svn/core/SVNCommitInfo;+358
j org.tmatesoft.svn.core.internal.wc16.SVNCommitClient16.doCommit(Lorg/tmatesoft/svn/core/wc/SVNCommitPacket;ZZLjava/lang/String;Lorg/tmatesoft/svn/core/SVNProperties;)Lorg/tmatesoft/svn/core/SVNCommitInfo;+15
j org.tmatesoft.svn.core.internal.wc2.old.SvnOldCommit.run()Lorg/tmatesoft/svn/core/SVNCommitInfo;+150
j org.tmatesoft.svn.core.internal.wc2.old.SvnOldCommit.run()Ljava/lang/Object;+1
j org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(Lorg/tmatesoft/svn/core/wc2/SvnOperation;)Ljava/lang/Object;+6
j org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(Lorg/tmatesoft/svn/core/wc2/SvnOperation;)Ljava/lang/Object;+67
j org.tmatesoft.svn.core.wc2.SvnOperation.run()Ljava/lang/Object;+9
j org.tmatesoft.svn.core.wc2.SvnCommit.run()Lorg/tmatesoft/svn/core/SVNCommitInfo;+16
j org.tmatesoft.svn.core.wc.SVNCommitClient.doCommit([Lorg/tmatesoft/svn/core/wc/SVNCommitPacket;ZZLjava/lang/String;Lorg/tmatesoft/svn/core/SVNProperties;)[Lorg/tmatesoft/svn/core/SVNCommitInfo;+342
j org.tmatesoft.svn.core.wc.SVNCommitClient.doCommit([Ljava/io/File;ZLjava/lang/String;Lorg/tmatesoft/svn/core/SVNProperties;[Ljava/lang/String;ZZLorg/tmatesoft/svn/core/SVNDepth;)Lorg/tmatesoft/svn/core/SVNCommitInfo;+29
j com.diglert.implementation.MonsvnSVNHandler.commit(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Exception;+98
j com.diglert.implementation.FormRequestHandler.processUserInputs(Ljava/util/Map;)Ljava/lang/Exception;+204
j com.diglert.controller.DiglertController.processFormData(Ljava/util/Map;Lorg/springframework/ui/ModelMap;Ljava/util/Map;)Ljava/lang/String;+12
v ~StubRoutines::call_stub
J 1155 sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (0 bytes) @ 0x00007f87b5461cb7 [0x00007f87b5461c40+0x77]
J 388 C1 sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (104 bytes) @ 0x00007f87b521fa0c [0x00007f87b521e880+0x118c]
J 1931 C2 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x00007f87b5744dcc [0x00007f87b5744d20+0xac]
j org.springframework.web.method.support.InvocableHandlerMethod.invoke([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/Obje
ct;+78
j org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(Lorg/springframework/web/context/request/ServletWebRequest;Lorg/springframework/web/method/support/ModelAndViewContainer;[Ljava/lang/O
bject;)V+4
j org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/web/method/HandlerMethod;)Lorg/s
pringframework/web/servlet/ModelAndView;+230
j org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/springframework/web/method/HandlerMethod;)Lorg/sprin
gframework/web/servlet/ModelAndView;+89
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+305
j org.springframework.web.servlet.DispatcherServlet.doService(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+319
j org.springframework.web.servlet.FrameworkServlet.processRequest(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V+72
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+32
j javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+30
j org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V+446
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+151
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+780
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+449
j org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+158
j org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V+6
j org.apache.catalina.valves.AccessLogValve.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+71
j org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V+199
j org.apache.coyote.http11.AbstractHttp11Processor.process(Lorg/apache/tomcat/util/net/SocketWrapper;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+634
j org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapper;Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;+270
j org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run()V+106
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

请帮助我了解这里出了什么问题

最佳答案

我相信我已经解决了 SVNKit 主干 r10638 的问题。该修复程序将包含在 SVNKit 版本 >= 1.8.16 中。

简短的问题描述:SVNKit 通过 JNA 错误地调用了 Gnome Keyring 函数。这就是为什么转向 Gnome Keyring 或 JNA 调用有助于避免该问题。

我是 SVNKit 开发人员之一。

关于java - 在 tomcat 服务器上的 Web 应用程序中使用 SVNKit 时 JRE 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39342816/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com