Skip to content

Commit 6ca4d97

Browse files
Set -XX:ErrorFile everywhere for JVM crashes
1 parent 5d996c2 commit 6ca4d97

5 files changed

Lines changed: 17 additions & 5 deletions

File tree

.circleci/config.yml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ jobs:
9393
- run:
9494
name: Build Project
9595
command: >-
96-
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2G -Xms64M' -Ddatadog.forkedMaxHeapSize=2G -Ddatadog.forkedMinHeapSize=64M"
96+
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2G -Xms64M -XX:ErrorFile=/tmp/hs_err_pid%p.log' -Ddatadog.forkedMaxHeapSize=2G -Ddatadog.forkedMinHeapSize=64M"
9797
./gradlew clean :dd-java-agent:shadowJar compileTestGroovy compileLatestDepTestGroovy compileTestScala compileLatestDepTestScala compileTestJava compileLatestDepTestJava
9898
<< pipeline.parameters.gradle_flags >>
9999
--max-workers=8
@@ -148,7 +148,7 @@ jobs:
148148
- run:
149149
name: Run Tests
150150
command: >-
151-
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2G -Xms64M' -Ddatadog.forkedMaxHeapSize=4G -Ddatadog.forkedMinHeapSize=64M"
151+
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2G -Xms64M -XX:ErrorFile=/tmp/hs_err_pid%p.log' -Ddatadog.forkedMaxHeapSize=4G -Ddatadog.forkedMinHeapSize=64M"
152152
./gradlew <<# parameters.prefixTestTask>>testJava<</ parameters.prefixTestTask>><< parameters.testTask >>
153153
<< pipeline.parameters.gradle_flags >>
154154
--max-workers=6
@@ -191,7 +191,7 @@ jobs:
191191
- run:
192192
name: Build Project
193193
command: >-
194-
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2G -Xms64M' -Ddatadog.forkedMaxHeapSize=4G -Ddatadog.forkedMinHeapSize=64M"
194+
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2G -Xms64M -XX:ErrorFile=/tmp/hs_err_pid%p.log' -Ddatadog.forkedMaxHeapSize=4G -Ddatadog.forkedMinHeapSize=64M"
195195
./gradlew build -PskipTests
196196
<< pipeline.parameters.gradle_flags >>
197197
--max-workers=8
@@ -201,7 +201,7 @@ jobs:
201201
command: |
202202
mvn_local_repo=$(mvn help:evaluate -Dexpression=settings.localRepository -q -DforceStdout)
203203
rm -rf "${mvn_local_repo}/com/datadoghq"
204-
export GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2G -Xms64M' -Ddatadog.forkedMaxHeapSize=4G -Ddatadog.forkedMinHeapSize=64M"
204+
export GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2G -Xms64M -XX:ErrorFile=/tmp/hs_err_pid%p.log' -Ddatadog.forkedMaxHeapSize=4G -Ddatadog.forkedMinHeapSize=64M"
205205
./gradlew install << pipeline.parameters.gradle_flags >> --max-workers=6
206206
cd test-published-dependencies
207207
../gradlew check
@@ -240,11 +240,19 @@ jobs:
240240
name: Verify Muzzle
241241
command: >-
242242
SKIP_BUILDSCAN="true"
243-
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx4G -Xms64M' -Ddatadog.forkedMaxHeapSize=4G -Ddatadog.forkedMinHeapSize=64M"
243+
GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx4G -Xms64M -XX:ErrorFile=/tmp/hs_err_pid%p.log' -Ddatadog.forkedMaxHeapSize=4G -Ddatadog.forkedMinHeapSize=64M"
244244
./gradlew `circleci tests split --split-by=timings workspace/build/muzzleTasks | xargs`
245245
<< pipeline.parameters.gradle_flags >>
246246
--max-workers=16
247247
248+
- run:
249+
name: Collect Reports
250+
when: on_fail
251+
command: .circleci/collect_reports.sh
252+
253+
- store_artifacts:
254+
path: ./reports
255+
248256
- store_test_results:
249257
path: workspace/build/muzzle-test-results
250258

dd-java-agent/src/test/java/datadog/trace/agent/test/IntegrationTestUtils.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ public static int runOnSeparateJvm(
189189

190190
final List<String> vmArgsList = new ArrayList<>(Arrays.asList(jvmArgs));
191191
vmArgsList.add(getAgentArgument());
192+
vmArgsList.add("-XX:ErrorFile=/tmp/hs_err_pid%p.log");
192193

193194
final List<String> commands = new ArrayList<>();
194195
commands.add(path);

dd-smoke-tests/field-injection/src/test/groovy/datadog/smoketest/FieldInjectionSmokeTest.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ class FieldInjectionSmokeTest extends Specification {
4141
List<String> command = new ArrayList<>()
4242
command.add(javaPath())
4343
command.add("-javaagent:${shadowJarPath}" as String)
44+
command.add("-XX:ErrorFile=/tmp/hs_err_pid%p.log")
4445
command.add("-Ddd.writer.type=TraceStructureWriter")
4546
command.add("-Ddd.trace.debug=true")
4647
command.add("-jar")

dd-smoke-tests/slf4j-mdc/src/test/groovy/datadog/smoketest/Slf4jMDCSmokeTest.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class Slf4jMDCSmokeTest extends Specification {
3131
List<String> command = new ArrayList<>()
3232
command.add(javaPath())
3333
command.add("-javaagent:${shadowJarPath}" as String)
34+
command.add("-XX:ErrorFile=/tmp/hs_err_pid%p.log")
3435
command.add("-Ddd.writer.type=TraceStructureWriter")
3536
command.add("-Ddd.trace.debug=true")
3637
command.add("-Ddd.logs.injection=true")

dd-smoke-tests/src/main/groovy/datadog/smoketest/AbstractSmokeTest.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ abstract class AbstractSmokeTest extends Specification {
8484

8585
defaultJavaProperties = [
8686
"-javaagent:${shadowJarPath}",
87+
"-XX:ErrorFile=/tmp/hs_err_pid%p.log",
8788
"-Ddd.trace.agent.port=${server.address.port}",
8889
"-Ddd.service.name=smoke-test-java-app",
8990
"-Ddd.profiling.enabled=true",

0 commit comments

Comments
 (0)