It looks like there are two (or more) problems here:

1. Something wrong with MIPS (we'll look into this ASAP, probably on Monday)
2. ARM FS + Ruby

I'd like to discuss the latter for a moment.

Here's the backtrace:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "build/ARM/python/m5/main.py", line 457, in main
  File "/home/jlp/Code/gem5/gem5/tests/gem5/fs/linux/arm/run.py", line 68,
in <module>
    exec(compile(open(config).read(), config, 'exec'))
  File
"/home/jlp/Code/gem5/gem5/tests/gem5/configs/realview-simple-timing-ruby.py",
line 44, in <module>
    use_ruby=True).create_root()
  File "/home/jlp/Code/gem5/gem5/tests/gem5/configs/base_config.py", line
299, in create_root
    system = self.create_system()
  File "/home/jlp/Code/gem5/gem5/tests/gem5/configs/arm_generic.py", line
114, in create_system
    self.init_system(system)
  File "/home/jlp/Code/gem5/gem5/tests/gem5/configs/base_config.py", line
271, in init_system
    super(BaseFSSystem, self).init_system(system)
  File "/home/jlp/Code/gem5/gem5/tests/gem5/configs/base_config.py", line
180, in init_system
    cpu.connectCachedPorts(system.ruby._cpu_ports[i])
  File "build/ARM/cpu/BaseCPU.py", line 197, in connectCachedPorts
  File "<string>", line 1, in <module>
  File "build/ARM/python/m5/SimObject.py", line 1313, in __getattr__
AttributeError: object 'RubySequencer' has no attribute 'cpu_side_ports'
  (C++ object is not yet constructed, so wrapped C++ methods are
unavailable.)

The problem here is that we made an assumption in "base_config.py" that the
interface to a Ruby sequencer and a xbar is the same. I don't think this
makes sense. The xbar has CPU-side and memory-side ports. A Ruby sequencer
should only have an incoming port. (Currently, after the terminology
change, the name is "response_ports" which is probably not the right name.)

So, I have a couple of questions:

1. What is the "right" names for the ports on the sequencer? Right now, we
have 5!! ports on each sequencer. This doesn't seem necessary.

   response_ports = VectorResponsePort("CPU response port") (was "slave")
   request_ports = VectorRequestPort("CPU request port") (was "master")
   pio_request_port = RequestPort("Ruby pio request port") (was
"pio_master_port")
   mem_request_port = RequestPort("Ruby mem request port") (was
"mem_master_port")
   pio_response_port = ResponsePort("Ruby pio response port") (was
"pio_slave_port")

To be honest, I would consider myself a ruby expert, but both the old names
and the new names are inscrutable to me. If anyone has any suggestions, I'm
happy to hear them.

2. Do we really want the Ruby sequencer to have the same interface as the
XBar? If so, we should create a base class so they can both implement that
interface. The current code in BaseCPU.py has used python's duck-typing too
heavily, and this is really biting us right now.

If anyone has ideas on how to improve the "connectPort" interface on the
CPU, please let me know. I think that it's probably better to do this *in
the cache model* as the CPU is the one with the consistent interface
(icache_port and dcache_port are defined in BaseCPU.py). I'm open to
suggestions.

Finally, I'll try to find the time myself to look into the problem with
Ruby, but I can't promise anything will be done quickly. I imagine the long
test failures are going to bug us until at least early next week.

Cheers,
Jason



On Fri, Sep 11, 2020 at 9:40 AM jenkins-no-reply--- via gem5-dev <
gem5-dev@gem5.org> wrote:

> See <https://jenkins.gem5.org/job/Nightly/65/display/redirect?page=changes
> >
>
> Changes:
>
> [gabeblack] fastmodel: Create a fake "Interrupts" object for fast model
> CPUs.
>
> [gabeblack] fastmodel: Add an ISA class which defers to IRIS.
>
> [Andreas.Sandberg] dev: Use the new ByteOrder param type in SimpleUart
>
> [Andreas.Sandberg] dev: Use the new ByteOrder param type in VirtIO devices
>
> [Bobby R. Bruce] arch-arm: Fix build errors with gcc 10.2
>
> [Bobby R. Bruce] arch-arm: just return the fault in twoEqualRegInst{,Fp}
>
> [Bobby R. Bruce] cpu: Fixed unused var error when with fast builds
>
> [Bobby R. Bruce] tests: cross-compiling hello binaries for hello_se tests.
>
> [Jason Lowe-Power] configs,python: Fixes an issue with python3 and the
> config scripts when restoring a checkpoint
>
> [shparekh] misc: Replaced master/slave terminology
>
> [srikant.bharadwaj] mem-garnet: Fix default value of network bridge
>
> [srikant.bharadwaj] mem-garnet: Allow empty vnet list for garnet network
> links
>
> [Bobby R. Bruce] tests: Update x86 system.py for MemCtrl interface
>
> [Bobby R. Bruce] arch-arm: Initialize some cases of destReg
>
> [Bobby R. Bruce] mem-garnet: Upgrade garnet version to 3.0
>
> [Bobby R. Bruce] misc: Update documentation of SimObject related APIs
>
>
> ------------------------------------------
> [...truncated 678.07 KB...]
> [----------] 10 tests from CyclesTest (0 ms total)
>
> [----------] 5 tests from MicroPCTest
> [ RUN      ] MicroPCTest.CheckMicroPCRomBit
> [       OK ] MicroPCTest.CheckMicroPCRomBit (0 ms)
> [ RUN      ] MicroPCTest.RomMicroPCTest
> [       OK ] MicroPCTest.RomMicroPCTest (0 ms)
> [ RUN      ] MicroPCTest.NormalMicroPCTest
> [       OK ] MicroPCTest.NormalMicroPCTest (0 ms)
> [ RUN      ] MicroPCTest.IsRomMicroPCTest
> [       OK ] MicroPCTest.IsRomMicroPCTest (0 ms)
> [ RUN      ] MicroPCTest.IsNotRomMicroPCTest
> [       OK ] MicroPCTest.IsNotRomMicroPCTest (0 ms)
> [----------] 5 tests from MicroPCTest (0 ms total)
>
> [----------] 4 tests from TypesTest
> [ RUN      ] TypesTest.FloatToBits32
> [       OK ] TypesTest.FloatToBits32 (0 ms)
> [ RUN      ] TypesTest.floatToBits64
> [       OK ] TypesTest.floatToBits64 (0 ms)
> [ RUN      ] TypesTest.floatsToBitsDoubleInput
> [       OK ] TypesTest.floatsToBitsDoubleInput (0 ms)
> [ RUN      ] TypesTest.floatsToBitsFloatInput
> [       OK ] TypesTest.floatsToBitsFloatInput (0 ms)
> [----------] 4 tests from TypesTest (0 ms total)
>
> [----------] Global test environment tear-down
> [==========] 19 tests from 3 test cases ran. (0 ms total)
> [  PASSED  ] 19 tests.
> build/NULL/sim/byteswap.test.opt
> --gtest_output=xml:build/NULL/unittests.opt/sim/byteswap.test.xml
> Running main() from gtest_main.cc
> [==========] Running 8 tests from 1 test case.
> [----------] Global test environment set-up.
> [----------] 8 tests from ByteswapTest
> [ RUN      ] ByteswapTest.swap_byte64
> [       OK ] ByteswapTest.swap_byte64 (0 ms)
> [ RUN      ] ByteswapTest.swap_byte32
> [       OK ] ByteswapTest.swap_byte32 (0 ms)
> [ RUN      ] ByteswapTest.swap_byte16
> [       OK ] ByteswapTest.swap_byte16 (0 ms)
> [ RUN      ] ByteswapTest.swap_byte
> [       OK ] ByteswapTest.swap_byte (0 ms)
> [ RUN      ] ByteswapTest.htog
> [       OK ] ByteswapTest.htog (0 ms)
> [ RUN      ] ByteswapTest.gtoh
> [       OK ] ByteswapTest.gtoh (0 ms)
> [ RUN      ] ByteswapTest.betole
> [       OK ] ByteswapTest.betole (0 ms)
> [ RUN      ] ByteswapTest.letobe
> [       OK ] ByteswapTest.letobe (0 ms)
> [----------] 8 tests from ByteswapTest (0 ms total)
>
> [----------] Global test environment tear-down
> [==========] 8 tests from 1 test case ran. (0 ms total)
> [  PASSED  ] 8 tests.
> build/NULL/sim/guest_abi.test.opt
> --gtest_output=xml:build/NULL/unittests.opt/sim/guest_abi.test.xml
> Running main() from gtest_main.cc
> [==========] Running 7 tests from 1 test case.
> [----------] Global test environment set-up.
> [----------] 7 tests from GuestABI
> [ RUN      ] GuestABI.ABI_1D_args
> [       OK ] GuestABI.ABI_1D_args (0 ms)
> [ RUN      ] GuestABI.ABI_Prepare
> [       OK ] GuestABI.ABI_Prepare (0 ms)
> [ RUN      ] GuestABI.ABI_2D_args
> [       OK ] GuestABI.ABI_2D_args (0 ms)
> [ RUN      ] GuestABI.ABI_TC_init
> [       OK ] GuestABI.ABI_TC_init (0 ms)
> [ RUN      ] GuestABI.ABI_returns
> [       OK ] GuestABI.ABI_returns (0 ms)
> [ RUN      ] GuestABI.dumpSimcall
> [       OK ] GuestABI.dumpSimcall (0 ms)
> [ RUN      ] GuestABI.isVarArgs
> [       OK ] GuestABI.isVarArgs (0 ms)
> [----------] 7 tests from GuestABI (0 ms total)
>
> [----------] Global test environment tear-down
> [==========] 7 tests from 1 test case ran. (0 ms total)
> [  PASSED  ] 7 tests.
> [       OK ] IntmathDeathTest.floorLog2 (1900 ms)
> [----------] 1 test from IntmathDeathTest (1900 ms total)
>
> [----------] 7 tests from IntmathTest
> [ RUN      ] IntmathTest.isPowerOf2
> [       OK ] IntmathTest.isPowerOf2 (0 ms)
> [ RUN      ] IntmathTest.power
> [       OK ] IntmathTest.power (0 ms)
> [ RUN      ] IntmathTest.floorLog2
> [       OK ] IntmathTest.floorLog2 (0 ms)
> [ RUN      ] IntmathTest.ceilLog2
> [       OK ] IntmathTest.ceilLog2 (0 ms)
> [ RUN      ] IntmathTest.divCeil
> [       OK ] IntmathTest.divCeil (0 ms)
> [ RUN      ] IntmathTest.roundUp
> [       OK ] IntmathTest.roundUp (0 ms)
> [ RUN      ] IntmathTest.roundDown
> [       OK ] IntmathTest.roundDown (0 ms)
> [----------] 7 tests from IntmathTest (0 ms total)
>
> [----------] Global test environment tear-down
> [==========] 8 tests from 2 test cases ran. (1900 ms total)
> [  PASSED  ] 8 tests.
> build/NULL/sim/proxy_ptr.test.opt
> --gtest_output=xml:build/NULL/unittests.opt/sim/proxy_ptr.test.xml
> Running main() from gtest_main.cc
> [==========] Running 6 tests from 1 test case.
> [----------] Global test environment set-up.
> [----------] 6 tests from ProxyPtr
> [ RUN      ] ProxyPtr.Clean
> [       OK ] ProxyPtr.Clean (0 ms)
> [ RUN      ] ProxyPtr.Dirty
> [       OK ] ProxyPtr.Dirty (0 ms)
> [ RUN      ] ProxyPtr.LoadAndFlush
> [       OK ] ProxyPtr.LoadAndFlush (0 ms)
> [ RUN      ] ProxyPtr.ConstOperators
> [       OK ] ProxyPtr.ConstOperators (1 ms)
> [ RUN      ] ProxyPtr.NonConstOperators
> [       OK ] ProxyPtr.NonConstOperators (0 ms)
> [ RUN      ] ProxyPtr.GuestABI
> [       OK ] ProxyPtr.GuestABI (0 ms)
> [----------] 6 tests from ProxyPtr (1 ms total)
>
> [----------] Global test environment tear-down
> [==========] 6 tests from 1 test case ran. (1 ms total)
> [  PASSED  ] 6 tests.
> [       OK ] SatCounterTest.Shift (1672 ms)
> [ RUN      ] SatCounterTest.PrePostOperators
> [       OK ] SatCounterTest.PrePostOperators (0 ms)
> [ RUN      ] SatCounterTest.CopyMove
> [       OK ] SatCounterTest.CopyMove (0 ms)
> [ RUN      ] SatCounterTest.AddSubAssignment
> [       OK ] SatCounterTest.AddSubAssignment (0 ms)
> [ RUN      ] SatCounterTest.NegativeAddSubAssignment
> [       OK ] SatCounterTest.NegativeAddSubAssignment (0 ms)
> [----------] 11 tests from SatCounterTest (1672 ms total)
>
> [----------] Global test environment tear-down
> [==========] 11 tests from 1 test case ran. (1672 ms total)
> [  PASSED  ] 11 tests.
> build/NULL/base/circlebuf.test.opt
> --gtest_output=xml:build/NULL/unittests.opt/base/circlebuf.test.xml
> Running main() from gtest_main.cc
> [==========] Running 4 tests from 1 test case.
> [----------] Global test environment set-up.
> [----------] 4 tests from CircleBufTest
> [ RUN      ] CircleBufTest.BasicReadWriteNoOverflow
> [       OK ] CircleBufTest.BasicReadWriteNoOverflow (0 ms)
> [ RUN      ] CircleBufTest.SingleWriteOverflow
> [       OK ] CircleBufTest.SingleWriteOverflow (0 ms)
> [ RUN      ] CircleBufTest.MultiWriteOverflow
> [       OK ] CircleBufTest.MultiWriteOverflow (0 ms)
> [ RUN      ] CircleBufTest.PointerWrapAround
> [       OK ] CircleBufTest.PointerWrapAround (0 ms)
> [----------] 4 tests from CircleBufTest (0 ms total)
>
> [----------] Global test environment tear-down
> [==========] 4 tests from 1 test case ran. (0 ms total)
> [  PASSED  ] 4 tests.
> scons: done building targets.
> *** Summary of Warnings ***
> Warning: Your compiler doesn't support incremental linking and lto at the
> same
>          time, so lto is being disabled. To force lto on anyway, use the
>          --force-lto option. That will disable partial linking.
> Warning: Header file <png.h> not found.
>          This host has no libpng library.
>          Disabling support for PNG framebuffers.
> [Nightly] $ /bin/sh -xe /tmp/jenkins7111994455352839733.sh
> + cd tests
> + ./main.py run --length long -j4 -t4
> Running the new gem5 testing script.
> For more information see TESTING.md.
> To see details as the testing scripts are running, use the option -v, -vv,
> or -vvv
>
> ================================================================================
> Loading Tests
> Discovered 2544 tests and 2544 suites in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/gem5/asmtest/tests.py>
> Discovered 264 tests and 132 suites in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/gem5/cpu_tests/test.py>
> Discovered 24 tests and 12 suites in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/gem5/dram-lowp/test_dram_lowp.py
> >
> Discovered 156 tests and 156 suites in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/gem5/fs/linux/arm/test.py>
> Discovered 270 tests and 135 suites in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/gem5/hello_se/test_hello_se.py
> >
> Discovered 24 tests and 12 suites in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/gem5/insttest_se/test.py>
> Discovered 48 tests and 48 suites in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/gem5/learning_gem5/part1_test.py
> >
> Discovered 48 tests and 24 suites in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/gem5/learning_gem5/part2_test.py
> >
> Discovered 18 tests and 9 suites in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/gem5/learning_gem5/part3_test.py
> >
> Discovered 12 tests and 6 suites in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/gem5/m5_util/test_exit.py>
> Discovered 0 tests and 0 suites in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/gem5/m5threads_test_atomic/test.py
> >
> Discovered 72 tests and 72 suites in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/gem5/memory/test.py>
> Discovered 18 tests and 18 suites in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/gem5/test_build/test_build.py
> >
> Discovered 18 tests and 18 suites in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/gem5/x86-boot-tests/test_linux_boot.py
> >
>
> ================================================================================
> Running Tests from 34 suites
> Results will be stored in <
> https://jenkins.gem5.org/job/Nightly/ws/tests/testing-results>
>
> ================================================================================
> Building the following targets. This may take a while.
> <https://jenkins.gem5.org/job/Nightly/ws/build/ARM/gem5.opt>
> You may want to run with only a single ISA(--isa=), use --skip-build, or
> use 'rerun'.
> Building the following targets. This may take a while.
> <https://jenkins.gem5.org/job/Nightly/ws/build/MIPS/gem5.opt>
> You may want to run with only a single ISA(--isa=), use --skip-build, or
> use 'rerun'.
> Building the following targets. This may take a while.
> <https://jenkins.gem5.org/job/Nightly/ws/build/SPARC/gem5.opt>
> You may want to run with only a single ISA(--isa=), use --skip-build, or
> use 'rerun'.
> Building the following targets. This may take a while.
> <https://jenkins.gem5.org/job/Nightly/ws/build/X86/gem5.opt>
> You may want to run with only a single ISA(--isa=), use --skip-build, or
> use 'rerun'.
> Building the following targets. This may take a while.
> <https://jenkins.gem5.org/job/Nightly/ws/build/POWER/gem5.opt>
> You may want to run with only a single ISA(--isa=), use --skip-build, or
> use 'rerun'.
> Test: realview-switcheroo-atomic-ARM-x86_64-opt Passed
> Test: realview-switcheroo-timing-ARM-x86_64-opt Passed
> Test: realview-simple-atomic-ARM-x86_64-opt Passed
> Test: realview-switcheroo-full-ARM-x86_64-opt Passed
> Test: realview-simple-atomic-checkpoint-ARM-x86_64-opt Passed
> Test: realview-minor-ARM-x86_64-opt Passed
> Test: realview-switcheroo-noncaching-timing-ARM-x86_64-opt Passed
> Test: realview64-o3-ARM-x86_64-opt Passed
> Test: realview-simple-timing-ARM-x86_64-opt Passed
> Test: realview-o3-ARM-x86_64-opt Passed
> Test: realview64-minor-ARM-x86_64-opt Passed
> Test: realview64-switcheroo-full-ARM-x86_64-opt Passed
> Test: realview-simple-timing-ruby-ARM-x86_64-opt Failed
> Test: realview64-simple-timing-ruby-ARM-x86_64-opt Failed
> Test: realview64-simple-timing-dual-ruby-ARM-x86_64-opt Failed
> Test: test-hello-linux-TimingSimpleCPU-MIPS-x86_64-opt Passed
> Test: test-hello-linux-TimingSimpleCPU-MIPS-x86_64-opt-MatchStdoutNoPerf
> Passed
> Test: test-hello-linux-AtomicSimpleCPU-MIPS-x86_64-opt Passed
> Test: test-hello-linux-AtomicSimpleCPU-MIPS-x86_64-opt-MatchStdoutNoPerf
> Passed
> Test: test-hello-linux-DerivO3CPU-MIPS-x86_64-opt Passed
> Test: test-hello-linux-DerivO3CPU-MIPS-x86_64-opt-MatchStdoutNoPerf Passed
> Test: test-hello-linux-TimingSimpleCPU-SPARC-x86_64-opt Passed
> Test: test-hello-linux-TimingSimpleCPU-SPARC-x86_64-opt-MatchStdoutNoPerf
> Passed
> Test: test-hello-linux-AtomicSimpleCPU-SPARC-x86_64-opt Passed
> Test: test-hello-linux-AtomicSimpleCPU-SPARC-x86_64-opt-MatchStdoutNoPerf
> Passed
> Test: test-insttest-linux-AtomicSimpleCPU-SPARC-x86_64-opt Passed
> Test:
> test-insttest-linux-AtomicSimpleCPU-SPARC-x86_64-opt-MatchStdoutNoPerf
> Passed
> Test: test-insttest-linux-TimingSimpleCPU-SPARC-x86_64-opt Passed
> Test:
> test-insttest-linux-TimingSimpleCPU-SPARC-x86_64-opt-MatchStdoutNoPerf
> Passed
> Test: simple_test-MIPS-x86_64-opt Failed
> Test: two_level_test-MIPS-x86_64-opt Failed
> Test: build-SPARC-opt Passed
> Test: build-MIPS-opt Passed
> Test: build-POWER-opt Passed
> Test: test-ubuntu_boot-atomic_cpu-1_cpus-init_boot-X86-x86_64-opt Failed
> Test: test-ubuntu_boot-simple_cpu-1_cpus-init_boot-X86-x86_64-opt Failed
> Test: test-ubuntu_boot-atomic_cpu-4_cpus-systemd_boot-X86-x86_64-opt Failed
> Test: realview64-o3-dual-ARM-x86_64-opt Passed
> Test: realview-switcheroo-o3-ARM-x86_64-opt Passed
> Test: realview64-minor-dual-ARM-x86_64-opt Passed
> Test: realview64-switcheroo-o3-ARM-x86_64-opt Passed
> ============== Results: 33 Passed, 8 Failed in 5.8e+03 seconds
> ================
> Build step 'Execute shell' marked build as failure
> Archiving artifacts
> _______________________________________________
> gem5-dev mailing list -- gem5-dev@gem5.org
> To unsubscribe send an email to gem5-dev-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
>
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to