কাঁটা ভিএম ঠিকমতো বিদায় না বলে শেষ হয়েছে। ভিএম ক্রাশ বা সিস্টেম.এক্সিট কল হয়


191

দয়া করে এই সমস্যাটি সমাধান করতে আমাকে সহায়তা করুন। লগে ত্রুটিটির অর্থ কী তা আমি ঠিক বুঝতে পারি না।

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.749s
[INFO] Finished at: Thu Apr 24 10:10:20 IST 2014
[INFO] Final Memory: 15M/37M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.15:test (default-test) on project samples.simpleforwarding: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.15:test failed: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?
[ERROR] Command wascmd.exe /X /C ""C:\Program Files\Java\jdk1.7.0_55\jre\bin\java" -Xmx1024m -XX:MaxPermSize=256m -jar E:\OpenDayLight\controller\opendaylight\samples\simpleforwarding\target\surefire\surefirebooter53410321571238933.jar E:\OpenDayLight\controller\opendaylight\samples\simpleforwarding\target\surefire\surefire86076271125218001tmp E:\OpenDayLight\controller\opendaylight\samples\simpleforwarding\target\surefire\surefire_01846991116135903536tmp"
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

7
আউটপুট প্রস্তাব মতো মেন এবং-এক্স দিয়ে পুনরায় চালান করুন, এবং এটি আপনাকে যা দেবে তা আটকান। এছাড়াও, আপনি নিজের কোড বা একটি বিদ্যমান লাইব্রেরি তৈরি করছেন? আপনি যদি নিজের কোড তৈরি করছেন, আপনি কি কোথাও System.exit (int) কে কল করছেন? আপনি যদি একটি বিদ্যমান গ্রন্থাগার তৈরি করে থাকেন তবে আপনি উত্সটি কোথায় পেয়েছেন?
ডাইলন

@ ডাইলন এডওয়ার্ডস: এটি একটি বিদ্যমান সোর্স কোড, এসডিএন বাস্তবায়নের জন্য ওপেনডায়লাইট প্রকল্প।
এ্যাসাক

আমার সাম্প্রতিক একটি দৃশ্যটি ছিল যখন আমি এক্সএমএল ফাইলগুলি থেকে পরীক্ষার স্যুট দৌড়েছিলাম তখনই বিষয়টি পুনরুত্পাদন করে। যদি কোনও এক্সএমএল ফাইল কোনও শ্রেণীর সংজ্ঞা দেয় যা আর বিদ্যমান নেই, বা শ্রেণীর পুরানো সম্পূর্ণ-যোগ্য নামটি স্থানান্তরিত করা হয়েছে, তবে জেভিএম ক্লাস লোড করতে ব্যর্থ হয়। আপনি যে অদ্ভুত বার্তাটি দেখেছেন তার ফলস্বরূপ। যে কোনও স্ট্যাক-ট্রেসের কাছাকাছি সন্ধান করা আপনাকে এ জাতীয় সমস্যাগুলি সনাক্ত করতে সহায়তা করতে পারে, এই ক্ষেত্রে -e বা-এক্স সুইচগুলি পাস করার দরকার নেই।
Ivaylo Slavov

@ এস্ট্যাক কি এর সমাধান হতে পারে? আপনি একটি উত্তর চিহ্নিত করতে পারেন বা আপনার নিজের লিখতে পারেন দয়া করে
নামান

উত্তর:


122

আমার একই সমস্যা ছিল এবং যুক্ত করে সমাধান করা হয়েছে:

<argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>

পুরো প্লাগইন উপাদানটি হ'ল:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <forkCount>3</forkCount>
    <reuseForks>true</reuseForks>
    <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
  </configuration>
</plugin>

7
+1 আমি এই স্নিপেট, ভারব্যাটিম ব্যবহার করেছি এবং এটি ট্র্যাভিস-সিআইয়ের সাথে আমার সমস্যাটি স্থির করেছে। আমরা আমাদের বিকাশকারীর কোনও ওয়ার্কস্টেশনগুলিতে এটি পাচ্ছিলাম না।
স্টার্টআপগুই

7
উপরে আমার জন্য সমস্যাটি স্থির করেনি। এর মধ্যে থাকা নির্ভরতাগুলির একটি (জার ইত্যাদি) .m2দূষিত হলে এই সমস্যাটি 'মায়' হতে পারে । ~ / .M2 / সংগ্রহস্থলটি মোছা হচ্ছে rm -rf ~/.m2/repositoryএবং তারপরে mvn installএটি আমার জন্য সমাধান করুন।
ch4nd4n

2
এটি আমার পোম ফাইলে অনুলিপি করে আটকানো হয়েছে এবং এটি
মনোমুগ্ধকর

6
ওপেনজেডকে -৪-বিট সার্ভার ভিএম সতর্কতা: ম্যাক্স্পার্মসাইজ = 256 এম বিকল্প উপেক্ষা করা; সমর্থন 8.0
জুলিয়েন

2
কেউ এটি ব্যাখ্যা করতে পারে যে এটি আসলে কী করে এবং এর কী কী প্রভাব ফেলে?
বার্গমেটার

71

আমার ক্ষেত্রে ইস্যুটি इंटেলিজ আইডিইএ কনসোলে (ওএস উইন্ডোজ 10) খুব দীর্ঘ লগ আউটপুটিং সম্পর্কিত to

COMMAND:

mvn clean install

এই আদেশটি আমার কাছে সমস্যাটি সমাধান করেছে:

mvn clean install > log-file.log

লগগুলি খুব দীর্ঘ ছিল আমার জন্যও সমস্যা ছিল! কোনও লগফাইলে পুনঃনির্দেশ সাহায্যকারী হয়নি। তথ্য থেকে
ডিবাগে

7
খুব বেশি লগিং আমার ক্ষেত্রে আসল সমস্যা ছিল !!
চ্যাংওয়ান চয়ে

1
ত্রুটি স্ট্রিমটিও ভুলে যাবেন না: এমভিএন ক্লিন টেস্ট 2> err.txt 1> আউট.টিএসটিস্ট বা এমভিএন ক্লিন টেস্ট> আউট টেক্সট 2> & 1 বা এমভিএন ক্লিন টেস্ট 2> & 1 | পুনর্নির্দেশের সময় আপনি অন্যান্য কনসোলে আউটপুট কম + এফ আউট টেক্সট সহ দেখতে পারেন
রডজিমির

1
আমার জন্য, উইন্ডোজ সেন্টিমিডি থেকে ইন্টেলিজ কনসোলে স্যুইচ করা এটি সমাধান করেছে।
ব্রোকলি

3
প্রকৃতপক্ষে, লগ ফাইলে পুনর্নির্দেশ এই সমস্যার সমাধান করে।
দিগন্ত

40

আমার খুব অনুরূপ সমস্যা রয়েছে ( ম্যাভেন বিল্ড অ্যান্ড ম্যাভেন-ফেইলসেফ-প্লাগইন - সঠিকভাবে বিদায় না বলে কাঁটা ভিএম শেষ করা হয়েছে ) এবং তিনটি সমাধান খুঁজে পেয়েছি যা আমার পক্ষে কাজ করছে:

সমস্যার বিবরণ

সমস্যাটি কেবলমাত্র ২.২০.১ এবং ২.২০.০ সংস্করণে ম্যাভেন- শিওরফায়ার - প্লাগইনযুক্ত ম্যাভেন প্লাগইনে রয়েছে। আমি চেক করেছি এবং আপনি সংস্করণটি 2.20.1 ব্যবহার করেন use

সমাধান ঘ

প্লাগইন সংস্করণ 2.22.0 এ আপগ্রেড করুন । যোগ pom.xml :

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.22.0</version>
</plugin>

সমাধান 2

ডাউনগ্রেড প্লাগইন সংস্করণটি ২.২০ তে নামিয়ে দিন । যোগ pom.xml :

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.20</version>
</plugin>

সমাধান 3

প্লাগইন কনফিগারেশন টেস্টফেইলরআইগন ব্যবহার করুন । যোগ pom.xml :

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <testFailureIgnore>true</testFailureIgnore>
  </configuration>
</plugin>

আমার জন্য এই সংমিশ্রণটি ধন্যবাদ কাজ করেছে: <plugin> <groupId> org.apache.maven.plugins </groupId> <artifactId> মাভেন-শিফারফায়ার-প্লাগইন </ strong> <version> 2.22.1 </version> <কনফিগারেশন> < testFailureIgnore> সত্য </ translation> ব্যর্থত্যাগ করুন> </configration> </plugin>
অভিষেক

এই জন্য ধন্যবাদ, ব্যবহার maven:3.6.0-jdk-10সংস্করণে Docker ইমেজ এবং আপগ্রেড 3.0.0-M3এর maven-surefire-pluginপাশাপাশি আমার জন্য সমাধান।
ড্যানিয়েলক

17
সমাধান 3 এর ক্ষেত্রে: আমরা কি সত্যিই বলতে পারি যে পরীক্ষার ব্যর্থতা উপেক্ষা করা একটি সমাধান? যদি তাদের ফলাফল অর্থহীন হয় তবে পরীক্ষা করার কী লাভ?
উলুকাই

আমি সবেমাত্র মেভেন-শিফারফায়ার-প্লাগইনকে ২.২২.২ এ আপগ্রেড করেছি এবং দুর্দান্ত কাজ করে!
ক্রিজিস্তফফ ওয়ালকজেউসকি

হা! নিশ্চিতফায়ারের v2.22.2 এ আপগ্রেড করা আমার জন্য এটিও সমাধান করেছে। ধন্যবাদ!
মিগস

32

আজ (10/30/2018) হিসাবে, আমরা জেনকিনসে এই ত্রুটি নিয়ে আমাদের বিল্ডিং লক্ষ্য করেছি।

ত্রুটিটি কিছুটা বিভ্রান্তিমূলক এবং target/surefire-reports/ নিম্নলিখিত ত্রুটি বার্তাটি দেখতে ডাম্পের আউটপুটটির দিকে তাকানো প্রয়োজন :

Error: Could not find or load main class org.apache.maven.surefire.booter.ForkedBooter

এটি আমাকে নিম্নলিখিত এসও পোস্টে নিয়ে যায় যা ওপেনজেডকে 181 তে একটি সম্ভাব্য বাগের উল্লেখ করেছে: ম্যাভেন নিশ্চিত ফায়ার ফোরকড বুটার ক্লাসটি খুঁজে পেল না

এই পোস্টের সমাধানগুলির মধ্যে যে কোনও একটিই আমার সমস্যাটি সমাধান করে। নির্দিষ্ট করে বলতে গেলে, আমি এর মধ্যে একটি ব্যবহার করেছি:

  1. ডকার পাত্রে বিল্ডিং থেকে স্যুইচ maven:3.5.4-jdk-8করাmaven:3.5.4-jdk-8-alpine
  2. স্প্রিং বুটের শ্রেণি লোডারটি ওভাররাইড করা এখানে বিশদ: https://stackoverflow.com/a/50661649/1228408

1
ধন্যবাদ। 1.8.0_161-b12 থেকে 11.0.1 + 13 এ স্যুইচ করা আমাদের ক্ষেত্রে সহায়তা করেছে।
কারসেল

1
আমার জেনকিন্সে আমি হুবহু ঠিক একই সমস্যার মুখোমুখি হলাম এবং এটি এখন সমাধান হয়েছে। ধন্যবাদ।
বিঘ্নেশ পাই

The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?
ওপিতে

1
@ পেট্রো ক্লিফ আমি স্বীকার করেছিলাম যে জেনকিনসে আমাদের ত্রুটি এই ত্রুটির সাথে ভেঙে গেছে বলে আমরা যখন লক্ষ্য করেছিলাম তখন আমিও ত্রুটি পেয়েছিলাম । এরপরে আমি ব্যাখ্যা করে এগিয়ে গেলাম যে ত্রুটিটি বিভ্রান্তিমূলক ছিল এবং প্রকৃত ত্রুটিটি ছিল surefire-reports
majikman

25

শিয়ারফায়ার এফএকিউ এর এই অংশটি আপনাকে সহায়তা করতে পারে:

শিয়ারফায়ার "সঠিকভাবে বিদায় না বলেই কাঁটা ভিএম শেষ করা হয়েছে" বার্তাটি দিয়ে ব্যর্থ হয়েছে

শিয়ারফায়ার টেস্ট বা কোনও রেফারেন্সযুক্ত গ্রন্থাগারকে কোনও সময়ে System.exit () কল করে না। যদি তারা এটি করে, তারা নিশ্চিতফায়ারের সাথে বেমানান এবং আপনার সম্ভবত গ্রন্থাগার / বিক্রেতার কাছে একটি সমস্যা ফাইল করা উচিত। বিকল্পভাবে কাঁটাযুক্ত ভিএম বিভিন্ন কারণে ক্রাশও করতে পারে, যা এই সমস্যাটি ঘটতে পারে। ক্লাসিকাল "hs_err *" ফাইলগুলি সন্ধান করুন যা ভিএম ক্র্যাশগুলি নির্দেশ করে বা পরীক্ষাগুলি সম্পাদন করার সময় চলমান ম্যাভেন থেকে লগ আউটপুট পরীক্ষা করে। ক্র্যাশিং প্রক্রিয়াগুলি থেকে কিছু "অসাধারণ" আউটপুট কনসোল / লগ এ ফেলে দেওয়া যেতে পারে। যদি এটি কোনও সিআই পরিবেশে ঘটে এবং কেবলমাত্র কিছু সময় চলার পরে আপনার পরীক্ষা স্যুটটি কোনও ধরণের ওএস-স্তরের সংস্থান ফাঁস করে দেয় যা প্রতিটি রানের জন্য পরিস্থিতি আরও খারাপ করে দেয়। নিয়মিত ওএস-স্তরের পর্যবেক্ষণ সরঞ্জামগুলি আপনাকে কিছু ইঙ্গিত দিতে পারে।


9

কেবল একই সমস্যার মুখোমুখি হচ্ছিল, জাভা 8 উবুন্টুতে

তারপরে https://stackoverflow.com/a/53016532/1676516 জুড়ে এসেছিল

এটি জাভা 8 https://issues.apache.org/jira/browse/SUREFIRE-1588 সহ নিশ্চিত ফায়ার প্লাগইন সংস্করণ ২.২২.২ এ সাম্প্রতিক বাগটি মনে হচ্ছে

স্থানীয় এমভিএন সেটিংসের মাধ্যমে প্রস্তাবিত কার্যবিধির অনুসরণ করে ~/.m2/settings.xml

<profiles>
    <profile>
        <id>SUREFIRE-1588</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <argLine>-Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
        </properties>
    </profile>
</profiles>

1
আরও রিসেন্ট সংস্করণ 3.0.0-এম 1 (উদাহরণস্বরূপ) এর একটি সাধারণ যোগ সমস্যার সমাধান করেছে।
গ্যালিগেটর

6

আমার আজ একই সমস্যা ছিল এবং আমার জন্য মেসেজ সহ লগটিতে আসল সমস্যাটি আরও রিপোর্ট করা হয়েছিল Cannot use a threadCount parameter less than 1; 1 > 0। যখন যোগ <threadCount>1</threadCount>মধ্যে surefire-প্লাগইন কনফিগ অন্যান্য ত্রুটি উধাও হয়ে গেছে।

সম্পূর্ণ প্লাগইন কনফিগারেশন:
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
            <dependencies>
                <dependency>
                    <groupId>org.apache.maven.surefire</groupId>
                    <artifactId>surefire-junit47</artifactId>
                    <version>2.18.1</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.maven.surefire</groupId>
                    <artifactId>surefire-testng</artifactId>
                    <version>2.18.1</version>
                </dependency>
            </dependencies>
            <configuration>
                <threadCount>1</threadCount>
            </configuration>
        </plugin>

... এবং হ্যাঁ, আমি পিছনে সামঞ্জস্যের কারণে এই পরীক্ষার কাঠামোর মধ্যে জুনিট এবং টেস্টং উভয়ই ব্যবহার করছি।


6

JDK 1.8.0_ 65 এ জ্যাকো প্লাগইন সহ এমভিএন কমান্ড চালানোর সময় একই সমস্যা ছিল

[INFO]
A fatal error has been detected by the Java Runtime Environment:

JRE version: Java(TM) SE Runtime Environment (8.0_65-b17) (build 1.8.0_65-b17).........
Problematic frame:
PhaseIdealLoop::build_loop_late_post(Node*)+0x144
............
............
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19:test (default-test) on project 

 The forked VM terminated without properly saying goodbye. VM crash or System.exit called?

জেডিকে https://bugs.openjdk.java.net/browse/JDK-8081379 এ একটি বাগ ছিল

এবং সমাধানটি ছিল প্যারাম-এক্সএক্স-এর সাথে এমভিএন ক্লিন ইনস্টল চালানো : -উজলুপপ্রিডিকেট

বা কেবল জেডিকে আপডেট করুন (আমার মনে হয় নতুন গৌণ সংস্করণ কাজ করে)


6

ম্যাভেন-শিওরফিল-প্লাগইন ব্যবহারকারীর সিস্টেমে ক্লাসলুডারটি বন্ধ করুন সহায়তা করা উচিত

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.0</version>
            <configuration>
                <useSystemClassLoader>false</useSystemClassLoader>
            </configuration>
        </plugin>

1
এটিই আমার জন্য এটি স্থির করেছে। আমি গিটল্যাব থেকে সজ্জিত ডকার ইমেজটিতে কারুকারীর মাধ্যমে মাভেন তৈরি করছি। একটি প্রতিনিধি সেটআপ কাজ করা কঠিন ছিল এবং নিশ্চিত ফায়ার সেটিংসের জন্য প্রচুর বিকল্প চেষ্টা করার পরে এটি এটি ২.২২.০ সংস্করণ সহ ঠিক করেছে fixed
রিচার্ড বোনা

1
গিটল্যাব সিআই-তে প্রতিটি খোলামেলা কাজের জন্য এই বিকল্পটি যুক্ত করতে হবে এবং এর কারণ নেই।
cljk

5

যদি কেউ কোনও কাস্টম আরগলাইন যুক্তি অন্তর্ভুক্ত করে থাকে তবে আপনাকে অবশ্যই পুনর্বিবেচনা করতে হবে কারণ এটি সম্ভবত মেমরি বরাদ্দ নিয়ে আপনার সমস্যার উত্স।

উদাহরণস্বরূপ (আমার ব্যবহৃত হত):

<argLine>XX:MaxPermSize=4096m ${argLine}</argLine>

এখন আমি হার্ড নির্দিষ্ট মান ব্যবহার করি:

<argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>

যে কারণেই হোক না কেন, অ্যাপ্লিকেশনগুলি যা জেরোকোর মতো শিফারফায়ারের সাথে সংহত করে, বিল্ড টাইম সময়ে ঘটে যাওয়া পরীক্ষার সাথে সহাবস্থান করার জন্য পর্যাপ্ত মেমরির অনুরোধ করে না।


5

আমি এই সমস্যাটি জেনকিনস ডকার পাত্রেও চালিয়েছি (চেষ্টা করেছেন জেনকিনস: এলটিএস, জেনকিনস, জিনকিনস: স্লিম এবং জেনকিনস: স্লিম-এলটিএস) আমি সমস্ত প্রকল্পের জন্য গিয়ে পোম আপডেট করতে চাইনি, তাই আমি সবেমাত্র অক্ষরযুক্ত ক্লাসপ্যাথ URL টি মভেন কমান্ড লাইন কলটিতে পরীক্ষা করুন:

mvn test -DargLine="-Djdk.net.URLClassPath.disableClassPathURLCheck=true"

5

ম্যাভেন শিফারফায়ার ২.২০.০ ব্যবহার করে আমি reuseForksবিকল্পটির মানটি সত্য থেকে মিথ্যাতে পরিবর্তন করার বিষয়টি সমাধান করেছি :

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.21.0</version>
            <configuration>
                <reuseForks>false</reuseForks>
            </configuration>
        </plugin>
    </plugins>
</build>

বিল্ডের অধীনে আমার পুরো কনফিগারেশন বিভাগটি দেখতে দেখতে:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.21.0</version>
            <configuration>
                <testFailureIgnore>true</testFailureIgnore>
                <skip>false</skip>
                <reuseForks>false</reuseForks>
                <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
                <argLine>-Dfile.encoding=UTF-8</argLine>
                <useSystemClassLoader>false</useSystemClassLoader>
                <includes>
                    <!--Test* classes for the app testing -->
                    <include>**/directory/Test*.java</include>
                </includes>
            </configuration>
        </plugin>
    </plugins>
</build>

4

আপনার মেশিনটি 64 বিট বা 32 বিট কিনা তা পরীক্ষা করে দেখুন। যদি আপনার মেশিনটি 32 বিট হয় তবে আপনার মেমোরি যুক্তি 4096 ছাড়িয়ে যাবে না, এমনকি এটি 4 জিবি নীচে হওয়া উচিত। তবে আপনার মেশিনটি যদি bit৪ বিট হয় তবে জাভা bit৪ বিট ইনস্টল করুন এবং এমভিএন.ব্যাট-এ জাভাআহোম সরবরাহ করুন যা জাভা bit৪ বিট ইনস্টলেশনটি নির্দেশ করে।


4

প্রদত্ত উত্তরের কোনও উত্তরই সমস্যার সমাধান না করে আমি একটি মামলা পেয়েছি। এটি একটি উত্তরাধিকার অ্যাপ্লিকেশন সহ যা লগ 4 জে এবং এসএলএফ 4 জে / লগব্যাক ব্যবহার করে।

পূর্ববর্তী পরিস্থিতি: clean testগ্রহগুলির মধ্যে থেকে চালু হওয়ার সময় বিল্ডগুলি ঠিকঠাক চলছিল, কিন্তু কমান্ড লাইনে চালু করার সময় এই ত্রুটিটি ঘটেছে। সার্কেলসিআই-তে সিআই বিল্ডসও দৌড়ে গেছে।

আমি যা করেছি: নির্ভুল অনুমানের বাইরে, একটি সঠিক কনফিগার logback-test.xmlকরে লগিংয়ের ভার্বোসিটি ডায়াল করে। দেখুন এবং দেখুন, আমি আর এই ত্রুটিটি অনুভব করিনি এবং এখন আমি কমান্ড লাইন থেকে প্রকল্পটি (সেইসাথে এই ত্রুটিটি ঘটছে এমন মডিউলটি) তৈরি করতে পারি।

আমার বক্তব্যটি হ'ল লগিং ফ্রেমওয়ার্কগুলি যেভাবে ব্যবহৃত হয় বা কনফিগার করা হয় সেটি অন্য একটি ব্যাখ্যা হতে পারে

এটি লগ 4 জে এবং লগব্যাকের মধ্যে আসলেই বিরোধ ছিল? বা এটি কি ঠিক যে পরীক্ষাগুলি দ্বারা উত্পাদিত উচ্চ ভলিউম কোনওভাবে কোনও কমান্ড লাইন বাফারকে উপচে ফেলেছিল? আমি জানি না। এটা আমার কাছে রহস্য হয়ে আছে।


উত্সাহ দেওয়া কারণ এটি সমস্যার সমাধান করতে / এড়াতে / পাশ কাটাতে পারে। আমি উইন্ডোজে slf4j এবং sl4j- সিম্পল ব্যবহার করছি এবং আলস্য আউটপুট আমাকেও এই দিকে নির্দেশ করেছে। সিস্টেম.সেটপ্রোপার্টি সেট করা হচ্ছে (সিম্পললগার। কৌতুকটি করেছে 2.18.1 তে মভেন-শিফারফায়ার-প্লাগইন ডাউনগ্রেডও কাজ করেছে too
মারকাস

4

জাভা 12-এ আপগ্রেড করার পরেও আমি একই রকম সমস্যার মুখোমুখি হয়েছিলাম, আমার জন্য সমাধানটি ছিল জ্যাকো সংস্করণ আপডেট করা <jacoco.version>0.8.3</jacoco.version>


আমার প্রকল্পটির সাথে আমার আসলে সমস্যা ছিল। খুব খারাপ এই উত্তরটি তেমন দৃশ্যমান নয় ...
ওমরিয়াহু

4

সংস্করণ 2.22.2 এর কাঁটাযুক্ত জেভিএমগুলির সাথে আসল সমস্যা রয়েছে। সংস্করণ ২.২০ ব্যবহার করুন - এটি একটি কবজির মতো কাজ করে!


<groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>

হুম, এটি আসলে সাহায্য করে!
ঝেন ঝাং

হ্যাঁ, v2.22.2একটি সমস্যা আছে maven:3.6-jdk-8-alpine। খুব বিরক্তিকর!
কিমচিমন

3

বাঁশের সাথে আমার ধারকযুক্ত জারের অ্যাপ্লিকেশনগুলি তৈরি করার সময় আমি সম্প্রতি এই ত্রুটিটির সাথে আটকে গিয়েছি:

org.apache.maven.surefire.booter.SurefireBooterForkException: কাঁটাযুক্ত ভিএম সঠিকভাবে বিদায় না বলেই সমাপ্ত

অনেক ঘন্টা গবেষণা করার পরে আমি এটি ঠিক করেছিলাম। এবং আমি ভেবেছিলাম আমার সমাধানটি এখানে ভাগ করে নেওয়া দরকারী হবে।

তাই ত্রুটি প্রতিবার ঘটে যখন mvn clean packageডকারের পাত্রে জাভা অ্যাপ্লিকেশনগুলির জন্য বাঁশ রান কমান্ড। আমি কোনও ম্যাভেন বিশেষজ্ঞ নই তবে সমস্যাটি ছিল সুরাইফায়ার এবং জুনিট 4 প্লাগইনগুলিকে মাভেন নির্ভরতা হিসাবে বসন্ত-বুটে অন্তর্ভুক্ত করা হয়েছিল।

এটি ঠিক করতে আপনাকে জুনিট 5 এর জন্য জুনিট 4 প্রতিস্থাপন করতে হবে এবং আপনার মধ্যে সুরফায়ার প্লাগইন ওভাররাইড করতে হবে pom.xml

1. ভিতরে বসন্ত বুট নির্ভরতা sertোকান:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    <!-- FIX BAMBOO DEPLOY>
    <exclusions>
        <exclusion>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </exclusion>
    </exclusions>
    <!---->
</dependency>

2. নতুন জুনিট 5 নির্ভরতা যুক্ত করুন:

<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-api</artifactId>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-engine</artifactId>
    <version>5.1.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.junit.vintage</groupId>
    <artifactId>junit-vintage-engine</artifactId>
    <version>5.1.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.junit.platform</groupId>
    <artifactId>junit-platform-launcher</artifactId>
    <version>1.1.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.junit.platform</groupId>
    <artifactId>junit-platform-runner</artifactId>
    <version>1.1.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.junit.platform</groupId>
    <artifactId>junit-platform-surefire-provider</artifactId>
    <version>1.1.0</version>
    <scope>test</scope>
</dependency>

৩. প্লাগইন বিভাগে নতুন প্লাগইন .োকান

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <dependencies>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-surefire-provider</artifactId>
            <version>1.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.1.0</version>
        </dependency>
    </dependencies>
</plugin>

বাঁশের তৈরিগুলি মেরামত করার জন্য এটি যথেষ্ট হওয়া উচিত। জুনিট 5 সমর্থন করার জন্য সমস্ত জুনিট 4 পরীক্ষার রূপান্তরও ভুলবেন না।


2

এটি pom.xML এ সেট করা আমার পক্ষে কাজ করেছিল। তবে আপনার অন্য কাজের ক্ষেত্রগুলির জন্য ডকুমেন্টেশন চেক করা উচিত https://maven.apache.org/surefire/maven-surefire-plugin/example/class-loading.html

       <plugin>

            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <!--these strange settings fixes a chrash and dumpstream from surefire when run from command line
                    Caused by: java.lang.ClassNotFoundException: org.apache.maven.surefire.booter.ForkedBooter
                -->
                <useSystemClassLoader>true</useSystemClassLoader>
                <useManifestOnlyJar>false</useManifestOnlyJar>
            </configuration>
        </plugin>

2

পরীক্ষায় ব্যবহৃত কাঁটাযুক্ত জেভিএমের স্মৃতিশক্তি শেষ is সমাধানটি হ'ল জেভিএমকে কাঁটাচামচ করা এবং মূল জেভিএম পরীক্ষা করে চালানো অক্ষম করা আপনার পক্ষে পর্যাপ্ত স্মৃতি রয়েছে কিনা তা নিশ্চিত করা বা কাঁটাযুক্ত জেভিএমের স্মৃতিশক্তি বাড়াতে আরোগুলি পাস করা

এই উত্তরের সমাধান দেখুন


1

জেনকিন্স একটি উবুন্টু মেশিন তৈরি করার সময় আমি এই সমস্যার মধ্যে পড়েছিলাম।

/var/log/syslogরিপোর্ট Out of memory: Kill process 19557 (java) score 207 or sacrifice child

আমি তাই উবুন্টু মেশিন আরো swap 'র স্থান দিয়েছেন । তার পর থেকে সমস্যাটি চলে যায়।


1

এই ইস্যুতে আমার রেজোলিউশনটি হ'ল অভিযুক্ত ক্রোম ব্রাউজারটি বন্ধ করা যা আমার কম্পিউটারের স্মৃতিশক্তি ch



1

উইন্ডোজে (ওপেনজেডিকে 11, ম্যাভেন 3.6.0, সুরফায়ার 3.0.0-এম 1) আমি সেই মূল কারণটি পেয়েছি:

# Created at 2018-11-14T14:28:15.629
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000006c7500000, 522190848, 0) failed; error='The paging file is too small for this operation to complete' (DOS error/errno=1455)

মত পেজিং ফাইলের আকার যেমন বাড়িয়ে সমাধান এই


লিনাক্স-এ (4.4.0-145-জেনেরিক, এএমডি 64) জেনকিন্স কাজের জন্য ওরাকল জেআরই 8 থেকে অ্যাডাপ্টওপেনজেডিকে_8 ইউ 202 বি08 এ পরিবর্তিত হয়েছে এবং এটি "কাঁটাচামচ" ত্রুটি তৈরি করতে শুরু করেছে: - "গোলটি org.apache.maven.plugins এর ডিফল্ট-পরীক্ষা : মেভেন-শিফারফায়ার-প্লাগইন: 2.19.1: পরীক্ষা ব্যর্থ: সঠিকভাবে বিদায় না বলে কাঁটা ভিএম শেষ করা হয়েছে। ভিএম ক্র্যাশ বা সিস্টেম.এক্সিট বলা হয়? " - ওরাকল জেআরই-তে ফিরে এসে ত্রুটি বন্ধ হয়ে গেছে। এই সমস্যাটি হ'ল এটিই একমাত্র কাজ (আমাদের প্রায় 300 এর)। ভাগ্যক্রমে এটি কেবলমাত্র একটি অভ্যন্তরীণ প্রকল্প, কোনও ক্লায়েন্ট বিতরণযোগ্য কো নয় যা আমরা এটি সান / ওরাকল জেআরইতে রাখতে পারি।
রবার্ট

1

উপরের সব চেষ্টা, কাজ হয়নি। নীচে সমাধান আমার জন্য কাজ করে:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
    <argLine>-Dfile.encoding=UTF-8</argLine>
</configuration>


এই সঠিক প্লাগইন সংস্করণটি আমাকে pেকে দিয়েছে। Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T21:41:47+03:00) Java version: 1.8.0_201, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_201\jre Default locale: en_US, platform encoding: Cp1252 OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
যাইহোক

1

আমারও একই সমস্যা ছিল এবং ওপেনজডিকি থেকে জাভা 10 এর পরিবর্তে ওরাকল থেকে জাভা 8 ব্যবহার করে সমাধান করা হয়েছে


1

আমি প্রদত্ত সমস্ত সমাধান (কাঁটাচামচ, সিস্টেমলোডার, আরও মেমরি ইত্যাদি) চেষ্টা করেছিলাম, কিছুই কার্যকর হয়নি।

পরিবেশ : বিল্ডটি গিটলব সিআই পরিবেশে ব্যর্থ হয়েছে, ডকারের ধারকের ভিতরে বিল্ডটি চালাচ্ছে।

সমাধান : আমরা ২.২০.১ সংস্করণে নিশ্চিত ফায়ার প্লাগিন ব্যবহার করেছি এবং ২.২০.০ বা তার চেয়ে বেশি আপগ্রেড করেছি (আমরা ২.২২.১ ব্যবহার করেছি) সমস্যাটি সমাধান করে।

কারণ : স্যুরফায়ার -১22২২ - নিশ্চিত অগ্নি কমান্ডটি ব্যবহার করে psযা ডকার পরিবেশে উপলব্ধ ছিল না এবং "ক্র্যাশ" হতে পারে। এই ইস্যুটি 2.21.0 বা তার চেয়ে বড় ক্ষেত্রে স্থির করা হয়েছে।

অন্য প্রশ্নের এই উত্তরটির জন্য ধন্যবাদ: https://stackoverflow.com/a/50568662/2970422


1

আমি এই সমস্যাটিতে ম্যাকস-এও ছড়িয়ে পড়েছিলাম, যখন পোর্ট 5005-তে রিমোট ডিবাগিং সেলেনিয়াম টেস্ট কোডটি ছিল sure Eclipse IDE টার্মিনালে লগ আউটপুট অন্তর্নিহিত সমস্যাটি দেখায় নি যা ইতিমধ্যে ব্যবহৃত ঠিকানা ছিল । লগ বার্তাটি কেবল তখনই দেখানো হয়েছিল যখন আমি কোনও ম্যাকওএস টার্মিনালে একই কমান্ডটি চালিয়েছিলাম যা বাস্তুচক্র বাস্তবে চালানোর চেষ্টা করছিল:

/bin/sh -c cd /path/to/your/project/directory && /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/bin/java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -jar /path/to/target/surefire/surefirebooter230340673926465933.jar /path/to/target/surefire 2019-06-28T10-50-02_140-jvmRun1 surefire6455775580414993159tmp surefire_02461993428448591420tmp

দুর্বৃত্ত জেভিএম উদাহরণ হত্যা (ক্রিয়াকলাপ মনিটরে জাভা প্রক্রিয়া নামের সন্ধান করুন) সমস্যাটি স্থির করেছে। উপায় দ্বারা, আমি ওপেন জেডকে 8 (v1.8.0_212) কোনও সমস্যা ছাড়াই নিশ্চিতফায়ার প্লাগইন সংস্করণ 2.21.0 চালাচ্ছি। মনে রাখবেন যে সমস্ত পাথ আপনার বিল্ড এনভায়রনমেন্ট এবং সম্ভবত বন্দরটির জন্য নির্দিষ্ট হবে (ঠিকানা = 5005)।


1

মাভেন টেস্ট ব্যবহার করে ইউনিট পরীক্ষা চালানোর সময় আমি একই সমস্যার মুখোমুখি ছিলাম। নিশ্চিতরূপের সংস্করণগুলি পরিবর্তনের চেষ্টা করা হয়েছে তবে এটি কার্যকর নয়। অবশেষে নিম্নরূপে সমাধান করতে পরিচালিত: শুরুর দিকে: (যখন সমস্যাটি ঘটছিল): জাভাক জেডিকে থেকে এসেছে 1.8 জাভা জেডকে ১.১১ থেকে জাভা বিনটির দিকে ইশারা করছিল: (সমস্যাটি সমাধান হয়ে গেলে): জাভা এবং জাভা উভয়ই ইঙ্গিত করছে jdk 1.8 থেকে বিনগুলি

শ্রদ্ধা তেজা।


0

আমার পরীক্ষার শ্রেণিতে স্থিতিশীল সদস্যের পরিবর্তনশীল হওয়ার পরে আমি এই ত্রুটিটি অনুভব করেছি যে কোনও বস্তু তৈরি করার পদ্ধতিটি (যা পুরো শ্রেণীর পরীক্ষার ক্ষেত্রে ব্যবহৃত হত) বলেছিল এবং পদ্ধতিটি তার ব্যতিক্রম ঘটায়।

// Object created inside test class by calling a static getter.
// Exception thrown in getter:
private static Object someObject = SomeObject.getObject(...);

// ... <Object later used in class>

কিছু সংশোধনগুলির মধ্যে প্রতিটি পরীক্ষার কেসের ভিতরে অবজেক্টটি পুনরায় তৈরি করা এবং সেই অনুসারে কোনও ব্যতিক্রম ধরা include বা @BeforeTest পদ্ধতির ভিতরে অবজেক্টটি আরম্ভ করে এবং এটি সঠিকভাবে নির্মিত হয়েছে তা নিশ্চিত করে।


0

আমার ক্ষেত্রে, বিষয়টি কর্মক্ষেত্রের পথে সম্পর্কিত যা দীর্ঘকালীন ছিল। সুতরাং আমি একটি পাথ রিফ্যাক্টরিং করেছি এবং এটি আমার কাছে সমস্যাটি সমাধান করেছে।


এটা কি উইন্ডোজ মেশিনে ছিল?
হিটউইন

হ্যাঁ, এটি উইন্ডোতে চলছে।
থিয়াগো-ডেভেল

আপনি এটি কিভাবে পেলেন?
dzieciou
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.