When you do:

(gdb) print *queueEntry

Where is the breakpoint where you're doing that?

On Wed, Dec 7, 2011 at 12:47 PM, [email protected] <[email protected]>wrote:

> Here is a complete debug info:
>
> MemoryController (this=0x2e75750, coreid=<value optimized out>,
> name=0x7fffffffd120 "MEM_0", memoryHierarchy=0x2adca60) at
> ptlsim/build/cache/**memoryController.cpp:50
> 50        memoryHierarchy_->add_cache_**mem_controller(this);
> (gdb)
> 52        if(!memoryHierarchy_->get_**machine().get_option(name,
> "latency", latency_)) {
> (gdb)
> 57        latency_ = ns_to_simcycles(latency_);
> (gdb)
> 59        SET_SIGNAL_CB(name, "_Access_Completed", accessCompleted_,
> &MemoryController::access_**completed_cb);
> (gdb)
> [Thread 0x7ffebb36b950 (LWP 6858) exited]
> 61        SET_SIGNAL_CB(name, "_Wait_Interconnect", waitInterconnect_,
> &MemoryController::wait_**interconnect_cb);
> (gdb) print &accessCompleted_
> $3 = (superstl::Signal *) 0x2e75ad0
> (gdb) print &waitInterconnect_
> $4 = (superstl::Signal *) 0x2e75bf0
>
> (gdb) print *queueEntry
> $7 = {<FixStateListObject> = {<superstl::selfqueuelink> =
> {_vptr.selfqueuelink = 0x800800, next = 0x2e75d48, prev = 0x2e76b58}, idx =
> 0, free = false},
>  request = 0x2adcba8, source = 0x0, depends = -1, annuled = false, inUse =
> true}
> (gdb) print &accessCompleted_
> Cannot access memory at address 0x1f8
>
>
>  Hello,
>>
>> I am trying to add my memory simulation in marss. What I did is to pass
>> the request to my memory simulation part in 
>> MemoryController::handle_**interconnect_cb()
>> and after the request is finished, the memory simulation will call
>> memoryHierarchy->add_event(&**accessCompleted_, 1, queueEntry);
>>
>> In my codes, I got a segmentation fault which confused me a long time.
>> Here is what I see:
>>
>> each time when memoryHierarchy->add_event(&**accessCompleted_, 1,
>> queueEntry) is called, there is segmentation fault.
>>
>> I use gdb to print *queueEntry and am sure queueEntry is fine. But when I
>> print &accessCompleted_, it says:
>> Cannot access memory at address 0x2a
>>
>> I went back to the constructor,  and print &accessCompleted_, it says:
>> (gdb) print &accessCompleted_
>> $3 = (superstl::Signal *) 0x2e66640
>>
>> So I am confused how the &accessCompleted_ changes? Could you please help
>> me out? I really appreciate.
>>
>> Thanks and regards,
>>
>> Kuniors
>>
>>
>
> ______________________________**_________________
> http://www.marss86.org
> Marss86-Devel mailing list
> [email protected].**edu <[email protected]>
> https://www.cs.binghamton.edu/**mailman/listinfo/marss86-devel<https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel>
>
_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel

Reply via email to