I'm trying to debug what I think is a stack smash on amd64 with a character driver I've ported from i86pc. I have one panic which is totally useless (PC is garbage, mdb can do no stack trace at all), and another where the stack looks like this:
> $C fffffe800095cdb0 mutex_enter+0xb() fffffe800095cdc0 cdev_ioctl+0x1d() fffffe800095cde0 spec_ioctl+0x50() fffffe800095cdf0 fop_ioctl+0xb() fffffe800095ced0 ioctl+0xac() fffffe800095cf20 sys_syscall32+0xd9() If I could get the ioctl args, I could narrow down the codepath where the stack smash is happening. According to http://blogs.sun.com/roller/page/chrisg/20041123#amd64_arguements, there is a dcmd called "act_thread" which can print arguments. But I don't seem to have it available on my Solaris 10 GA box: > *panic_thread::act_thread mdb: invalid command '::act_thread': unknown dcmd name > ::help act_thread mdb: unknown command: act_thread The block linked to (http://blogs.sun.com/roller/page/eschrock?entry=debugging_on_amd64_part_two) has a link to the act tool (http://cpre-emea.uk/tools/act.html), but the host mentioned in that link does not exist. Does anybody know where/how to get an mdb with the act_thread dcmd? I apologize in advance if this is a dumb question -- I'm pretty new to Solaris & debugging with mdb. Thanks, Drew