Tiny Core Linux
General TC => General TC Talk => Topic started by: Alatun on March 16, 2016, 10:04:49 AM
-
I did build a thin client to run a RDP client based on tinycore (6.4). It is running on 12 computers being used for software training and was working pretty well until recently I received some negative feedback.
Some people are reporting that the RDP client was freezing or crashing. The problem was more or less sporadic, but still annoying. So I decided to write a kind of "stress test" that could run for a long time to test if the RDP connection was stable.
I discovered that the RDP client was exiting sooner or later when running for an extended period of time. In my test scenario it happens that after about 6 hours of usage the RDP clients start to freeze or crash. After running over night, all clients had terminated on the next morning. I redirected the output to a log file and the error being logged was:
"rdesktop: xcb_io.c:529: _XAllocID: Assertion `ret != inval_id' failed. Aborted".
The assertion seems to be inside of Xlibs.
My current research points to this bug: https://bugs.freedesktop.org/show_bug.cgi?id=27552.
I'm currently running the same test scenario with the Xorg and intel driver package and up to now (test running for about 30 hours) the RDP client is still working. So I think the problem seems to lie inside "tinyx".
Although the bug in the issue tracker was not fixed, it seems it is not present in the Xorg package.
My question now is: what is you strategy regarding tinyx? Do you update your fork from time to time?
-
If it has not been fixed upstream, what would be the point in updating?
-
It seems that the bug has been "fixed" as a side effect by other changes.
-
TinyX was removed upstream years ago, so there is nothing to update from; the generic code has gone on different paths. The bug doesn't have a reproducer, and anything that requires overnight testing would be right out.
If you can create a quick reproducer, or can point to a xorg-server commit that fixes it, I can handle it from there. Otherwise, you'll likely need to use Xorg.
-
I'd like to help to fix the bug, because I like "tinyx".
I searched the mailing lists of freedesktop and in one of the last messages about this issue I found this:
https://lists.freedesktop.org/archives/xcb/2010-August/006346.html
I'm guessing that's the bug we fixed in git commit
a6d974dc59f2722b36e2df9d4f07aeee4f83ce43, which is included in libX11 1.3.4 and
later. What version of libX11 do you have?
.....
However, I introduced a variety of bugs for multi-threaded apps some time ago,
and only got most of them fixed in libX11 1.3.4. You should definitely re-test with that version or later if you don't
already have it.
As far as I know, tinyx was forked from xorg-server-1.2.0. So maybe this version contains the multi thread bugs mentioned in this thread.
Also found this info just now. So some folks still do some development on the tinyx project (even porting back fixes of some security issues).
http://www.phoronix.com/scan.php?page=news_item&px=MTU2NzA
Seems this is the project on github: https://github.com/idunham/tinyxserver
-
Our X libs, including libX11, are all the latest. This bug is in the server.
Idunham's is another fork, neither is authoritative really - theirs is used in Puppy, IIRC.
-
X has always been a black box for me. So the X-client libs are up to date.
But when using Xvesa, the server is a not maintained fork.
It's sad, but it seems the only way to get rid of my problem is to use Xorg.
Thanks anyway.