2012-09-25 15 views
11

Trong khi chạy các bài kiểm tra đơn vị sau đây ngoại lệ xảy ra:Troubles với plugin SureFire: - "Các VM chia hai chấm dứt mà không nói lời tạm biệt đúng VM tai nạn hoặc System.exit gọi.?"

org.apache.maven.lifecycle.LifecycleExecutionException: ExecutionException; nested exception is java.util.concurrent.ExecutionException: java.lang.RuntimeException: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ? 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) 
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) 
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) 
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) 
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
at java.lang.reflect.Method.invoke(Method.java:600) 
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) 
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) 
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) 
at org.codehaus.classworlds.Launcher.main(Launcher.java:375) 

Bất kỳ lời đề nghị?

+0

Hmmm ... VM bị lỗi hoặc System.exit được gọi? –

+1

Nó có thể là một vấn đề bộ nhớ?Tôi đã gặp vấn đề này trong một thời gian trên một máy chủ Jenkins và không thể xác định nguyên nhân. – mmalmeida

+0

@mmalmeida - Nếu nó là một vấn đề bộ nhớ, nó có thể sẽ được hiển thị trong những thứ khác, và có một cơ hội tốt nó sẽ được đề cập trong thông điệp tường trình trong nhật ký hệ thống; ví dụ./var/log/messages –

Trả lời

6

Mọi đề xuất?

Thông báo lỗi của ngoại lệ có thể giải thích những gì đang diễn ra. Một trong những bài kiểm tra đơn vị của bạn chỉ có

  • gọi System.exit(), hoặc
  • chia các đơn vị khai thác thử nghiệm, hoặc
  • làm cái gì đó đã bị rơi JVM trong đó nó được chạy.

Chúng tôi không thể cho bạn biết đó là gì.

(Tôi tưởng tượng rằng sự cố đang được báo cáo vì JVM maven mong đợi JVM con viết kết quả kiểm tra đơn vị vào đầu ra tiêu chuẩn của nó. có thể là nguyên nhân gốc rễ có thể khác với các lựa chọn thay thế được đề xuất, nhưng tôi nghi ngờ nó, và nó là vô nghĩa đầu cơ ...)

Có thể có thêm thông tin trong logfile cho kiểm tra đơn vị vi phạm. Kiểm tra xem chúng.

0

Điều này có thể liên quan đến quyền Quản trị viên. Tôi đã phải đối mặt với cùng một vấn đề khi chạy xây dựng mvn clean install từ Cygwin.

Giờ mọi lúc để xây dựng, tôi khởi động Cygwin là "Chạy với tư cách quản trị viên" và sự cố được giải quyết.

4

Tôi đã gặp phải sự cố tương tự khi chạy mục tiêu maven "gói". Vấn đề đã được giải quyết khi tôi thực hiện mục tiêu "sạch" trước khi thực hiện "gói"

2

Tôi đã gặp vấn đề tương tự CHỈ trong jenkins như được báo cáo trong câu trả lời được chấp nhận và mất một giờ để nhận ra rằng vấn đề là jenkins tên công việc đã có một không gian trong đó, điều này đã làm cho một cái gì đó (vẫn không biết những gì) trong việc gọi plugin chắc chắn đi điên từ tên công việc là thư mục bên trong không gian làm việc jenkins, nơi tất cả mọi thứ.

Vì vậy, để được rõ ràng, Jenkins không có gì để làm với các vấn đề, tôi chỉ thấy nó trong Jenkins vì chỉ có tôi đã có một không gian trong con đường của tôi

Tôi hy vọng điều này sẽ giúp người khác. Điều này đã được chắc chắn 2.14.1 và 2.16.

+2

Tương tự ở đây, lỗi xảy ra chỉ trong Jenkins đột nhiên một ngày. Tôi đã cấu hình công việc jenkins của mình để sử dụng "maven 3" không giống như trước "maven 2 legacy". Điều đó giải quyết vấn đề này. – matthaeus

3

Tôi đã gặp sự cố tương tự. Hóa ra tôi đã cập nhật libs của mình mà không cập nhật phiên bản java của mình, và tôi đã có một chút servlet.jar quá mới. Tôi đã tìm thấy thông báo sau trong nhật ký, trước khi 'ngoại lệ máy ảo được chia hai':

Caused by: java.lang.UnsupportedClassVersionError: javax/servlet/ServletRequest : Unsupported major.minor version 51.0 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:615) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
at java.lang.Class.getDeclaredMethods0(Native Method) 
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427) 
at java.lang.Class.getMethod0(Class.java:2670) 
at java.lang.Class.getMethod(Class.java:1603) 
at org.apache.maven.surefire.util.ReflectionUtils.tryGetMethod(ReflectionUtils.java:57) 
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isSuiteOnly(JUnit3TestChecker.java:64) 
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isValidJUnit3Test(JUnit3TestChecker.java:59) 
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.accept(JUnit3TestChecker.java:54) 
at org.apache.maven.surefire.common.junit4.JUnit4TestChecker.accept(JUnit4TestChecker.java:51) 
at org.apache.maven.surefire.util.DefaultScanResult.applyFilter(DefaultScanResult.java:97) 
at org.apache.maven.surefire.junit4.JUnit4Provider.scanClassPath(JUnit4Provider.java:194) 
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:92) 

Cập nhật JVM đã trợ giúp.