Hi, yes will do. At the moment I am analyzing the problematic test runs. We had many other failures last night all looking a bit different (no crushes, but assertions failing). I will disable compact strings one more time to see if this makes it better. I still have the feeling that it could be related to that! But definitely the compact strings issue seen last time looks solved.
Uwe ----- Uwe Schindler H.-H.-Meier-Allee 63, D-28213 Bremen http://www.thetaphi.de eMail: [email protected] > -----Original Message----- > From: Rory O'Donnell [mailto:[email protected]] > Sent: Tuesday, February 16, 2016 9:39 AM > To: [email protected] > Cc: [email protected]; 'Dalibor Topic' <[email protected]>; > 'Balchandra Vaidya' <[email protected]>; 'Muneer Kolarkunnu' > <[email protected]> > Subject: Re: [JENKINS-EA] Lucene-Solr-5.x-Linux (64bit/jdk-9-ea+105) - Build > # 15587 - Still Failing! > > Hi Uwe, > > Let us know the incident number if it turns out to be a JDK 9 issue. > > Thanks,Rory > > On 15/02/2016 22:30, Uwe Schindler wrote: > > Hi Rory, hi committers, > > > > Unless this is a new bug in Lucene Master (but there was no related > commit!!!), this looks like a new bug in Java 9 build 105. > > > > Uwe > > > > ----- > > Uwe Schindler > > H.-H.-Meier-Allee 63, D-28213 Bremen > > http://www.thetaphi.de > > eMail: [email protected] > > > > > >> -----Original Message----- > >> From: Policeman Jenkins Server [mailto:[email protected]] > >> Sent: Monday, February 15, 2016 11:26 PM > >> To: [email protected]; [email protected] > >> Subject: [JENKINS-EA] Lucene-Solr-5.x-Linux (64bit/jdk-9-ea+105) - Build # > >> 15587 - Still Failing! > >> Importance: Low > >> > >> Build: http://jenkins.thetaphi.de/job/Lucene-Solr-5.x-Linux/15587/ > >> Java: 64bit/jdk-9-ea+105 -XX:-UseCompressedOops -XX:+UseG1GC -XX:- > >> UseSuperWord > >> > >> 2 tests failed. > >> FAILED: > >> > org.apache.lucene.search.TestMinShouldMatch2.testNextVaryingNumberOf > >> Terms > >> > >> Error Message: > >> > >> > >> Stack Trace: > >> java.lang.AssertionError > >> at > >> > __randomizedtesting.SeedInfo.seed([F872E59E6028464C:7A3791B3AC63E2D] > >> :0) > >> at > >> > org.apache.lucene.search.BooleanScorer.scoreWindowIntoBitSetAndReplay( > >> BooleanScorer.java:218) > >> at > >> > org.apache.lucene.search.BooleanScorer.scoreWindowMultipleScorers(Bool > >> eanScorer.java:266) > >> at > >> > org.apache.lucene.search.BooleanScorer.scoreWindow(BooleanScorer.java: > >> 311) > >> at > >> org.apache.lucene.search.BooleanScorer.score(BooleanScorer.java:335) > >> at > >> > org.apache.lucene.search.BulkScorerWrapperScorer.refill(BulkScorerWrappe > >> rScorer.java:52) > >> at > >> > org.apache.lucene.search.BulkScorerWrapperScorer.access$500(BulkScorer > >> WrapperScorer.java:25) > >> at > >> > org.apache.lucene.search.BulkScorerWrapperScorer$2.advance(BulkScorer > >> WrapperScorer.java:101) > >> at > >> > org.apache.lucene.search.BulkScorerWrapperScorer$2.nextDoc(BulkScorer > >> WrapperScorer.java:95) > >> at > >> > org.apache.lucene.search.TestMinShouldMatch2.assertNext(TestMinShould > >> Match2.java:157) > >> at > >> > org.apache.lucene.search.TestMinShouldMatch2.testNextVaryingNumberOf > >> Terms(TestMinShouldMatch2.java:278) > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >> at > >> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j > >> ava:62) > >> at > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces > >> sorImpl.java:43) > >> at java.lang.reflect.Method.invoke(Method.java:520) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(Randomize > >> dRunner.java:1764) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(Rando > >> mizedRunner.java:871) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(Rando > >> mizedRunner.java:907) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(Rand > >> omizedRunner.java:921) > >> at > >> > org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRule > >> SetupTeardownChained.java:49) > >> at > >> > org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeA > >> fterRule.java:45) > >> at > >> > org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleTh > >> readAndTestName.java:48) > >> at > >> > org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRule > >> IgnoreAfterMaxFailures.java:64) > >> at > >> > org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure > >> .java:47) > >> at > >> > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(Stat > >> ementAdapter.java:36) > >> at > >> > com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner. > >> run(ThreadLeakControl.java:367) > >> at > >> > com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask > >> (ThreadLeakControl.java:809) > >> at > >> > com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadL > >> eakControl.java:460) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(Ran > >> domizedRunner.java:880) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(Rando > >> mizedRunner.java:781) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(Rando > >> mizedRunner.java:816) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(Rando > >> mizedRunner.java:827) > >> at > >> > org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeA > >> fterRule.java:45) > >> at > >> > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(Stat > >> ementAdapter.java:36) > >> at > >> > org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreCl > >> assName.java:41) > >> at > >> > com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMet > >> hodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40) > >> at > >> > com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMet > >> hodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40) > >> at > >> > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(Stat > >> ementAdapter.java:36) > >> at > >> > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(Stat > >> ementAdapter.java:36) > >> at > >> > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(Stat > >> ementAdapter.java:36) > >> at > >> > org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAss > >> ertionsRequired.java:53) > >> at > >> > org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure > >> .java:47) > >> at > >> > org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRule > >> IgnoreAfterMaxFailures.java:64) > >> at > >> > org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnore > >> TestSuites.java:54) > >> at > >> > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(Stat > >> ementAdapter.java:36) > >> at > >> > com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner. > >> run(ThreadLeakControl.java:367) > >> at java.lang.Thread.run(Thread.java:804) > >> > >> > >> FAILED: > org.apache.lucene.search.TestMinShouldMatch2.testNextAllTerms > >> > >> Error Message: > >> > >> > >> Stack Trace: > >> java.lang.AssertionError > >> at > >> > __randomizedtesting.SeedInfo.seed([F872E59E6028464C:D7BB4B14D0235E7 > >> E]:0) > >> at > >> > org.apache.lucene.search.BooleanScorer.scoreWindowIntoBitSetAndReplay( > >> BooleanScorer.java:218) > >> at > >> > org.apache.lucene.search.BooleanScorer.scoreWindowMultipleScorers(Bool > >> eanScorer.java:266) > >> at > >> > org.apache.lucene.search.BooleanScorer.scoreWindow(BooleanScorer.java: > >> 311) > >> at > >> org.apache.lucene.search.BooleanScorer.score(BooleanScorer.java:335) > >> at > >> > org.apache.lucene.search.BulkScorerWrapperScorer.refill(BulkScorerWrappe > >> rScorer.java:52) > >> at > >> > org.apache.lucene.search.BulkScorerWrapperScorer.access$500(BulkScorer > >> WrapperScorer.java:25) > >> at > >> > org.apache.lucene.search.BulkScorerWrapperScorer$2.advance(BulkScorer > >> WrapperScorer.java:101) > >> at > >> > org.apache.lucene.search.BulkScorerWrapperScorer$2.nextDoc(BulkScorer > >> WrapperScorer.java:95) > >> at > >> > org.apache.lucene.search.TestMinShouldMatch2.assertNext(TestMinShould > >> Match2.java:157) > >> at > >> > org.apache.lucene.search.TestMinShouldMatch2.testNextAllTerms(TestMin > >> ShouldMatch2.java:237) > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >> at > >> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j > >> ava:62) > >> at > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces > >> sorImpl.java:43) > >> at java.lang.reflect.Method.invoke(Method.java:520) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(Randomize > >> dRunner.java:1764) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(Rando > >> mizedRunner.java:871) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(Rando > >> mizedRunner.java:907) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(Rand > >> omizedRunner.java:921) > >> at > >> > org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRule > >> SetupTeardownChained.java:49) > >> at > >> > org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeA > >> fterRule.java:45) > >> at > >> > org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleTh > >> readAndTestName.java:48) > >> at > >> > org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRule > >> IgnoreAfterMaxFailures.java:64) > >> at > >> > org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure > >> .java:47) > >> at > >> > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(Stat > >> ementAdapter.java:36) > >> at > >> > com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner. > >> run(ThreadLeakControl.java:367) > >> at > >> > com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask > >> (ThreadLeakControl.java:809) > >> at > >> > com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadL > >> eakControl.java:460) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(Ran > >> domizedRunner.java:880) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(Rando > >> mizedRunner.java:781) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(Rando > >> mizedRunner.java:816) > >> at > >> > com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(Rando > >> mizedRunner.java:827) > >> at > >> > org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeA > >> fterRule.java:45) > >> at > >> > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(Stat > >> ementAdapter.java:36) > >> at > >> > org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreCl > >> assName.java:41) > >> at > >> > com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMet > >> hodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40) > >> at > >> > com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMet > >> hodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40) > >> at > >> > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(Stat > >> ementAdapter.java:36) > >> at > >> > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(Stat > >> ementAdapter.java:36) > >> at > >> > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(Stat > >> ementAdapter.java:36) > >> at > >> > org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAss > >> ertionsRequired.java:53) > >> at > >> > org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure > >> .java:47) > >> at > >> > org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRule > >> IgnoreAfterMaxFailures.java:64) > >> at > >> > org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnore > >> TestSuites.java:54) > >> at > >> > com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(Stat > >> ementAdapter.java:36) > >> at > >> > com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner. > >> run(ThreadLeakControl.java:367) > >> at java.lang.Thread.run(Thread.java:804) > >> > >> > >> > >> > >> Build Log: > >> [...truncated 964 lines...] > >> [junit4] Suite: org.apache.lucene.search.TestMinShouldMatch2 > >> [junit4] 2> NOTE: reproduce with: ant test - > >> Dtestcase=TestMinShouldMatch2 - > >> Dtests.method=testNextVaryingNumberOfTerms - > >> Dtests.seed=F872E59E6028464C -Dtests.multiplier=3 -Dtests.slow=true - > >> Dtests.locale=ar-EH -Dtests.timezone=Australia/Yancowinna - > >> Dtests.asserts=true -Dtests.file.encoding=US-ASCII > >> [junit4] FAILURE 0.08s J0 | > >> TestMinShouldMatch2.testNextVaryingNumberOfTerms <<< > >> [junit4] > Throwable #1: java.lang.AssertionError > >> [junit4] > at > >> > __randomizedtesting.SeedInfo.seed([F872E59E6028464C:7A3791B3AC63E2D] > >> :0) > >> [junit4] > at > >> > org.apache.lucene.search.BooleanScorer.scoreWindowIntoBitSetAndReplay( > >> BooleanScorer.java:218) > >> [junit4] > at > >> > org.apache.lucene.search.BooleanScorer.scoreWindowMultipleScorers(Bool > >> eanScorer.java:266) > >> [junit4] > at > >> > org.apache.lucene.search.BooleanScorer.scoreWindow(BooleanScorer.java: > >> 311) > >> [junit4] > at > >> org.apache.lucene.search.BooleanScorer.score(BooleanScorer.java:335) > >> [junit4] > at > >> > org.apache.lucene.search.BulkScorerWrapperScorer.refill(BulkScorerWrappe > >> rScorer.java:52) > >> [junit4] > at > >> > org.apache.lucene.search.BulkScorerWrapperScorer.access$500(BulkScorer > >> WrapperScorer.java:25) > >> [junit4] > at > >> > org.apache.lucene.search.BulkScorerWrapperScorer$2.advance(BulkScorer > >> WrapperScorer.java:101) > >> [junit4] > at > >> > org.apache.lucene.search.BulkScorerWrapperScorer$2.nextDoc(BulkScorer > >> WrapperScorer.java:95) > >> [junit4] > at > >> > org.apache.lucene.search.TestMinShouldMatch2.assertNext(TestMinShould > >> Match2.java:157) > >> [junit4] > at > >> > org.apache.lucene.search.TestMinShouldMatch2.testNextVaryingNumberOf > >> Terms(TestMinShouldMatch2.java:278) > >> [junit4] > at java.lang.Thread.run(Thread.java:804) > >> [junit4] 2> NOTE: reproduce with: ant test - > >> Dtestcase=TestMinShouldMatch2 -Dtests.method=testNextAllTerms - > >> Dtests.seed=F872E59E6028464C -Dtests.multiplier=3 -Dtests.slow=true - > >> Dtests.locale=ar-EH -Dtests.timezone=Australia/Yancowinna - > >> Dtests.asserts=true -Dtests.file.encoding=US-ASCII > >> [junit4] FAILURE 0.01s J0 | TestMinShouldMatch2.testNextAllTerms <<< > >> [junit4] > Throwable #1: java.lang.AssertionError > >> [junit4] > at > >> > __randomizedtesting.SeedInfo.seed([F872E59E6028464C:D7BB4B14D0235E7 > >> E]:0) > >> [junit4] > at > >> > org.apache.lucene.search.BooleanScorer.scoreWindowIntoBitSetAndReplay( > >> BooleanScorer.java:218) > >> [junit4] > at > >> > org.apache.lucene.search.BooleanScorer.scoreWindowMultipleScorers(Bool > >> eanScorer.java:266) > >> [junit4] > at > >> > org.apache.lucene.search.BooleanScorer.scoreWindow(BooleanScorer.java: > >> 311) > >> [junit4] > at > >> org.apache.lucene.search.BooleanScorer.score(BooleanScorer.java:335) > >> [junit4] > at > >> > org.apache.lucene.search.BulkScorerWrapperScorer.refill(BulkScorerWrappe > >> rScorer.java:52) > >> [junit4] > at > >> > org.apache.lucene.search.BulkScorerWrapperScorer.access$500(BulkScorer > >> WrapperScorer.java:25) > >> [junit4] > at > >> > org.apache.lucene.search.BulkScorerWrapperScorer$2.advance(BulkScorer > >> WrapperScorer.java:101) > >> [junit4] > at > >> > org.apache.lucene.search.BulkScorerWrapperScorer$2.nextDoc(BulkScorer > >> WrapperScorer.java:95) > >> [junit4] > at > >> > org.apache.lucene.search.TestMinShouldMatch2.assertNext(TestMinShould > >> Match2.java:157) > >> [junit4] > at > >> > org.apache.lucene.search.TestMinShouldMatch2.testNextAllTerms(TestMin > >> ShouldMatch2.java:237) > >> [junit4] > at java.lang.Thread.run(Thread.java:804) > >> [junit4] 2> NOTE: test params are: codec=Asserting(Lucene54): > >> {field=PostingsFormat(name=Direct)}, > >> docValues:{dv=DocValuesFormat(name=SimpleText)}, > sim=DefaultSimilarity, > >> locale=ar-EH, timezone=Australia/Yancowinna > >> [junit4] 2> NOTE: Linux 3.19.0-47-generic amd64/Oracle Corporation 9- > ea > >> (64-bit)/cpus=12,threads=1,free=183592752,total=536870912 > >> [junit4] 2> NOTE: All tests run in this JVM: [TestSumDocFreq, > >> TestQueryRescorer, TestSortRandom, TestSimpleFSDirectory, > >> TestIndexWriterWithThreads, TestToken, Test2BPagedBytes, > >> TestRegexpQuery, TestVersion, TestSortedNumericSortField, > >> TestPayloadsOnVectors, TestApproximationSearchEquivalence, > >> TestCollectionUtil, TestArrayUtil, TestBooleanQuery, > >> TestLevenshteinAutomata, TestDocBoost, TestDateFilter, > >> TestIndexWriterNRTIsCurrent, TestLucene50StoredFieldsFormat, > >> TestBytesRefHash, TestIndexWriter, TestCustomSearcherSort, > >> TestIndexWriterDelete, TestDeletionPolicy, TestBooleanRewrites, > >> TestMultiPhraseQuery, TestBagOfPositions, TestIOUtils, > >> TestIndexWriterOutOfFileDescriptors, TestDoc, > >> TestParallelReaderEmptyIndex, TestIndexFileDeleter, TestNot, > >> TestTotalHitCountCollector, TestSubScorerFreqs, > TestMergePolicyWrapper, > >> TestTryDelete, TestParallelTermEnum, TestTimSorter, > >> TestNumericRangeQuery64, TestMinimize, TestSpansAdvanced, > >> TestSnapshotDeletionPolicy, TestHugeRamFile, > TestSleepingLockWrapper, > >> TestEarlyTermination, TestMixedCodecs, TestPhrasePrefixQuery, > >> TestLucene53NormsFormat, TestDocsAndPositions, > >> TestElevationComparator, TestIndexWriterFromReader, TestCodecUtil, > >> TestConjunctionDISI, Test2BPositions, TestMinShouldMatch2] > >> [junit4] Completed [180/421 (1!)] on J0 in 25.62s, 6 tests, 2 failures > >> <<< > >> FAILURES! > >> > >> [...truncated 790 lines...] > >> BUILD FAILED > >> /home/jenkins/workspace/Lucene-Solr-5.x-Linux/build.xml:750: The > >> following error occurred while executing this line: > >> /home/jenkins/workspace/Lucene-Solr-5.x-Linux/build.xml:694: The > >> following error occurred while executing this line: > >> /home/jenkins/workspace/Lucene-Solr-5.x-Linux/build.xml:59: The > >> following error occurred while executing this line: > >> /home/jenkins/workspace/Lucene-Solr-5.x-Linux/lucene/build.xml:50: > The > >> following error occurred while executing this line: > >> /home/jenkins/workspace/Lucene-Solr-5.x-Linux/lucene/common- > >> build.xml:1477: The following error occurred while executing this line: > >> /home/jenkins/workspace/Lucene-Solr-5.x-Linux/lucene/common- > >> build.xml:1033: There were test failures: 421 suites (1 ignored), 3386 > >> tests, > 2 > >> failures, 144 ignored (140 assumptions) [seed: F872E59E6028464C] > >> > >> Total time: 7 minutes 17 seconds > >> Build step 'Invoke Ant' marked build as failure > >> Archiving artifacts > >> [WARNINGS] Skipping publisher since build result is FAILURE > >> Recording test results > >> Email was triggered for: Failure - Any > >> Sending email for trigger: Failure - Any > >> > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > -- > Rgds,Rory O'Donnell > Quality Engineering Manager > Oracle EMEA , Dublin, Ireland > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
