Project

General

Profile

Actions

action #161969

closed

os-autoinst ustreamer tests fail on s390x (big-endian) size:S

Added by AdamWill about 1 month ago. Updated about 1 month ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Regressions/Crashes
Target version:
Start date:
2024-06-07
Due date:
% Done:

0%

Estimated time:

Description

Observation

I'm just getting around to updating Fedora's os-autoinst package, which includes the patches from Marek to add ustreamer support. The tests for this are passing on all other arches but failing on s390x, which is currently our only big-endian arch. They fail like this:

2: # Subtest: frame parsing - ustreamer
2: ok 1 - detected invalid data
2: not ok 2 - current screen available to read for JPEG frame
2:
2: # Failed test 'current screen available to read for JPEG frame'
2: # at t/26-video_stream.t line 171.
2: 1..2
2: # Looks like you failed 1 test of 2.
2: not ok 3 - frame parsing - ustreamer

all other subtests pass. The failure indicates that $console->current_screen(); (on line 170) does not give an image at all.

The fact that this is failing on s390x, and I can see the ustreamer code doing stuff like pack("D", $clock); and unpack("QLx4QQIIa4ICCxxI", $ustreamer_map);, makes me suspect very strongly that this is an endianness issue, but I'm not sure I care enough to figure it out myself, not being likely to do anything with ustreamer on s390x in anger. I'll probably just patch this subtest out on s390x, one way or another.

Suggestions

Actions #1

Updated by AdamWill about 1 month ago

It looks like it also fails on i686, though differently:

2: # Subtest: frame parsing - ustreamer
2: ok 1 - detected invalid data
2: Writing directly to a memory mapped file is not recommended at /builddir/build/BUILD/os-autoinst-664655866ebd886b2bb9163bcec0ca6b371cccc7/consoles/video_stream.pm line 286.
2: ok 2 - current screen available to read for JPEG frame
2: not ok 3 - received correct JPEG frame
2:
2: # Failed test 'received correct JPEG frame'
2: # at t/26-video_stream.t line 172.
2: # got: '0'
2: # expected: '1000000'
2: Writing directly to a memory mapped file is not recommended at /builddir/build/BUILD/os-autoinst-664655866ebd886b2bb9163bcec0ca6b371cccc7/consoles/video_stream.pm line 286.
2: ok 4 - current screen available to read for UYVY frame
2: not ok 5 - received correct UYVY frame
2:
2: # Failed test 'received correct UYVY frame'
2: # at t/26-video_stream.t line 182.
2: # got: '23.5829221867076'
2: # expected: '1000000'
2: 1..5
2: # Looks like you failed 2 tests of 5.
2: not ok 3 - frame parsing - ustreamer
2:
2: # Failed test 'frame parsing - ustreamer'

Actions #2

Updated by okurz about 1 month ago

  • Category set to Regressions/Crashes
  • Target version set to Ready
Actions #3

Updated by AdamWill about 1 month ago

Sent https://github.com/os-autoinst/os-autoinst/pull/2500 to just disable ustreamer functionality and tests outside of x86_64 and aarch64.

Actions #4

Updated by okurz about 1 month ago ยท Edited

  • Due date set to 2024-06-25
  • Status changed from New to Feedback
  • Assignee set to okurz
Actions #5

Updated by okurz about 1 month ago

  • Subject changed from os-autoinst ustreamer tests fail on s390x (big-endian) to os-autoinst ustreamer tests fail on s390x (big-endian) size:S
  • Description updated (diff)
Actions #6

Updated by okurz about 1 month ago

  • Due date deleted (2024-06-25)
  • Status changed from Feedback to Resolved

https://github.com/os-autoinst/os-autoinst/pull/2500 merged. As AdamWill was both the PR submitter as well as the reporter I assume that fixes the problem sufficiently or AdamWill will follow-up with a PR themselves :)

Actions

Also available in: Atom PDF