MSYS2 Aravis segmentation error (Windows 10)

Hello, and thanks for a great tool!

I’ve successfully installed Aravis-gst using MSYS2 on my windows 10 machine using the mingw64 packages, but I’m having trouble with getting it to work properly.
I’ve successfully started a fake camera instance, but running arv-test.exe results in the following output:

Found 1 device
Testing ‘Aravis:Fake’
Genicam:Load SUCCESS
Genicam:Schema SUCCESS Version check disabled
Properties:SensorSizeReadout SUCCESS
Properties:SensorSizeCheck SUCCESS 2048x2048
Properties:GainReadout SUCCESS
Properties:ExposureTimeReadout SUCCESS
Segmentation fault

Trying the gstreamer source plugin also results in a segmentation fault:

$ gst-launch-1.0.exe -v aravissrc ! fakesink
Use Windows high-resolution clock, precision: 1 ms
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Pipeline is PREROLLED …
Setting pipeline to PLAYING …
Segmentation fault

Tested the aravis viewer with the same result, segmentation fault when connecting to the fake camera.

Tested with a Basler Ace Genicam with the viewer aswell, did not segfault but no frames were streamed=0fps. The camera worked properly with Baslers’ own viewing software.

Checked the network activity with Wireshark when trying the fake camera and arv-test.exe, and it reported an ICMP error Destination unreachable (Port unreachable)

Anyone that has experienced anything similar or could point out what might be the cause of these issues?

best regards
Björn

I managed to get everything working as intended by building and installing from source. Failed building from the Aravis_0_8 tag, but successfully built from the Main branch.

The error occured consistently on three different machines - two windows 10 and one windows 11 when installing using the Msys2 packages. If anybody experiences the same issue, try building and installing from source instead, as it was pretty straight forward using Meson in Msys2.

I also had the issue with the 0.8.22 in the msys2 repo (workaround: copy locally-compiled libaravis-0.8-0.dll over the packaged version). I am waiting for the next (0.8.23?) release to have it pulled into msys packaging, it should work again then - just like it did before 0.8.22.

Ah ok, any particular reason you just did not install your locally-compiled aravis instead of copying a single dll over the packaged version?

The app is built and packaged using CI (which just pulls the latest MSYS2 package), so I was working it around after the installation in this way.

OK, good to know! Thanks for the reply!

Peculiar note - this error reappeared after I installed Visual studio 2022 with its dependencies

Msys2 package was meanwhile updated to 0.8.24 (and is already built in the repos), can you check whether it still crashes? I don’t have that windows computer at hand now…

Got the msys2 package to work now, at least with the fake camera.

While trying to uninstall my old packages, I realized that mingw-w64-x86_64-aravis is not a subset of mingw-w64-x86_64-aravis-gst, am I correct? This might explain some of the issues I’ve been having, if I’ve only updated the latter.

I’ll see if I can get a Basler camera working tomorrow using this version.

br

The *-aravis-gst package depends on *-aravis. Maybe it does not require the same exact version, I am not sure if this is automatic or not. Let us know about Basler, hope it will work.

I tested arv-viewer and arv-camera-test with a Basler acA2440-20gm camera.

No segmentation fault, but not able to establish a video stream. This issue is discussed in another thread here: Video stream issue on Windows

Not sure if these issues are related in any way, but the segmentation error does not occur now at least, with the latest aravis msys2 package.