Silent failures on develop

23 views
Skip to first unread message

Jaley

unread,
May 15, 2013, 5:34:29 AM5/15/13
to palle...@googlegroups.com
Hey,

We've had a few discussions about this in IRC, but thought I'd post an update on some investigations I did earlier in case it helps anyone.

I've seen a few problems lately where exceptions being thrown in plan functions are being caught and silently swallowed, making it difficult to debug problems. Here's an example of what it looks like in logging:


17:27:12.026 [operate-13] DEBUG pallet.crate.app-deploy - deploy :sautee : {:local-file "target/Sautee-0.3.0-SNAPSHOT-standalone.jar", :project-path "target/Sautee-%s-standalone.jar", :path "/opt/sautee.jar"} to /opt/sautee.jar
17:27:12.030 [operate-11] DEBUG pallet.algo.fsm.event-machine - Locking transition
17:27:12.031 [operate-11] DEBUG pallet.algo.fsm.event-machine - :dofsm-reduce* - in state :running fire :step-fail
17:27:12.032 [operate-11] DEBUG pallet.algo.fsmop - seq-running
17:27:12.032 [operate-11] DEBUG pallet.algo.fsm.event-machine - Locking transition
17:27:12.033 [operate-11] DEBUG pallet.algo.fsm.event-machine - :dofsm-reduce* - in state :step-failed fire :fail

So you can see the step failed, but no clues as to what happened.

I hooked up YourKit and tracked Exceptions to figure out what was going on. It's fairly straight-forward to guess which Exception instance is relevant, as there'll be relatively few instances of ExceptionInfo (or whatever Exception class is thrown), and even fewer from the "operate-n" thread running the action.

In this case, I found an exception coming from "verify-local-file-exists" in remote-file, so guessed that my jar file wasn't actually there (d'oh!). 

I suspect this commit might be relevant?

Hopefully this is helpful to somebody :)

Jaley.

Hugo Duncan

unread,
May 15, 2013, 8:59:44 AM5/15/13
to palle...@googlegroups.com


Jaley <james...@gmail.com> writes:

> I've seen a few problems lately where exceptions being thrown in plan
> functions are being caught and silently swallowed, making it difficult to
> debug problems.


> I hooked up YourKit and tracked Exceptions to figure out what was
> going on. It's fairly straight-forward to guess which Exception
> instance is relevant, as there'll be relatively few instances of
> ExceptionInfo (or whatever Exception class is thrown), and even fewer
> from the "operate-n" thread running the action.
>
> In this case, I found an exception coming from "verify-local-file-exists" in remote-file, so guessed that my jar file wasn't actually there (d'oh!).

Thanks for investigating. Did YourKit give you a stack trace on the
throw location for this?

Hugo

James Aley

unread,
May 15, 2013, 9:06:23 AM5/15/13
to palle...@googlegroups.com
It gave me a stacktrace for the error in my code - but no clues as to where that exception was being caught and discarded.



--
You received this message because you are subscribed to a topic in the Google Groups "pallet" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/pallet-clj/YyViCReejIE/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to pallet-clj+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



Reply all
Reply to author
Forward
0 new messages