I now realize that the problem I see with non-framed faces (including
bar graphs) on Ubuntu Linux with Visual beta4.15 has nothing to do with
upgrading to the latest version of Linux. Rather, the issue is a change
made by Mikhail Temkine in April to address a problem he saw on his
Windows machine. Here is what he wrote to me (I'd forgotten this):
"I added a lock(mtx) to faces::gl_render and now faces_heightfield
doesn't crash anymore, like it used to. (On my machine at least)
There was a concurrency issue with render and append."
It is this new lock that is blocking forever on Linux, though it doesn't
block on Windows. Strange. I don't understand the interactions among the
various Visual threads, but I'm guessing that whatever problem Mikhail
saw, this fix only happened to work but doesn't really address the
problem he was trying to solve. I note that no other object has a lock
in its render routine.
I'm going to remove the lock and rebuild both Windows and Linux
versions, and wait for the heightfield problem to show up again for someone.
Bruce Sherwood
|