Hi Frank,

CR 6226326 has been put back to s10u3 also. It doesnt display the 
parameters. My understanding is it essentially makes ::findstack work on 
an AMD64 core.

The blog is a good pointer to find the parameters, but I would be more 
happy if mdb could displaythe parametes like it does for sparc cores. 
Makes a debuggers life much easier :)

Thanks,
Tirthankar



Frank Hofmann wrote:

> On Sun, 8 Jul 2007, Tirthankar wrote:
>
>> Hi,
>>
>> I am trying to debug a core from a AMD64 machine running S10u3.
>>
>> MDB is unable to show any parameters in the stack backtrace
>
>
> Yes, stacktraces with arguments shown were only integrated in 
> onnv/OpenSolaris via:
>
> 6226326 Need to improve stack tracing on x86
>
> This works via compiler support - onnv/OpenSolaris is compiled in such 
> a way that the generated assembly code stores function arguments on 
> the stack as well as in the (ABI-mandated) registers. This way, mdb 
> can show function arguments in stacktraces.
>
> Solaris 10 doesn't do that. You'll need to do a manual heuristic. ACT 
> is able to perform some of this work but it's not perfect. The whole 
> shebang of how argument passing on AMD64 works and which heuristics 
> are needed so that arguments can be reconstructed from the code flow 
> is explained in:
>
> http://opensolaris.org/os/community/documentation/doc_index/dev/
>
> See "Crashdump Analysis". The file is:
>
> http://opensolaris.org/os/community/documentation/files/book.pdf
>
> FrankH.
>
>>
>> cfa100 @ /net/coresvr/export/cores1/6570886plipstick1 $ mdb 5
>> mdb: warning: dump is from SunOS 5.10 Generic_125101-07; dcmds and
>> macros may not match kernel implementation
>> Loading modules: [ unix krtld genunix dtrace specfs cpu.AuthenticAMD.15
>> uppc pcplusmp ufs ipc ip sctp usba uhci s1394 fcp fctl emlxs qlc nca md
>> lofs crypto zfs random cpc fcip logindmux ptm sppp ]
>> >
>> > ::status
>> debugging crash dump vmcore.5 (64-bit) from plipstick1
>> operating system: 5.10 Generic_125101-07 (i86pc)
>> panic message: BAD TRAP: type=d (#gp General protection)
>> rp=fffffe8002012b80 addr=80a8000
>> dump content: kernel pages only
>> > $c
>> __1cG_SListJfind_elem6Mpvppn0AIListElem__3_+0x45()
>> __1cSservice_admin_implN_unreferenced6Mpv_v_+0x3c()
>> __1cPreplica_handlerNunref_by_ckpt6M_v_+0x172()
>> __1cGhxdoorNunref_by_ckpt6M_v_+0x182()
>> __1cOhxdoor_managerPrelease_by_ckpt6MrnJhxdoor_id__v_+0x116()
>> __1cTckpt_handler_serverHprocess6MrnHservice__v_+0x2cb()
>> __1cJckpt_elemHexecute6M_v_+0x4d()
>> __1cTthreadpool_worker_tVdeferred_task_handler6M_v_+0x184()
>> __1cKthreadpoolOthread_handler6FpnTthreadpool_worker_t__v_+0x25()
>> cllwpwrapper+0x106()
>> thread_start+8()
>> >
>>
>> This is a serious limitation. I finally used ACT to see the parameters
>> but it also was not showing proper parameters all the time.
>>
>> Is this a known issue ?
>> Is there any other way to see the parameters ?
>>
>> -- 
>> Thanks,
>> Tirthankar
>>
>> _______________________________________________
>> mdb-discuss mailing list
>> mdb-discuss at opensolaris.org
>>

Reply via email to