parsa-epfl / qflex Goto Github PK
View Code? Open in Web Editor NEWQuick & Flexible Rack-Scale Computer Architecture Simulator
Home Page: http://qflex.epfl.ch/
Quick & Flexible Rack-Scale Computer Architecture Simulator
Home Page: http://qflex.epfl.ch/
The MMU initialization goes wrong, which fall onto a g_assert_not_reached()
trace.cfg
./runq images/busybox
The initialization should go on and set the MMU before receiving any trace.
Assertion ERROR.
gcc-13
118 <ComponentManager.cpp:100> {0}- Initializing 8 components...
119 <ComponentManager.cpp:105> {0}- Component 1: Initializing sys-feeder
120 <flexus.cpp:267> {0}- Timestamp: Tue Apr 2 15:30:02 2024
121 <ComponentManager.cpp:105> {0}- Component 2: Initializing sys-bpwarm
122 <ComponentManager.cpp:105> {0}- Component 3: Initializing sys-L1d
123 <FastCacheImpl.cpp:177> {0}- Running with MT width 1
124 <ComponentManager.cpp:105> {0}- Component 4: Initializing sys-L1i
125 <ComponentManager.cpp:105> {0}- Component 5: Initializing sys-L2
126 <FastCMPCacheImpl.cpp:266> {0}- Running with CMP width 1
127 <StandardDirectory.cpp:102> {0}- Initialized Directory with 2048 x 16-way sets
128 <StandardDirectory.cpp:104> {0}- SetMask = 7ff, SetShift = 6, SkewShift = 23, SkewSet = true
129 <FastCMPCacheImpl.cpp:305> {0}- Coherence Unit is: 64
130 <FastCMPCacheImpl.cpp:306> {0}- sizeof(PhysicalMemoryAddress) = 8
131 <ComponentManager.cpp:105> {0}- Component 6: Initializing sys-memory
132 <ComponentManager.cpp:105> {0}- Component 7: Initializing sys-magic-break
133 <ComponentManager.cpp:105> {0}- Component 8: Initializing sys-mmu
134 <startup.cpp:228> {0}- Flexus Initialized.
135 <MMUUtil.cpp:243> (<undefined>[<undefined>]) {0}- Assertion failed: (!(false)) : Unknown value in getting TG1 Granule Size. TG_SZ = 0
``
When I add these lines to mrun
configuration file:
<parameter>
<enabled>on</enabled>
<option>-icount</option>
<arg>shift=2,sleep=off</arg>
</parameter>
I it fails to boot our Docker Installed image. The Qemu output from machine serial is like this:
Trying ::1...
Connected to localhost.
Escape character is '^]'.
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 4.4.0-83-generic (buildd@bos01-arm64-003) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) ) #106-Ubuntu SMP Mon Jun 26 17:58:57 UTC 2017 (Ubuntu 4.4.0-83.106-generic 4.4.70)
[ 0.000000] Boot CPU: AArch64 Processor [411fd070]
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] No NUMA configuration found
[ 0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x0000000233ffffff]
[ 0.000000] NUMA: Adding memblock [0x40000000 - 0x233ffffff] on node 0
[ 0.000000] NUMA: Initmem setup node 0 [mem 0x40000000-0x233ffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0x233ff0280-0x233ff1fff]
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000040000000-0x00000000ffffffff]
[ 0.000000] Normal [mem 0x0000000100000000-0x0000000233ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000040000000-0x0000000233ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x0000000233ffffff]
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv0.2 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: Trusted OS migration not required
[ 0.000000] PERCPU: Embedded 17 pages/cpu @ffff8001f3f35000 s31256 r8192 d30184 u69632
[ 0.000000] Detected PIPT I-cache on CPU0
[ 0.000000] CPU features: enabling workaround for ARM erratum 832075
[ 0.000000] CPU features: enabling workaround for ARM erratum 834220
[ 0.000000] Built 1 zonelists in Node order, mobility grouping on. Total pages: 2016000
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: 'root=/dev/sda2'
[ 0.000000] log_buf_len individual max cpu contribution: 4096 bytes
[ 0.000000] log_buf_len total cpu_extra contributions: 28672 bytes
[ 0.000000] log_buf_len min size: 16384 bytes
[ 0.000000] log_buf_len: 65536 bytes
[ 0.000000] early log buf free: 13696(83%)
[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] software IO TLB [mem 0xfbfff000-0xfffff000] (64MB) mapped at [ffff8000bbfff000-ffff8000bfffefff]
[ 0.000000] Memory: 7943672K/8192000K available (8804K kernel code, 1014K rwdata, 3816K rodata, 760K init, 787K bss, 248328K reserved, 0K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vmalloc : 0xffff000000000000 - 0xffff7bffbfff0000 (126974 GB)
[ 0.000000] vmemmap : 0xffff7bffc0000000 - 0xffff7fffc0000000 ( 4096 GB maximum)
[ 0.000000] 0xffff7bffc0000000 - 0xffff7bffc7d00000 ( 125 MB actual)
[ 0.000000] fixed : 0xffff7ffffa7fd000 - 0xffff7ffffac00000 ( 4108 KB)
[ 0.000000] PCI I/O : 0xffff7ffffae00000 - 0xffff7ffffbe00000 ( 16 MB)
[ 0.000000] modules : 0xffff7ffffc000000 - 0xffff800000000000 ( 64 MB)
[ 0.000000] memory : 0xffff800000000000 - 0xffff8001f4000000 ( 8000 MB)
[ 0.000000] .init : 0xffff800000cd5000 - 0xffff800000d93000 ( 760 KB)
[ 0.000000] .text : 0xffff800000080000 - 0xffff800000cd5000 ( 12628 KB)
[ 0.000000] .data : 0xffff800000da4000 - 0xffff800000ea1800 ( 1014 KB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 64.
[ 0.000000] RCU restricting CPUs from NR_CPUS=128 to nr_cpu_ids=8.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=8
[ 0.000000] NR_IRQS:64 nr_irqs:64 0
[ 0.000000] GICv2m: range[0x8020000:0x8020fff], SPI[80:144]
[ 0.000000] Architected cp15 timer(s) running at 62.50MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1cd42e208c, max_idle_ns: 881590405314 ns
[ 0.000010] sched_clock: 56 bits at 62MHz, resolution 16ns, wraps every 4398046511096ns
[ 0.000302] Console: colour dummy device 80x25
[ 0.004583] console [tty0] enabled
[ 0.004736] Calibrating delay loop (skipped), value calculated using timer frequency.. 125.00 BogoMIPS (lpj=250000)
[ 0.004880] pid_max: default: 32768 minimum: 301
[ 0.005144] Security Framework initialized
[ 0.005213] Yama: becoming mindful.
[ 0.005357] AppArmor: AppArmor initialized
[ 0.013755] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes)
[ 0.047257] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes)
[ 0.062177] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes)
[ 0.062391] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes)
[ 0.064456] Initializing cgroup subsys io
[ 0.064534] Initializing cgroup subsys memory
[ 0.064633] Initializing cgroup subsys devices
[ 0.064712] Initializing cgroup subsys freezer
[ 0.064790] Initializing cgroup subsys net_cls
[ 0.064876] Initializing cgroup subsys perf_event
[ 0.064958] Initializing cgroup subsys net_prio
[ 0.065037] Initializing cgroup subsys hugetlb
[ 0.065112] Initializing cgroup subsys pids
[ 0.065239] ftrace: allocating 30472 entries in 120 pages
[ 0.206138] EFI services will not be available.
[ 0.206225] ASID allocator initialised with 65536 entries
[ 0.211383] Detected PIPT I-cache on CPU1
[ 0.211434] CPU1: Booted secondary processor [411fd070]
[ 0.212066] Detected PIPT I-cache on CPU2
[ 0.212117] CPU2: Booted secondary processor [411fd070]
[ 0.212787] Detected PIPT I-cache on CPU3
[ 0.212838] CPU3: Booted secondary processor [411fd070]
[ 0.213473] Detected PIPT I-cache on CPU4
[ 0.213524] CPU4: Booted secondary processor [411fd070]
[ 0.214194] Detected PIPT I-cache on CPU5
[ 0.214246] CPU5: Booted secondary processor [411fd070]
[ 0.214922] Detected PIPT I-cache on CPU6
[ 0.214974] CPU6: Booted secondary processor [411fd070]
[ 0.215621] Detected PIPT I-cache on CPU7
[ 0.215673] CPU7: Booted secondary processor [411fd070]
[ 0.215771] Brought up 8 CPUs
[ 0.216758] SMP: Total of 8 processors activated.
[ 0.216839] CPU: All CPU(s) started at EL1
[ 0.216988] alternatives: patching kernel code
[ 0.219113] devtmpfs: initialized
[ 0.223965] evm: security.selinux
[ 0.224031] evm: security.SMACK64
[ 0.224097] evm: security.SMACK64EXEC
[ 0.224165] evm: security.SMACK64TRANSMUTE
[ 0.224234] evm: security.SMACK64MMAP
[ 0.224301] evm: security.ima
[ 0.224366] evm: security.capability
[ 0.224729] DMI not present or invalid.
[ 0.225268] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.225666] futex hash table entries: 2048 (order: 6, 262144 bytes)
[ 0.226664] pinctrl core: initialized pinctrl subsystem
[ 0.228849] NET: Registered protocol family 16
[ 0.242059] cpuidle: using governor ladder
[ 0.254085] cpuidle: using governor menu
[ 0.254274] vdso: 2 pages (1 code @ ffff800000da9000, 1 data @ ffff800000da8000)
[ 0.254440] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.254766] DMA: preallocated 256 KiB pool for atomic allocations
[ 0.255270] Serial: AMBA PL011 UART driver
[ 0.268462] 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 39, base_baud = 0) is a PL011 rev1
[ 0.270638] console [ttyAMA0] enabled
[ 0.304970] ACPI: Interpreter disabled.
[ 0.306504] vgaarb: loaded
[ 0.309616] SCSI subsystem initialized
[ 0.310508] usbcore: registered new interface driver usbfs
[ 0.310685] usbcore: registered new interface driver hub
[ 0.310898] usbcore: registered new device driver usb
[ 0.312490] dmi: Firmware registration failed.
[ 0.314441] NetLabel: Initializing
[ 0.314514] NetLabel: domain hash size = 128
[ 0.314591] NetLabel: protocols = UNLABELED CIPSOv4
[ 0.314752] NetLabel: unlabeled traffic allowed by default
[ 0.315348] clocksource: Switched to clocksource arch_sys_counter
[ 0.385283] AppArmor: AppArmor Filesystem Enabled
[ 0.385855] pnp: PnP ACPI: disabled
[ 0.404356] NET: Registered protocol family 2
[ 0.406148] TCP established hash table entries: 65536 (order: 7, 524288 bytes)
[ 0.409853] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[ 0.413355] TCP: Hash tables configured (established 65536 bind 65536)
[ 0.413646] UDP hash table entries: 4096 (order: 5, 131072 bytes)
[ 0.414442] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes)
[ 0.415434] NET: Registered protocol family 1
[ 0.415875] Unpacking initramfs...
[ 6.084029] Freeing initrd memory: 35024K (ffff800008000000 - ffff80000a234000)
[ 6.084913] hw perfevents: enabled with armv8_pmuv3 PMU driver, 1 counters available
[ 6.085141] kvm [1]: HYP mode not available
[ 6.092685] audit: initializing netlink subsys (disabled)
[ 6.092811] audit: type=2000 audit(5.888:1): initialized
[ 6.093762] Initialise system trusted keyring
[ 6.094924] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[ 6.114564] zbud: loaded
[ 6.118713] VFS: Disk quotas dquot_6.6.0
[ 6.119179] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 6.122633] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 6.125489] fuse init (API version 7.23)
[ 6.126978] Key type big_key registered
[ 6.127256] Allocating IMA MOK and blacklist keyrings.
[ 6.130477] Key type asymmetric registered
[ 6.130574] Asymmetric key parser 'x509' registered
[ 6.131069] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 6.131801] io scheduler noop registered
[ 6.131888] io scheduler deadline registered (default)
[ 6.132309] io scheduler cfq registered
[ 6.135107] pl061_gpio 9030000.pl061: PL061 GPIO chip @0x0000000009030000 registered
[ 6.136142] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[ 6.136287] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[ 6.136606] PCI host bridge /pcie@10000000 ranges:
[ 6.136706] IO 0x3eff0000..0x3effffff -> 0x00000000
[ 6.136805] MEM 0x10000000..0x3efeffff -> 0x10000000
[ 6.136898] MEM 0x8000000000..0xffffffffff -> 0x8000000000
[ 6.137832] pci-host-generic 3f000000.pcie: PCI host bridge to bus 0000:00
[ 6.137936] pci_bus 0000:00: root bus resource [bus 00-0f]
[ 6.138032] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 6.138133] pci_bus 0000:00: root bus resource [mem 0x10000000-0x3efeffff]
[ 6.138238] pci_bus 0000:00: root bus resource [mem 0x8000000000-0xffffffffff]
[ 6.144548] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[ 6.159659] msm_serial: driver initialized
[ 6.162023] Unable to detect cache hierarchy from DT for CPU 0
[ 6.176870] loop: module loaded
[ 6.179137] libphy: Fixed MDIO Bus: probed
[ 6.179233] tun: Universal TUN/TAP device driver, 1.6
[ 6.179326] tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
[ 6.185382] PPP generic driver version 2.4.2
[ 6.186263] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 6.186379] ehci-pci: EHCI PCI platform driver
[ 6.186551] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 6.186665] ohci-pci: OHCI PCI platform driver
[ 6.186846] uhci_hcd: USB Universal Host Controller Interface driver
[ 6.187784] mousedev: PS/2 mouse device common for all mice
[ 6.188686] i2c /dev entries driver
[ 6.190972] device-mapper: uevent: version 1.0.3
[ 6.191760] device-mapper: ioctl: 4.34.0-ioctl (2015-10-28) initialised: [email protected]
[ 6.192460] ledtrig-cpu: registered to indicate activity on CPUs
[ 6.195192] NET: Registered protocol family 10
[ 6.197142] NET: Registered protocol family 17
[ 6.197305] Key type dns_resolver registered
[ 6.197514] Registered cp15_barrier emulation handler
[ 6.197641] Registered setend emulation handler
[ 6.198839] registered taskstats version 1
[ 6.199072] Loading compiled-in X.509 certificates
[ 6.211572] Loaded X.509 cert 'Build time autogenerated kernel key: d8e6d449238b491ad070787e9897e07b6d2d20ab'
[ 6.211878] zswap: loaded using pool lzo/zbud
[ 6.225885] Key type trusted registered
[ 6.304021] Key type encrypted registered
[ 6.304121] AppArmor: AppArmor sha1 policy hashing enabled
[ 6.304223] ima: No TPM chip found, activating TPM-bypass!
[ 6.304471] evm: HMAC attrs: 0x1
[ 6.305132] hctosys: unable to open rtc device (rtc0)
[ 6.307051] uart-pl011 9000000.pl011: no DMA platform data
[ 6.307651] Freeing unused kernel memory: 760K (ffff800000cd5000 - ffff800000d93000)
[ 6.307842] Freeing alternatives memory: 48K (ffff800000d93000 - ffff800000d9f000)
Loading, please wait...
starting version 229
[ 6.398805] random: systemd-udevd: uninitialized urandom read (16 bytes read, 1 bits of entropy available)
[ 6.399726] random: systemd-udevd: uninitialized urandom read (16 bytes read, 1 bits of entropy available)
[ 6.400011] random: systemd-udevd: uninitialized urandom read (16 bytes read, 1 bits of entropy available)
[ 6.400363] random: systemd-udevd: uninitialized urandom read (16 bytes read, 1 bits of entropy available)
[ 6.416388] random: udevadm: uninitialized urandom read (16 bytes read, 1 bits of entropy available)
[ 6.416797] random: udevadm: uninitialized urandom read (16 bytes read, 1 bits of entropy available)
[ 6.417032] random: udevadm: uninitialized urandom read (16 bytes read, 1 bits of entropy available)
[ 6.417778] random: udevadm: uninitialized urandom read (16 bytes read, 1 bits of entropy available)
[ 6.418513] random: udevadm: uninitialized urandom read (16 bytes read, 1 bits of entropy available)
[ 6.419247] random: udevadm: uninitialized urandom read (16 bytes read, 1 bits of entropy available)
[ 6.962682] scsi host0: Virtio SCSI HBA
[ 6.998043] scsi 0:0:0:0: Direct-Access QEMU QEMU HARDDISK 2.5+ PQ: 0 ANSI: 5
[ 7.908130] sd 0:0:0:0: [sda] 8388608 512-byte logical blocks: (4.29 GB/4.00 GiB)
[ 7.908341] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 7.909909] sd 0:0:0:0: [sda] Write Protect is off
[ 7.910101] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 7.913710] sda: sda1 sda2 sda3
[ 7.918517] sd 0:0:0:0: [sda] Attached SCSI disk
Begin: Loading essential drivers ... [ 9.775985] md: linear personality registered for level -1
[ 9.806905] md: multipath personality registered for level -4
[ 9.838331] md: raid0 personality registered for level 0
[ 9.875705] md: raid1 personality registered for level 1
[ 9.999802] raid6: int64x1 gen() 131 MB/s
[ 10.067517] raid6: int64x1 xor() 74 MB/s
[ 36.227436] NMI watchdog: BUG: soft lockup - CPU#4 stuck for 22s! [modprobe:515]
[ 36.227569] Modules linked in: raid6_pq(+) libcrc32c raid1 raid0 multipath linear crc32_arm64 aes_ce_blk aes_ce_cipher ghash_ce sha2_ce sha1_ce virtio_scsi aes_neon_blk ablk_helper cryptd
[ 36.227913]
[ 36.227985] CPU: 4 PID: 515 Comm: modprobe Not tainted 4.4.0-83-generic #106-Ubuntu
[ 36.228121] Hardware name: linux,dummy-virt (DT)
[ 36.228207] task: ffff8001e8e83400 ti: ffff8000ba2d8000 task.ti: ffff8000ba2d8000
[ 36.228406] PC is at raid6_int2_gen_syndrome+0x78/0xf8 [raid6_pq]
[ 36.228496] LR is at 0x100010100010000
[ 36.228576] pc : [<ffff7ffffc159460>] lr : [<0100010100010000>] pstate: 00000145
[ 36.228711] sp : ffff8000ba2dbac0
[ 36.228785] x29: ffff8000ba2dbac0 x28: ffff7ffffc16e6f0
[ 36.228881] x27: 00000000000000fa x26: ffff800000daab10
[ 36.228978] x25: ffff8000ba2dbb48 x24: ffff8000ba636000
[ 36.229075] x23: 0000000000000087 x22: 0000000000000098
[ 36.229171] x21: ffff800000daa300 x20: ffff7ffffc15c108
[ 36.229268] x19: ffff7ffffc16e500 x18: ffff8000ba2dbbc0
[ 36.229365] x17: ffff8000ba637000 x16: ffff8000ba636000
[ 36.229461] x15: 000000000000000e x14: 0000000000000e70
[ 36.229557] x13: 0000000000000e78 x12: 0000000000000e70
[ 36.229653] x11: 1d1d1d1d1d1d1d1d x10: b0beaca28886949a
[ 36.229750] x9 : c0cedcd2f8f6e4ea x8 : 938dafb1ebf5d7c9
[ 36.229847] x7 : ffff7ffffc15e500 x6 : 0000000000000000
[ 36.229943] x5 : 0000808000008080 x4 : 8080000080800000
[ 36.230040] x3 : 471ef5ac3e678cd5 x2 : ffff8000ba2dbb48
[ 36.230136] x1 : 0000000000001000 x0 : b5ec075ecc957e27
[ 36.230229]
I want to test statistics of KeenKraken
So that we can assert the quality of the statistics of KeenKraken
Specification:
Tasks:
The set of scripts in /path/to/qflex/scripts/captain uses statements and features that are specific to python 2. At some point, we should go over this and make it portable so that it can work no matter the host OS.
An example error (when running on Ubuntu 20.04LTS, with default system python 3.8) is:
./captain -p /path/to/captain/system.ini
Traceback (most recent call last):
File "/home/hnefi/parsa/qflex_clean/scripts/captain/qfsystem.py", line 257, in exit
self.cleanup()
File "/home/hnefi/parsa/qflex_clean/scripts/captain/qfsystem.py", line 276, in cleanup
i.cleanup()
File "/home/hnefi/parsa/qflex_clean/scripts/captain/qfinstance.py", line 349, in cleanup
if psutil.pid_exists(self.__pid):
File "/usr/local/lib/python3.8/dist-packages/psutil/__init__.py", line 1395, in pid_exists
if pid < 0:
TypeError: '<' not supported between instances of 'NoneType' and 'int'
For now this can be low priority because it is a trivial workaround to install python2 and invoke the script as follows:
python2 captain -p /path/to/captain/system.ini
Hi,
I have been trying to run Apache Spark on the debian-blank
qcow2 image. I just downloaded the pre-built spark package, spark-2.1.0-bin-hadoop2.7.tgz and untar the file and ran the spark-shell
like below.
cloudsuite@cloudsuite-debian:~/spark-2.1.0$ ./bin/spark-shell
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Connection to localhost closed by remote host.
Connection to localhost closed.
While executing the shell, the qemu has been crashed due to a segmentation fault like below.
cloudsuite-debian login: ./run_instance.sh: line 276: 32420 Segmentation fault (core dumped) $RUN_CFG $QEMU_PATH/qemu-system-aarch64 -machine virt -cpu cortex-a57 -smp $QEMU_CORE_NUM -m $MEM -kernel ${KERNEL_PATH}/${KERNEL} -append "console=ttyAMA0 root=/dev/sda2" -initrd ${KERNEL_PATH}/${INITRD} -nographic -rtc driftfix=slew $NETWORK_CONFIG $DISK_CONFIG $ICOUNT_CONFIG $FLEXUS $QUANTUM_OPT $QMP
So, I tried to debug with the generated core dump file with gdb. In helper_le_ldq_mmu
function, the fault occurred. Does anyone experience similar issues?
jeongseob@concerto:~/qflex/scripts ((v1.0))$ gdb ../qemu/aarch64-softmmu/qemu-system-aarch64 core
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ../qemu/aarch64-softmmu/qemu-system-aarch64...done.
warning: core file may not match specified executable file.
[New LWP 32423]
[New LWP 32420]
[New LWP 454]
[New LWP 32421]
[New LWP 456]
[New LWP 457]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/home/jeongseob/qflex/qemu/aarch64-softmmu/qemu-system-aarch64 -machine virt -c'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000562f443f471d in helper_le_ldq_mmu (env=0x562f454f3670, addr=4040273032, oi=<optimized out>, retaddr=139776409157361)
at /home/jeongseob/qflex/qemu/softmmu_template.h:242
242 haddr = addr + env->tlb_table[mmu_idx][index].addend;
[Current thread is 1 (Thread 0x7f2004aa7700 (LWP 32423))]
(gdb) bt
#0 0x0000562f443f471d in helper_le_ldq_mmu (env=0x562f454f3670, addr=4040273032, oi=<optimized out>, retaddr=139776409157361)
at /home/jeongseob/qflex/qemu/softmmu_template.h:242
#1 0x00007f203b3740ae in code_gen_buffer ()
#2 0x0000562f443be9cc in cpu_tb_exec (itb=0x7f2011c00110, itb=0x7f2011c00110, cpu=0x7f203b37abf0 <code_gen_buffer+554802120>) at /home/jeongseob/qflex/qemu/cpu-exec.c:163
#3 cpu_arm_exec (cpu=cpu@entry=0x562f454eb3d0) at /home/jeongseob/qflex/qemu/cpu-exec.c:531
#4 0x0000562f443d9e2f in tcg_cpu_exec (cpu=0x562f454eb3d0) at /home/jeongseob/qflex/qemu/cpus.c:1526
#5 0x0000562f443db873 in tcg_exec_all () at /home/jeongseob/qflex/qemu/cpus.c:1561
#6 qemu_tcg_cpu_thread_fn (arg=<optimized out>) at /home/jeongseob/qflex/qemu/cpus.c:1182
#7 0x00007f205b0a46ba in start_thread (arg=0x7f2004aa7700) at pthread_create.c:333
#8 0x00007f205adda3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
(gdb)
Host: Ubuntu 16.04
qflex: v1.0
image: debian-blank.qcow2
run mode: without flexus
Thanks,
Jeongseob
QFlex repository is a mess of different active and stale branches. The QFlex repository need policies update toward branch naming, and who and how can branch be merged.
When I ran the QFlex with timing mode, a segmentation fault occurred.
I debugged with GDB but it doesn't work.
How to solve this problem ?
Run log is below.
// QFlex simulator - Built as KnottyKraken v1.0
5 <startup.cpp:236> {0}- Initializing Flexus.
6 <startup.cpp:238> {0}- Compiled with Boost: 1.70.0
7 <startup.cpp:110> {0}- Instantiating Flexus components with SystemWidth = 1
8 <ComponentManager.cpp:85> {0}- Instantiating system with a width factor of: 1
9 <uFetch.hpp:99> {0}- ufetch port InstructionFetchSeen is not wired
10 <uFetch.hpp:99> {0}- ufetch port ClockTickSeen is not wired
11 <armDecoder.hpp:76> {0}- decoder port DispatchedInstructionOut is not wired
12 <uArchARM.hpp:140> {0}- uarcharm port StoreForwardingHitSeen is not wired
13 <Cache.hpp:102> {0}- L1d port FrontSideOut_I is not wired
14 <Cache.hpp:102> {0}- L1d port BackSideOut_Prefetch is not wired
15 <breakpoint_tracker.cpp:504> {0}- Successfully registered RegressionTrackerMagicBreakpoint with QEMU, cpu_id = 0, struct id = 0
16 <wiring.cpp:100> {0}- initializing Parameters...
17 <flexus.cpp:421> {0}- Set stat interval to : 100000
18 <flexus.cpp:441> {0}- Set profile interval to : 10000000
19 <flexus.cpp:446> {0}- Set timestamp interval to : 50000
Formatting '/home/s00523304/qflex/qflex/images/ubuntu16/ubuntu.qcow2-1AEFE10D-i1-tmp', fmt=qcow2 size=21474836480 backing_file=/home/s00523304/qflex/qflex/images/ubuntu16/ubuntu.qcow2 backing_fmt=qcow2 cluster_size=65536 lazy_refcounts=off refcount_bits=16
WARNING: There is no parameter named "-bpwarm:cores"
WARNING: There is no parameter named "-feeder:stick"
WARNING: There is no parameter named "-feeder:housekeeping_period"
WARNING: There is no parameter named "-feeder:ifetch"
WARNING: There is no parameter named "-feeder:CMPwidth"
WARNING: There is no parameter named "-feeder:send_non_allocating_stores"
WARNING: There is no parameter named "-L1d:mt_width"
WARNING: There is no parameter named "-L1d:size"
WARNING: There is no parameter named "-L1d:assoc"
WARNING: There is no parameter named "-L1d:clean_evict"
20 <configuration.hpp:210> {0}- Bad Lexical Cast attempting to set dynamic parameter.
WARNING: Unable to set parameter CacheLevel to eL1
WARNING: There is no parameter named "-L1d:notify_reads"
WARNING: There is no parameter named "-L1d:notify_writes"
WARNING: There is no parameter named "-L1d:trace_tracker_on"
WARNING: There is no parameter named "-L1d:rsize"
WARNING: There is no parameter named "-L1d:rt_assoc"
WARNING: There is no parameter named "-L1d:rt_size"
WARNING: There is no parameter named "-L1d:rt_repl"
WARNING: There is no parameter named "-L1d:erb_size"
WARNING: There is no parameter named "-L1d:std_array"
WARNING: There is no parameter named "-L1d:block_scout"
WARNING: There is no parameter named "-L1d:skew_block_set"
WARNING: There is no parameter named "-L1d:protocol"
WARNING: There is no parameter named "-L1d:using_traces"
WARNING: There is no parameter named "-L1d:downgrade_lru"
WARNING: There is no parameter named "-L1d:snoop_lru"
WARNING: There is no parameter named "-L1i:mt_width"
WARNING: There is no parameter named "-L1i:size"
WARNING: There is no parameter named "-L1i:assoc"
WARNING: There is no parameter named "-L1i:bsize"
WARNING: There is no parameter named "-L1i:clean_evict"
WARNING: There is no parameter named "-L1i:level"
WARNING: There is no parameter named "-L1i:notify_reads"
WARNING: There is no parameter named "-L1i:notify_writes"
WARNING: There is no parameter named "-L1i:trace_tracker_on"
WARNING: There is no parameter named "-L1i:rsize"
WARNING: There is no parameter named "-L1i:rt_assoc"
WARNING: There is no parameter named "-L1i:rt_size"
WARNING: There is no parameter named "-L1i:rt_repl"
WARNING: There is no parameter named "-L1i:erb_size"
WARNING: There is no parameter named "-L1i:std_array"
WARNING: There is no parameter named "-L1i:block_scout"
WARNING: There is no parameter named "-L1i:skew_block_set"
WARNING: There is no parameter named "-L1i:protocol"
WARNING: There is no parameter named "-L1i:using_traces"
WARNING: There is no parameter named "-L1i:text_flexpoints"
WARNING: There is no parameter named "-L1i:gzip_flexpoints"
WARNING: There is no parameter named "-L1i:downgrade_lru"
WARNING: There is no parameter named "-L1i:snoop_lru"
WARNING: There is no parameter named "-L2:CMPWidth"
WARNING: There is no parameter named "-L2:size"
WARNING: There is no parameter named "-L2:assoc"
WARNING: There is no parameter named "-L2:clean_evict"
21 <configuration.hpp:210> {0}- Bad Lexical Cast attempting to set dynamic parameter.
WARNING: Unable to set parameter CacheLevel to eL2
WARNING: There is no parameter named "-L2:trace_tracker_on"
WARNING: There is no parameter named "-L2:repl"
WARNING: There is no parameter named "-L2:rsize"
WARNING: There is no parameter named "-L2:rt_assoc"
WARNING: There is no parameter named "-L2:rt_size"
WARNING: There is no parameter named "-L2:erb_size"
WARNING: There is no parameter named "-L2:std_array"
WARNING: There is no parameter named "-L2:directory_type"
WARNING: There is no parameter named "-L2:protocol"
WARNING: There is no parameter named "-L2:always_multicast"
WARNING: There is no parameter named "-L2:seperate_id"
WARNING: There is no parameter named "-L2:coherence_unit"
22 <configuration.hpp:210> {0}- Bad Lexical Cast attempting to set dynamic parameter.
WARNING: Unable to set parameter CacheLevel to eL1
23 <configuration.hpp:210> {0}- Bad Lexical Cast attempting to set dynamic parameter.
WARNING: Unable to set parameter CacheLevel to eL2
WARNING: There is no parameter named "-memory:device-file"
WARNING: There is no parameter named "-memory:memory-system-file"
WARNING: There is no parameter named "-memory:interleaving"
WARNING: There is no parameter named "-memory:frequency"
WARNING: There is no parameter named "-memory:dyn_size"
WARNING: There is no parameter named "-memory:size"
WARNING: There is no parameter named "-memory:max_replies"
WARNING: There is no parameter named "-memory:InterconnectDelay"
WARNING: There is no parameter named "-L1d:size"
WARNING: There is no parameter named "-L2:size"
WARNING: There is no parameter named "-L2:assoc"
WARNING: There is no parameter named "-L2:CMPWidth"
WARNING: There is no parameter named "-feeder:CMPwidth"
24 <ComponentManager.cpp:100> {0}- Initializing 16 components...
25 <ComponentManager.cpp:105> {0}- Component 1: Initializing sys-fag
26 <ComponentManager.cpp:105> {0}- Component 2: Initializing sys-ufetch
27 <ComponentManager.cpp:105> {0}- Component 3: Initializing sys-combiner
28 <ComponentManager.cpp:105> {0}- Component 4: Initializing sys-decoder
29 <ComponentManager.cpp:105> {0}- Component 5: Initializing sys-uarcharm
30 <microArch.cpp:151> {0}- sys-uarcharm connected to cpu0
31 <ComponentManager.cpp:105> {0}- Component 6: Initializing sys-L1d
32 <ComponentManager.cpp:105> {0}- Component 7: Initializing sys-mmu
33 <ComponentManager.cpp:105> {0}- Component 8: Initializing sys-L2
34 <CMPCacheImpl.cpp:96> {0}- GroupInterleaving = 4096
35 <NonInclusiveMESIPolicy.cpp:109> {0}- GI = 4096
36 <NonInclusiveMESIPolicy.cpp:88> {0}- GI = 4096
37 <StdArray.hpp:586> {0}- theGroupInterleaving = 4096
38 <StdArray.hpp:695> {0}- blockOffsetBits = 6, indexBits = 11, bankBits = 0, bankInterleavingBits = 6, groupBits = 0, groupInterleavingBits = 12, lowBits = 0, midBits = 6, highBits = 5, setLowMask = 0, setMidMask = 3f, setHighMask = 7c0, setLowShift = 6, setMidShift = 6, setHighShift = 6, theBankMask = 0, theBankShift = 6, theGroupMask = 0, theGroupShift = 12
39 <AbstractCacheController.hpp:77> {0}- sys-L2: created AbstractCacheController 'sys-L2'
40 <ComponentManager.cpp:105> {0}- Component 9: Initializing sys-memory
41 <ComponentManager.cpp:105> {0}- Component 10: Initializing 00-nic
42 <ComponentManager.cpp:105> {0}- Component 11: Initializing 01-nic
43 <ComponentManager.cpp:105> {0}- Component 12: Initializing 02-nic
44 <ComponentManager.cpp:105> {0}- Component 13: Initializing sys-network
Attaching node 0 to switch 0:0
Attaching node 1 to switch 0:1
Attaching node 2 to switch 0:2
WARNING: switch 0 port 3 left unused (may be safe)
WARNING: switch 0 port 4 left unused (may be safe)
WARNING: switch 0 port 5 left unused (may be safe)
WARNING: switch 0 port 6 left unused (may be safe)
45 <ComponentManager.cpp:105> {0}- Component 14: Initializing sys-memory-map
46 <ComponentManager.cpp:105> {0}- Component 15: Initializing sys-magic-break
47 <ComponentManager.cpp:105> {0}- Component 16: Initializing sys-net-mapper
48 <SplitDestinationMapperImpl.cpp:145> {0}- Creating SplitDestinationMapper with 1 cores, 1 directories, and 1 memory controllers.
49 <ValueTracker.hpp:240> {233}- ALEX -- WARNING: DMA tracker has not been set up (Needs to be fixed)
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff3dbc241 in __pth_scheduler () from /root/lib/libpth.so.20
(gdb) bt
#0 0x00007ffff3dbc241 in __pth_scheduler () at /root/lib/libpth.so.20
#1 0x00007ffff3dbda80 in pth_spawn_trampoline () at /root/lib/libpth.so.20
#2 0x00007ffff279b7b0 in __start_context () at /lib/x86_64-linux-gnu/libc.so.6
#3 0x0000000000000000 in ()
I compiled pth with debug mode and error is below.
================== THREAD CONTEXT SWITCH ===========================================
23283:pth_sched.c:0320: Finished switch back to pth_sched stack 0x555556755350, size 65536, FROM stack 0x0, size 0
23283:pth_sched.c:0325: pth_scheduler: cameback from thread 0x5555568fdda0 ("unknown")
23283:pth_sched.c:0334: pth_scheduler: thread "unknown" ran 0.160900
Program received signal SIGSEGV, Segmentation fault.
__pth_scheduler (dummy=<optimized out>) at pth_sched.c:370
370 if (*pth_current->stackguard != 0xDEAD) {
(gdb) bt
#0 0x00007ffff3db7937 in __pth_scheduler (dummy=<optimized out>) at pth_sched.c:370
#1 0x00007ffff3db99d0 in pth_spawn_trampoline () at pth_lib.c:271
#2 0x00007ffff27967b0 in __start_context () at /lib/x86_64-linux-gnu/libc.so.6
#3 0x0000000000000000 in ()
Additionally, build_qemu.sh calls build_pth.sh to generate libpth.so.
I ran ./build_qemu.sh -timing
but an error hanppened.
CC chardev/char-udp.o
LINK tests/qemu-iotests/socket_scm_helper
CC qga/commands.o
/usr/bin/ld: cannot find -lpth
collect2: error: ld returned 1 exit status
/home/s00523304/qflex/qflex/qemu/rules.mak:121: recipe for target 'tests/qemu-iotests/socket_scm_helper' failed
make: *** [tests/qemu-iotests/socket_scm_helper] Error 1
make: *** Waiting for unfinished jobs....
AS optionrom/multiboot.o
CC optionrom/linuxboot_dma.o
So I first ran ./build_pth.sh
then ran ./build_qemu.sh -timing
and there was no error.
Does the uncorrect order result in my first error “Segmentation fault”?
QFlex development has been spread across a good decade. Sadly, knowledge transfer, documentation, research papers and purpose followed the same path. To understand better the legacy, and technical complexity of QFlex, acquiring and grouping all documentation in one place is a non-negligible part of the documentation process.
Know it points to commit 3a2447d which is an old commit in qemu dev branch.
./build_qemu.sh -emulation
returns this error below:
hw/usb/host-libusb.c: In function ‘usb_host_init’:
hw/usb/host-libusb.c:294:5: error: ‘libusb_set_debug’ is deprecated: Use libusb_set_option instead [-Werror=deprecated-declarations] libusb_set_debug(ctx, loglevel);
^~~~~~~~~~~~~~~~
In file included from hw/usb/host-libusb.c:84:
/usr/include/libusb-1.0/libusb.h:1300:18: note: declared here
void LIBUSB_CALL libusb_set_debug(libusb_context *ctx, int level);
^~~~~~~~~~~~~~~~
If the host machine has iptables
enabled, then mrun
wont guaranty connectivity between Qemu
instances and in case iptables
FORWARD Chain
is not capable of forwarding the ns3
network packets the network between Qemu
instances doesn't work.
To reproduce this issue it is enough to configure iptables
in a way it drops or rejects packets which are assumed to be forwarded and then try to run multiple Qemu
instances with mrun
configured to be run in an ns3
network.
mrun
after bringing up the bridges to add ACCEPT forwarding rules to iptables
and remove these rules while tearing down the network.mrun
help.Also there's a workaround to overcome this issue by disabling iptables
for Linux bridges. Which can be done like the following:
~# echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
I am currently using the commit 4d938fa97c6984ab3d5f7c9b52f890ecfec72593
from qflex and I have already pulled images from install-docker-update
branch of the images
sub-module.
I am using this command to run the multiple Qemu instances:
~# ./mrun -r qemu-setup-sample-file.xml -qmp -ns /home/aasgari/Documents/qflex/3rdparty/ns3
My mrun
configuration files are like these:
<!-- qemu-setup-sample-file.xml -->
<setup>
<instance>
<file>/home/aasgari/Documents/qflex/scripts/mrun/q1.xml</file>
</instance>
<instance>
<file>/home/aasgari/Documents/qflex/scripts/mrun/q2.xml</file>
</instance>
</setup>
<!-- /home/aasgari/Documents/qflex/scripts/mrun/q1.xml -->
<instance>
<executable>
<binary>/home/aasgari/Documents/qflex/qemu/aarch64-softmmu/qemu-system-aarch64</binary>
</executable>
<parameter>
<enabled>on</enabled>
<option>-machine</option>
<arg>virt</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-cpu</option>
<arg>cortex-a57</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-smp</option>
<arg>4
</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-m</option>
<arg>2000</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-kernel</option>
<arg>/home/aasgari/Documents/qflex/images/ubuntu-16.04-blank/vmlinuz-4.4.0-83-generic
</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-initrd</option>
<arg>/home/aasgari/Documents/qflex/images/ubuntu-16.04-blank/initrd.img-4.4.0-83-generic-DockerInstalled</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-append</option>
<arg>'root=/dev/sda2'
</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-global</option>
<arg>virtio-blk-device.scsi=off</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-device</option>
<arg>virtio-scsi-device,id=scsi
</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-drive</option>
<arg>
file=/home/aasgari/Documents/qflex/images/ubuntu-16.04-blank/ubuntu-16.04-lts-blank.qcow2,id=rootimg,cache=unsafe,if=none
</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-device</option>
<arg>scsi-hd,drive=rootimg</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-rtc</option>
<arg>driftfix=slew</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-serial</option>
<arg>telnet:localhost:5555,server,nowait</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-name</option>
<arg>q1</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-accel</option>
<arg>tcg,thread=single</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-nographic</option>
<arg>
</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-netdev</option>
<arg>user,id=net1,hostfwd=tcp::2222-:22</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-device</option>
<arg>virtio-net-device,mac=52:54:00:00:02:12,netdev=net1</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-exton</option>
<arg></arg>
</parameter>
</instance>
<!-- /home/aasgari/Documents/qflex/scripts/mrun/q2.xml -->
<instance>
<executable>
<binary>/home/aasgari/Documents/qflex/qemu/aarch64-softmmu/qemu-system-aarch64</binary>
</executable>
<parameter>
<enabled>on</enabled>
<option>-machine</option>
<arg>virt</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-cpu</option>
<arg>cortex-a57</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-smp</option>
<arg>4
</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-m</option>
<arg>2000</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-kernel</option>
<arg>/home/aasgari/Documents/qflex/images/ubuntu-16.04-blank/vmlinuz-4.4.0-83-generic
</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-initrd</option>
<arg>/home/aasgari/Documents/qflex/images/ubuntu-16.04-blank/initrd.img-4.4.0-83-generic-DockerInstalled</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-append</option>
<arg>'root=/dev/sda2'
</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-global</option>
<arg>virtio-blk-device.scsi=off</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-device</option>
<arg>virtio-scsi-device,id=scsi
</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-drive</option>
<arg>
file=/home/aasgari/Documents/qflex/images/ubuntu-16.04-blank/ubuntu-16.04-lts-blank.qcow2,id=rootimg,cache=unsafe,if=none
</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-device</option>
<arg>scsi-hd,drive=rootimg</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-rtc</option>
<arg>driftfix=slew</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-serial</option>
<arg>telnet:localhost:5556,server,nowait</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-name</option>
<arg>q2</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-accel</option>
<arg>tcg,thread=single</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-nographic</option>
<arg>
</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-netdev</option>
<arg>user,id=net1,hostfwd=tcp::2221-:22</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-device</option>
<arg>virtio-net-device,mac=52:54:00:00:02:13,netdev=net1</arg>
</parameter>
<parameter>
<enabled>on</enabled>
<option>-exton</option>
<arg></arg>
</parameter>
</instance>
Also the output from ~# iptables -L -v
which contains iptables
rules and stats, for the FORWARD
chain after sending 10000 UDP packets from one of the Qemu instances to the other just after the operation was done and having it reset before the operation is the following (I had already initialized eth0
for each Qemu instance with local IPs and used echo hello > /dev/udp/[other qemu IP]/[port]
to send the UDP packets):
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
10000 340K DOCKER-USER all -- any any anywhere anywhere
10000 340K DOCKER-ISOLATION-STAGE-1 all -- any any anywhere anywhere
0 0 ACCEPT all -- any docker0 anywhere anywhere ctstate RELATED,ESTABLISHED
0 0 DOCKER all -- any docker0 anywhere anywhere
0 0 ACCEPT all -- docker0 !docker0 anywhere anywhere
0 0 ACCEPT all -- docker0 docker0 anywhere anywhere
0 0 ACCEPT all -- any br-e68495d486fc anywhere anywhere ctstate RELATED,ESTABLISHED
0 0 DOCKER all -- any br-e68495d486fc anywhere anywhere
0 0 ACCEPT all -- br-e68495d486fc !br-e68495d486fc anywhere anywhere
0 0 ACCEPT all -- br-e68495d486fc br-e68495d486fc anywhere anywhere
0 0 ACCEPT all -- any br-dc42555c70a5 anywhere anywhere ctstate RELATED,ESTABLISHED
0 0 DOCKER all -- any br-dc42555c70a5 anywhere anywhere
0 0 ACCEPT all -- br-dc42555c70a5 !br-dc42555c70a5 anywhere anywhere
0 0 ACCEPT all -- br-dc42555c70a5 br-dc42555c70a5 anywhere anywhere
0 0 ACCEPT all -- any br-993cfd405bb4 anywhere anywhere ctstate RELATED,ESTABLISHED
0 0 DOCKER all -- any br-993cfd405bb4 anywhere anywhere
0 0 ACCEPT all -- br-993cfd405bb4 !br-993cfd405bb4 anywhere anywhere
0 0 ACCEPT all -- br-993cfd405bb4 br-993cfd405bb4 anywhere anywhere
0 0 ACCEPT all -- any br-42830f4fa203 anywhere anywhere ctstate RELATED,ESTABLISHED
0 0 DOCKER all -- any br-42830f4fa203 anywhere anywhere
0 0 ACCEPT all -- br-42830f4fa203 !br-42830f4fa203 anywhere anywhere
0 0 ACCEPT all -- br-42830f4fa203 br-42830f4fa203 anywhere anywhere
0 0 ACCEPT all -- any virbr0 anywhere 192.168.122.0/24 ctstate RELATED,ESTABLISHED
0 0 ACCEPT all -- virbr0 any 192.168.122.0/24 anywhere
0 0 ACCEPT all -- virbr0 virbr0 anywhere anywhere
0 0 REJECT all -- any virbr0 anywhere anywhere reject-with icmp-port-unreachable
0 0 REJECT all -- virbr0 any anywhere anywhere reject-with icmp-port-unreachable
0 0 ACCEPT all -- any any anywhere anywhere ctstate RELATED,ESTABLISHED
0 0 ACCEPT all -- lo any anywhere anywhere
10000 340K FORWARD_direct all -- any any anywhere anywhere
10000 340K FORWARD_IN_ZONES_SOURCE all -- any any anywhere anywhere
10000 340K FORWARD_IN_ZONES all -- any any anywhere anywhere
10000 340K FORWARD_OUT_ZONES_SOURCE all -- any any anywhere anywhere
10000 340K FORWARD_OUT_ZONES all -- any any anywhere anywhere
0 0 DROP all -- any any anywhere anywhere ctstate INVALID
10000 340K REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited
Which sounds like the last rule is applied and the UDP packets are rejected.
I'm not sure if it is the right place to report this issue but issues was disabled for qemu repository so I'm reporting this here.
When I configure and build qemu using the --enable-flexus option and then try to run data caching workload from cloudsutie on an image I get an unexpected segmentation fault.
dc-client
and and server tagged as dc-server
here. (Just use aliasgarikh/test-cloudsuite:dc-server
or aliasgarikh/test-cloudsuite:dc-client
instead of what mentioned in the cloudsuite download page).| Qemu |QemuImage|Docker| Memcached |ServerThreads|ServerCores| Status
--------+---------+------+-----------+-------------+-----------+------------------------------------------------------------------------------------
| v1.0 | debian | | 1.4.24 | 4 | 3 |Succeeded, Crash the whole Qemu!
| v1.0 | debian | | 1.4.24 | 4 | 4 |5 x Succeeded, 2 x Crash the whole Qemu in the second warm up!
|oldev* | debian | | 1.4.24 | 4 | 3 |Crashed on the second warm up!
| dev | debian | | 1.4.24 | 4 | 3 |Succeeded
| dev | debian | | 1.4.24 | 4 | 4 |Crashed on the first warm up!, 2 x Crashed on the second warm up!
| v1.0 | debian | | 1.5.9 | 4 | 4 |2 x Succeeded
| v1.0 | ubuntu | | 1.4.25 | 4 | 4 |2 x Succeeded
| v1.0 | ubuntu | x | 1.5.9 | 4 | 4 |Succeeded, Failure due to docker_servers.txt misconfiguration with a line in the end
|devwos*| ubuntu | x | 1.5.9 | 4 | 4 |Failed with "free(): invalid next size (normal) Aborted (core dumped)"
|devwos*| ubuntu | x | 1.5.9 | 4 | 4 |Failed with "Write error: -1 Write error: Connection reset by peer"
|devwin*| ubuntu | x | 1.5.9 | 4 | 4 |Succeeded
|devwis*| ubuntu | x | 1.5.9 | 4 | 4 |2 x Succeeded
* oldev: commit 3a2447d
* devwos: dev version without the --enable-extsnap option
* devwin: dev with nothing enabled (only the --target-list=aarch64-softmmu option)
* devwis: dev without --enable-flexus and with --enable-extsnap. More precisely ./configure --target-list=aarch64-softmmu --enable-extsnap
Here's the list of fixes to bring:
Hi All,
I am also testing QFlex (v1.0 branch) with the ./test_run_system/test.sh
script, but there are a couple of errors occurred in testing the script. In particular, it failed to load the snapshot even if creating a snapshot was successful.
I am working on the images provided and at that time before I ran the test script, the images do not have any snapshots like below.
jeongseob@concerto:~/qflex/scripts ((v1.0))$ grep image user.cfg
set_variable KERNEL_PATH "$HOME/qflex/images/kernel"
set_variable IMG_0 "$HOME/qflex/images/debian-memcached/debian.qcow2"
set_variable IMG_1 "$HOME/qflex/images/debian-blank/debian.qcow2"
jeongseob@concerto:~/qflex/scripts ((v1.0))$ qemu-img snapshot -l ../images/debian-memcached/debian.qcow2
jeongseob@concerto:~/qflex/scripts ((v1.0))$ qemu-img snapshot -l ../images/debian-blank/debian.qcow2
I got the following error failing to delete the snapshot through the test script. The root cause of the error seems like my QEMU cannot SSH, but I don't understand why I need to have SSH to delete the snapshot of the image.
Please let me know If I am supposed to do something to enable SSH.
jeongseob@concerto:~/qflex/scripts ((v1.0))$ ./test_run_system/test.sh
*** Running run_system.sh ***
Creating folder /home/jeongseob/qflex/scripts/test_run_system/results/single_save
Running Single Instance Mode : Port 2220
/home/jeongseob/qflex/scripts/run_instance.sh --kill -exp=test_run_system/results/single_save -ow -sn=test_snap
Booting... Please wait
send: spawn id exp4 not open
while executing
"send "echo Exiting Test\r""
Running Commands
Finished Commands
Taking Snapshot test_snap
Snapshot Saved
Killing all QEMU instances
[ PASSED ] Booting Default
[ PASSED ] Saving Snapshot
*** Running run_system.sh ***
Creating folder /home/jeongseob/qflex/scripts/test_run_system/results/single_load
Running Single Instance Mode : Port 2220
/home/jeongseob/qflex/scripts/run_instance.sh --kill -exp=test_run_system/results/single_load -ow -lo=test_snap -rs -sn=test_snap
Booting... Please wait
/home/jeongseob/qflex/scripts/test_run_system/../run_system.sh:107: QEMU Runtime ERROR cannot SSH[ FAILED ] Loading Snapshot
[ FAILED ] Deleting Snapshot
*** Running run_system.sh ***
Creating folder /home/jeongseob/qflex/scripts/test_run_system/results/multiple_ping
*** Removing Existing Taps and Bridges
Restarting networking (via systemctl): networking.service.
*** Creating New Taps and Bridges
Restarting networking (via systemctl): networking.service.
Linking Taps and Bridges...
Taps and Bridges linked successfully
Running Multiple Instance Mode : Port 2220
/home/jeongseob/qflex/scripts/run_instance.sh --kill -exp=test_run_system/results/multiple_ping -mult -ow --no_ns3 -num=0
Booting... Please wait
/home/jeongseob/qflex/scripts/test_run_system/../run_system.sh:107: QEMU Runtime ERROR cannot SSH[ FAILED ] Configuration Multiple Instance 0
[ FAILED ] Configuration Multiple Instance 1
[ FAILED ] Booting Multiple Instance 0
[ FAILED ] Booting Multiple Instance 1
[ FAILED ] PING through NS3
Summary:
[ PASSED ] Booting Default
[ PASSED ] Saving Snapshot
[ FAILED ] Loading Snapshot
[ FAILED ] Deleting Snapshot
[ FAILED ] Configuration Multiple Instance 0
[ FAILED ] Configuration Multiple Instance 1
[ FAILED ] Booting Multiple Instance 0
[ FAILED ] Booting Multiple Instance 1
[ FAILED ] PING through NS3
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.