Project

General

Profile

Bug #12809 ยป load_store.log.txt

Alexander Protsenko, 12/18/2023 03:05 PM

 

D:\WorkProjects\MicroTESK\microtesk-mips64\src\main\arch\mips64\templates>D:\WorkProjects\MicroTESK\microtesk-mips64\build\target\bin\generate.bat mips64 load_store.rb --code-file-prefix generated_tests/load_store --code-file-extension s -v

D:\WorkProjects\MicroTESK\microtesk-mips64\src\main\arch\mips64\templates>java -ea -jar "D:\WorkProjects\MicroTESK\microtesk-mips64\build\target/lib/jars/microtesk.jar" -g mips64 load_store.rb --code-file-prefix generated_tests/load_store --code-file-extension s -v
Home: D:\WorkProjects\MicroTESK\microtesk-mips64\build\target
Current directory: D:\WorkProjects\MicroTESK\microtesk-mips64\src\main\arch\mips64\templates
Model name: mips64
Template file: load_store.rb
Loaded template Mips64BaseTemplate defined in D:/WorkProjects/MicroTESK/microtesk-mips64/src/main/arch/mips64/templates/mips64_base.rb
Loaded template LoadStoreTemplate defined in D:/WorkProjects/MicroTESK/microtesk-mips64/src/main/arch/mips64/templates/load_store.rb
Processing template LoadStoreTemplate defined in D:/WorkProjects/MicroTESK/microtesk-mips64/src/main/arch/mips64/templates/load_store.rb...
Instance number: 1

----------------------- Initializing Processing Elements -----------------------

The 'instantiate' operation is undefined.
Creating MMU model...

------------------------- Started Processing Template --------------------------


------------------ Started Processing Initialization Section -------------------


------------------------- Processing Exception Handler -------------------------


----------------- Printing exception handler to test_except.s ------------------


------------------- Ended Processing Initialization Section --------------------


------------------- Started Processing Finalization Section --------------------


-------------------- Ended Processing Finalization Section ---------------------


----------------------- Started Processing Main Section ------------------------


------------------------------- Allocating code --------------------------------

Section: .text [pa=0x0000000000000000, va=0xffffffff80000000]

Code allocator: directive: .org 0x200
0x0000000000000200 (PA): mfc0 $ra, $14, 0 (0x401F7000)
0x0000000000000204 (PA): addiu $ra, $ra, 4 (0x27FF0004)
0x0000000000000208 (PA): jr $ra (0x03E00008)
0x000000000000020c (PA): nop (0x00000000)
Code allocator: register the remaining block: [0xffffffff80000200..0xffffffff80000210) (5 calls)


------------------------------- Allocating code --------------------------------

Section: .text [pa=0x0000000000000000, va=0xffffffff80000000]

Code allocator: directive: .org 0x280
0x0000000000000280 (PA): mfc0 $ra, $14, 0 (0x401F7000)
0x0000000000000284 (PA): addiu $ra, $ra, 4 (0x27FF0004)
0x0000000000000288 (PA): jr $ra (0x03E00008)
0x000000000000028c (PA): nop (0x00000000)
Code allocator: register the remaining block: [0xffffffff80000280..0xffffffff80000290) (5 calls)


------------------------------- Allocating code --------------------------------

Section: .text [pa=0x0000000000000000, va=0xffffffff80000000]

Code allocator: directive: .org 0x380
0x0000000000000380 (PA): mfc0 $ra, $14, 0 (0x401F7000)
0x0000000000000384 (PA): addiu $ra, $ra, 4 (0x27FF0004)
0x0000000000000388 (PA): jr $ra (0x03E00008)
0x000000000000038c (PA): nop (0x00000000)
Code allocator: register the remaining block: [0xffffffff80000380..0xffffffff80000390) (5 calls)


------------------- Constructed Prologue (mips64_base.rb:85) -------------------

boot [pa=0x000000001fc00000, va=0xffffffffbfc00000]
.text
.set noreorder
.list
mfc0 $t0, $12, 0
lui $t2, 0x40
ori $t2, $t2, 0x4
lui $t1, 0x400
ori $t1, $t1, 0x80
nor $t2, $0, $t2
and $t0, $t0, $t2
or $t0, $t0, $t1
mtc0 $t0, $12, 0
mfc0 $t0, $16, 0
lui $t2, 0x20
ori $t2, $t2, 0x7
lui $t1, 0x0
ori $t1, $t1, 0x3
nor $t2, $0, $t2
and $t0, $t0, $t2
or $t0, $t0, $t1
mtc0 $t0, $16, 0
mtc0 $0, $11, 0
lui $t0, 0xbfc0
ori $t0, $t0, 0x0
lui $t1, 0x8000
ori $t1, $t1, 0x0
ld $t2, 512($t0)
sd $t2, 0($t1)
sd $t2, 128($t1)
sd $t2, 384($t1)
ld $t2, 520($t0)
sd $t2, 8($t1)
sd $t2, 136($t1)
sd $t2, 392($t1)
ld $t2, 528($t0)
sd $t2, 16($t1)
sd $t2, 144($t1)
sd $t2, 400($t1)
ld $t2, 536($t0)
sd $t2, 24($t1)
sd $t2, 152($t1)
sd $t2, 408($t1)
lui $t0, 0x8000
ori $t0, $t0, 0x2000
jr $t0
nop
.org 0x200
mthi $t0
mfc0 $t0, $14, 0
addiu $t0, $t0, 4
mtc0 $t0, $14, 0
mfhi $t0
ssnop
ssnop
eret
.org 0x280
mthi $t0
mfc0 $t0, $14, 0
addiu $t0, $t0, 4
mtc0 $t0, $14, 0
mfhi $t0
ssnop
ssnop
eret
.org 0x380
mthi $t0
mfc0 $t0, $14, 0
addiu $t0, $t0, 4
mtc0 $t0, $14, 0
mfhi $t0
ssnop
ssnop
eret
nop
nop
nop
nop

------------------------------- Allocating code --------------------------------

Section: boot [pa=0x000000001fc00000, va=0xffffffffbfc00000]

0x000000001fc00000 (PA): mfc0 $t0, $12, 0 (0x40086000)
0x000000001fc00004 (PA): lui $t2, 0x40 (0x3C0A0040)
0x000000001fc00008 (PA): ori $t2, $t2, 0x4 (0x354A0004)
0x000000001fc0000c (PA): lui $t1, 0x400 (0x3C090400)
0x000000001fc00010 (PA): ori $t1, $t1, 0x80 (0x35290080)
0x000000001fc00014 (PA): nor $t2, $0, $t2 (0x000A5027)
0x000000001fc00018 (PA): and $t0, $t0, $t2 (0x010A4024)
0x000000001fc0001c (PA): or $t0, $t0, $t1 (0x01094025)
0x000000001fc00020 (PA): mtc0 $t0, $12, 0 (0x40886000)
0x000000001fc00024 (PA): mfc0 $t0, $16, 0 (0x40088000)
0x000000001fc00028 (PA): lui $t2, 0x20 (0x3C0A0020)
0x000000001fc0002c (PA): ori $t2, $t2, 0x7 (0x354A0007)
0x000000001fc00030 (PA): lui $t1, 0x0 (0x3C090000)
0x000000001fc00034 (PA): ori $t1, $t1, 0x3 (0x35290003)
0x000000001fc00038 (PA): nor $t2, $0, $t2 (0x000A5027)
0x000000001fc0003c (PA): and $t0, $t0, $t2 (0x010A4024)
0x000000001fc00040 (PA): or $t0, $t0, $t1 (0x01094025)
0x000000001fc00044 (PA): mtc0 $t0, $16, 0 (0x40888000)
0x000000001fc00048 (PA): mtc0 $0, $11, 0 (0x40805800)
0x000000001fc0004c (PA): lui $t0, 0xbfc0 (0x3C08BFC0)
0x000000001fc00050 (PA): ori $t0, $t0, 0x0 (0x35080000)
0x000000001fc00054 (PA): lui $t1, 0x8000 (0x3C098000)
0x000000001fc00058 (PA): ori $t1, $t1, 0x0 (0x35290000)
0x000000001fc0005c (PA): ld $t2, 512($t0) (0xDD0A0200)
0x000000001fc00060 (PA): sd $t2, 0($t1) (0xFD2A0000)
0x000000001fc00064 (PA): sd $t2, 128($t1) (0xFD2A0080)
0x000000001fc00068 (PA): sd $t2, 384($t1) (0xFD2A0180)
0x000000001fc0006c (PA): ld $t2, 520($t0) (0xDD0A0208)
0x000000001fc00070 (PA): sd $t2, 8($t1) (0xFD2A0008)
0x000000001fc00074 (PA): sd $t2, 136($t1) (0xFD2A0088)
0x000000001fc00078 (PA): sd $t2, 392($t1) (0xFD2A0188)
0x000000001fc0007c (PA): ld $t2, 528($t0) (0xDD0A0210)
0x000000001fc00080 (PA): sd $t2, 16($t1) (0xFD2A0010)
0x000000001fc00084 (PA): sd $t2, 144($t1) (0xFD2A0090)
0x000000001fc00088 (PA): sd $t2, 400($t1) (0xFD2A0190)
0x000000001fc0008c (PA): ld $t2, 536($t0) (0xDD0A0218)
0x000000001fc00090 (PA): sd $t2, 24($t1) (0xFD2A0018)
0x000000001fc00094 (PA): sd $t2, 152($t1) (0xFD2A0098)
0x000000001fc00098 (PA): sd $t2, 408($t1) (0xFD2A0198)
0x000000001fc0009c (PA): lui $t0, 0x8000 (0x3C088000)
0x000000001fc000a0 (PA): ori $t0, $t0, 0x2000 (0x35082000)
0x000000001fc000a4 (PA): jr $t0 (0x01000008)
0x000000001fc000a8 (PA): nop (0x00000000)
Code allocator: directive: .org 0x200
Code allocator: register the block: [0xffffffffbfc00000..0xffffffffbfc000ac) (43 calls)

0x000000001fc00200 (PA): mthi $t0 (0x01000011)
0x000000001fc00204 (PA): mfc0 $t0, $14, 0 (0x40087000)
0x000000001fc00208 (PA): addiu $t0, $t0, 4 (0x25080004)
0x000000001fc0020c (PA): mtc0 $t0, $14, 0 (0x40887000)
0x000000001fc00210 (PA): mfhi $t0 (0x00004010)
0x000000001fc00214 (PA): ssnop (0x00000040)
0x000000001fc00218 (PA): ssnop (0x00000040)
0x000000001fc0021c (PA): eret (0x42000018)
Code allocator: directive: .org 0x280
Code allocator: register the block: [0xffffffffbfc00200..0xffffffffbfc00220) (8 calls)

0x000000001fc00280 (PA): mthi $t0 (0x01000011)
0x000000001fc00284 (PA): mfc0 $t0, $14, 0 (0x40087000)
0x000000001fc00288 (PA): addiu $t0, $t0, 4 (0x25080004)
0x000000001fc0028c (PA): mtc0 $t0, $14, 0 (0x40887000)
0x000000001fc00290 (PA): mfhi $t0 (0x00004010)
0x000000001fc00294 (PA): ssnop (0x00000040)
0x000000001fc00298 (PA): ssnop (0x00000040)
0x000000001fc0029c (PA): eret (0x42000018)
Code allocator: directive: .org 0x380
Code allocator: register the block: [0xffffffffbfc00280..0xffffffffbfc002a0) (8 calls)

0x000000001fc00380 (PA): mthi $t0 (0x01000011)
0x000000001fc00384 (PA): mfc0 $t0, $14, 0 (0x40087000)
0x000000001fc00388 (PA): addiu $t0, $t0, 4 (0x25080004)
0x000000001fc0038c (PA): mtc0 $t0, $14, 0 (0x40887000)
0x000000001fc00390 (PA): mfhi $t0 (0x00004010)
0x000000001fc00394 (PA): ssnop (0x00000040)
0x000000001fc00398 (PA): ssnop (0x00000040)
0x000000001fc0039c (PA): eret (0x42000018)
0x000000001fc003a0 (PA): nop (0x00000000)
0x000000001fc003a4 (PA): nop (0x00000000)
0x000000001fc003a8 (PA): nop (0x00000000)
0x000000001fc003ac (PA): nop (0x00000000)
Code allocator: register the remaining block: [0xffffffffbfc00380..0xffffffffbfc003b0) (12 calls)


------------------ Constructed Prologue (mips64_base.rb:544) -------------------

.text
.org 0x2000
__start:
.nolist
.set noreorder
#include "regdef_mips64.h"
#include "kernel_mips64.h"
.list
.text
.globl __start
j test
nop
test:
mfc0 $t8, $16, 0
lui $t9, 0xffff
ori $t9, $t9, 0xfffa
and $t8, $t8, $t9
mtc0 $t8, $16, 0
ssnop
ssnop

------------------------------- Allocating code --------------------------------

Section: .text [pa=0x0000000000000000, va=0xffffffff80000000]

Code allocator: directive: .org 0x2000
Code allocator: directive: __start:
0x0000000000002000 (PA): j test (0x08000000)
0x0000000000002004 (PA): nop (0x00000000)
Code allocator: directive: test:
0x0000000000002008 (PA): mfc0 $t8, $16, 0 (0x40188000)
0x000000000000200c (PA): lui $t9, 0xffff (0x3C19FFFF)
0x0000000000002010 (PA): ori $t9, $t9, 0xfffa (0x3739FFFA)
0x0000000000002014 (PA): and $t8, $t8, $t9 (0x0319C024)
0x0000000000002018 (PA): mtc0 $t8, $16, 0 (0x40988000)
0x000000000000201c (PA): ssnop (0x00000040)
0x0000000000002020 (PA): ssnop (0x00000040)
Code allocator: register the remaining block: [0xffffffff80002000..0xffffffff80002024) (9 calls)

Processing of block defined at load_store.rb:72 is postponed.

------------------------ Ended Processing Main Section -------------------------


------------- Running Execution from Prologue (mips64_base.rb:85) --------------


---------------------------------- Instance 0 ----------------------------------

Execution status: 0xffffffffbfc00000

boot start (EPC = 0x0)
0xffffffffbfc00000 mfc0 $t0, $12, 0
0xffffffffbfc00004 lui $t2, 0x40
0xffffffffbfc00008 ori $t2, $t2, 0x4
0xffffffffbfc0000c lui $t1, 0x400
0xffffffffbfc00010 ori $t1, $t1, 0x80
0xffffffffbfc00014 nor $t2, $0, $t2
0xffffffffbfc00018 and $t0, $t0, $t2
0xffffffffbfc0001c or $t0, $t0, $t1
0xffffffffbfc00020 mtc0 $t0, $12, 0
0xffffffffbfc00024 mfc0 $t0, $16, 0
0xffffffffbfc00028 lui $t2, 0x20
0xffffffffbfc0002c ori $t2, $t2, 0x7
0xffffffffbfc00030 lui $t1, 0x0
0xffffffffbfc00034 ori $t1, $t1, 0x3
0xffffffffbfc00038 nor $t2, $0, $t2
0xffffffffbfc0003c and $t0, $t0, $t2
0xffffffffbfc00040 or $t0, $t0, $t1
0xffffffffbfc00044 mtc0 $t0, $16, 0
0xffffffffbfc00048 mtc0 $0, $11, 0
0xffffffffbfc0004c lui $t0, 0xbfc0
0xffffffffbfc00050 ori $t0, $t0, 0x0
0xffffffffbfc00054 lui $t1, 0x8000
0xffffffffbfc00058 ori $t1, $t1, 0x0
0xffffffffbfc0005c ld $t2, 512($t0)
KSEG1: va=FFFFFFFFBFC00200, pa=1FC00200
0xffffffffbfc00060 sd $t2, 0($t1)
KSEG0: va=FFFFFFFF80000000, pa=0
isCached = 0x1
KSEG0: va=FFFFFFFF80000000, pa=0
isCached = 0x1
0xffffffffbfc00064 sd $t2, 128($t1)
KSEG0: va=FFFFFFFF80000080, pa=80
isCached = 0x1
KSEG0: va=FFFFFFFF80000080, pa=80
isCached = 0x1
0xffffffffbfc00068 sd $t2, 384($t1)
KSEG0: va=FFFFFFFF80000180, pa=180
isCached = 0x1
KSEG0: va=FFFFFFFF80000180, pa=180
isCached = 0x1
0xffffffffbfc0006c ld $t2, 520($t0)
KSEG1: va=FFFFFFFFBFC00208, pa=1FC00208
0xffffffffbfc00070 sd $t2, 8($t1)
KSEG0: va=FFFFFFFF80000008, pa=8
isCached = 0x1
KSEG0: va=FFFFFFFF80000008, pa=8
isCached = 0x1
0xffffffffbfc00074 sd $t2, 136($t1)
KSEG0: va=FFFFFFFF80000088, pa=88
isCached = 0x1
KSEG0: va=FFFFFFFF80000088, pa=88
isCached = 0x1
0xffffffffbfc00078 sd $t2, 392($t1)
KSEG0: va=FFFFFFFF80000188, pa=188
isCached = 0x1
KSEG0: va=FFFFFFFF80000188, pa=188
isCached = 0x1
0xffffffffbfc0007c ld $t2, 528($t0)
KSEG1: va=FFFFFFFFBFC00210, pa=1FC00210
0xffffffffbfc00080 sd $t2, 16($t1)
KSEG0: va=FFFFFFFF80000010, pa=10
isCached = 0x1
KSEG0: va=FFFFFFFF80000010, pa=10
isCached = 0x1
0xffffffffbfc00084 sd $t2, 144($t1)
KSEG0: va=FFFFFFFF80000090, pa=90
isCached = 0x1
KSEG0: va=FFFFFFFF80000090, pa=90
isCached = 0x1
0xffffffffbfc00088 sd $t2, 400($t1)
KSEG0: va=FFFFFFFF80000190, pa=190
isCached = 0x1
KSEG0: va=FFFFFFFF80000190, pa=190
isCached = 0x1
0xffffffffbfc0008c ld $t2, 536($t0)
KSEG1: va=FFFFFFFFBFC00218, pa=1FC00218
0xffffffffbfc00090 sd $t2, 24($t1)
KSEG0: va=FFFFFFFF80000018, pa=18
isCached = 0x1
KSEG0: va=FFFFFFFF80000018, pa=18
isCached = 0x1
0xffffffffbfc00094 sd $t2, 152($t1)
KSEG0: va=FFFFFFFF80000098, pa=98
isCached = 0x1
KSEG0: va=FFFFFFFF80000098, pa=98
isCached = 0x1
0xffffffffbfc00098 sd $t2, 408($t1)
KSEG0: va=FFFFFFFF80000198, pa=198
isCached = 0x1
KSEG0: va=FFFFFFFF80000198, pa=198
isCached = 0x1
0xffffffffbfc0009c lui $t0, 0x8000
0xffffffffbfc000a0 ori $t0, $t0, 0x2000
0xffffffffbfc000a4 jr $t0
0xffffffffbfc000a8 nop
Jump to 0xffffffff80002000
.org 0x2000
__start:
0xffffffff80002000 j test
0xffffffff80002004 nop
test:
0xffffffff80002008 mfc0 $t8, $16, 0
0xffffffff8000200c lui $t9, 0xffff
0xffffffff80002010 ori $t9, $t9, 0xfffa
0xffffffff80002014 and $t8, $t8, $t9
0xffffffff80002018 mtc0 $t8, $16, 0
0xffffffff8000201c ssnop
0xffffffff80002020 ssnop

------------------ Processing Abstract Sequence (Instance 0) -------------------

Memory engine configuration: classifier=BUFFER_ACCESS, preparator=true, iterator=RANDOM, recursion-limit=1, count=100
MemoryEngine.solve: [instruction call (root: ld, preparator: null, data: false, atomic: false, allocatorAction: null), instruction call (root: sd, preparator: null, data: false, atomic: false, allocatorAction: null)]
MemoryEngine.solve: globalConstraints=MemoryAccessConstraints [null, [], []]
MemoryEngine.solve: accessTypes=[LOAD[DWORD], LOAD[DWORD]]
MemoryEngine.solve: accessConstraints=[MemoryAccessConstraints [null, [], []], MemoryAccessConstraints [null, [], []]]
Number of trajectories is 18
Trajectories are [[DTLB, DTLB, JTLB, DTLB, L1, L1], [DTLB, DTLB, JTLB, DTLB, L1, L2, L2, L1], [DTLB, DTLB, JTLB, DTLB, L1, L2, MEM, L2, L1], [DTLB, DTLB, JTLB, DTLB, L1, MEM, L1], [DTLB, DTLB, JTLB, DTLB, MEM], [DTLB, DTLB, JTLB], [JTLB, JTLB, DTLB, L1, L1], [JTLB, JTLB, DTLB, L1, L2, L2, L1], [JTLB, JTLB, DTLB, L1, L2, MEM, L2, L1], [JTLB, JTLB, DTLB, L1, MEM, L1], [JTLB, JTLB, DTLB, MEM], [JTLB, JTLB], [DTLB, JTLB], [L1, L1], [L1, L2, L2, L1], [L1, L2, MEM, L2, L1], [L1, MEM, L1], [MEM]]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [DTLB, DTLB, JTLB, DTLB, L1, L1]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [DTLB, DTLB, JTLB, DTLB, L1, L2, L2, L1]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [DTLB, DTLB, JTLB, DTLB, L1, L2, MEM, L2, L1]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [DTLB, DTLB, JTLB, DTLB, L1, MEM, L1]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [DTLB, DTLB, JTLB, DTLB, MEM]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [DTLB, DTLB, JTLB]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [JTLB, JTLB, DTLB, L1, L1]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [JTLB, JTLB, DTLB, L1, L2, L2, L1]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [JTLB, JTLB, DTLB, L1, L2, MEM, L2, L1]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [JTLB, JTLB, DTLB, L1, MEM, L1]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [JTLB, JTLB, DTLB, MEM]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [JTLB, JTLB]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [DTLB, JTLB]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [L1, L1]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [L1, L2, L2, L1]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [L1, L2, MEM, L2, L1]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [L1, MEM, L1]
Creating memory access chooser: MemoryAccessConstraints [null, [], []]
Add iterator for the trajectory: [MEM]
Classifying memory access paths: LOAD[DWORD] 18 classes
Classifying memory access paths: LOAD[DWORD] 18 classes
Searching for a memory access path: [DTLB, JTLB]
Constraint: VA:VA.value[64] in [120000, FFFFFFFF]
Checking feasibility of the memory access: MemoryAccessConstraints [null, [], []]
General constraints: []
Solving path constraints
Constraint: VA:VA.value[64] in [120000, FFFFFFFF]
Solving result: [Variable[name=VA.value(0), data=Data[type=(BIT_VECTOR 64), value=0000000000000000000000000000000000000000000100100000000000000000]], Variable[name=VA.value_DTLB_1(1), data=Data[type=(BIT_VECTOR 64), value=0000000000000000000000000000000000000000000100100000000000000000]], Variable[name=VA.value_JTLB_1(1), data=Data[type=(BIT_VECTOR 64), value=0000000000000000000000000000000000000000000100100000000000000000]], Variable[name=VA.value_DTLB_1, data=Data[type=(BIT_VECTOR 64), value=0000000000000000000000000000000000000000000100100000000000000000]], Variable[name=VA.value, data=Data[type=(BIT_VECTOR 64), value=0000000000000000000000000000000000000000000100100000000000000000]], Variable[name=VA.value_JTLB_1, data=Data[type=(BIT_VECTOR 64), value=0000000000000000000000000000000000000000000100100000000000000000]]]
Memory access path of length 7 for trajectory [DTLB, JTLB]
Success
Searching for a memory access path: [DTLB, JTLB]
No feasible memory access path has been found
Searching for a memory access path: [DTLB, DTLB, JTLB, DTLB, L1, L1]
Constraint: VA:VA.value[64] in [120000, FFFFFFFF]
********************************************************************************
ATTENTION! An unexpected error has occurred:
java.lang.ClassCastException: class ru.ispras.fortress.solver.constraint.Formulas cannot be cast to class ru.ispras.fortress.expression.Node (ru.ispras.fortress.solver.constraint.Formulas and ru.ispras.fortress.expression.Node are in unnamed module of loader 'app')

The program will be terminated. Please contact us at:
microtesk-support@ispras.ru
We are sorry for the inconvenience.

Exception stack:

java.lang.ClassCastException: class ru.ispras.fortress.solver.constraint.Formulas cannot be cast to class ru.ispras.fortress.expression.Node (ru.ispras.fortress.solver.constraint.Formulas and ru.ispras.fortress.expression.Node are in unnamed module of loader 'app')
at ru.ispras.microtesk.mmu.test.engine.memory.SymbolicExecutor.executeStatement(ru/ispras/microtesk/mmu/test/engine/memory/SymbolicExecutor.java:598)
at ru.ispras.microtesk.mmu.test.engine.memory.SymbolicExecutor.executeProgram(ru/ispras/microtesk/mmu/test/engine/memory/SymbolicExecutor.java:467)
at ru.ispras.microtesk.mmu.test.engine.memory.SymbolicExecutor.executeEntry(ru/ispras/microtesk/mmu/test/engine/memory/SymbolicExecutor.java:366)
at ru.ispras.microtesk.mmu.test.engine.memory.SymbolicExecutor.execute(ru/ispras/microtesk/mmu/test/engine/memory/SymbolicExecutor.java:100)
at ru.ispras.microtesk.mmu.test.engine.memory.MemoryEngineUtils.isFeasibleEntry(ru/ispras/microtesk/mmu/test/engine/memory/MemoryEngineUtils.java:180)
at ru.ispras.microtesk.mmu.test.engine.memory.AccessIterator.getNext(ru/ispras/microtesk/mmu/test/engine/memory/AccessIterator.java:524)
at ru.ispras.microtesk.mmu.test.engine.memory.AccessIterator.hasNext(ru/ispras/microtesk/mmu/test/engine/memory/AccessIterator.java:324)
at ru.ispras.microtesk.mmu.test.engine.memory.AccessChooser.get(ru/ispras/microtesk/mmu/test/engine/memory/AccessChooser.java:103)
at ru.ispras.microtesk.mmu.test.engine.memory.AccessesIteratorRandom.next(ru/ispras/microtesk/mmu/test/engine/memory/AccessesIteratorRandom.java:63)
at ru.ispras.microtesk.mmu.test.engine.memory.AccessesIteratorRandom.init(ru/ispras/microtesk/mmu/test/engine/memory/AccessesIteratorRandom.java:43)
at ru.ispras.microtesk.mmu.test.engine.memory.AccessesIterator.initAccesses(ru/ispras/microtesk/mmu/test/engine/memory/AccessesIterator.java:265)
at ru.ispras.microtesk.mmu.test.engine.memory.AccessesIterator.init(ru/ispras/microtesk/mmu/test/engine/memory/AccessesIterator.java:140)
at ru.ispras.microtesk.mmu.test.engine.memory.MemoryEngine$1.init(ru/ispras/microtesk/mmu/test/engine/memory/MemoryEngine.java:265)
at ru.ispras.microtesk.test.sequence.combinator.CombinatorBase.init(ru/ispras/microtesk/test/sequence/combinator/CombinatorBase.java:84)
at ru.ispras.microtesk.test.sequence.combinator.CombinatorDiagonal.init(ru/ispras/microtesk/test/sequence/combinator/CombinatorDiagonal.java:27)
at ru.ispras.microtesk.test.engine.SequenceMerger.init(ru/ispras/microtesk/test/engine/SequenceMerger.java:49)
at ru.ispras.microtesk.test.engine.AbstractSequenceIterator.init(ru/ispras/microtesk/test/engine/AbstractSequenceIterator.java:37)
at ru.ispras.microtesk.test.engine.AbstractSequenceTestDataIterator.init(ru/ispras/microtesk/test/engine/AbstractSequenceTestDataIterator.java:56)
at ru.ispras.microtesk.test.engine.SequenceConcretizer.init(ru/ispras/microtesk/test/engine/SequenceConcretizer.java:90)
at ru.ispras.microtesk.test.engine.SequenceProcessor$ConcreteSequenceIterator.newConcreteSequenceIterator(ru/ispras/microtesk/test/engine/SequenceProcessor.java:211)
at ru.ispras.microtesk.test.engine.SequenceProcessor$ConcreteSequenceIterator.init(ru/ispras/microtesk/test/engine/SequenceProcessor.java:162)
at ru.ispras.microtesk.test.TemplateProcessor.processPostponedBlock(ru/ispras/microtesk/test/TemplateProcessor.java:433)
at ru.ispras.microtesk.test.TemplateProcessor.processPostponedBlocks(ru/ispras/microtesk/test/TemplateProcessor.java:328)
at ru.ispras.microtesk.test.TemplateProcessor.finish(ru/ispras/microtesk/test/TemplateProcessor.java:212)
at ru.ispras.microtesk.test.template.Template.endMainSection(ru/ispras/microtesk/test/template/Template.java:224)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(jdk/internal/reflect/NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(jdk/internal/reflect/DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:566)
at RUBY.generate(D:/WorkProjects/MicroTESK/microtesk-mips64/build/target/lib/ruby/template.rb:1020)
at RUBY.main(D:\WorkProjects\MicroTESK\microtesk-mips64\build\target\lib\ruby\microtesk.rb:33)
at org.jruby.RubyHash.each(org/jruby/RubyHash.java:1342)
at RUBY.main(D:\WorkProjects\MicroTESK\microtesk-mips64\build\target\lib\ruby\microtesk.rb:29)
at RUBY.(root)(D:\WorkProjects\MicroTESK\microtesk-mips64\build\target\lib\ruby\microtesk.rb:52)
at ru.ispras.microtesk.RubyRunner.run(ru/ispras/microtesk/RubyRunner.java:68)
at ru.ispras.microtesk.ScriptRunner.run(ru/ispras/microtesk/ScriptRunner.java:43)
at ru.ispras.microtesk.test.TestEngine.generate(ru/ispras/microtesk/test/TestEngine.java:171)
at ru.ispras.microtesk.MicroTESK.generate(ru/ispras/microtesk/MicroTESK.java:372)
at ru.ispras.microtesk.MicroTESK.runTask(ru/ispras/microtesk/MicroTESK.java:144)
at ru.ispras.microtesk.MicroTESK.main(ru/ispras/microtesk/MicroTESK.java:85)

********************************************************************************
    (1-1/1)