EXEC_SEND_OSC not sending same message in a row

You found a bug or have any issues? Please post them here!
Post Reply
Kyle FM
Posts: 27
Joined: 29 May 2023 15:58
EXEC_SEND_OSC not sending same message in a row

Post by Kyle FM »

You cannot send the same OSC message twice in a row.

Steps to reproduce:
1. Execute EXEC_SEND_OSC /status|s:OK (The message is received by the OSC client)
2. Execute EXEC_SEND_OSC /status|s:OK (The message is not received by the OSC client)
3. Execute EXEC_SEND_OSC /status|s:FAIL (The message is received by the OSC client)
4. Execute EXEC_SEND_OSC /status|s:FAIL (The message is not received by the OSC client)
5. Execute EXEC_SEND_OSC /status|s:OK (The message is received by the OSC client)
User avatar
radio42
Site Admin
Posts: 8350
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: EXEC_SEND_OSC not sending same message in a row

Post by radio42 »

When the message is replied with OK, this means, that the OSC message is send to the network. Either TCP or UDP.
What are you using?

But when the OSC client doesn’t receive it, this indicates, that the error might either be in your network or in your client.

Why do you think, that the error is on the ProppFrexx side?
Have you traced eg. via Wireshark what happened with your packets?

From your messages, it even indicates, that the sending sometimes fails. Which indicates a network issue.
Are you using UDP?

Because I assume, that what you receive by the client doesn’t 1:1 match the message send. Otherwise it is impossible, that ProppFrexx indicates a Fail, but the client receives a message :-)

So please ensure, that there is no error on the network and client. I just did some tests with TCP and all was received correctly here - even when sending the same message multiple times.
Also in code, there is no real logic, which can prevent that.
Kyle FM
Posts: 27
Joined: 29 May 2023 15:58
Re: EXEC_SEND_OSC not sending same message in a row

Post by Kyle FM »

HI Bernd

Let me be more descriptive on what exactly I mean that is wrong. Let me give you a different example:

Steps to reproduce:
1. Execute EXEC_SEND_OSC /some/osc/address (The message is received by the OSC client)
2. Execute EXEC_SEND_OSC /some/osc/address (The message is not received by the OSC client)
3. Execute EXEC_SEND_OSC /anothersome/osc/address (The message is received by the OSC client)
4. Execute EXEC_SEND_OSC /anothersome/osc/address (The message is not received by the OSC client)
5. Execute EXEC_SEND_OSC /some/osc/address (The message is received by the OSC client)

All of the control commands result in an OK response from ProppFrexx, but some are send to the client and some are not. This is not a network issue as I am using a OSC tester on the same machine as ProppFrexx is running.

You can do the steps above multiple times, it will always leads to the exact same result/missing messages in multiple UDP/TCP OSC testers. You cannot send the exact same OSC message twice. ProppFrexx will only send a new OSC message to the client if it was different from the previous send message.

This is an issue for our custom software, as it queries ProppFrexx for a status every second to make sure it is still running. The first response will be received but sending replies with the same address and status will never be send out to the client.
User avatar
radio42
Site Admin
Posts: 8350
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: EXEC_SEND_OSC not sending same message in a row

Post by radio42 »

Ahh, now I got you.
I just double checked my code and indeed, in order to reduce any unnecessary workload, I am suppressing sending the exact same message successively.
I will lift this restriction in the next version and add a new option for such case!
User avatar
radio42
Site Admin
Posts: 8350
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: EXEC_SEND_OSC not sending same message in a row

Post by radio42 »

Fixed in v4.4.3.0!

Post Reply