3

I have gotten the error message "The report belongs to a package that is not installed."

Generally I would just ignore that since seemingly there is no problem except I got a crash report and then I said to report the problem and then I get this.

Now, how can a package or program crash that is not even installed? Sounds a little paradox, isn't it?

What should I do with this? Why does this even come up?

Eliah Kagan
  • 116,445
  • 54
  • 318
  • 493
user71700
  • 31
  • 5

2 Answers2

4

This happens because apport fails to see the parent package of the failed executable file. apport, which is Ubuntu's problem reporter, watches every problem in Program execution.

When a program crashes, apport is triggered to find the program (It watches for the programs execution constantly, unless you disabled it) which indicates Abnormal program termination. It finds the executable file which has crashed and search for the system for package that includes this executable file. When It fails to find a parent package containing that executable file, (in dpkg's database) It shows that error, saying "The report belongs to a package that is not installed."

For example:

I uses a program for my Wimax modem, called wimaxc (which is not installed by any package manager). It sometimes fails and apport also fails to find the parent package of the executable file, /usr/bin/wimaxc, hence , It shows that error message.

To find the parent package of an executable file:

If you want to find the parent package of an executable file, for example /usr/bin/gnome-terminal type the command below in a terminal:

dpkg -S /usr/bin/gnome-terminal

It will give you an output similar to this

gnome-terminal: /usr/bin/gnome-terminal

Here, gnome-terminal is the parent package of the file /usr/bin/gnome-terminal.

Note: Whenever you installed a package, it is listed in the dpkg's database. So, if you use a program, not installed by the package manager (such as apt-get, synaptic, aptitude or Software-Center), apport will always fail to find the parent package, when it crashes, because their is no parent package

Anwar
  • 75,875
  • 31
  • 191
  • 309
  • 1
    It's not actually the *return value* ("*exit value*") that Apport watches for. A program *terminating and indicating failure* doesn't trigger Apport. (If you run `ls blah` and there's no file called `blah` in the current directory, `ls` *exits signalling failure*.) Apport is triggered when a program *crashes*, that is, when it *terminates abnormally*. Most of the time a program terminates signalling failure, it is still normal program termination and Apport is not triggered. – Eliah Kagan Jun 28 '12 at 09:07
  • @EliahKagan, Sorry I mentioned the "exit value". Also not understand this "Most of the time a program terminates signalling failure, it is still normal program termination and Apport is not triggered". – Anwar Jun 28 '12 at 09:15
  • You're confusing [crashing](http://en.wikipedia.org/wiki/Crash_(computing)#Application_crashes) (which triggers Apport) with [exit statues](http://en.wikipedia.org/wiki/Exit_status) indicating failure (which does not trigger Apport). Exit statuses indicating failure are a normal part of everyday program functioning and don't even necessarily mean *anything* has gone wrong. Crashes (like [SIGSEGV](http://en.wikipedia.org/wiki/SIGSEGV) and [SIGABRT](http://en.wikipedia.org/wiki/SIGABRT)) always mean something went wrong (except when produced intentionally to test crash handling facilities). – Eliah Kagan Jun 28 '12 at 09:21
2

The question that led me here was, "Which package isn't installed?"

I found the answer by sorting the contents of /var/crash/ by date.

Seth
  • 57,282
  • 43
  • 144
  • 200
Mark
  • 21
  • 1