[igt-dev] [PATCH i-g-t] lib/igt_kms: only check chamelium's presence in chamelium tests

Kunal Joshi kunal1.joshi at intel.com
Mon Mar 22 08:39:05 UTC 2021


> Yeah, but then that would not protect against tests that would forget to
> re-plug the screens and thus would lead to unstable IGT results when the
> test list is randomized (shard runs).

Correct, but from the recents runs i have observed that chamelium
crashes in between (chameleond stops), There is no reply coming back
and the test gives SIGQUIT.

I will try to come up with a non blocking plug all display,

> I think the idea was that the overhead of checking was measured in ms on
> devices that have a chamelium, and no impact at all on machines without a
> chamelium, so the convenience was deemed greater than the cost.
> 
> Do you have specific measurements that would contradict this?

For this when chamelium is reachable its neglible in ms
When chamelium is not reachable or crashed it takes 1m15.654s to ~4m causing inactivity timeout

The problem is chamelium crashes in between the runs not when the admin
or someone starts it so time wasted is multiplied by all the tests we
run.

So probably we have to find some other way of dealing with this,
Either decreasing xmlrpc timeout below inactivity timeout or non
blocking xmlrpc request.

Thanks for the feedback

Regards
Kunal Joshi
> 
> > 
> > Currently when chamelium is not reachable we get SIGQUIT on all the
> > tests
> > 
> > Starting subtest: basic-fence-flip
> > Received signal SIGQUIT.
> > Stack trace:
> > #0 [fatal_sig_handler+0xd6]
> > #1 [killpg+0x40]
> > #2 [pselect+0x59]
> > #3 [xmlrpc_server_info_disallow_auth_ntlm+0x389]
> > #4 [xmlrpc_server_info_disallow_auth_ntlm+0x786]
> > #5 [xmlrpc_server_info_disallow_auth_ntlm+0xd1f]
> > #6 [xmlrpc_client_call2+0xa8]
> > #7 [xmlrpc_client_call2f_va+0x9e]
> > #8 [__chamelium_rpc_va+0x87]
> > #9 [__chamelium_rpc.constprop.8+0x8c]
> > #10 [chamelium_wait_reachable+0x65]
> > #11 [igt_display_require+0xbe]
> > #12 [test_flip+0x4b]
> > #13 [__real_main1093+0x1c38]
> > #14 [main+0x27]
> > #15 [__libc_start_main+0xe7]
> > #16 [_start+0x2a]
> > 
> > When chamelium is not reachable chamelium_wait_reachable() never returns
> > back and we have inactivity timeout which kills the test.
> 
> Isn't that exactly what we want? This seems to be a setup error, and we get
> a clear message: we can't check the state of the chamelium, so better not
> run KMS tests which depend on a state we can't check.
> 
> > 
> > Regards
> > Kunal Joshi
> > 


More information about the igt-dev mailing list