Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xst randomly freezes after reloading #15

Open
tudurom opened this issue Jan 8, 2017 · 15 comments
Open

xst randomly freezes after reloading #15

tudurom opened this issue Jan 8, 2017 · 15 comments
Labels

Comments

@tudurom
Copy link

tudurom commented Jan 8, 2017

I reload them with killall -s USR1 st.

Almost every time I reload them one of them freezes and has to be killed with kill because it doesn't respond to X events.

@neeasade
Copy link
Member

Confirmed, I also experience this intermittently. I believe the issue is the way we trigger redraw when not focused -- https://github.com/neeasade/xst/blob/1df15396883870cc9dfd19cbddc0a88e81849fb2/src/st.c#L4671 will see if removing that reduces ability to reproduce the crash.

@tudurom
Copy link
Author

tudurom commented Feb 16, 2017

I just discovered that if I place the killall line near the end of my theme switcher script, it never freezes. If I place it near the beginning, it always freezes. I will investigate.

@tudurom
Copy link
Author

tudurom commented Feb 16, 2017

or maybe not. now it works every time with and without the fix

@tudurom
Copy link
Author

tudurom commented Feb 16, 2017

i was testing with urxvt i'm so dumb

@pellettiero
Copy link

@tudurom Do you still experience this problem?
Just making sure :)

@tudurom
Copy link
Author

tudurom commented Mar 17, 2017

well i switched to urxvt after encountering this problem. Assuming that the code didn't change, the problem should be still there.

@pellettiero
Copy link

OK then, could you try again with the latest fresh code and report on your findings, please?

Thanks! :D

@tudurom
Copy link
Author

tudurom commented Mar 17, 2017

Yep the problem is not solved.

@pellettiero
Copy link

Did you try with the edit suggested by @neeasade above?

@tudurom
Copy link
Author

tudurom commented Mar 17, 2017

yep

@pellettiero
Copy link

hmm, try sending us a gdb backtrace (make sure you have installed it):

$ ulimit -c unlimited
$ st
<do the thing>
$ gdb -q $(which st) /path/to/coredump
gdb> bt full

Hope it could tell us something...

@actionless
Copy link
Collaborator

wow, i've accidentally caught this issue:

(gdb) bt full
#0  0x00007f96e0a24afc in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
No symbol table info available.
#1  0x00007f96e0d5983b in ?? () from /usr/lib/libxcb.so.1
No symbol table info available.
#2  0x00007f96e0d59d21 in ?? () from /usr/lib/libxcb.so.1
No symbol table info available.
#3  0x00007f96e0d59dae in xcb_writev () from /usr/lib/libxcb.so.1
No symbol table info available.
#4  0x00007f96e1028d3f in _XSend () from /usr/lib/libX11.so.6
No symbol table info available.
#5  0x00007f96e10290b1 in _XFlush () from /usr/lib/libX11.so.6
No symbol table info available.
#6  0x00007f96e102bc06 in _XGetRequest () from /usr/lib/libX11.so.6
No symbol table info available.
#7  0x00007f96e100dab2 in XAllocColor () from /usr/lib/libX11.so.6
No symbol table info available.
#8  0x00007f96e100d0cd in XAllocNamedColor () from /usr/lib/libX11.so.6
No symbol table info available.
#9  0x00007f96e0dd0a3c in XftColorAllocName () from /usr/lib/libXft.so.2
No symbol table info available.
#10 0x0000558ce368180d in ?? ()
No symbol table info available.
#11 0x0000558ce368187e in ?? ()
No symbol table info available.
#12 0x0000558ce36858fb in ?? ()
No symbol table info available.
#13 <signal handler called>
No symbol table info available.
#14 0x00007f96e139cbe8 in poll () from /usr/lib/libc.so.6
No symbol table info available.
#15 0x00007f96e0d59630 in ?? () from /usr/lib/libxcb.so.1
No symbol table info available.
#16 0x00007f96e0d59d21 in ?? () from /usr/lib/libxcb.so.1
No symbol table info available.
#17 0x00007f96e0d59dae in xcb_writev () from /usr/lib/libxcb.so.1
No symbol table info available.
#18 0x00007f96e1028d3f in _XSend () from /usr/lib/libX11.so.6
No symbol table info available.
#19 0x00007f96e10290b1 in _XFlush () from /usr/lib/libX11.so.6
No symbol table info available.
#20 0x00007f96e102bc06 in _XGetRequest () from /usr/lib/libX11.so.6
No symbol table info available.
#21 0x00007f96e0dc53b1 in XRenderChangePicture () from /usr/lib/libXrender.so.1
No symbol table info available.
#22 0x00007f96e0dd6841 in XftDrawSetClip () from /usr/lib/libXft.so.2
No symbol table info available.
#23 0x0000558ce367f84e in ?? ()
No symbol table info available.
#24 0x0000558ce36803f8 in ?? ()
No symbol table info available.
#25 0x0000558ce368440b in ?? ()
No symbol table info available.
#26 0x0000558ce367d483 in ?? ()
No symbol table info available.
#27 0x00007f96e12d0223 in __libc_start_main () from /usr/lib/libc.so.6
No symbol table info available.
#28 0x0000558ce367d4be in ?? ()
No symbol table info available.

@actionless
Copy link
Collaborator

which makes sense since that function indeed is running on reload:

xst/src/xst.c

Line 3488 in 8519227

return XftColorAllocName(xw.dpy, xw.vis, xw.cmap, name, ncolor);

i'll try to dig into this if will get some stable steps to reproduce it

@actionless
Copy link
Collaborator

I place the killall line near the end of my theme switcher script, it never freezes

what else are you doing in your script? restarting WM maybe?

@actionless actionless added the bug label Jan 11, 2019
@neeasade
Copy link
Member

some changes that have happened since the last comment here:

https://git.suckless.org/st/commit/1d590910652519268152eae6b97cf30ace4e90c0.html
https://git.suckless.org/st/commit/e823e2308f2a99023032a3966ebb7036a31d305f.html

could poke at our reload (change it to a tfulldirt()) and see how we feel there

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants