Skip to content

Commit

Permalink
Updated section about the debug build.
Browse files Browse the repository at this point in the history
  • Loading branch information
jlesage committed Jul 17, 2018
1 parent a7d631f commit ae62b67
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 8 deletions.
21 changes: 17 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ HandBrake is a tool for converting video from nearly any format to a selection o
* [unRAID](#unraid-1)
* [Nightly Builds](#nightly-builds)
* [Debug Builds](#debug-builds)
* [unRAID](#unraid-2)
* [Support or Contact](#support-or-contact)

## Quick Start
Expand Down Expand Up @@ -655,9 +656,9 @@ Debug builds can be used to better investigate problems that can occur with
HandBrake. These builds have HandBrake
compiled in debug mode and all symbols are kept.
The main use case of debug builds is debugging a crash. To do it, a core dump
The main use case of debug builds is debugging a crash. To do this, a core dump
needs to be generated when HandBrake crashes. To make sure
this appends, two things are required:
this core dump is properly generated, two things are required:
1. Core dumps must be enabled. This is done by setting the maximum size of
cores via the `--ulimit core=-1` parameter of the `docker run` command.
Expand All @@ -668,8 +669,15 @@ this appends, two things are required:
echo 'CORE_PATTERN' | sudo tee /proc/sys/kernel/core_pattern
```
Where `CORE_PATTERN` is the template that defines the naming of core dump
files. For example, to set the files in the config folder for easy
retrieval, use the pattern `/config/core.%e.%t`.
files. For example, to set the files in the configuration volume of the
container (for easy retrieval from the host), use the pattern
`/config/core.%e.%t`.
**NOTE**: Because a core file contains the complete memory layout of an
application, it is created with restrictive permissions. If another user
other than the one used to run HandBrake needs to access
the core file, permissions must be changed by executing
`chmod a+r CORE`, where `CORE` is the path to the core file.
**NOTE**: Since the core dump files pattern is shared between the host and
the container, you may want to revert to the original pattern once
Expand All @@ -689,6 +697,11 @@ docker run [OPTIONS..] jlesage/handbrake:v1.14.3-debug
[tags on Docker Hub]: https://hub.docker.com/r/jlesage/handbrake/tags/
### unRAID
On systems running unRAID, the `--ulimit core=-1` parameter can be added to the
`Extra Parameters` field of the container settings.
[TimeZone]: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
## Support or Contact
Expand Down
22 changes: 18 additions & 4 deletions appdefs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -260,9 +260,9 @@ Debug builds can be used to better investigate problems that can occur with
{{ defs.app.friendly_name }}. These builds have {{ defs.app.friendly_name }}
compiled in debug mode and all symbols are kept.

The main use case of debug builds is debugging a crash. To do it, a core dump
The main use case of debug builds is debugging a crash. To do this, a core dump
needs to be generated when {{ defs.app.friendly_name }} crashes. To make sure
this appends, two things are required:
this core dump is properly generated, two things are required:

1. Core dumps must be enabled. This is done by setting the maximum size of
cores via the `--ulimit core=-1` parameter of the `docker run` command.
Expand All @@ -273,8 +273,15 @@ this appends, two things are required:
echo 'CORE_PATTERN' | sudo tee /proc/sys/kernel/core_pattern
```
Where `CORE_PATTERN` is the template that defines the naming of core dump
files. For example, to set the files in the config folder for easy
retrieval, use the pattern `/config/core.%e.%t`.
files. For example, to set the files in the configuration volume of the
container (for easy retrieval from the host), use the pattern
`/config/core.%e.%t`.

**NOTE**: Because a core file contains the complete memory layout of an
application, it is created with restrictive permissions. If another user
other than the one used to run {{ defs.app.friendly_name }} needs to access
the core file, permissions must be changed by executing
`chmod a+r CORE`, where `CORE` is the path to the core file.

**NOTE**: Since the core dump files pattern is shared between the host and
the container, you may want to revert to the original pattern once
Expand All @@ -295,6 +302,13 @@ docker run [OPTIONS..] jlesage/{{ defs.app.name }}:v1.14.3-debug
[tags on Docker Hub]: https://hub.docker.com/r/jlesage/{{ defs.app.name }}/tags/
</content>
</section>
<section>
<title level="3">unRAID</title>
<content>
On systems running unRAID, the `--ulimit core=-1` parameter can be added to the
`Extra Parameters` field of the container settings.
</content>
</section>
</documentation>
<!-- Changelog of the application. -->
<history>
Expand Down

1 comment on commit ae62b67

@cybrnook
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice!

Please sign in to comment.