How do I get a coredump file from an application?

Yuri yuri at
Mon Oct 4 09:00:42 UTC 2021

Odhiambo Washington wrote:
> Hi
> root at gw:/var/log/exim # freebsd-version -kru
> 13.0-RELEASE-p4
> 13.0-RELEASE-p4
> 13.0-RELEASE-p4
> I have my MTA (Exim) crushing, with the following message in its panic.log:
> 2021-10-01 04:10:58 SIGSEGV (maybe attempt to write to immutable memory)
> 2021-10-01 04:11:26 SIGSEGV (maybe attempt to write to immutable memory)
> 2021-10-01 04:11:30 SIGSEGV (maybe attempt to write to immutable memory)
> 2021-10-01 04:11:35 SIGSEGV (maybe attempt to write to immutable memory)
> I need to obtain a coredump file from the crashing process for debugging
> purposes.
> I have manually compiled the application with the following option:
> CC=clang -ggdb
> CXX=clang++
> CPP=clang-cpp


Use the following knob documented in ports(7) and (somewhat more
verbose) in /usr/ports/Mk/

# WITH_DEBUG    - If set, debugging flags are added to CFLAGS and the
#                 binaries don't get stripped by INSTALL_PROGRAM or
#                 INSTALL_LIB. Besides, individual ports might
#                 add their specific to produce binaries for debugging
#                 purposes. You can override the debug flags that are
#                 passed to the compiler by setting DEBUG_FLAGS. It is
#                 set to "-g" at default.

> With the hopes that the binary will then come with debugging symbols.
> Additionally, I have done the following:
> mkdir -p /var/coredumps
> chmod 1777 /var/coredumps
> Added the following to /etc/sysctl.conf:
> kern.corefile=/var/coredumps/%U/%N.core
> kern.coredump=1
> And finally:
> sysctl -w kern.coredump=1
> sysctl -w kern.corefile=/var/coredumps/%U/%N.core
> sysctl -w kern.sugid_coredump=1 (this actually seems to be the default)
> Is this all that I need to do or am I missing something crucial in this
> endeavor?

Never used exim so guessing - you likely need to tell exim to actually
dump the core.

More information about the freebsd-questions mailing list