AXLEproject / axle-zsim-nvmain

This is a fork of zsim (see https://github.com/s5z/zsim) which integrates the NVMain main memory simulator, adding 3D stacking and non-volatile memory support.
GNU General Public License v2.0
25 stars 16 forks source link

Enabling Prefetcher on NVMAIN resulting in error #11

Open Subisha opened 5 years ago

Subisha commented 5 years ago

When I enable the inbuilt prefetcher of NVMAIN, my simulation fails with the following error.

[S 0] [1] Internal exception detected: [S 0] [1] Code: 1 [S 0] [1] Address: 0x7ffff63d2179 [S 0] [1] Description: Exception Code: ACCESS_INVALID_ADDRESS. Exception Address = 0x7ffff63d2179. Access Type: UNKNOWN. Access Address = 0x000000008 [S 0] [1] Caused by invalid access to address 0x8 [S 0] [1] Backtrace (15/40 max frames) [S 0] [1] /home/subisha.v/Simulator/axle-zsim-nvmain-master/build/opt/zsim.cpp:1403 / InternalExceptionHandler [S 0] [1] :? / LEVEL_PINCLIENT::IEH_CALLBACKS::NotifyInternalException(unsigned int, LEVEL_BASE::EXCEPTION_INFO, LEVEL_VM::CONTEXT) [S 0] [1] /home/subisha.v/Simulator/axle-zsim-nvmain-master/dependencies/pin-2.14-71313-gcc.4.4.7-linux/intel64/bin/pinbin(_ZN8LEVEL_VM12SIGNALS_IMPL19InternalHandlerSyncEiPN7BARECRT8SIGXINFOEPN5PINVM11ISIGCONTEXTEPPKNS_14SCT_ATTRIBUTESEPNS_5PCTXTEPj+0x444) [0x3043a9454] [S 0] [1] /home/subisha.v/Simulator/axle-zsim-nvmain-master/dependencies/pin-2.14-71313-gcc.4.4.7-linux/intel64/bin/pinbin(_ZN8LEVEL_VM12SIGNALS_IMPL20HandlePhysicalSignalEPN7BARECRT8SIGXINFOEPN5PINVM11ISIGCONTEXTE+0x124) [0x3043aa1f4] [S 0] [1] /home/subisha.v/Simulator/axle-zsim-nvmain-master/dependencies/pin-2.14-71313-gcc.4.4.7-linux/intel64/bin/pinbin(_ZN5PINVM28SIGNAL_DETAILS_LINUX_INTEL6415InternalHandlerEiPN7BARECRT8SIGXINFOEPv+0xe8) [0x304438c88] [S 0] [1] /home/subisha.v/Simulator/axle-zsim-nvmain-master/dependencies/pin-2.14-71313-gcc.4.4.7-linux/intel64/bin/pinbin(BARECRT_SigReturnRt+0) [0x30446603c] [S 0] [1] /home/subisha.v/Simulator/axle-zsim-nvmain-master/build/opt/nvmain/src/NVMObject.cpp:60 / NVM::NVMObject_hook::IssueCommand(NVM::NVMainRequest) [S 0] [1] /home/subisha.v/Simulator/axle-zsim-nvmain-master/build/opt/nvmain/NVM/nvmain.cpp:274 / NVM::NVMain::GeneratePrefetches(NVM::NVMainRequest, std::vector<NVM::NVMAddress, std::allocator >&) [S 0] [1] /home/subisha.v/Simulator/axle-zsim-nvmain-master/build/opt/nvmain/NVM/nvmain.cpp:310 / NVM::NVMain::IssuePrefetch(NVM::NVMainRequest) [S 0] [1] /home/subisha.v/Simulator/axle-zsim-nvmain-master/build/opt/nvmain/NVM/nvmain.cpp:402 / NVM::NVMain::IssueCommand(NVM::NVMainRequest) [S 0] [1] /home/subisha.v/Simulator/axle-zsim-nvmain-master/build/opt/nvmain_mem_ctrl.cpp:379 / NVMainMemory::enqueue(NVMainAccEvent*, unsigned long) [S 0] [1] /home/subisha.v/Simulator/axle-zsim-nvmain-master/build/opt/timing_event.h:163 / TimingEvent::run(unsigned long) [S 0] [1] /home/subisha.v/Simulator/axle-zsim-nvmain-master/build/opt/contention_sim.cpp:282 / ContentionSim::simThreadLoop(unsigned int) [S 0] [1] /home/subisha.v/Simulator/axle-zsim-nvmain-master/dependencies/pin-2.14-71313-gcc.4.4.7-linux/intel64/bin/pinbin(_ZN8LEVEL_VM17VM_THREAD_DB_UNIX13THREAD_RUNNER9RunThreadEPN11OS_SERVICES7ITHREADE+0x289) [0x3043b3239] [S 0] [1] /home/subisha.v/Simulator/axle-zsim-nvmain-master/dependencies/pin-2.14-71313-gcc.4.4.7-linux/intel64/bin/pinbin(_ZN11OS_SERVICES6THREAD12RootFunctionEPv+0x26) [0x304465636] [S 0] [1] Internal exception detected: [S 0] [1] Code: 6 [S 0] [1] Address: 0x7ffff6e40dfa [S 0] [1] Description: Exception Code: PRIVILEGED_INS. Exception Address = 0x7ffff6e40dfa A: dependencies/pin-2.14-71313-gcc.4.4.7-linux/source/include/pin/gen/exception.PH: GetFaultyAccessAddress: 242: assertion failed: IsAccessFault()

wenzez commented 3 years ago

@Subisha Hi, I also encounter the same error with you, could you share me your solution? Thanks!

dkadiyala3 commented 5 months ago

Hi same error. In my code I added an unordered_map<uint64_t, uint64_t> pageReads in the GlobzSimInfo object and in my memory::access() function, I'm trying to increment the count for a page based on the req.type. And I'm running into similar issue. Any suggestions or leads to solve or get around this bug are highly appreciated. Thanks!