Issue with sis and Leon3

Joel Sherrill joel at rtems.org
Fri Mar 1 15:53:37 UTC 2019


Thank you for being so responsive.

I suspected a missing flush but had no idea where to look. I hopedyou
would spot the missing line of code quickly and was right. :)

--joel

On Thu, Feb 28, 2019 at 1:01 PM Jiri Gaisler <jiri at gaisler.se> wrote:

> I have found the problem, stdout is not flushed when the simulator stops
> and it has been invoked by gdb. The run command uses the gdb interface to
> call sis, so this is why it happens there too. I will make a new sis patch
> (2.13) with some additional (speed) improvements...
>
> Jiri.
>
>
> On 2/27/19 9:34 AM, Jiri Gaisler wrote:
>
>
> On 2/26/19 11:04 PM, Joel Sherrill wrote:
>
>
>
> On Tue, Feb 26, 2019 at 2:06 PM Jiri Gaisler <jiri at gaisler.se> wrote:
>
>>
>> On 2/26/19 8:49 PM, Joel Sherrill wrote:
>>
>>
>>
>> On Tue, Feb 26, 2019 at 1:28 PM Jiri Gaisler <jiri at gaisler.se> wrote:
>>
>>>
>>> On 2/26/19 8:08 PM, Joel Sherrill wrote:
>>> > Hi
>>> >
>>> > I think something is wrong with sis on the leon3 which is impacting
>>> rtems-tester.
>>> > ticker ends like this:
>>> >
>>> > TA1  - rtems_clock_get_tod - 09:00:34   12/31/1988
>>> >
>>> > *** END OF TEST CLOCK TICK ***[joel@
>>> >
>>> > Notice that there is no carriage return at the end. Hello ends with a
>>> CR and an
>>> > blank line and it passes. Similar issue on the tests I picked which
>>> passed or failed.
>>> >
>>> > Any idea what's up? I assume something isn't quite right after all the
>>> sis work
>>> > since it is reproducible.
>>>
>>>
>>> Works OK here on Ubuntu 18.04.2 x64. Which host O/S are you on?
>>>
>>
>> Interesting. OS is:
>>
>> CentOS Linux release 7.5.1804 (Core)
>>
>> Here is the output of my last run by hand with a subsequent comment.
>> Notice that
>>
>> ===================================
>> [joel at rtbf64c b-leon3]$ sparc-rtems5-run -a -leon3
>> ./sparc-rtems5/c/leon3/testsuites/sptests/sp05.exe
>>
>> The run program has some issues, I think we should sis with -r instead:
>>
>> $ sparc-rtems5-sis -r -leon3
>> ./sparc-rtems5/c/leon3/testsuites/sptests/sp05.exe
>>
>> .
>>
>> .
>>
>>
>> *** END OF TEST SP 5 ***
>>
>
> Thanks. Then do you agree that this patch is needed for rtems-tools to
> invoke sis correctly:
>
> diff --git a/tester/rtems/testing/bsps/leon3-sis.ini
> b/tester/rtems/testing/bsps
> index 2f933a7..9e8111f 100644
> --- a/tester/rtems/testing/bsps/leon3-sis.ini
> +++ b/tester/rtems/testing/bsps/leon3-sis.ini
> @@ -36,4 +36,4 @@ bsp          = leon3
>  arch         = sparc
>  tester       = %{_rtscripts}/run.cfg
>  bsp_run_cmd  = %{rtems_tools}/%{bsp_arch}-rtems%{rtems_version}-sis
> -bsp_run_opts = -leon3 -nouartrx -r -tlim 200 s -m 4
> +bsp_run_opts = -r -leon3 -nouartrx -r -tlim 200 s -m 4
>
> Hmm, bsp_run_opts already has -r, I don't think you need a second copy ...?
>
>
> And the cut-off output also occurs when running it from inside gdb so
> using leon3
> (leon3.ini) configuration with rtems-test is broken. Not sure how to fix
> that.
>
> I will look into this.
>
> Jiri.
>
>
> The tests pass with leon3-sis with my above patch but fail with simple
> leon3
> passed to tester.
>
> --joel
>
>>
>> Jiri.
>>
>>
>>
>>
>>
>> *** BEGIN OF TEST SP 5 ***
>> *** TEST VERSION: 5.0.0.7abc497b6c763ccdc090014f310951b17c742ae9
>> *** TEST STATE: EXPECTED-PASS
>> *** TEST BUILD: RTEMS_NETWORKING
>> *** TEST TOOLS: 7.4.0 20181206 (RTEMS 5, RSB
>> 38241392a4f96dabf2d1aba51a43dcb623db4dfb, Newlib 1d35a003f)
>> TA1 - rtems_task_wake_after - sleep 5 seconds
>> TA2 - rtems_task_suspend - suspend self
>> TA3 - rtems_task_suspend - suspend self
>> ......
>> TA1 - rtems_task_resume - resume TA3
>>
>> *** END OF TEST [joel at rtbf64c b-leon3]$ cat /etc/redhat-release
>> CentOS Linux release 7.5.1804 (Core)
>> ===================================
>>
>> And this is the end of the erc32 output from the same test and same sis
>> on the same computer:
>>
>> ===================================
>>  TA1 - rtems_task_resume - resume TA3
>>
>> *** END OF TEST SP 5 ***
>>
>>
>> *** FATAL ***
>> fatal source: 5 (RTEMS_FATAL_SOURCE_EXIT)
>> fatal code: 0 (0x00000000)
>> RTEMS version: 5.0.0.7abc497b6c763ccdc090014f310951b17c742ae9
>> RTEMS tools: 7.4.0 20181206 (RTEMS 5, RSB
>> 38241392a4f96dabf2d1aba51a43dcb623db4dfb, Newlib 1d35a003f)
>>
>> ===================================
>>
>> Looks like a lot of output got chopped or not flushed or something.
>>
>> If the final output makes it out on your system, then rtems-test will be
>> happy and pass them.
>> In my case, it ends most of the time just a little too early to make that
>> happen.
>>
>>
>>>
>>> jiri at office:~/src/rtems/sparc$ rtems-test --rtems-bsp=leon3-sis
>>> sparc-rtems5/c/leon3/testsuites/samples
>>> RTEMS Testing - Tester, 5.0.not_released
>>>  Command Line: /opt/rtems/5/bin/rtems-test --rtems-bsp=leon3-sis
>>> sparc-rtems5/c/leon3/testsuites/samples
>>>  Python: 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0]
>>> Host: Linux-4.18.0-15-generic-x86_64-with-Ubuntu-18.04-bionic (Linux
>>> office 4.18.0-15-generic #16~18.04.1-Ubuntu SMP Thu Feb 7 14:06:04 UTC 2019
>>> x86_64 x86_64)
>>> [ 8/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> minimum.exe
>>> [ 6/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> hello.exe
>>> [ 4/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> cxx_iostream.exe
>>> [ 2/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> capture.exe
>>> [ 3/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> cdtest.exe
>>> [ 1/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> base_sp.exe
>>> [ 5/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> fileio.exe
>>> [ 7/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> loopback.exe
>>> [ 1/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> base_sp.exe
>>> [ 2/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> capture.exe
>>> [ 3/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> cdtest.exe
>>> [ 4/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> cxx_iostream.exe
>>> [ 5/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> fileio.exe
>>> [ 6/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> hello.exe
>>> [ 7/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> loopback.exe
>>> [ 8/13] p:0  f:0  u:0  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> minimum.exe
>>> [10/13] p:6  f:0  u:2  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> paranoia.exe
>>> [11/13] p:6  f:0  u:2  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> pppd.exe
>>> [13/13] p:6  f:0  u:2  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> unlimited.exe
>>> [ 9/13] p:6  f:0  u:2  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> nsecs.exe
>>> [12/13] p:6  f:0  u:2  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> ticker.exe
>>> [ 9/13] p:6  f:0  u:2  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> nsecs.exe
>>> [10/13] p:6  f:0  u:2  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> paranoia.exe
>>> [11/13] p:6  f:0  u:2  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> pppd.exe
>>> [12/13] p:6  f:0  u:2  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> ticker.exe
>>> [13/13] p:6  f:0  u:2  e:0  I:0  B:0  t:0  i:0  W:0  | sparc/leon3:
>>> unlimited.exe
>>>
>>> Passed:        11
>>> Failed:         0
>>> User Input:     2
>>> Expected Fail:  0
>>> Indeterminate:  0
>>> Benchmark:      0
>>> Timeout:        0
>>> Invalid:        0
>>> Wrong Version:  0
>>> Wrong Build:    0
>>> Wrong Tools:    0
>>> -----------------
>>> Total:         13
>>> User Input:
>>>  capture.exe
>>>  fileio.exe
>>> Average test time: 0:00:00.212905
>>> Testing time     : 0:00:02.767759
>>> jiri at office:~/src/rtems/sparc$ sparc-rtems5-sis
>>>
>>>  SIS - SPARC/RISCV instruction simulator 2.12,  copyright Jiri Gaisler
>>> 2019
>>>  Bug-reports to jiri at gaisler.se
>>>
>>>  ERC32 emulation enabled
>>>
>>> sis> q
>>>
>>> Jiri.
>>>
>>
> _______________________________________________
> devel mailing listdevel at rtems.orghttp://lists.rtems.org/mailman/listinfo/devel
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20190301/269305a2/attachment-0001.html>


More information about the devel mailing list