Comment #10 on issue 1760 by [email protected]: CRITICAL **: xim_open:
assertion 'conn == NULL' failed
https://code.google.com/p/ibus/issues/detail?id=1760
I have done more experimentation, and I think I have a reproducible
situation. The assertion happens if an XIM client sends only an
XIM_DISCONNECT, without sending XIM_CLOSE. So, an XIM client that's
SIGKILLed will probably not trigger an assertion in the server by itself,
only a bad XIM client. However after that point, the assertion will be hit
not by the bad client, but by the next client that connects to the XIM
server, even if it's a good client. So this is a situation where a bad XIM
client ends up corrupting the server so that it cannot be used even by good
clients:
client #1 (bad client):
XIM_CONNECT
XIM_OPEN
XIM_DISCONNECT
client #2 (good client):
XIM_CONNECT
XIM_OPEN
the server will now hit this assertion.
My client, which originally triggered this bug is actually a pretty big
library that takes a long time to build, in two steps. If you'd like to try
it, I prepared two tarballs, but it should be possible to take any client,
and modify it to simply skip sending the XIM_CLOSE message, and send
XIM_DISCONNECT only, and this should be reproducible.
Like I said, it's a pretty big library, it's not completely done, but since
you mentioned before that you're using Fedora, it might be a bit easier for
you to build it:
Step 1:
http://www.courier-mta.org/ibus/libcxx-0.8.tar.bz2
Build this using rpmbuild:
rpmbuild -ba libcxx-0.8.tar.bz2
This should build several binary RPMs. Install the libcxx and libcxx-devel
RPMs.
Step 2:
http://www.courier-mta.org/ibus/libcxxw-0.1.tar.bz2
Run only ./configure and make, then from the build directory:
./testrichtexteditor
This will open a window, close it without doing anything. This will end up
connecting and sending the XIM_CONNECT/XIM_OPEN/XIM_DISCONNECT sequence.
After this, the next XIM client will trigger this assertion in the server.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
--
You received this message because you are subscribed to the Google
Groups "ibus-devel" group.
iBus project web page: http://code.google.com/p/ibus/
iBus dev group: http://groups.google.com/group/ibus-devel?hl=en
---
You received this message because you are subscribed to the Google Groups "ibus-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.