From: Abhi Arora <engr.abhiarora@gmail.com>
To: Christian Biesinger <cbiesinger@google.com>
Cc: gdb@sourceware.org
Subject: Re: Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Date: Mon, 27 Jan 2020 15:26:00 -0000 [thread overview]
Message-ID: <CADqM=-xidiVXKEmEd6w5_D79xUr_Jiqq=Cn3FqVodDf4T83P4Q@mail.gmail.com> (raw)
In-Reply-To: <CAPTJ0XFVq_twO=e2Gc3g-5L+-GATJvDk_TL-1HHGScGDPaoTTw@mail.gmail.com>
I will try to add debug symbols of libcurl and regenerate the crash.
However, I also want to understand in which positive scenario (,i.e., stack
is not corrupted) I can get this message and what does that mean?
Consider the last two stack frame in Thread 1:
#5 0x769ec986 in curl_easy_perform () from
/opt/iotgw-debug/2.5.3/sysroots/armv7at2hf-neon-fslc-linux-gnueabi/usr/lib/libcurl.so.4
#6 0x76eb433e in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
1. Does it mean stack frame #6 is similar to stack frame #7 (which is not
printed?)? And that's why gdb stopped itself at #6 assuming #7 could be
corrupted?
2. Does it compare whole stack frame (all the bytes) with the neighbour
stack frame?
3. Can you please help me with a scenerio when two stack frame can be
similar (when stack is not corrupted)?
On Mon, Jan 27, 2020 at 7:01 PM Christian Biesinger <cbiesinger@google.com>
wrote:
>
>
> On Sun, Jan 26, 2020, 17:24 Abhi Arora <engr.abhiarora@gmail.com> wrote:
>
>> I am having an application with 16 Thread in ARM board running Linux. My
>> problem crashed (Segmentation Fault) and I got the core dump. I was
>> analyzing it and found out I was getting "Backtrace stopped: previous
>> frame
>> identical to this frame (corrupt stack?)" message for each of the thread
>> except the "main" thread.
>>
>> I have posted backtrace of "main", thread that caused SEGV FAULT and a
>> thread which was working fine.
>>
>> 1. I want to know why this message is coming up? What does this mean?
>> One possibility is corrupt stack but what other times it can show up?
>> Recursive function call?
>> 2. I am not sure how to get more information from Thread 1. I want to know
>> which function has called "curl_easy_perform". I want to get complete
>> backtrace of Thread 1. I tried to "set $sp = " but looks like I can't
>> modify the SP. I want someone to help with an article to unstack my Thread
>> 1 further. Please advise.
>
>
> You should try to install debug symbols for libcurl. GDB can't always
> unwind stacks without symbols.
>
> FWIW, the stack for thread 5 is complete despite the message (it has
> start_thread in it).
>
> Christian
>
>
>> Thread 5 (LWP 3238):
>> #0 __libc_do_syscall () at libc-do-syscall.S:48
>> #1 0x76ab0b00 in __GI___select (nfds=6, readfds=readfds@entry
>> =0x7563ac58,
>> writefds=writefds@entry=0x0, exceptfds=exceptfds@entry=0x0,
>> timeout=timeout@entry=0x7563ac38)
>> at
>> /usr/src/debug/glibc/2.28-r0/git/sysdeps/unix/sysv/linux/select.c:41
>> #2 0x004a2ace in Isom::Checksafetybuttons (this=this@entry=0x158f780) at
>>
>> /home/abhishek/develop/gateway-app/GatewayApp/source/WebServer/isom.cpp:292
>> #3 0x004a3834 in StartIsom () at
>>
>> /home/abhishek/develop/gateway-app/GatewayApp/source/WebServer/isom.cpp:592
>> #4 0x00486494 in ns_Isom::isom_start_function (ptr=0x0) at
>>
>> /home/abhishek/develop/gateway-app/GatewayApp/source/GatewayAppMain.cpp:646
>> #5 0x76cc4afa in start_thread (arg=0xa9c8b261) at
>> /usr/src/debug/glibc/2.28-r0/git/nptl/pthread_create.c:486
>> #6 0x76ab538c in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:73 from
>>
>> /opt/iotgw-debug/2.5.3/sysroots/armv7at2hf-neon-fslc-linux-gnueabi/lib/libc.so.6
>> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>>
>> Thread 2 (LWP 3204):
>> #0 __libc_do_syscall () at libc-do-syscall.S:48
>> #1 0x76cc5b18 in __GI___pthread_timedjoin_ex (threadid=1873773472,
>> thread_return=0x0, abstime=<optimized out>, block=<optimized out>)
>> at /usr/src/debug/glibc/2.28-r0/git/nptl/pthread_join_common.c:89
>> #2 0x76c40f3a in __gthread_join (__value_ptr=0x0, __threadid=<optimized
>> out>)
>> at
>>
>> /usr/src/debug/gcc-runtime/7.3.0-r0/arm-fslc-linux-gnueabi/libstdc++-v3/include/arm-fslc-linux-gnueabi/bits/gthr-default.h:668
>> #3 std::thread::join (this=this@entry=0x7ebe1784) at
>> /usr/src/debug/gcc-runtime/7.3.0-r0/libstdc++-v3/src/c++11/thread.cc:136
>> #4 0x00470198 in main (argc=<optimized out>, argv=<optimized out>) at
>>
>> /home/abhishek/develop/gateway-app/GatewayApp/source/GatewayAppMain.cpp:599
>>
>> Thread 1 (LWP 3751):
>> #0 0x769ec67a in Curl_strncasecompare () from
>>
>> /opt/iotgw-debug/2.5.3/sysroots/armv7at2hf-neon-fslc-linux-gnueabi/usr/lib/libcurl.so.4
>> #1 0x769ead58 in Curl_checkheaders () from
>>
>> /opt/iotgw-debug/2.5.3/sysroots/armv7at2hf-neon-fslc-linux-gnueabi/usr/lib/libcurl.so.4
>> #2 0x769de8fa in Curl_http () from
>>
>> /opt/iotgw-debug/2.5.3/sysroots/armv7at2hf-neon-fslc-linux-gnueabi/usr/lib/libcurl.so.4
>> #3 0x769f0e5c in multi_runsingle () from
>>
>> /opt/iotgw-debug/2.5.3/sysroots/armv7at2hf-neon-fslc-linux-gnueabi/usr/lib/libcurl.so.4
>> #4 0x769f1708 in curl_multi_perform () from
>>
>> /opt/iotgw-debug/2.5.3/sysroots/armv7at2hf-neon-fslc-linux-gnueabi/usr/lib/libcurl.so.4
>> #5 0x769ec986 in curl_easy_perform () from
>>
>> /opt/iotgw-debug/2.5.3/sysroots/armv7at2hf-neon-fslc-linux-gnueabi/usr/lib/libcurl.so.4
>> #6 0x76eb433e in ?? ()
>> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
>>
>
next prev parent reply other threads:[~2020-01-27 15:26 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-26 16:24 Abhi Arora
2020-01-27 13:31 ` Christian Biesinger via gdb
2020-01-27 15:26 ` Abhi Arora [this message]
2020-01-30 10:34 ` Abhi Arora
2020-01-30 13:38 ` dwk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CADqM=-xidiVXKEmEd6w5_D79xUr_Jiqq=Cn3FqVodDf4T83P4Q@mail.gmail.com' \
--to=engr.abhiarora@gmail.com \
--cc=cbiesinger@google.com \
--cc=gdb@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox