_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions
_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions
I saw a similar behavior but with rex process (rpc server) having a very long queue. For your case i wonder what's loading the user_drv process, but as you mentioned the crash dump was truncated.Do you see in the crash dump anything about net_kernel process?
On Fri, Oct 28, 2011 at 1:41 PM, Kirill Zaborsky <qri...@gmail.com> wrote:It's a server to collect information from GPS trackers (sent by SMS or HTTP/GPRS), uses Yaws to get information by HTTP. Processed information goes to PostgreSQL (epgsql is used). Then this info could be shown with qooxdoo/mapserver, webinterface backend is done with mochiweb.There is no custom NIFs of C nodes so I'm not sure how could this application hang Erlang emulator.On other Erlang system done by our company we have experienced similar behaviour when user was connected to the server shell (using ndetool's attach command i.e. to_erl program) and then ssh session was broken, Long message queue for user_drv may be connected to something like that. The problem is that for the system I'm trying to get a diagnose there was no any shell/console connected. So It's unclear what could trigger such problem.
> Trying to fins any workaround to this "stuck node" scenario I've upgraded
> to R14B04 and turned on "heart".
> But recently the node once again stopped responding. And heart did not
> assume it to be stuck although I could not contact it.
> I've tried to to get a crashdump with 'kill -USR1' but it appeared that
> once again crash dump was truncated. Does heart kills "dead" erlang node?
> And the only thing that could be seen from the crash dump that the only
> running process was user_drv (just like in previous times) with program
> counter equal to "user_drv:server_loop/5 + 48". Is it possible to find
> out
> what exactly does it stands for?
Waiting on receive in that function. And you are observing this on a
32-bit VM.
--
WBR,
DN
To get instructions dump named "user_drv.dis" in the beam process working
directory you can do
erts_debug:df(user_drv).
Happy bug-hunting.
On Mon, 28 Nov 2011 12:01:17 +0200, Kirill Zaborsky <qri...@gmail.com>
wrote:
> +48 does not point to an instruction start on a couple of 32-bit systems
Sorry, typo: on 64-bit VMs.
On 32-bit it does point to an instruction start.
_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions
Well, if you try dbg:ltp() you will see all your saved match specs
along with the "predefined" match specs, and this is actually
documented in dbg.
And, the predefined match specs will most probably not be removed
nor changed. Not without very good reason.
So it is not cheating.
In a recent system you will also find predefined match specs
with the short abbreviations 'c' and 'cx'. Have a look.
> >> @spawn_think <http://twitter.com/#!/spawn_think>
> >>
> >>
> >
>
>
> --
> Best Regards,
> - Ahmed Omar
> http://nl.linkedin.com/in/adiaa
> Follow me on twitter
> @spawn_think <http://twitter.com/#!/spawn_think>
> _______________________________________________
> erlang-questions mailing list
> erlang-q...@erlang.org
> http://erlang.org/mailman/listinfo/erlang-questions
--
/ Raimo Niskanen, Erlang/OTP, Ericsson AB