Description
Hello,
Interested by this work, I've tried to compile and run it on several environments, and essentially failed to obtain any contact, even on a single host.
Main issue I encountered was a crash on de-referencing a null pointer:
Program received signal SIGSEGV, Segmentation fault.
0x00000000004016d5 in test_evict_set (probe_set=probe_set@entry=0x7fffffffaa20, eviction_set=eviction_set@entry=0x7fffffffaa40,
test_eviction_set=test_eviction_set@entry=0x7fffffffabd0, probe_count=probe_count@entry=2, es_size=es_size@entry=0, tes_size=tes_size@entry=16)
at cache/evict.c:39
39 *test_eviction_set[i + 1];
(gdb) p test_eviction_set[i + 1]
$24 = (volatile uint8_t *) 0x0
(gdb) bt
#0 0x00000000004016d5 in test_evict_set (probe_set=probe_set@entry=0x7fffffffaa20, eviction_set=eviction_set@entry=0x7fffffffaa40,
test_eviction_set=test_eviction_set@entry=0x7fffffffabd0, probe_count=probe_count@entry=2, es_size=es_size@entry=0, tes_size=tes_size@entry=16)
at cache/evict.c:39
#1 0x0000000000401d57 in jag_get_cache_sets (config=config@entry=0x7fffffffdef0) at jag/common.c:94
#2 0x0000000000402113 in jag_init (config=config@entry=0x7fffffffdef0) at jag/common.c:19
#3 0x0000000000402c68 in main (argc=1, argv=0x7fffffffe088) at cjag.c:143
(gdb) x/64gux test_eviction_set
0x7fffffffabd0: 0x00002aaaaae00040 0x00002aaaaae60040
0x7fffffffabe0: 0x00002aaaaae80040 0x00002aaaaaee0040
0x7fffffffabf0: 0x00002aaaaaf20040 0x00002aaaaaf40040
0x7fffffffac00: 0x00002aaaaafa0040 0x00002aaaaafc0040
0x7fffffffac10: 0x0000000000000000 0x0000000000000000
0x7fffffffac20: 0x0000000000000000 0x0000000000000000
0x7fffffffac30: 0x0000000000000000 0x0000000000000000
0x7fffffffac40: 0x0000000000000000 0x0000000000000000
0x7fffffffac50: 0x00002aaaab000040 0x00002aaaab060040
0x7fffffffac60: 0x00002aaaab080040 0x00002aaaab0e0040
0x7fffffffac70: 0x00002aaaab120040 0x00002aaaab140040
0x7fffffffac80: 0x00002aaaab1a0040 0x00002aaaab1c0040
0x7fffffffac90: 0x0000000000000000 0x0000000000000000
0x7fffffffaca0: 0x0000000000000000 0x0000000000000000
0x7fffffffacb0: 0x0000000000000000 0x0000000000000000
0x7fffffffacc0: 0x0000000000000000 0x0000000000000000
0x7fffffffacd0: 0x0000000000000000 0x0000000000000000
0x7ffffffface0: 0x0000000000000000 0x0000000000000000
0x7fffffffacf0: 0x0000000000000000 0x0000000000000000
0x7fffffffad00: 0x0000000000000000 0x0000000000000000
0x7fffffffad10: 0x0000000000000000 0x0000000000000000
0x7fffffffad20: 0x0000000000000000 0x0000000000000000
0x7fffffffad30: 0x0000000000000000 0x0000000000000000
0x7fffffffad40: 0x0000000000003000 0x00007ffff7ffe150
0x7fffffffad50: 0x0000000000000009 0x0000000000401b1c
0x7fffffffad60: 0x0000000000000000 0x0000000000000000
0x7fffffffad70: 0x1010101010101008 0x1010101010101010
0x7fffffffad80: 0x1010101010101010 0x1010101010101010
0x7fffffffad90: 0x00002aaaaac00058 0x00002aaaaac60040
0x7fffffffada0: 0x00002aaaaac80040 0x00002aaaaace0040
0x7fffffffadb0: 0x00002aaaaad20040 0x00002aaaaad40040
0x7fffffffadc0: 0x00002aaaaada0040 0x00002aaaaadc0040
Context: VM CentOS7 running onto Vsphere (Physical ESX Cluster)
Starting program: /DT/home/lucp/CheckOut/cesacs/CJAG/./cjag
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
/////_//_//_/////_
//_//_////_//_
_//_______________//_//_//_//_///_
//_//_//_//////_//_//_
/////_////_//_//___/////_
Size Ways Slices Threshold
L3 20 MB 20 1 280
Additional information: I'm quite surprised to obtain n_pages=3 (observed also under gdb) with this configuration.
By the way, 1 slice seams to be the root cause of the issue, as option -s 2 seams to somewhat workaround this issue.
Best regards,
TQ
Activity