locked thread - how to investigate?



I need to troubleshoot an application which is tying up one of the 8
cpu's due to one of the threads being locked up. Over time more of
the threads are being consumed which causes more consumption of the
cpu's. We have run gcore/pstack and validated that the locked threads
are ending up in the same state, but I'm kinda at my ropes end on
where to go now... Is there any way to get more insight as to what
an individual thread is doing (in normal operation) before it gets
into a fouled up state?

In case you were wondering the application is siteminder 6.x running
on solaris 9. The logs don't seems to give any indication as to why
its entering the hung state.
.