Automated Crash Reporting

Posit Workbench allows you to automatically capture crash dumps for all Workbench processes and upload them to our crash database for easy reporting, allowing us to more easily determine the exact cause of crashes without adding administrative overhead to your team by requiring you to manually collect crash dumps. As user privacy is of utmost concern, these crash dumps only contain stack information, such as the names of the functions that were on the callstack at the time of the crash. No heap information is stored within the dumps, so no sensitive user data is captured in the crash dumps. The IP address of the machine uploading the reports is captured and used only to determine the unique amount of users experiencing a crash.

Crash handler configuration

A separate Workbench process is responsible for handling crashes, and may be configured similarly to other Workbench processes by modifying the configuration file /etc/rstudio/crash-handler.conf. Automated crash handling is disabled by default, though we recommend that you enable it. The following shows a table of available configuration options for /etc/rstudio/crash-handler.conf:

Config Option Description Required (Y/N) Default Value
crash-handling-enabled Enables/disables automatic capturing of crash dumps for all Workbench processes. N 0 (disabled)
crash-db-path Location of the path where crash dumps should be stored on disk. This path must be readable and writable by all Workbench users. N /tmp/crashpad_database
uploads-enabled Enables/disables automatic uploading of crash dumps to our crash reporting service. If this is disabled, you will have to manually upload crash dumps. N 1 (enabled)
upload-url Web URL where crash reports are uploaded. You should likely not change this setting unless Posit Support instructs you to do so. N
upload-proxy Proxy server to connect to when submitting the minidump. Only applicable on Linux - uses the default system-wide setting on OSX. If left blank, any system-wide setting specified will be used. This should be in the form of [scheme]://[host]:[port], where scheme may be one of the following: http https socks4 socks4a socks5 or socks5h. For more information, see https://curl.haxx.se/libcurl/c/CURLOPT_PROXY.html N

For most Workbench installations, it is sufficient to merely set crash-handling-enabled=1 in the config file , like so:

/etc/rstudio/crash-handler.conf
crash-handling-enabled=1

Manually uploading crash dumps

In some cases, you may be unable to automatically upload crash dumps to the crash reporting service because of lack of internet connectivity or simply because you want to manually upload crash dumps. Workbench allows you to manually upload crash dumps at any time by invoking the following command:

rstudio-server upload-minidump /path/to/minidump

Locally collecting crash dumps

In some environments it may not be possible to automatically upload crash dump or a crash dump may have been requested by Posit Support to assist in investigating an issue. In these situations crash dumps can be collected locally. When locally collecting crash dumps inside a container, make sure that the crash-db-path is a directory that will persist outside of the container.

/etc/rstudio/crash-handler.conf
crash-handling-enabled=1
crash-db-path=<some path>
uploads-enabled=0

The crash-db-path must be readable and writable by all Posit Workbench users and processes. If shared storage is in use creating a crash-dumps subfolder below it may be a good option.

Crash dumps will be created in the <crash-db-path>/completed directory. Once one or more crash dumps have been recorded, the entire crash-db-path directory should be archived with a tool like tar or zip and provided to Posit Support for analysis.