From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 109679] [CI][BAT] CHAMELIUM: igt@kms_chamelium@hdmi-crc-fast -
fail - Chamelium RPC call failed: RPC failed at server. :integer division or
Date: Tue, 19 Feb 2019 18:10:53 +0000
Message-ID:
References:
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="===============0134161939=="
Return-path:
Received: from culpepper.freedesktop.org (culpepper.freedesktop.org
[IPv6:2610:10:20:722:a800:ff:fe98:4b55])
by gabe.freedesktop.org (Postfix) with ESMTP id A627C8932B
for ; Tue, 19 Feb 2019 18:10:53 +0000 (UTC)
In-Reply-To:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: dri-devel-bounces@lists.freedesktop.org
Sender: "dri-devel"
To: dri-devel@lists.freedesktop.org
List-Id: dri-devel@lists.freedesktop.org
--===============0134161939==
Content-Type: multipart/alternative; boundary="15505998530.EFac.28639"
Content-Transfer-Encoding: 7bit
--15505998530.EFac.28639
Date: Tue, 19 Feb 2019 18:10:53 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://bugs.freedesktop.org/
Auto-Submitted: auto-generated
https://bugs.freedesktop.org/show_bug.cgi?id=3D109679
--- Comment #3 from Stuart Summers ---
Agree this looks like an issue in IGT or possibly in the chameleond daemon.=
At
a quick glance, there aren't a whole lot of places in the CaptureVideo path
that might trigger this exception in chameleond. It does look feasible that=
if
we were to pass a 0 for width and height, we could potentially get a
div-by-zero exception when chameleond prepares the video output:
CaptureVideo ->
_PrepareCapturingVideo/_captured_params['max_frame_limit']/flow_manager.Get=
MaxFrameLimit
-> input_flow.GetMaxFrameLimit -> frame_manager.GetMaxFrameLimit ->
field_manager.GetMaxFieldLimit -> VideoDumper.GetMaxFieldLimit:
def GetMaxFieldLimit(cls, width, height):=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
"""Returns of the maximal number of fields which can be dumped."""=20
BYTE_PER_PIXEL =3D 3=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20
PAGE_SIZE =3D 4096=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
field_size =3D width * height * BYTE_PER_PIXEL=20=20=20
field_size =3D ((field_size - 1) / PAGE_SIZE + 1) * PAGE_SIZE
return cls._DUMP_BUFFER_SIZE / field_size
That said, running this myself locally does not result in the failure of th=
is
sighting, and from kms_chamelium.c, during the CRC check, we are passing 0 =
for
width and height:
chamelium_capture(data->chamelium, port, 0, 0, 0, 0, count);
So I'd expect this to fail all the time if the issue were in the Python cal=
l I
indicated above.
And I'd also expect for CI to have seen this already if that were the case,
given this code has been present for some time.
--=20
You are receiving this mail because:
You are the assignee for the bug.=
--15505998530.EFac.28639
Date: Tue, 19 Feb 2019 18:10:53 +0000
MIME-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://bugs.freedesktop.org/
Auto-Submitted: auto-generated
Commen=
t # 3
on bug 10967=
9
from Stuart Summers
Agree this looks like an issue in IGT or possibly in the chame=
leond daemon. At
a quick glance, there aren't a whole lot of places in the CaptureVideo path
that might trigger this exception in chameleond. It does look feasible that=
if
we were to pass a 0 for width and height, we could potentially get a
div-by-zero exception when chameleond prepares the video output:
CaptureVideo ->
_PrepareCapturingVideo/_captured_params['max_frame_limit']/flow_manager.Get=
MaxFrameLimit
-> input_flow.GetMaxFrameLimit -> frame_manager.GetMaxFrameLimit ->
field_manager.GetMaxFieldLimit -> VideoDumper.GetMaxFieldLimit:
def GetMaxFieldLimit(cls, width, height):=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
"""Returns of the maximal number of fields which can be =
dumped."""=20
BYTE_PER_PIXEL =3D 3=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20
PAGE_SIZE =3D 4096=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
field_size =3D width * height * BYTE_PER_PIXEL=20=20=20
field_size =3D ((field_size - 1) / PAGE_SIZE + 1) * PAGE_SIZE
return cls._DUMP_BUFFER_SIZE / field_size
That said, running this myself locally does not result in the failure of th=
is
sighting, and from kms_chamelium.c, during the CRC check, we are passing 0 =
for
width and height:
chamelium_capture(data->chamelium, port, 0, 0, 0, 0, count);
So I'd expect this to fail all the time if the issue were in the Python cal=
l I
indicated above.
And I'd also expect for CI to have seen this already if that were the case,
given this code has been present for some time.
You are receiving this mail because:
- You are the assignee for the bug.
=
--15505998530.EFac.28639--
--===============0134161939==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs
IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz
dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs
--===============0134161939==--