[lttng-dev] 回复:回复: 回复: some tracepoints not exist in metadata?

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Thu Jul 2 10:03:10 EDT 2020


----- On Jul 2, 2020, at 8:45 AM, Jonathan Rajotte jonathan.rajotte-julien at efficios.com wrote:

> On Thu, Jul 02, 2020 at 08:38:57AM +0800, zhenyu.ren via lttng-dev wrote:
>> Thanks a lot. I will try single quotes but it may take hours get the result.
>> Yesterday, I enabled the verbose option ,and found the following message "UST
>> app reply event failed. Application died (in add_event_ust_registry() at
>> ust-app.c:5405)" and "UST app notify socket unregister 34 (in
>> ust_app_notify_sock_unregister() at ust-app.c:5562)". In fact ,the socket that
>> Lttng-sessiond send reply to my app return an error with EPIPE. It seems that
>> the pipe breaked.So do you have any hint for that?
> 
> From lttng master:
>    ret = ustctl_reply_register_event(sock, event_id, ret_code);
>    if (ret < 0) {
>    	if (ret != -EPIPE && ret != -LTTNG_UST_ERR_EXITING) {
>    		ERR("UST app reply event failed with ret %d", ret);
>    	} else {
>    		DBG3("UST app reply event failed. Application died");
>    	}
>    	/*
>    	 * No need to wipe the create event since the application socket will
>    	 * get close on error hence cleaning up everything by itself.
>    	 */
>    	goto error;
>    }
> 
> EPIPE ifor this socket is considered as an expected scenario.
> 
> This normally indicates a short-lived application or that your application
> crashed while lttng-ust and lttng-tools were performing an event registration.
> Considering that the path leading to the ustctl_reply_register_event call is
> preceded by a call fetching information from the same socket
> (ustctl_recv_register_event), I expect this to be a completely normal scenario
> unless you provide evidence that this application under tracing was acting
> normally and had a long lifetime.

In addition, one thing to consider is that if the application is a daemon
process closing all file descriptors, using fork, clone or daemon, then
helper libraries need to be preloaded with the daemon following instructions
in the man-page lttng-ust(3) under section "Using LTTng-UST with daemons".

Failure to preload those libraries in daemons would trigger the observed
scenario: the application hangs up the UST communication socket
and never reconnects.

Thanks,

Mathieu


-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com


More information about the lttng-dev mailing list