Skip to content

Commit

Permalink
arm/aarch64: reproducer for triaging possible bug
Browse files Browse the repository at this point in the history
After booting a Linux kernel on both arm and aarch64, the QMP sockets
gets unresponsive.  Initially, this was thought to be limited to
"quit" commands, but it reproduced with others (such as in this
reproducer).  This is a partial log output:

   >>> {'execute': 'qmp_capabilities'}
   <<< {'return': {}}
   Booting Linux on physical CPU 0x0000000000 [0x410fd034]
   Linux version 4.18.16-300.fc29.aarch64 (mockbuild@buildvm-aarch64-02.arm.fedoraproject.org) (gcc version 8.2.1 20180801 (Red Hat 8.2.1-2) (GCC)) #1 SMP Sat Oct 20 23:12:22 UTC 2018
   ...
   Policy zone: DMA32
   Kernel command line: printk.time=0 console=ttyAMA0
   >>> {'execute': 'stop'}
   <<< {'timestamp': {'seconds': 1558370331, 'microseconds': 470173}, 'event': 'STOP'}
   <<< {'return': {}}
   >>> {'execute': 'cont'}
   <<< {'timestamp': {'seconds': 1558370331, 'microseconds': 470849}, 'event': 'RESUME'}
   <<< {'return': {}}
   >>> {'execute': 'stop'}

Sometimes it takes just the first "stop" command.  Overall, I was able
to reproduce 100% of times when applied on top of
6d8e75d.

A "bug:triage" tag was added for the sake of making the
listing/execution of those simpler.  The command line one can use to
reproduce this:

   $ make check-venv
   $ ./tests/venv/bin/avocado <run|list> -t bug:triage tests/acceptance

Or to look at the test results as they're produced:

   $ ./tests/venv/bin/avocado --show=test run -t bug:triage tests/acceptance

Signed-off-by: Cleber Rosa <crosa@redhat.com>
  • Loading branch information
clebergnu committed May 20, 2019
1 parent 6d8e75d commit c778e28
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ matrix:
# Acceptance (Functional) tests
- env:
- CONFIG="--python=/usr/bin/python3 --target-list=x86_64-softmmu,mips-softmmu,mips64el-softmmu,aarch64-softmmu,arm-softmmu,s390x-softmmu,alpha-softmmu"
- TEST_CMD="make check-acceptance"
- TEST_CMD="make AVOCADO_SHOW=test check-acceptance"
addons:
apt:
packages:
Expand Down
22 changes: 22 additions & 0 deletions tests/acceptance/boot_linux_console.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,17 @@ def test_aarch64_virt(self):
console_pattern = 'Kernel command line: %s' % kernel_command_line
self.wait_for_console_pattern(console_pattern)

def test_qmp_post_aarch64_virt(self):
"""
:avocado: tags=arch:aarch64
:avocado: tags=machine:virt
:avocado: tags=bug:triage
"""
self.test_aarch64_virt()
for _ in range(2):
self.vm.qmp('stop')
self.vm.qmp('cont')

def test_arm_virt(self):
"""
:avocado: tags=arch:arm
Expand All @@ -176,6 +187,17 @@ def test_arm_virt(self):
console_pattern = 'Kernel command line: %s' % kernel_command_line
self.wait_for_console_pattern(console_pattern)

def test_qmp_post_arm_virt(self):
"""
:avocado: tags=arch:arm
:avocado: tags=machine:virt
:avocado: tags=bug:triage
"""
self.test_arm_virt()
for _ in range(2):
self.vm.qmp('stop')
self.vm.qmp('cont')

def test_s390x_s390_ccw_virtio(self):
"""
:avocado: tags=arch:s390x
Expand Down

0 comments on commit c778e28

Please sign in to comment.