To all of you archers (and others?) that have lost their WSOD - this commit brings it back. That was painful.
-- Tom. On 05/11/13 15:58, Tom Hacohen wrote: > tasn pushed a commit to branch master. > > http://git.enlightenment.org/core/enlightenment.git/commit/?id=18cbd6f59a9c004dc1fe15d17331b3e23e8a6582 > > commit 18cbd6f59a9c004dc1fe15d17331b3e23e8a6582 > Author: Tom Hacohen <t...@stosb.com> > Date: Tue Nov 5 15:50:23 2013 +0000 > > wsod: Fixed gdb hangs when generating backtraces. > > After a long and hard battle with the gods of bugs I finally fixed > this stupid hang. I had to dig into the gdb source code, and gdb the > hell out of gdb, but it's now solved. > > First of all, we should call gdb with -batch which exits automatically. > This however is not enough to fix it. The bug was that gdb was haning > while trying to set attributes on stdin because it was waiting for input. > This is obviously problematic when running in non-interactive mode, so > I had to pipe /dev/zero to stdin to fix it. > While at it, I also fixed the piping of stdout and stderr to be nicer. > --- > ChangeLog | 3 +++ > NEWS | 1 + > src/bin/e_sys_main.c | 3 ++- > 3 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/ChangeLog b/ChangeLog > index 86c6cff..f49d0c8 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,6 @@ > +2013-11-05 Tom Hacohen > + * wsod: Fixed gdb hangs when generating backtraces. > + > 2013-10-07 Mike Blumenkrantz > > * removed "raise on focus" config option > diff --git a/NEWS b/NEWS > index dcb8ec5..d06bd69 100644 > --- a/NEWS > +++ b/NEWS > @@ -234,3 +234,4 @@ Fixes: > * fixed bug where new files could not be created repeatedly > * fixed filemanager spring window closing when dragging from desktop > * fixed catching XWindow closes during DND operations on those windows > + * wsod: Fixed gdb hangs when generating backtraces. > diff --git a/src/bin/e_sys_main.c b/src/bin/e_sys_main.c > index b48f1c0..edbb70d 100644 > --- a/src/bin/e_sys_main.c > +++ b/src/bin/e_sys_main.c > @@ -168,10 +168,11 @@ main(int argc, > > snprintf(buffer, 4096, > "%s --pid=%i " > + "-batch " > "-ex 'set logging file %s' " > "-ex 'set logging on' " > "-ex 'thread apply all backtrace full' " > - "-ex detach -ex quit > /dev/null 2> /dev/null", > + "-ex detach &> /dev/null < /dev/zero", > cmd, > pid, > output ?: "e-output.txt"); > ------------------------------------------------------------------------------ November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel