Actions
action #28186
closedVNC: Use of uninitialized value $encoding_type in pack
Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Feature requests
Target version:
-
Start date:
2017-11-22
Due date:
% Done:
0%
Estimated time:
Description
openQA failed to read http://assam.suse.cz/tests/1223/file/autoinst-log.txt:
Use of uninitialized value $encoding_type in pack at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/consoles/VNC.pm line 941.
Use of uninitialized value $h in multiplication (*) at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/consoles/VNC.pm line 946.
DIE unexpected end of data at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/consoles/VNC.pm line 937.
at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/backend/baseclass.pm line 80.
backend::baseclass::die_handler('unexpected end of data at /home/newman/SUSE/projects/openQA/o...') called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/consoles/VNC.pm line 802
consoles::VNC::catch {...} ('unexpected end of data at /home/newman/SUSE/projects/openQA/o...') called at /usr/lib/perl5/vendor_perl/5.18.2/Try/Tiny.pm line 115
Try::Tiny::try('CODE(0x7c7a698)', 'Try::Tiny::Catch=REF(0x7c71bd8)') called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/consoles/VNC.pm line 804
consoles::VNC::update_framebuffer('consoles::VNC=HASH(0x7e48808)') called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/consoles/vnc_base.pm line 81
consoles::vnc_base::request_screen_update('consoles::vnc_base=HASH(0x4f56da8)', undef) called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/backend/baseclass.pm line 536
backend::baseclass::bouncer('backend::svirt=HASH(0x6a477d8)', 'request_screen_update', undef) called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/backend/baseclass.pm line 519
backend::baseclass::request_screen_update('backend::svirt=HASH(0x6a477d8)') called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/backend/baseclass.pm line 172
eval {...} called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/backend/baseclass.pm line 156
backend::baseclass::run_capture_loop('backend::svirt=HASH(0x6a477d8)', 1) called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/backend/baseclass.pm line 693
backend::baseclass::wait_serial('backend::svirt=HASH(0x6a477d8)', 'HASH(0x7c67358)') called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/backend/baseclass.pm line 75
backend::baseclass::handle_command('backend::svirt=HASH(0x6a477d8)', 'HASH(0x7e48fa0)') called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/backend/baseclass.pm line 436
backend::baseclass::check_socket('backend::svirt=HASH(0x6a477d8)', 'IO::Handle=GLOB(0x601ff00)', 0) called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/backend/svirt.pm line 236
backend::svirt::check_socket('backend::svirt=HASH(0x6a477d8)', 'IO::Handle=GLOB(0x601ff00)', 0) called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/backend/baseclass.pm line 208
eval {...} called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/backend/baseclass.pm line 156
backend::baseclass::run_capture_loop('backend::svirt=HASH(0x6a477d8)') called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/backend/baseclass.pm line 129
backend::baseclass::run('backend::svirt=HASH(0x6a477d8)', 6, 9) called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/backend/driver.pm line 85
backend::driver::start('backend::driver=HASH(0x60fd8d0)') called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/backend/driver.pm line 48
backend::driver::new('backend::driver', 'svirt') called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/isotovideo line 212
main::init_backend() called at /home/newman/SUSE/projects/openQA/os-autoinst-distri-opensuse/os-autoinst/isotovideo line 281
The relevant code is:
$socket->read(my $data, 12) || die 'unexpected end of data';
my ($x, $y, $w, $h, $encoding_type) = unpack 'nnnnN', $data;
# unsigned -> signed conversion
$encoding_type = unpack 'l', pack 'L', $encoding_type;
Don't know if we can re-read in such cases.
Updated by coolo about 7 years ago
we may - but did you file a product bug about XEN ?
Updated by coolo about 7 years ago
if you can reproduce this, protect the access to the variables with an or OpenQA::Exception::VNCProtocolError->throw(error => 'short read for encoding_type');
Updated by okurz about 5 years ago
- Related to action #60539: openQA remote-back-ends crashes with Xvnc >= 1.9.80 added
Updated by okurz over 4 years ago
- Status changed from New to Resolved
I think I have seen this myself but haven't seen this for long. I assume it's actually fixed but I could not pin-point a commit that could explain it.
Actions