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

Reply via email to