How to Fix ‘System Program Problem Detected’ Error in Ubuntu

One of the most persistent nuisances encountered by Ubuntu desktop users is the recurring dialogue box that greets you immediately following system boot: “System program problem detected. Do you want to report the problem now?”. Even after clicking “Cancel” or “Report problem”, the prompt frequently reappears on every reboot. In Ubuntu and Debian-derived distributions, this dialogue is triggered by Apport, Ubuntu’s default automated crash reporting daemon. Whenever an unhandled signal, core dump, or daemon failure occurs, Apport writes a detailed diagnostic report file into /var/crash. However, until these old crash dumps are purged or marked as sent, Ubuntu continues warning you about past historical crashes that may have occurred weeks ago. This guide explains how to inspect the root cause, clear pending crash dumps, and manage Apport notifications.

Understanding Why Apport Triggers Crash Notifications

Apport intercepts crashed processes via the Linux kernel’s core_pattern interface. The recurring popup does not necessarily signify an active, ongoing system emergency; instead, it often stems from:

  • Historical Crash Dumps in /var/crash: Ubuntu checks /var/crash/ during login. If any file ending in .crash exists without a corresponding .upload or .uploaded marker, the graphical alert fires repeatedly.
  • Non-Fatal Desktop Background Crashes: Minor background utility crashes (such as GNOME Shell extensions, PulseAudio plugins, or Wayland compositing glitches) that recovered instantly without user intervention.
  • Incompatible Third-Party Packages: Unofficial PPAs, snap packages, or dkms kernel modules that trigger compiler or symbol mismatches during kernel updates.
  • Partial System Updates: Interrupted package updates leaving orphaned libraries in transition.

Method 1: Identify the Crashed Application

Before dismissing or disabling alerts, it is good administrative practice to check which process actually crashed to confirm system stability.

  1. Press Ctrl + Alt + T to open a terminal window.
  2. List the contents of the crash dump directory by running:
    ls -lh /var/crash
  3. Review the output. Files are named after the crashed binary, for example: _usr_bin_gnome-shell.1000.crash or _usr_bin_xwayland.1000.crash.
  4. To inspect the specific error line or signal that terminated the process, inspect the crash file header:
    head -n 25 /var/crash/*.crash

Method 2: Remove Old Crash Dumps to Stop the Recurring Popup

The simplest and cleanest resolution to eliminate the popup without disabling future crash monitoring is to delete the accumulated crash files from the crash repository.

  1. In your terminal, execute the following command with root privileges:
    sudo rm -f /var/crash/*
  2. Enter your user account password when prompted.
  3. Verify that the directory is completely empty:
    ls -la /var/crash
  4. Restart your computer or log out and back in. The “System program problem detected” dialogue will no longer appear unless a brand-new application crash occurs.

Method 3: Update and Upgrade Installed Packages

Many system crashes are known bugs that maintainers have already patched in the official Ubuntu repositories.

  1. Refresh your local package index and upgrade all outdated packages:
    sudo apt update && sudo apt full-upgrade -y
  2. Clean up orphaned libraries and obsolete dependencies:
    sudo apt autoremove --purge -y && sudo apt clean
  3. Reboot your system to apply newly installed kernel modules and libraries:
    sudo reboot

Method 4: Disable Apport Permanently (For Production/Home Desktops)

If you prefer not to see crash dialogues for non-critical background services, you can permanently disable Apport’s daemon. Note that on stable release versions of Ubuntu, crash reporting to Canonical is already disabled by default for user privacy.

  1. Open the Apport configuration file in the nano text editor:
    sudo nano /etc/default/apport
  2. Locate the line that reads:
    enabled=1
  3. Change the value from 1 to 0:
    enabled=0
  4. Press Ctrl + O, then press Enter to save changes. Press Ctrl + X to exit nano.
  5. Stop the currently running Apport systemd service:
    sudo systemctl stop apport.service
  6. Optionally mask the service so it cannot be re-enabled by package upgrades:
    sudo systemctl disable apport.service

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.