* [Bug python/18938] source -s foo.py with foo.py a symlink to foo.notpy fails
2015-09-08 21:19 [Bug python/18938] New: source -s foo.py with foo.py a symlink to foo.notpy fails dje at google dot com
2015-09-08 21:22 ` [Bug python/18938] " dje at google dot com
@ 2015-09-08 21:26 ` dje at google dot com
2015-10-26 21:35 ` cvs-commit at gcc dot gnu.org
2015-10-26 22:24 ` dje at google dot com
3 siblings, 0 replies; 5+ messages in thread
From: dje at google dot com @ 2015-09-08 21:26 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=18938
--- Comment #2 from dje at google dot com ---
Comment on attachment 8592
--> https://sourceware.org/bugzilla/attachment.cgi?id=8592
patch + testcase
>==== gdb/gdb-7.9.x/gdb/cli/cli-cmds.c#2 - gdb/gdb-7.9.x/gdb/cli/cli-cmds.c ====
>--- gdb/cli/cli-cmds.c 2015-02-23 13:07:25.000000000 -0800
>+++ gdb/gdb-7.9.x/gdb/cli/cli-cmds.c 2015-09-08 13:55:50.187471783 -0700
>@@ -537,10 +537,16 @@
> return 1;
> }
>
>-/* Load script FILE, which has already been opened as STREAM. */
>+/* Load script FILE, which has already been opened as STREAM.
>+ FILE_TO_OPEN is the form of FILE to use if one needs to open the file.
>+ This is provided as FILE may have been found via the source search path.
>+ An important thing to note here is that FILE may be a symlink to a file
>+ with a different or non-existing suffix, and thus one cannot infer the
>+ extension language from FILE_TO_OPEN. */
>
> static void
>-source_script_from_stream (FILE *stream, const char *file)
>+source_script_from_stream (FILE *stream, const char *file,
>+ const char *file_to_open)
> {
> if (script_ext_mode != script_ext_off)
> {
>@@ -555,7 +561,7 @@
> = ext_lang_script_sourcer (extlang);
>
> gdb_assert (sourcer != NULL);
>- sourcer (extlang, stream, file);
>+ sourcer (extlang, stream, file_to_open);
> return;
> }
> else if (script_ext_mode == script_ext_soft)
>@@ -608,7 +614,7 @@
> anyway so that error messages show the actual file used. But only do
> this if we (may have) used search_path, as printing the full path in
> errors for the non-search case can be more noise than signal. */
>- source_script_from_stream (stream, search_path ? full_path : file);
>+ source_script_from_stream (stream, file, search_path ? full_path : file);
> do_cleanups (old_cleanups);
> }
>
>==== gdb/testsuite/gdb.python/python.exp#1 - gdb/gdb-7.9.x/gdb/testsuite/gdb.python/python.exp ====
>--- gdb/gdb-7.9.x/gdb/testsuite/gdb.python/python.exp 2015-01-14 16:43:56.000000000 -0800
>+++ gdb/gdb-7.9.x/gdb/testsuite/gdb.python/python.exp 2015-09-08 14:19:04.246904083 -0700
>@@ -96,6 +96,19 @@
>
> gdb_test "source -s source2.py" "yes" "source -s source2.py"
>
>+set remote_source2_symlink_notpy \
>+ [gdb_remote_download host ${srcdir}/${subdir}/source2.py \
>+ [standard_output_file "source2-symlink.notpy"]]
>+set remote_source2_symlink_py [standard_output_file "source2-symlink.py"]
>+remote_file host delete $remote_source2_symlink_py
>+set status [remote_exec host "ln -sf $remote_source2_symlink_notpy $remote_source2_symlink_py"]
>+set test "source -s source2-symlink.py"
>+if {[lindex $status 0] == 0} {
>+ gdb_test "source -s $remote_source2_symlink_py" "yes" $test
>+} else {
>+ unsupported "$test (host does not support symbolic links)"
>+}
>+
> gdb_test "python print (gdb.current_objfile())" "None"
> gdb_test "python print (gdb.objfiles())" "\\\[\\\]"
>
--
You are receiving this mail because:
You are on the CC list for the bug.
>From gdb-prs-return-18566-listarch-gdb-prs=sources.redhat.com@sourceware.org Tue Sep 08 21:31:33 2015
Return-Path: <gdb-prs-return-18566-listarch-gdb-prs=sources.redhat.com@sourceware.org>
Delivered-To: listarch-gdb-prs@sources.redhat.com
Received: (qmail 7788 invoked by alias); 8 Sep 2015 21:31:33 -0000
Mailing-List: contact gdb-prs-help@sourceware.org; run by ezmlm
Precedence: bulk
List-Id: <gdb-prs.sourceware.org>
List-Subscribe: <mailto:gdb-prs-subscribe@sourceware.org>
List-Archive: <http://sourceware.org/ml/gdb-prs/>
List-Post: <mailto:gdb-prs@sourceware.org>
List-Help: <mailto:gdb-prs-help@sourceware.org>, <http://sourceware.org/lists.html#faqs>
Sender: gdb-prs-owner@sourceware.org
Delivered-To: mailing list gdb-prs@sourceware.org
Received: (qmail 7240 invoked by uid 48); 8 Sep 2015 21:31:32 -0000
From: "bvstraalen at lbl dot gov" <sourceware-bugzilla@sourceware.org>
To: gdb-prs@sourceware.org
Subject: [Bug c++/18939] New: Could not find the frame base
Date: Tue, 08 Sep 2015 21:31:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gdb
X-Bugzilla-Component: c++
X-Bugzilla-Version: 7.10
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: bvstraalen at lbl dot gov
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P2
X-Bugzilla-Assigned-To: unassigned at sourceware dot org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status
bug_severity priority component assigned_to reporter target_milestone
Message-ID: <bug-18939-4717@http.sourceware.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://sourceware.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-q3/txt/msg00270.txt.bz2
Content-length: 6060
https://sourceware.org/bugzilla/show_bug.cgi?id\x18939
Bug ID: 18939
Summary: Could not find the frame base
Product: gdb
Version: 7.10
Status: NEW
Severity: normal
Priority: P2
Component: c++
Assignee: unassigned at sourceware dot org
Reporter: bvstraalen at lbl dot gov
Target Milestone: ---
building with g++ 5.2 and using gdb 7.10 on OSX Macbook.
It is NOT a gfortran problem. I get the same error in pure C++ programs as
well.
I don't think it is an error in g++, since I can see my objects fine with other
debuggers.
It might be a gdb configure error though. Symptoms:
gdb testPoisson3d.Darwin.64.g++.gfortran.DEBUG.ex
GNU gdb (GDB) 7.10
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-apple-darwin10".
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 testPoisson3d.Darwin.64.g++.gfortran.DEBUG.ex...done.
(gdb) break testPoisson
Breakpoint 1 at 0x100001419: file testPoisson.cpp, line 101.
(gdb) run
Starting program:
/Users/bvs/Chombo/lib/test/MLC/testPoisson3d.Darwin.64.g++.gfortran.DEBUG.ex
warning:
`/BinaryCache/coreTLS/coreTLS-35.40.1~1/Objects/coretls.build/coretls.build/Objects-normal/x86_64/system_coretls_vers.o':
can't open to read symbols: No such file or directory.
warning: Could not open OSO archive file
"/BinaryCache/coreTLS/coreTLS-35.40.1~1/Symbols/BuiltProducts/libcoretls_ciphersuites.a"
warning: Could not open OSO archive file
"/BinaryCache/coreTLS/coreTLS-35.40.1~1/Symbols/BuiltProducts/libcoretls_handshake.a"
warning: Could not open OSO archive file
"/BinaryCache/coreTLS/coreTLS-35.40.1~1/Symbols/BuiltProducts/libcoretls_record.a"
warning: Could not open OSO archive file
"/BinaryCache/coreTLS/coreTLS-35.40.1~1/Symbols/BuiltProducts/libcoretls_stream_parser.a"
Beginning testPoisson ...
Breakpoint 1, testPoisson (
a_dx=<error reading variable: Could not find the frame base for
"testPoisson(RealVect const&, int, int, double (*)(RealVect const&), double
(*)(RealVect const&))".>,
low=<error reading variable: Could not find the frame base for
"testPoisson(RealVect const&, int, int, double (*)(RealVect const&), double
(*)(RealVect const&))".>,
high=<error reading variable: Could not find the frame base for
"testPoisson(RealVect const&, int, int, double (*)(RealVect const&), double
(*)(RealVect const&))".>,
input=<error reading variable: Could not find the frame base for
"testPoisson(RealVect const&, int, int, double (*)(RealVect const&), double
(*)(RealVect const&))".>,
exactLap=<error reading variable: Could not find the frame base for
"testPoisson(RealVect const&, int, int, double (*)(RealVect const&), double
(*)(RealVect const&))".>) at testPoisson.cpp:101
101 RealVect dx=a_dx;
(gdb) n
103 unsigned int status = 0;
(gdb) p dx
Could not find the frame base for "testPoisson(RealVect const&, int, int,
double (*)(RealVect const&), double (*)(RealVect const&))".
(gdb)
The same debug sequence using lldb gives the following:
lldb testPoisson3d.Darwin.64.g++.gfortran.DEBUG.ex
(lldb) target create "testPoisson3d.Darwin.64.g++.gfortran.DEBUG.ex"
Current executable set to 'testPoisson3d.Darwin.64.g++.gfortran.DEBUG.ex'
(x86_64).
(lldb) breakpoint set -name testPoisson
Breakpoint 1: where testPoisson3d.Darwin.64.g++.gfortran.DEBUG.ex`testPoisson(RealVect const&, int,
int, double (*)(RealVect const&), double (*)(RealVect const&)) + 47 at
testPoisson.cpp:101, address = 0x0000000100001419
(lldb) run
Process 10401 launched:
'/Users/bvs/Chombo/lib/test/MLC/testPoisson3d.Darwin.64.g++.gfortran.DEBUG.ex'
(x86_64)
Beginning testPoisson ...
Process 10401 stopped
* thread #1: tid = 0x85ee1, 0x0000000100001419
testPoisson3d.Darwin.64.g++.gfortran.DEBUG.ex`testPoisson(a_dx=0x00007fff5fbff510,
low=-20, high , input=0x00000001000030a2,
exactLap=0x0000000100002f07)(RealVect const&), double (*)(RealVect const&)) +
47 at testPoisson.cpp:101, queue = 'com.apple.main-thread', stop reason breakpoint 1.1
frame #0: 0x0000000100001419
testPoisson3d.Darwin.64.g++.gfortran.DEBUG.ex`testPoisson(a_dx=0x00007fff5fbff510,
low=-20, high , input=0x00000001000030a2,
exactLap=0x0000000100002f07)(RealVect const&), double (*)(RealVect const&)) +
47 at testPoisson.cpp:101
-> 101 RealVect dx=a_dx;
102 Real error[3];
103 unsigned int status = 0;
104 char phiF[]={"PHI0.hdf5"};
(lldb) n
Process 10401 stopped
* thread #1: tid = 0x85ee1, 0x0000000100001432
testPoisson3d.Darwin.64.g++.gfortran.DEBUG.ex`testPoisson(a_dx=0x00007fff5fbff510,
low=-20, high , input=0x00000001000030a2,
exactLap=0x0000000100002f07)(RealVect const&), double (*)(RealVect const&)) +
72 at testPoisson.cpp:103, queue = 'com.apple.main-thread', stop reason = step
over
frame #0: 0x0000000100001432
testPoisson3d.Darwin.64.g++.gfortran.DEBUG.ex`testPoisson(a_dx=0x00007fff5fbff510,
low=-20, high , input=0x00000001000030a2,
exactLap=0x0000000100002f07)(RealVect const&), double (*)(RealVect const&)) +
72 at testPoisson.cpp:103
101 RealVect dx=a_dx;
102 Real error[3];
-> 103 unsigned int status = 0;
104 char phiF[]={"PHI0.hdf5"};
105 char exactF[]={"EXACT0.hdf5"};
106 char fF[] ={"F0.hdf5"};
(lldb) p dx
(RealVect) $0 = {
vect = ([0] = 0.23000000000000001, [1] = 0.23000000000000001, [2] 0.23000000000000001)
}
(lldb)
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 5+ messages in thread