This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug go/66303] runtime.Caller() returns infinitely deep stack frames on s390x
- From: "vogt at linux dot vnet.ibm.com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 02 Jun 2015 09:00:21 +0000
- Subject: [Bug go/66303] runtime.Caller() returns infinitely deep stack frames on s390x
- Auto-submitted: auto-generated
- References: <bug-66303-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66303
Dominik Vogt <vogt at linux dot vnet.ibm.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |vogt at linux dot vnet.ibm.com
--- Comment #4 from Dominik Vogt <vogt at linux dot vnet.ibm.com> ---
I think the problem is that in the backtrace below
_Unwind_Find_registered_FDE() is called with a pc that points one byte before
the start of main.main (0x80001de8). That is cause by this line from
uw_frame_state_for():
fde = _Unwind_Find_FDE (context->ra + _Unwind_IsSignalFrame (context) - 1,
&context->bases);
-- snip --
#0 _Unwind_Find_registered_FDE (bases=0xc2084176e0,
pc=0x80001de7 <main.main+23>) at ../../../libgcc/unwind-dw2-fde.c:1010
#1 _Unwind_Find_FDE (pc=0x80001de7 <main.main+23>, bases=0xc2084176e0)
at ../../../libgcc/unwind-dw2-fde-dip.c:454
#2 0x000003fff6ee665c in uw_frame_state_for (
context=context@entry=0xc2084175b0, fs=fs@entry=0xc208417738)
at ../../../libgcc/unwind-dw2.c:1241
#3 0x000003fff6ee8442 in _Unwind_Backtrace (trace=0x3fff7aca438 <unwind>,
trace_argument=0xc208417aa8) at ../../../libgcc/unwind.inc:290
#4 0x000003fff7aca51a in backtrace_full (state=<optimized out>,
skip=<optimized out>, callback=<optimized out>,
error_callback=<optimized out>, data=0xc208417b78)
at ../../../libbacktrace/backtrace.c:106
#5 0x000003fff7773a16 in runtime_callers (skip=<optimized out>,
locbuf=<optimized out>, m=<optimized out>, keep_thunks=<optimized out>)
at ../../../libgo/runtime/go-callers.c:168
#6 0x000003fff777356c in runtime.Caller (skip=skip@entry=20)
at ../../../libgo/runtime/go-caller.c:168
#7 0x0000000080001de8 in main.main () at pr66303.go:9
-- snip --