[Verse-dev] verse-server bugs and problems
Thorsten Jordan
verse-dev@blender.org
Thu Aug 12 21:09:36 CEST 2004
Hi!
I have noticed odd behaviour of the verse server in two different ways:
1) the client should send verse_send_node_create with a node_id of 0
(zero), wait for the server to send this callback and get the real
node_id from there, right? Well, the server just doesn't do so. Instead
it locks up. When I use verse_send_node_create with my own numbers
(always incrementing the node_id when creating a node) then it works,
sending any number twice with create causes the server to crash/lockup.
2) When sending large amount of data, and i mean more than 300 faces,
the udp buffer seems to overflow or anything similar. E.g. when
receiving a verse_send_node_create for a geometry node or an
verse_send_b_layer_create for an bitmap layer I start to send vertex
data or bitmap data. If i do an verse_callback_update(50000) every 100
send vertices/tiles or so, the server seems to handle the data (although
transmission is slowed down obviously), but sending more than roughly
200 vertices without an update in between seems to lockup the server.
Same for bitmap tiles or polygon indices.
It also seems that sending server output to an file or /dev/null instead
of printing it to the console helps a bit against the lockups. Maybe
this is some sort of timing problem.
(I am using Debian/unstable on i386 - the client runs also on Windows2k
and WindowsCE, it is the same everywhere)
It is very annoying to work with this server, as it took me a long time
to detect these errors. I thought the server would be complete.
Especially the node_id bug is a bad surprise.
Please focus your work on things that matter, like these, and not wether
node_ids start at 0 or 1. ;-)
Ah, another thing: the server seems to reverse the order of commands he
receives. Sending layers 1,2,3 from a client leads to an retrieval of
3,2,1 (very often) at the same client. This is not really a bug, but
keeping the order would be great for many reasons:
the clients could create layers/vertices/indices in a sane order,
creating nodes/layers before referencing it, or creating vertices before
creating face indices that reference the (not yet existing) vertices.
The client could then e.g. create vertex n first and then vertices
0...n-1, so that an array resize can be done only once and not n times
on another client who receives the vertices.
Thanks in advance for your help.
--
Greetings, Thorsten
More information about the Verse-dev
mailing list