[RTEMS Project] #3037: QEMU fails to exit after test, 4 BSPS

RTEMS trac trac at rtems.org
Mon Jun 26 23:38:09 UTC 2017


#3037: QEMU fails to exit after test, 4 BSPS
-------------------------------+------------------------------
 Reporter:  Cillian O'Donnell  |       Owner:  joel.sherrill@…
     Type:  defect             |      Status:  new
 Priority:  normal             |   Milestone:  Indefinite
Component:  bsps               |     Version:  4.12
 Severity:  normal             |  Resolution:
 Keywords:  qemu               |
-------------------------------+------------------------------

Comment (by Chris Johns):

 Replying to [comment:5 Cillian O'Donnell]:
 > Replying to [comment:4 Chris Johns]:
 > > Replying to [comment:3 Cillian O'Donnell]:
 > > > Replying to [ticket:3037 Cillian O'Donnell]:
 > > > > Qemu tests time out as it fails to exit after test is run.
 Hello.exe hangs on the line 'end of test hello world' and requires manual
 exit (crtl+C)
 > >
 > > The `rtems-tester` can be conditionally made to stop a simulator after
 a test if we finally decide the issue is in the simulator. We need to be
 careful not to kill the test if the problem is in the shutdown of the BSP
 due of a lack of a suitable shutdown, a bug or some issue in the tool set
 up.
 > >
 > Ok, any tips on how to determine which of these problems I have?

 You need to examine each BSP:

  1. Does the BSP have suitable reset logic? This could be a hardware
 register that generate a power on reset (POR) or a power down, or a call
 to target resident ROM code that does this. It may mean looking into any
 technical reference detail about the specific target hardware looking for
 something that we could use, for example watch dogs.

  2. Does QEMU support the functionality to match the BSP? If not what does
 QEMU support and does the BSP support it? It may also pay to ask the qemu
 community to see if there is something we are missing.

  3. If QEMU and the BSP cannot be made to align so qemu exits please come
 back so we can discuss possible support in the tester to kill qemu.
 Killing qemu when a test passes is something we can support however what
 happens on failures is more difficult. Further timeouts are hard when
 running parallel qemu jobs because the load on the host changes the
 targets view of real-time vs the hosts view.

 > > > >
 > > > > *** BEGIN OF TEST HELLO WORLD ***
 > > > > Hello World
 > > > > *** END OF TEST HELLO WORLD ***
 > > > > qemu: terminating on signal 2
 > > > >
 > > > > The BSPS affected are
 > > > >
 > > > > ARM: lm3s6965_qemu
 > > > >
 > > > > i386: PC386 (Current RSB-Qemu hangs before test output and
 Couverture-Qemu is as described)
 > > > This anomaly has disappeared with a slight change of Qemu options.
 i386 PC386 now behaves like the rest for both Qemu variants
 > >
 > > What is the change to the options? It would be nice to document here
 what they are.
 > >
 > Yes I should've mentioned this. Using the following 3 sets of options,
 which are more in line with what had worked previously, the tests hangs
 before the output
 >
 > qemu-system-i386 -m 128 -boot b -hda path_to/rtems-boot.img -no-reboot
 -monitor null -serial stdio -nographic -append "--console=com1;boot;"
 -kernel hello.exe
 >
 > or
 >
 > qemu-system-i386 -no-reboot -serial null -serial mon:stdio -nographic
 -kernel hello.exe
 > (in this case 'kill pid' must be issued)
 >
 > or
 >
 > qemu-system-i386 -no-reboot -monitor null -serial stdio -nographic
 -kernel hello.exe
 >

 This aligns to the settings in the `rtems-test` tool:

  https://git.rtems.org/rtems-tools/tree/tester/rtems/testing/qemu.cfg#n51

 > and with a simpler set of options suggested by Sebastian it hangs after
 the output and behaves like the others as detailed above
 >
 > qemu-system-i386 -monitor null -nographic -serial stdio -nodefaults
 -kernel hello.exe
 >

 Just to be clear, what do you mean by "others"? Is this systems that hang
 or the systems that exit qemu to finish the test?

--
Ticket URL: <http://devel.rtems.org/ticket/3037#comment:6>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list