Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

simple-client sample seems broken #324

Open
cjjb01 opened this issue May 1, 2024 · 6 comments
Open

simple-client sample seems broken #324

cjjb01 opened this issue May 1, 2024 · 6 comments

Comments

@cjjb01
Copy link

cjjb01 commented May 1, 2024

As the simple-server sample only publishes v1 and v2, the client is subscribed to v1,v2,v3,v4 and does not receive updates for v3,v4 and does nothing after the first update.
After changing the client to only subscribe to v1,v2 it behaves as expected and receives updates from the server.

@AiyionPrime
Copy link
Contributor

Hey @cjjb01; I just git bisected your problem, as I did not encounter it in 0.12.0.
It appears the first commit introducing the bad behaviour is eab4caa, which was merged in #317.

@einarmo Can you reproduce the problem with your machine as well? Or is this unrelated to your (merged) PR?

@einarmo
Copy link
Contributor

einarmo commented Jul 2, 2024

I think I noticed this at one point and found it only happens with this server SDK, so I wonder if it's a change in the client exposing a bug in the server, or it may be a bug in the client. I'll look into it when I find some time.

@AiyionPrime
Copy link
Contributor

I think it would be worthwhile to implement integration tests against the examples.
In a downstream project I implemented two which might better live in this repo.
One of them verifies one line of subscribed data output, the other 10.
The former succeeds the latter only in 0.12.0.

@locka99 answered a few days ago; he's currently pretty busy and it might take a moment until he gets back to this project.
I think opening more PRs until then is just a waste of time; just wanted to let you know the integration tests which would have caught this beforehand do exist downstream.
If you find the time to evaluate the issue, just let me know and I'll pass you freshly rebased commits of them.

@einarmo
Copy link
Contributor

einarmo commented Jul 16, 2024

Alright. Whatever this is, it doesn't happen when running the client against other servers, or at all in my rewrite of the server part of the SDK (which finally runs the sample server now...).

From what I can tell the sample server is supposed to publish on v3 and v4 as well, (at least it does now...) so there is more wrong here. I wonder if maybe this is caused by a deadlock in the sampling logic? Perhaps triggered by the client now being able to send requests in parallel?

@AiyionPrime
Copy link
Contributor

I'll see to verifying that tomorrow. Maybe I'll get that finding into the pipeline as well.

@AiyionPrime
Copy link
Contributor

Thanks for having looked into it that fast!

AiyionPrime added a commit to vorausrobotik/opcua that referenced this issue Jul 24, 2024
Aas it's currently not working for at least two different reasons:

Commit(43afb6a): 'Implement JSON serialization on most built-in data types.',

which broke the JS parsing and updating of subscribed values.
And the other being

Commit(eab4caa): 'Rewrite the client to be async all the way through',

which indirectly halted subscriptions for servers implemented with this crate (locka99#324).

Re-adding this sample would be highly appreciated.
If possible with tests, which might prevent its recurring decay.
AiyionPrime added a commit to vorausrobotik/opcua that referenced this issue Jul 24, 2024
as it's currently not working for at least two different reasons:

Commit(43afb6a): 'Implement JSON serialization on most built-in data types.',

which broke the JS parsing and updating of subscribed values.
And the other being

Commit(eab4caa): 'Rewrite the client to be async all the way through',

which indirectly halted subscriptions for servers implemented with this crate (locka99#324).

Re-adding this sample would be highly appreciated.
If possible with tests, which might prevent its recurring decay.
AiyionPrime added a commit to vorausrobotik/opcua that referenced this issue Jul 24, 2024
as it's currently not working for at least two different reasons:

Commit(43afb6a): 'Implement JSON serialization on most built-in data types.',

which broke the JS parsing and updating of subscribed values.
And the other being

Commit(eab4caa): 'Rewrite the client to be async all the way through',

which indirectly halted subscriptions for servers implemented with this crate (locka99#324).

Re-adding this sample would be highly appreciated.
If possible with tests, which might prevent its recurring decay.
AiyionPrime added a commit to vorausrobotik/opcua that referenced this issue Jul 24, 2024
as it's currently not working for at least two different reasons:

Commit(43afb6a): 'Implement JSON serialization on most built-in data types.',

which broke the JS parsing and updating of subscribed values.
And the other being

Commit(eab4caa): 'Rewrite the client to be async all the way through',

which indirectly halted subscriptions for servers implemented with this crate (locka99#324).

Re-adding this sample would be highly appreciated.
If possible with tests, which might prevent its recurring decay.
AiyionPrime added a commit to vorausrobotik/opcua that referenced this issue Jul 25, 2024
as it's currently not working for at least two different reasons:

Commit(43afb6a): 'Implement JSON serialization on most built-in data types.',

which broke the JS parsing and updating of subscribed values.
And the other being

Commit(eab4caa): 'Rewrite the client to be async all the way through',

which indirectly halted subscriptions for servers implemented with this crate (locka99#324).

Re-adding this sample would be highly appreciated.
If possible with tests, which might prevent its recurring decay.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants