Re: deadlock between commit and external event

From: Orion Fields (ofield..martserv.com)
Date: Fri Mar 25 2005 - 13:41:49 EST

  • Next message: chrisd: "Re: deadlock between commit and external event"

    No EventBridge. I've attached the debugger to the process.

    When something funky is happening in Cayenne, the program doesn't
    freeze. It can still listen to requests, however manipulating anything
    in the db doesn't occur. (Deadlock, I presume.)

    When the server hangs, I'll post where the deadlock is.

    Thanks for the remote debugger info. That should be a significant help
    in narrowing down the problem.

    Orion

    Mike Kienenberger wrote:

    >Orion Fields <ofield..martserv.com> wrote:
    >
    >
    >>Yes, I am experiencing the same problem, I believe.
    >>
    >>The program will run for a few days, and then cayenne refuses to do any
    >>database queries/updates. The program will still accept incoming
    >>
    >>
    >requests.
    >
    >
    >>I've been unable to get a trace of the deadlocked code on linux. I can
    >>use the kill -QUIT/-SIGQUIT while the program is not experiencing
    >>problems. As soon as it begins to have problems, I'm unable to use any
    >>TERM signals to get a trace. How do you start your program?
    >>
    >>I've got it registered w/chkconfig, and the program uses the following
    >>to start:
    >>
    >>java -Xms16m -Xmx192m com.smartserv.delivengine.SocketListener >>
    >>
    >>
    >${SERVER_B
    >
    >
    >>ASE}/${prog}.console 2>&1 & echo $! > ${PROC_ID}
    >>
    >>which basically redirects all output to a console file and the process
    >>id to a .pid file so I can test if the server is running.
    >>
    >>I've also tried stress testing to see if I could get the program to
    >>reproduce the problem w/out any success. I can run thousands of queries
    >>and it won't freeze... In production, it'll freeze after about 5/6 days
    >>and only 800-900 requests.
    >>
    >>
    >
    >
    >I'm not sure if this is the same situation. Do you have an EventBridge
    >installed? I suspect that this particular deadlock only occurs with with
    >an EventBridge.
    >
    >My app is running under Oracle Application Server Java 1.4.2 on linux.
    >
    >I now start it with
    >
    >-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=13131
    >
    >When I have a problem, I use "jdb -attach 13131" followed by
    >
    >suspend
    >where all
    >resume
    >
    >to generate a stack trace.
    >I haven't tried the SIGQUIT method Chris mentioned.
    >
    >Note that the program doesn't freeze with this bug ... it simply causes
    >threads requesting a new DataContext or sending events to deadlock.
    >
    >-Mike
    >
    >
    >



    This archive was generated by hypermail 2.0.0 : Fri Mar 25 2005 - 13:42:38 EST