Page MenuHomePhabricator

hhvm Jenkins job fill up /tmp with stacktraces files
Closed, ResolvedPublic

Description

The Jenkins job running MediaWiki core unit tests under hhvm produces files such as /tmp/stacktrace\d+.log which are filling out /tmp on the Jenkins slaves.

Looking at hhvm source code, the path can apparently be configured with CoreDumpReportDirectory. It should probably be set to the current working directory.

$ git grep --before-context 1 stacktrace.*\.log
hphp/doc/debug.server-

hphp/doc/debug.server:Normally a crash generates /tmp/stacktrace.<pid>.log file that has stacktrace

hphp/runtime/base/crash-reporter.cpp- char tracefn[RuntimeOption::CoreDumpReportDirectory.length()
hphp/runtime/base/crash-reporter.cpp: + strlen("/stacktrace..log") + strlen(pid) + 1];

hphp/runtime/base/crash-reporter.cpp: sprintf(tracefn, "%s/stacktrace.%s.log",

hphp/util/stack-trace.h- /**
hphp/util/stack-trace.h: * Add extra information to log together with a crash stacktrace log.
$


Version: wmf-deployment
Severity: normal

Details

Reference
bz62787

Event Timeline

bzimport raised the priority of this task from to Needs Triage.Nov 22 2014, 2:59 AM
bzimport set Reference to bz62787.
bzimport added a subscriber: Unknown Object (MLST).

Assuming these are opt-in for debug, can we disable them entirely?

Change 124313 had a related patch set uploaded by Hashar:
point hhvm stacktraces to workspace log dir

https://gerrit.wikimedia.org/r/124313

Change 124313 merged by jenkins-bot:
point hhvm stacktraces to workspace log dir

https://gerrit.wikimedia.org/r/124313

Still had to verify that Gerrit change #124313 did put the stack trace to the workspace (which is cleaned on each build) instead of in /tmp/.

Looked on both slaves integration-slave1001.eqiad.wmflabs and integration-slave1002.eqiad.wmflabs and the workspaces log dir does not have stacktrace currently. I am not sure whether they are generated on each run or only on failure.

So yeah /tmp/ no more has stack traces but I am not sure what happens with them.

The stack traces no more show up in /tmp/ \O/