After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 385798 - Handles GDB failures poorly
Handles GDB failures poorly
Status: RESOLVED FIXED
Product: bug-buddy
Classification: Deprecated
Component: general
2.14.x
Other All
: Normal normal
: ---
Assigned To: Bug-buddy Maintainers
Bug-buddy Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-12-14 10:43 UTC by Sam Morris
Modified: 2006-12-14 19:13 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16



Description Sam Morris 2006-12-14 10:43:39 UTC
Please describe the problem:
While reporting bug #375062 I found that bug-buddy does not handle gdb failures very well. This bug was a crash in a process (seahorse-daemon) with an executable file that was owned by root and setuid (to prevent an attacker from ptracing the daemon and retrieving the user's private keys).

When run from the console, gdb does write a 'permission denied' error to stderr. I think bug-buddy should try to capture errors such as these, and at least display them in the debug info text widget.

There is a problem in that that GDB does not correctly set its exit status:

 $ gdb -batch -p $(pgrep ssh-agent); echo $?
 ptrace: Operation not permitted.
 /home/sam/3737: No such file or directory.
 0

Perhaps it would be best to always include all output (both stdout and stderr) from GDB in bug reports.

Steps to reproduce:
On Linux, create a setuid process and crash it; bug-buddy will be unable to use gdb to attach to the process and the stack trace will be empty.

Actual results:


Expected results:


Does this happen every time?


Other information:
Comment 1 Fernando Herrera 2006-12-14 19:13:58 UTC
Now if gdb output does not contain at least 4 steps in a backtrace bug-buddy refuses to send the bug and inform the user that it was not able to collect information about the crashed application.