-
Notifications
You must be signed in to change notification settings - Fork 970
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
tigervnc dumps core on stop #812
Comments
Hmm.. That backtrace is very odd and does not match the code. I wonder if it is corrupted somewhere. Also noteworthy that both you and #800 has The last sane address suggests that diff --git a/unix/xserver/hw/vnc/XserverDesktop.cc b/unix/xserver/hw/vnc/XserverDesktop.cc
index d8b3a4d4..932fa8ba 100644
--- a/unix/xserver/hw/vnc/XserverDesktop.cc
+++ b/unix/xserver/hw/vnc/XserverDesktop.cc
@@ -93,6 +93,8 @@ XserverDesktop::XserverDesktop(int screenIndex_,
XserverDesktop::~XserverDesktop()
{
while (!listeners.empty()) {
+ vlog.error("Listener:");
+ vlog.error(" %p", listeners.back());
vncRemoveNotifyFd(listeners.back()->getFd());
delete listeners.back();
listeners.pop_back(); |
Hi! Builded it from git (fd3bfa6). No coredump on stop. The problem gone. |
Attached gdb to Xvnc process (tigervnc 1.9.0). Called vncserver -kill :1
|
Interesting that Did you rebuild 1.9.0 with that suggested patch? What does kitat:1.log say in that case? |
Built 1.9.0 with suggested patch, and with debug enabled.
It seems that destructor ~XserverDesktop() called twice, as if ~XserverDesktop() called itself. |
Here is how package is built on Arch (I added debug and patch):
If I change -DBUILD_JAVA=TRUE to -DBUILD_JAVA=FALSE, the problem's gone, no crash. Then, if I change it back, the problem returns. Arch linux uses openjdk: jre8-openjdk-headless jre8-openjdk jdk8-openjdk. And this probably explains why build from git doesn't crash. It builds without java:
|
Hmm.... Nothing odd there.
That's a C++ quirk and is some magic that has to do with virtual destructors. You can see that it is actually two different functions (
That is extremely odd. That only controls the Java client and has no effect on the server at all. I'm afraid I have to insist that it must have been some other side effect happening at the same time. The build type was changed at the same time, which could be a reason for a change in behaviour. There are also differences in the Could you attach the entire server log? Perhaps there is some subtle clue in there. |
Here is entire server log: |
Thank you. Unfortunately I could not see any clues in there. :/ |
Hang on! I just spotted the bug! And apparently so did @alanc, and I thought it was fixed: 3fed95e#diff-cad379b518c09467c09520f2f863c6d1R165 This code has been removed in |
tigervnc dumps core on stop
After issuing command
systemctl --user stop vncserver@:1.service
coredump detected
To Reproduce
Steps to reproduce the behavior:
Expected behavior
No coredump
Server (please complete the following information):
Additional context
journalctl:
kitat:1.log:
The text was updated successfully, but these errors were encountered: