This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug c++/19699] New: GDB will not run on NVMe SSD
- From: "hasecomp at aim dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Sun, 21 Feb 2016 15:32:17 +0000
- Subject: [Bug c++/19699] New: GDB will not run on NVMe SSD
- Auto-submitted: auto-generated
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.