Wednesday, July 28, 2010

How to read a stack trace

Longer stacks are generally longer running..

Use multiple stack traces to view "motion" over time.

(Native Method)
When java hands things off to C and allowing native system to handle things..
Example: java.net.SocietInputStream.socketRead0 (Native Method)
May say "runnable" but JVM doesn't really know, because its handed things off to the system to handle..

jrpp

Threads that start with this are all jrun worker threads.
EX: "jrpp-1234"

When jrun talks to the web server it uses jrpp.
Ex: jrun.servlet.jrpp.JRunProxyService.createRunnable or jrun.servlet.jrpp.JRunProxyService.accept (missed that part)


CfmServlet.service is the ColdFusion service

_factor indicates a decision point (like cfif, cfcase etc..)

macromedia.jdbc.base.BaseStatement = SQL Server JDBC driver

TDSRequest - Way to communicate with db. (Wire protocol for SQL Server)

99% of time when its the SQL Server, its because there's not a good index on the table, and a full table scan needs to be performed.

If we see a lot of coldfusion.runtime near the top of the stack, its probably that the CPU is busy, vs there being an I/O issue.

SeeFusion Demo:
http://demo.seefusion.net:8999/

You can look at sample stack traces from there..


Recognizing Stack Elements

Look for "runnable" threads to find busy processes..

Jrun.* - Jrun
Ignore: jrun.servliet.jrpp.ProxyEndpoint.readyFully
Suspect: jrun.servliet.jrpp.JrppOutputStream$SpillStream.write

Coldfusion.*
Functions: coldfusion.runtime.CfJspPage.*
Tags: coldfusion.sql.tagText.sql.QueryTag

Probably Innocent Java
java.util.*
java.lang.*

Suspicious Java
java.net.*
java.io.*

Your Code!
cfApplication2ecfm726408707.runPage(D:\Websites\blah.cfm\Application.cfm:577)


If the error contains 'bin' its very possible that its the JVM that's taken a dump.

More info will be posted tonight on http://www.darylb.net/

1 comment:

  1. Should have bailed on Promiscuous models and come to the stack trace one.

    ReplyDelete

Note: Only a member of this blog may post a comment.