This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/19699] New: GDB will not run on NVMe SSD


https://sourceware.org/bugzilla/show_bug.cgi?id=19699

            Bug ID: 19699
           Summary: GDB will not run on NVMe SSD
           Product: gdb
           Version: 7.10
            Status: NEW
          Severity: normal
          Priority: P2
         Component: c++
          Assignee: unassigned at sourceware dot org
          Reporter: hasecomp at aim dot com
  Target Milestone: ---

Created attachment 9023
  --> https://sourceware.org/bugzilla/attachment.cgi?id=9023&action=edit
LIttle test program

Recently I bought a Kingston Predator PCIe (version 2.0) x4 NVMe SSD (240 GB)
and installed Linux (further info below) on it. All programs I installed (quite
a bunch) run fine, as far as I see it, except for GDB (by the way GDB is a
really fabulous program). Since GDB is the only program having issues on NVMe
SSD, I dare write this bug report, although it makes me suspicious that I found
nothing in the mailing lists, nor in the bug reports on NVMe SSD.

Here is what I do:

[andre@M4A89GTD MultipleWindowsA]$ pwd
/home/pub/workspace/MultipleWindowsA
[andre@M4A89GTD MultipleWindowsA]$ gdb multipleA
GNU gdb (GDB) 7.10.1
Copyright (C) 2015 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-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://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 multipleA...done.
(gdb) break main.cpp:31
Breakpoint 1 at 0x404bf1: file main.cpp, line 31.
(gdb) info breakpoints
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   0x0000000000404bf1 in main(int, char**) at
main.cpp:31
(gdb) run
`/home/pub/workspace/MultipleWindowsA/multipleA' has changed; re-reading
symbols.
Starting program: /home/pub/workspace/MultipleWindowsA/multipleA 
Cannot exec /home/pub/workspace/MultipleWindowsA/multipleA -c exec
/home/pub/workspace/MultipleWindowsA/multipleA .
Error: No such file or directory
During startup program exited with code 127.
(gdb) 

/home/pub/workspace/MultipleWindowsA/multipleA is of course there. GDB opened
this file. For illustration purposes I added a breakpoint. Without it, the run
command results in the same error.

So, as long as you don't give the run command you can give quite some commands.
This is symptomatic for all other programs you want to debug. The little test
program included will most likely run on any magnetic disk installation. In any
case you can see from the Makefile how I build my programs. Actually, I only
program in C++.

Other hardware: motherboard Asus M4A89GTD PRO/USB3. CPU Phenom II X4 965,
64-bits.
Linux distribution: Archlinux (has "rolling" updates, no version).
Current Linux kernel: 4.4.1-2-ARCH.
Current gcc, gcc 32-bits: version 5.3.0-4.
Current GDB version: 7.10.1-1.

Allow me to repeat that all programs, including my C++ programs, run fine on
NVMe SSD.

Being careful, so far I have kept the "old" install on magnetic disk. The 2
installations are basically the same. The only difference is that the home
partition on NVMe SSD is encrypted (with luks), while the "old" home partition
on magnetic disk is not encrypted. The root partition (with GDK on it) is
unencrypted on both installations. All partitions eventually have the ext4 file
system. Especially now that there are problems with GDB, I will keep the "old"
installation for a while and keep both installations up to date.

Needless to say that there are no debugging problems with the "old"
installation on magnetic disk. It is also possible to mount the home partition
on the NVMe SSD install to the magnetic disk install and then run GDB from
magnetic disk with the program to be debugged on NVMe SSD. Runs OK. What does
not work is mounting the home partition on magnetic disk to the NVMe install
and then run GDB from NVMe SSD with the program to be debugged on magnetic
disk.

Of course I reinstalled gcc and DBG, you never know. No luck.

On my laptop with a SATA SSD GDB runs perfectly well.

Altogether, it seems to me that GDB has trouble with the "run" command when GDB
resides on an NVMe SSD install.

Let me know if I can supply you with more information and tell me what to do.
Given the excellent user documentation accompanying GDB, I should be able to do
more with GDB from the command line if you ask so. Normally, I use GDB from the
Eclipse C/C++ IDE, where the use of GDB is completely intuitive. To eliminate
possible uncertainties with Eclipse I have built some programs for this post
from the command line. 

Kind regards,
Andre Hasekamp.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]