Hello everyone,
I have encountered the "Assertion 'emulated' failed " while using Sniper's ROI mode in my program, and I reproduce the issue with a small test program.
The content of the test program is :
int main(void) {
SimRoiStart();
SimRoiEnd();
struct timespec ts;
clock_gettime(CLOCK_REALTIME, &ts);
printf("CLOCK_REALTIME: %ld, %ld\n", ts.tv_sec, ts.tv_nsec);
clock_gettime(CLOCK_MONOTONIC, &ts);
printf("CLOCK_MONOTONIC: %ld, %ld\n", ts.tv_sec, ts.tv_nsec);
return 0;
}
And the output when running the test program with sniper is:
$ ./run-sniper --roi -- ../test/clock
[SNIPER] Start
[SNIPER] --------------------------------------------------------------------------------
[SNIPER] Sniper using SIFT/trace-driven frontend
[SNIPER] Running pre-ROI region in FAST_FORWARD mode
[SNIPER] Running application ROI in DETAILED mode
[SNIPER] Running post-ROI region in FAST_FORWARD mode
[SNIPER] --------------------------------------------------------------------------------
[RECORD-TRACE] Using the SDE frontend (sift/recorder)
[SNIPER] Enabling performance models
[SNIPER] Setting instrumentation mode to DETAILED
[SNIPER] Disabling performance models
[SNIPER] Leaving ROI after 0.00 seconds
[SNIPER] Simulated 0.0M instructions, 2.3M cycles, 0.00 IPC
[SNIPER] Simulation speed 2703.3 KIPS (2703.3 KIPS / target core - 369.9ns/instr)
[SNIPER] Sampling: executed 0.29% of simulated time in detailed mode
[SNIPER] Setting instrumentation mode to FAST_FORWARD
[TRACE:0] -- DONE --
[SIFT_RECORDER] emulation.cc:105: ADDRINT emuClockGettime(LEVEL_VM::THREADID, clockid_t, timespec*): Assertion `emulated' failed.
[SNIPER] End
[SNIPER] Elapsed time: 4.28 seconds
Previously, someone in the group also encountered this problem, but is seems that no specific solution was proposed.
I am using Sniper version 8.1, and the issue persists even when I switch to previous versions.
Thanks.