Bug 1869484 - gdb aborts if working directory was deleted
Summary: gdb aborts if working directory was deleted
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gdb
Version: 32
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kevin Buettner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-08-18 05:49 UTC by Zdenek Dohnal
Modified: 2020-08-26 14:52 UTC (History)
6 users (show)

Fixed In Version: gdb-9.1-6.fc32
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-08-26 14:52:05 UTC
Type: Bug


Attachments (Terms of Use)

Description Zdenek Dohnal 2020-08-18 05:49:54 UTC
Description of problem:
gdb aborts when run from deleted directory.


Version-Release number of selected component (if applicable):
gdb-9.1-5.fc32.x86_64 - gdb-9.2-6.fc33.x86_64


How reproducible:
Always

Steps to Reproduce:
The same steps as in https://bugzilla.redhat.com/show_bug.cgi?id=1728147#c0
 
Actual results:
Aborted (core dumped)

Expected results:
No core created, gdb will end with error message instead of aborting

Additional info:
I tested the issue on Fedora 32 (gdb-9.1-5.fc32.x86_64) and on rawhide (gdb-9.2-6.fc33.x86_64), with the same result.

Comment 1 Kevin Buettner 2020-08-18 18:06:49 UTC
I've reproduced this problem on Fedora 32 and rawhide.  (Though, due to the way that my test machines are set up, it just aborts without dumping core.)

It seems that Sergio had a fix for this problem.  I'll find out what happened to it...

Kevin

Comment 2 Sergio Durigan Junior 2020-08-18 18:44:44 UTC
Heya,

The upstream commit that fixed this issue is:

commit ff8577f64987a898e1dc5eb6afb66a404fb7bb16
Author:     Sergio Durigan Junior <sergiodj>
AuthorDate: Wed Jul 10 16:18:27 2019 -0400
Commit:     Sergio Durigan Junior <sergiodj>
CommitDate: Fri Dec 13 23:49:29 2019 -0500

    Guard against 'current_directory == NULL' on gdb_abspath (PR gdb/23613)

According to git, this commit is not included in any recent GDB release yet:

$ git tag --contains ff8577f64987a898e1dc5eb6afb66a404fb7bb16
binutils-2_34
binutils-2_35

Since both Fedora 32 and Fedora 33 (Rawhide) GDBs are tracking the 9.2 branch, this fix will have to be manually backported to each.  When GDB Rawhide is rebased against upstream's master branch, the fix will be automatically incorporated into the codebase.

Comment 3 Kevin Buettner 2020-08-18 18:51:20 UTC
(In reply to Sergio Durigan Junior from comment #2)
> Heya,
> 
> The upstream commit that fixed this issue is:
> 
> commit ff8577f64987a898e1dc5eb6afb66a404fb7bb16
> Author:     Sergio Durigan Junior <sergiodj>
> AuthorDate: Wed Jul 10 16:18:27 2019 -0400
> Commit:     Sergio Durigan Junior <sergiodj>
> CommitDate: Fri Dec 13 23:49:29 2019 -0500
> 
>     Guard against 'current_directory == NULL' on gdb_abspath (PR gdb/23613)
> 
> According to git, this commit is not included in any recent GDB release yet:
> 
> $ git tag --contains ff8577f64987a898e1dc5eb6afb66a404fb7bb16
> binutils-2_34
> binutils-2_35
> 
> Since both Fedora 32 and Fedora 33 (Rawhide) GDBs are tracking the 9.2
> branch, this fix will have to be manually backported to each.  When GDB
> Rawhide is rebased against upstream's master branch, the fix will be
> automatically incorporated into the codebase.

Thanks, Sergio.

FWIW, I've verified that recent builds against GDB development sources no longer show the bug.  Instead, a warning is now printed, like this:

[kev@f32-1 test]$ /ironwood1/sourceware-git/f32-master/bld/gdb/gdb echo
/ironwood1/sourceware-git/f32-master/bld/gdb/gdb: warning: error finding working directory: No such file or directory
GNU gdb (GDB) 10.0.50.20200812-git
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from echo...
Reading symbols from .gnu_debugdata for /usr/bin/echo...
(No debugging symbols found in .gnu_debugdata for /usr/bin/echo)

Comment 4 Pavel Zhukov 2020-08-19 07:32:13 UTC
It's a regression: https://bugzilla.redhat.com/show_bug.cgi?id=1728147

Comment 5 Fedora Update System 2020-08-22 04:07:58 UTC
FEDORA-2020-b18fd5f7e3 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-b18fd5f7e3

Comment 6 Kevin Buettner 2020-08-22 04:45:23 UTC
I've backported the commit that Sergio identified in Comment 2 to both Fedora 32 and the Fedora 33 branch.  On Fedora 32, gdb-9.1-6 will contain this fix.

Comment 7 Fedora Update System 2020-08-23 01:09:36 UTC
FEDORA-2020-b18fd5f7e3 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-b18fd5f7e3`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-b18fd5f7e3

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2020-08-26 14:52:05 UTC
FEDORA-2020-b18fd5f7e3 has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.