apport documentation incomplete and incorrect

Bug #2015603 reported by jklowden
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Apport
Triaged
Medium
Unassigned

Bug Description

I would like to use apport to help my users report errors. Unfortunately, just describing what to do to make that possible on their end is rife with bear traps.

  $ man apport
  No manual entry for apport

is not an encouraging start.

  https://wiki.ubuntu.com/Apport

was last updated in 2017. It's a wiki page that can't be updated, and it shows.

  "add a hash symbol # in the beginning of the following line"

"comment out this line" is terrible documentation in every case. It's made worse by missing apport documentation, specifically apport.conf(5) to describe the configuration file, and apport(8) to describe the utility. How do I configure the utility that captures core dumps?

What do the apport options in

  $ cat /proc/sys/kernel/core_pattern
  |/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E

mean? The wiki doesn't say, and the manual doesn't say. I suppose we're supposed to squint at core(5) and make some likely guesses.

Where was the core file put?

  $ sudo tail -1 /var/log/apport.log
  ERROR: apport (pid 3850812) Fri Apr 7 15:55:13 2023: writing core dump to core._home_jklowden_projects_3rd_gcc_master+cobol_gcc_cobol_failures_jkl_tmp_everaldo_vendas.1001.15f10ccf-e4f3-4b07-9f42-6be1c6ca37c3.3850811.1041698756

OK, what's "core."? It's not mentioned in /etc/apport/crashdb.conf. The wiki says:

  apport writes the core file to disk in /var/crash/.

but it does not:

  $ ls /var/crash/
  $ sudo find /var -name '*home*'
/var/lib/apport/coredump/core._home_jklowden_projects_3rd_gcc_master+cobol_gcc_cobol_failures_jkl_tmp_everaldo_vendas.1001.15f10ccf-e4f3-4b07-9f42-6be1c6ca37c3.3850811.1041698756

Never mind that hier(7) says /var/lib is for state information and /var/crash is for crash dumps. I have no idea how apport related "core" to /var/lib/apport/coredump, or what my users should expect.

That's me, an expert with root privileges who knows his way around a system. How am I to explain to users how to enable crash dumps on their systems, find them, and send them to me?

I was unable to use any of the apport command-like tools to process the core file. Is there a tool my (potentially non-desktop) user can use to process a crash-dump core file, and send it to me?

The issues at the beginning of the Wiki page describing the motivation for apport are valid, and apport's lack of documentation only adds complexity to the process. In the old days, "ulimit -c unlimited" was enough to produce "program.core" in the current working directory. There wasn't much tooling, but there wasn't much fuss, either. It's not clear the new days are a step forward.

Revision history for this message
Benjamin Drung (bdrung) wrote :

Yes, the documentation needs improvement. There are man pages for the binaries: apport-bug, apport-cli, apport-collect, apport-retrace, apport-unpack, etc.

Apport creates .crash files that contain the core dump and places them in /var/crash. So as developer you are interested in the .crash file.

Changed in apport:
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Phi (phi-debian) wrote :

> What do the apport options in
>
> $ cat /proc/sys/kernel/core_pattern
> |/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P > -u%u -g%g -- %E
>
> mean?

The -x%x options are the core(5) %fmt forwarding to apport.

$ man core

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.