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

Error: Error sending message: Invalid argument under a complex deployment evironment linke "VM/Docker/Container/vEth or WSL/windows" #961

Open
WinstonHu75 opened this issue Nov 22, 2024 · 0 comments

Comments

@WinstonHu75
Copy link

Describe the bug
We're developing a software which using PhotoNeo camera. If we deploy the software onto a stand alone Unix, it works well. But if we deploy if onto a Windows/WSL sysytem, if the winsows and wsl have the same IP(mirrored network), we cannot recieve a right buffer, promt as "The buffer is not a buffer instance". If we deploy it onto a diffrent IP Windows/WSL structure or a more complex network system like using VirtureMachine, Docker, Containers,vThernet, vSwitch..., it prompts "🆆 interface> [ArvGVInterface::arv_gv_interface_camera_locate] Error: Error sending message: Invalid argument" when we add "ARV_DEBUG=all" and then "Buffer is not a buffer instance!".
as below:

~/Dev/photoneo-cpp-examples/GigEV/aravis/build$ ARV_DEBUG=all ./ConnectAndGrab 192.168.1.7
[14:35:33.046] 🅸 interface> Found 0 USB3Vision device (among 2 USB devices)
[14:35:33.046] 🅸 interface> [GvDiscoverSocket::new] Add interface 127.0.0.1 (127.0.0.1)
[14:35:33.046] 🅸 interface> [GvDiscoverSocket::new] Add interface 10.255.255.254 (10.255.255.254)
[14:35:33.046] 🅸 interface> [GvDiscoverSocket::new] Add interface 172.19.98.220 (172.19.111.255)
[14:35:33.046] 🆆 interface> [ArvGVInterface::arv_gv_interface_camera_locate] Error: Error sending message: Invalid argument
[14:35:33.047] 🅸 device> [GvDevice::new] Interface address = 172.19.98.220
[14:35:33.047] 🅸 device> [GvDevice::new] Device address = 192.168.1.7
[14:35:33.047] 🅸 device> [GvDevice::load_genicam] xml url = 'Local:photoneo_genicam_e15b763c.zip;a000;63dd' at 0x200
[14:35:33.048] 🅸 device> [GvDevice::load_genicam] Xml address = 0xa000 - size = 0x63dd - photoneo_genicam_e15b763c.zip
[14:35:33.065] 🅸 device> [GvDevice::load_genicam] Zipped xml data
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'DeviceID'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPConfigurationLLA'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPConfigurationDHCP'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPConfigurationPersistentIP'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentIPAddress'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentSubnetMask'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevCurrentDefaultGateway'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevNumberOfNetworkInterfaces'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevPersistentIPAddress'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevPersistentSubnetMask'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevPersistentDefaultGateway'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevStreamChannelCount'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevStreamChannelSelector'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPAddrCalc'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevTimestampTickFrequency'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPHostPort'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSFireTestPacket'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSDoNotFragment'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSBigEndian'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPSPacketSize'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCPD'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCDA'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCSP'
[14:35:33.074] 🅸 genicam> [Gc::set_default_node_data] Add 'ArvGevSCCFGMultipart'
[14:35:33.126] 🅸 device> [GvDevice::new] Device endianness = big
[14:35:33.126] 🅸 device> [GvDevice::new] Packet resend = yes
[14:35:33.126] 🅸 device> [GvDevice::new] Write memory = yes
[14:35:33.126] 🅸 device> [GvDevice::new] Legacy endianness handling = no
Connected to camera: PhoXi 3D Scanner (S)
[14:35:33.128] 🅸 device> [GvDevice::create_stream] Number of stream channels = 1
[14:35:33.164] 🅸 device> [GvDevice::auto_packet_size] Try packet size = 1500 (1500 - min: 46 - max: 1500 - inc: 1)
[14:35:33.198] 🅸 device> [GvDevice::auto_packet_size] Try packet size = 773 (773 - min: 46 - max: 1500 - inc: 1)
[14:35:33.232] 🅸 device> [GvDevice::auto_packet_size] Try packet size = 409 (409 - min: 46 - max: 773 - inc: 1)
[14:35:33.265] 🅸 device> [GvDevice::auto_packet_size] Try packet size = 227 (227 - min: 46 - max: 409 - inc: 1)
[14:35:33.299] 🅸 device> [GvDevice::auto_packet_size] Try packet size = 136 (136 - min: 46 - max: 227 - inc: 1)
[14:35:33.333] 🅸 device> [GvDevice::auto_packet_size] Try packet size = 91 (91 - min: 46 - max: 136 - inc: 1)
[14:35:33.366] 🅸 device> [GvDevice::auto_packet_size] Try packet size = 68 (68 - min: 46 - max: 91 - inc: 1)
[14:35:33.399] 🅸 device> [GvDevice::auto_packet_size] Try packet size = 57 (57 - min: 46 - max: 68 - inc: 1)
[14:35:33.433] 🅸 device> [GvDevice::auto_packet_size] Try packet size = 51 (51 - min: 46 - max: 57 - inc: 1)
[14:35:33.467] 🅸 device> [GvDevice::auto_packet_size] Try packet size = 48 (48 - min: 46 - max: 51 - inc: 1)
[14:35:33.501] 🅸 device> [GvDevice::auto_packet_size] Try packet size = 47 (47 - min: 46 - max: 48 - inc: 1)
[14:35:33.534] 🅸 device> [GvDevice::auto_packet_size] Try packet size = 46 (46 - min: 46 - max: 47 - inc: 1)
[14:35:33.568] 🅸 device> [GvDevice::auto_packet_size] Packet size set to 1500 bytes
[14:35:33.568] 🅸 stream> [GvStream::stream_new] Stream channel = 0
[14:35:33.570] 🅸 stream> [GvStream::stream_new] Packet size = 1500 byte(s)
[14:35:33.571] 🅸 stream> [GvStream::stream_new] Destination stream port = 37454
[14:35:33.571] 🅸 stream> [GvStream::stream_new] Source stream port = 0
[14:35:33.572] 🅸 stream> [GvStream::loop] Standard socket method
Warning: Camera does not support enumeration 'Event' for the ComponentSelector feature. Ignoring...
Warning: Camera does not support enumeration 'ColorCamera' for the ComponentSelector feature. Ignoring...
Payload size: 82857216 bytes
Acquisition started...
Error: Buffer is not a buffer instance!
[14:35:35.735] 🅸 stream> bins ;frame_retent; packet_time;inter_packet
0; 0; 0; 0
-------------
>= 2000; 0; 0; 0
< 0; 0; 0; 0
min : n/a; n/a; n/a
max : n/a; n/a; n/a
last max at : 0; 0; 0
counter : 0: 0: 0
[14:35:35.735] 🅸 stream> [GvStream::finalize] n_completed_buffers = 0
[14:35:35.735] 🅸 stream> [GvStream::finalize] n_failures = 0
[14:35:35.735] 🅸 stream> [GvStream::finalize] n_underruns = 0
[14:35:35.735] 🅸 stream> [GvStream::finalize] n_timeouts = 0
[14:35:35.735] 🅸 stream> [GvStream::finalize] n_aborted = 0
[14:35:35.736] 🅸 stream> [GvStream::finalize] n_missing_frames = 0
[14:35:35.736] 🅸 stream> [GvStream::finalize] n_size_mismatch_errors = 0
[14:35:35.736] 🅸 stream> [GvStream::finalize] n_received_packets = 0
[14:35:35.736] 🅸 stream> [GvStream::finalize] n_missing_packets = 0
[14:35:35.736] 🅸 stream> [GvStream::finalize] n_error_packets = 0
[14:35:35.736] 🅸 stream> [GvStream::finalize] n_ignored_packets = 0
[14:35:35.736] 🅸 stream> [GvStream::finalize] n_resend_requests = 0
[14:35:35.736] 🅸 stream> [GvStream::finalize] n_resent_packets = 0
[14:35:35.736] 🅸 stream> [GvStream::finalize] n_resend_ratio_reached = 0
[14:35:35.736] 🅸 stream> [GvStream::finalize] n_resend_disabled = 0
[14:35:35.736] 🅸 stream> [GvStream::finalize] n_duplicated_packets = 0
[14:35:35.736] 🅸 stream> [GvStream::finalize] n_transferred_bytes = 0
[14:35:35.736] 🅸 stream> [GvStream::finalize] n_ignored_bytes = 0
[14:35:35.736] 🅸 stream> [Stream::finalize] Flush 10 buffer[s] in input queue
[14:35:35.736] 🅸 stream> [Stream::finalize] Flush 0 buffer[s] in output queue

To Reproduce
Steps to reproduce the behavior:

Expected behavior
A clear and concise description of what you expected to happen.

Camera description:

  • PhotoNeo
  • S
  • Ethernet

Platform description:

  • Aravis version 3.8, 3.10
  • OS: Ubuntu2204 as WSL under Windows11/ESXi-Docker-Container(host mode or macvlan mode)
  • Hardware [x86_64]

Additional context
Add any other context about the problem here.

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

1 participant