On 04.08.2011 21:52 CE(S)T, Yves Goergen wrote:
> But many times (I couldn't find the scheme but it is reproducible) when
> a process ends normally, I get the message "Terminated" (in German:
> "Abgebrochen", I hope the English name is correct) in my terminal
> window. No more messages, just that one word.

Sorry, I think the correct message is "Aborted". I've run it through
strace and in the very end, it prints this:

(...)
> close(0)                                = 0
> close(1)                                = 0
> close(2)                                = 0
> fstat(1, 0x7fff75a4ba00)                = -1 EBADF (Bad file descriptor)
> mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
> 0x7f19d9864000
> write(1, "* Assertion at error.c:70, condi"..., 57) = -1 EBADF (Bad file 
> descriptor)
> rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
> tgkill(18814, 18814, SIGABRT)           = 0
> --- SIGABRT (Aborted) @ 0 (0) ---
> +++ killed by SIGABRT +++
> Abgebrochen

It closes stdout, then detects an unmet assertion that it wants to print
to stdout but that fails. Then the ABRT signal is unblocked (whatever
that means) and finally mono seems to abort itself.

Is that normal? It only happens with some programmes and only if they do
certain things.

This is what an un-aborted end looks like:

(...)
> brk(0x267e000)                          = 0x267e000
> unlink("/dev/shm/mono.19532")           = 0
> exit_group(0)                           = ?

(no close(0/1/2) here)

-- 
Yves Goergen "LonelyPixel" <[email protected]>
Visit my web laboratory at http://beta.unclassified.de
_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to