it's ubuntu 16.04/Intel, desktop, not rasberry.
yes i've built wxWIdgets, but nothing special, with very common settings..just for dynamic link libraries.
compiler - g++.
Fatal exceptions logging
Re: Fatal exceptions logging
ubuntu 20.04, wxWidgets 3.2.1
Re: Fatal exceptions logging
Hi,
What is your exact configure line?
Thank you.
What is your exact configure line?
Thank you.
Re: Fatal exceptions logging
muscle. i wrote a simple function of "native" stack dump using c++ stdlib.
wxWidgets use this functions to unwind the stack.
works well for my system.
Code: Select all
#include <execinfo.h>
void dumpStack(){
const int max_entries = 1000; //let we try to unwind 1000 frames deep stack
void* lbuf[max_entries]; //buffer for stack frames entries
int lcnt = backtrace(lbuf, max_entries); //get frames pointers
char **lstr = backtrace_symbols(lbuf,lcnt); //get symbolic info(text) for entries
if(!lstr) return; //if no success - return
for(int i=0; i<lcnt;++i){ //dump entries to stdout
std::cout<<"-->"<<lstr[i]<<"\n";
}
free(lstr); //free allocated buffer
}
works well for my system.
ubuntu 20.04, wxWidgets 3.2.1
-
- Earned some good credits
- Posts: 100
- Joined: Sun Jun 27, 2010 6:18 pm
Re: Fatal exceptions logging
I tested your function to generate the log on crash and the output is very similar. __default_sa_restorer is last line of the backtrace. I can now say that the issue is not WX-related.
The WX build was configured with plain "./configure".
Even google returns lot of stack traces ending with __default_sa_restorer on ARM. Then I found this topic https://stackoverflow.com/questions/315 ... m-platform - it advises to use "-funwind-tables -fasynchronous-unwind-tables" and it seems to be working!
But when generated directly in the code (instead of crash) then it is different:./COurApp() [0x80acc]
./COurApp() [0x81cc4]
./COurApp() [0x400680]
/lib/arm-linux-gnueabihf/libc.so.6(__default_sa_restorer+0) [0x75fb5120]
If it works in your case then it must be g++ ARM-specific issue. I have never seen this behaviour on any other platform either../COurApp() [0x6fac8]
./COurApp() [0x41d1e0]
./COurApp() [0x41ed4c]
./COurApp() [0x41f100]
./COurApp() [0x41f270]
./COurApp() [0x420c1c]
./COurApp() [0xdd3cc]
The WX build was configured with plain "./configure".
Even google returns lot of stack traces ending with __default_sa_restorer on ARM. Then I found this topic https://stackoverflow.com/questions/315 ... m-platform - it advises to use "-funwind-tables -fasynchronous-unwind-tables" and it seems to be working!
Re: Fatal exceptions logging
it looks like your gcc does not store unwinding info by default.
or may be you have some specific gcc options.
or may be you have some specific gcc options.
ubuntu 20.04, wxWidgets 3.2.1
-
- Earned some good credits
- Posts: 100
- Joined: Sun Jun 27, 2010 6:18 pm
Re: Fatal exceptions logging
It is Raspbian, I have not change anything according to gcc.