Hi Jason,

Thanks for raising and identifying these issues. I rebased my repositories onto 
`develop` today and see that my Ruby experiments no longer work.

command line: ./gem5/build/ARM_MESI_Three_Level_HTM/gem5.opt 
./gem5/configs/example/fs.py --ruby --num-cpus=1 --mem-type=SimpleMemory 
--mem-size=4GB --cpu-type=TimingSimpleCPU --kernel=vmlinux.vexpress_gem5_v1_64 
--machine-type=VExpress_GEM5_V1 --disk-image=snip.img --script=/snip/start.sh

warn: You are trying to use Ruby on ARM, which is not working properly yet.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "build/ARM_MESI_Three_Level_HTM/python/m5/main.py", line 457, in main
  File "./gem5/configs/example/fs.py", line 339, in <module>
    test_sys = build_test_system(np)
  File "./gem5/configs/example/fs.py", line 157, in build_test_system
    test_sys._dma_ports, bootmem)
  File "/snip/gem5/configs/ruby/Ruby.py", line 224, in create_system
    setup_memory_controllers(system, ruby, dir_cntrls, options)
  File "/snip/gem5/configs/ruby/Ruby.py", line 136, in setup_memory_controllers
    mem_ctrl = m5.objects.MemCtrl(dram = dram_intf)
  File "build/ARM_MESI_Three_Level_HTM/python/m5/SimObject.py", line 1251, in 
__init__
  File "build/ARM_MESI_Three_Level_HTM/python/m5/SimObject.py", line 1337, in 
__setattr__
  File "build/ARM_MESI_Three_Level_HTM/python/m5/params.py", line 215, in 
convert
TypeError: __init__() takes exactly 1 argument (2 given)
Error setting param MemCtrl.dram to <orphan SimpleMemory>

Do you know which commits are responsible for this?

Thanks in advance

--
Timothy Hayes
Senior Research Engineer
Arm Research
Phone: +44-1223 645690
[email protected]

From: Jason Lowe-Power via gem5-dev <[email protected]>
Reply to: gem5 Developer List <[email protected]>
Date: Friday, 11 September 2020 at 18:10
To: gem5 Developer List <[email protected]>
Cc: "[email protected]" <[email protected]>, Jason Lowe-Power 
<[email protected]>
Subject: [gem5-dev] Re: Build failed in Jenkins: Nightly #65

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 
<[email protected]<mailto:[email protected]>> 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 -- [email protected]<mailto:[email protected]>
To unsubscribe send an email to 
[email protected]<mailto:[email protected]>
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to