Coverity warning: sessiond: uncaught exception in main
[lttng-tools.git] / include / lttng / lttng-error.h
1 /*
2 * lttng-error.h
3 *
4 * Linux Trace Toolkit Control Library Error Header File
5 *
6 * The following values are all the possible errors the lttng command line
7 * client can quit with.
8 *
9 * Copyright (C) 2012 David Goulet <dgoulet@efficios.com>
10 *
11 * SPDX-License-Identifier: LGPL-2.1-only
12 *
13 */
14
15 #ifndef LTTNG_ERROR_H
16 #define LTTNG_ERROR_H
17
18 #include <lttng/lttng-export.h>
19
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23
24 enum lttng_error_code {
25 LTTNG_OK = 10, /* Ok */
26 LTTNG_ERR_UNK = 11, /* Unknown Error */
27 LTTNG_ERR_UND = 12, /* Undefined command */
28 LTTNG_ERR_SESSION_STARTED = 13, /* Session is running */
29 LTTNG_ERR_UNKNOWN_DOMAIN = 14, /* Tracing domain not known */
30 LTTNG_ERR_NOT_SUPPORTED = 15, /* Operation not supported */
31 LTTNG_ERR_NO_SESSION = 16, /* No session found */
32 LTTNG_ERR_CREATE_DIR_FAIL = 17, /* Create directory fail */
33 LTTNG_ERR_SESSION_FAIL = 18, /* Create session fail */
34 LTTNG_ERR_NO_SESSIOND = 19, /* No session daemon available */
35 LTTNG_ERR_SET_URL = 20, /* Error setting URL */
36 LTTNG_ERR_URL_EXIST = 21, /* URL already exists. */
37 LTTNG_ERR_BUFFER_NOT_SUPPORTED = 22, /* Buffer type not supported. */
38 LTTNG_ERR_SESS_NOT_FOUND = 23, /* Session by name not found */
39 LTTNG_ERR_BUFFER_TYPE_MISMATCH = 24, /* Buffer type mismatched. */
40 LTTNG_ERR_FATAL = 25, /* Fatal error */
41 LTTNG_ERR_NOMEM = 26, /* Not enough memory. */
42 LTTNG_ERR_SELECT_SESS = 27, /* Must select a session */
43 LTTNG_ERR_EXIST_SESS = 28, /* Session name already exist */
44 LTTNG_ERR_NO_EVENT = 29, /* No event found */
45 LTTNG_ERR_CONNECT_FAIL = 30, /* Unable to connect to unix socket */
46 LTTNG_ERR_SNAPSHOT_OUTPUT_EXIST = 31, /* Snapshot output already exists */
47 LTTNG_ERR_EPERM = 32, /* Permission denied */
48 LTTNG_ERR_KERN_NA = 33, /* Kernel tracer unavailable */
49 LTTNG_ERR_KERN_VERSION = 34, /* Kernel tracer not compatible */
50 LTTNG_ERR_KERN_EVENT_EXIST = 35, /* Kernel event already exists */
51 LTTNG_ERR_KERN_SESS_FAIL = 36, /* Kernel create session failed */
52 LTTNG_ERR_KERN_CHAN_EXIST = 37, /* Kernel channel already exists */
53 LTTNG_ERR_KERN_CHAN_FAIL = 38, /* Kernel create channel failed */
54 LTTNG_ERR_KERN_CHAN_NOT_FOUND = 39, /* Kernel channel not found */
55 LTTNG_ERR_KERN_CHAN_DISABLE_FAIL = 40, /* Kernel disable channel failed */
56 LTTNG_ERR_KERN_CHAN_ENABLE_FAIL = 41, /* Kernel enable channel failed */
57 LTTNG_ERR_KERN_CONTEXT_FAIL = 42, /* Kernel add context failed */
58 LTTNG_ERR_KERN_ENABLE_FAIL = 43, /* Kernel enable event failed */
59 LTTNG_ERR_KERN_DISABLE_FAIL = 44, /* Kernel disable event failed */
60 LTTNG_ERR_KERN_META_FAIL = 45, /* Kernel open metadata failed */
61 LTTNG_ERR_KERN_START_FAIL = 46, /* Kernel start trace failed */
62 LTTNG_ERR_KERN_STOP_FAIL = 47, /* Kernel stop trace failed */
63 LTTNG_ERR_KERN_CONSUMER_FAIL = 48, /* Kernel consumer start failed */
64 LTTNG_ERR_KERN_STREAM_FAIL = 49, /* Kernel create stream failed */
65 LTTNG_ERR_START_SESSION_ONCE = 50, /* Session needs to be started once. */
66 LTTNG_ERR_SNAPSHOT_FAIL = 51, /* Snapshot record failed. */
67 LTTNG_ERR_NO_STREAM = 52, /* Index without stream on relay. */
68 LTTNG_ERR_KERN_LIST_FAIL = 53, /* Kernel listing events failed */
69 LTTNG_ERR_UST_CALIBRATE_FAIL = 54, /* UST calibration failed */
70 LTTNG_ERR_UST_EVENT_ENABLED = 55, /* UST event already enabled. */
71 LTTNG_ERR_UST_SESS_FAIL = 56, /* UST create session failed */
72 LTTNG_ERR_UST_CHAN_EXIST = 57, /* UST channel already exist */
73 LTTNG_ERR_UST_CHAN_FAIL = 58, /* UST create channel failed */
74 LTTNG_ERR_UST_CHAN_NOT_FOUND = 59, /* UST channel not found */
75 LTTNG_ERR_UST_CHAN_DISABLE_FAIL = 60, /* UST disable channel failed */
76 LTTNG_ERR_UST_CHAN_ENABLE_FAIL = 61, /* UST enable channel failed */
77 LTTNG_ERR_CHAN_EXIST = 62, /* Channel already exists. */
78 LTTNG_ERR_UST_ENABLE_FAIL = 63, /* UST enable event failed */
79 LTTNG_ERR_UST_DISABLE_FAIL = 64, /* UST disable event failed */
80 LTTNG_ERR_UST_META_FAIL = 65, /* UST open metadata failed */
81 LTTNG_ERR_UST_START_FAIL = 66, /* UST start trace failed */
82 LTTNG_ERR_UST_STOP_FAIL = 67, /* UST stop trace failed */
83 LTTNG_ERR_UST_CONSUMER64_FAIL = 68, /* 64-bit UST consumer start failed */
84 LTTNG_ERR_UST_CONSUMER32_FAIL = 69, /* 32-bit UST consumer start failed */
85 LTTNG_ERR_UST_STREAM_FAIL = 70, /* UST create stream failed */
86 LTTNG_ERR_SNAPSHOT_NODATA = 71, /* No data in snapshot. */
87 LTTNG_ERR_NO_CHANNEL = 72, /* No channel found in the session. */
88 LTTNG_ERR_SESSION_INVALID_CHAR = 73, /* Invalid characters found in session name. */
89 LTTNG_ERR_UST_LIST_FAIL = 74, /* UST listing events failed */
90 LTTNG_ERR_UST_EVENT_EXIST = 75, /* UST event exist */
91 LTTNG_ERR_UST_EVENT_NOT_FOUND = 76, /* UST event not found */
92 LTTNG_ERR_UST_CONTEXT_EXIST = 77, /* UST context exist */
93 LTTNG_ERR_UST_CONTEXT_INVAL = 78, /* UST context invalid */
94 LTTNG_ERR_NEED_ROOT_SESSIOND = 79, /* root sessiond is needed */
95 LTTNG_ERR_TRACE_ALREADY_STARTED = 80, /* Tracing already started */
96 LTTNG_ERR_TRACE_ALREADY_STOPPED = 81, /* Tracing already stopped */
97 LTTNG_ERR_KERN_EVENT_ENOSYS = 82, /* Kernel event type not supported */
98 LTTNG_ERR_NEED_CHANNEL_NAME = 83, /* Non-default channel exists within session: channel name
99 needs to be specified with '-c name' */
100 LTTNG_ERR_NO_UST = 84, /* LTTng-UST tracer is not supported. Please rebuild lttng-tools with
101 lttng-ust support enabled. */
102 LTTNG_ERR_SAVE_FILE_EXIST = 85, /* Session file already exists. */
103 LTTNG_ERR_SAVE_IO_FAIL = 86, /* IO error while writing session configuration */
104 LTTNG_ERR_LOAD_INVALID_CONFIG = 87, /* Invalid session configuration */
105 LTTNG_ERR_LOAD_IO_FAIL = 88, /* IO error while reading a session configuration */
106 LTTNG_ERR_LOAD_SESSION_NOENT = 89, /* Session file not found */
107 LTTNG_ERR_MAX_SIZE_INVALID = 90, /* Snapshot max size is invalid. */
108 LTTNG_ERR_MI_OUTPUT_TYPE = 91, /* Invalid MI output format */
109 LTTNG_ERR_MI_IO_FAIL = 92, /* IO error while writing machine interface output */
110 LTTNG_ERR_MI_NOT_IMPLEMENTED = 93, /* Mi feature not implemented */
111 /* 94 */
112 /* 95 */
113 /* 96 */
114 LTTNG_ERR_INVALID = 97, /* Invalid parameter */
115 LTTNG_ERR_NO_USTCONSUMERD = 98, /* No UST consumer detected */
116 LTTNG_ERR_NO_KERNCONSUMERD = 99, /* No Kernel consumer detected */
117 LTTNG_ERR_EVENT_EXIST_LOGLEVEL = 100, /* Event enabled with different loglevel */
118 LTTNG_ERR_URL_DATA_MISS = 101, /* Missing network data URL */
119 LTTNG_ERR_URL_CTRL_MISS = 102, /* Missing network control URL */
120 LTTNG_ERR_ENABLE_CONSUMER_FAIL = 103, /* Enabling consumer failed */
121 LTTNG_ERR_RELAYD_CONNECT_FAIL = 104, /* lttng-relayd create session failed */
122 LTTNG_ERR_RELAYD_VERSION_FAIL = 105, /* lttng-relayd not compatible */
123 LTTNG_ERR_FILTER_INVAL = 106, /* Invalid filter bytecode */
124 LTTNG_ERR_FILTER_NOMEM = 107, /* Lack of memory for filter bytecode */
125 LTTNG_ERR_FILTER_EXIST = 108, /* Filter already exist */
126 LTTNG_ERR_NO_CONSUMER = 109, /* No consumer exist for the session */
127 LTTNG_ERR_EXCLUSION_INVAL = 110, /* Invalid event exclusion data */
128 LTTNG_ERR_EXCLUSION_NOMEM = 111, /* Lack of memory while processing event exclusions */
129 LTTNG_ERR_INVALID_EVENT_NAME = 112, /* Invalid event name */
130 LTTNG_ERR_INVALID_CHANNEL_NAME = 113, /* Invalid channel name */
131 LTTNG_ERR_PROCESS_ATTR_EXISTS = 114, /* Process attribute is already tracked */
132 LTTNG_ERR_PROCESS_ATTR_MISSING = 115, /* Process attribute was not tracked */
133 LTTNG_ERR_INVALID_CHANNEL_DOMAIN = 116, /* Invalid channel domain */
134 LTTNG_ERR_OVERFLOW = 117, /* Overflow occurred. */
135 LTTNG_ERR_SESSION_NOT_STARTED = 118, /* Session not started */
136 LTTNG_ERR_LIVE_SESSION = 119, /* Live session unsupported */
137 LTTNG_ERR_PER_PID_SESSION = 120, /* Per-PID sessions unsupported */
138 LTTNG_ERR_KERN_CONTEXT_UNAVAILABLE = 121, /* Context unavailable on this kernel */
139 LTTNG_ERR_REGEN_STATEDUMP_FAIL = 122, /* Failed to regenerate the state dump */
140 LTTNG_ERR_REGEN_STATEDUMP_NOMEM = 123, /* Failed to regenerate the state dump, not enough
141 memory */
142 LTTNG_ERR_NOT_SNAPSHOT_SESSION = 124, /* Session is not in snapshot mode. */
143 LTTNG_ERR_INVALID_TRIGGER = 125, /* Invalid trigger provided. */
144 LTTNG_ERR_TRIGGER_EXISTS = 126, /* Trigger already registered. */
145 LTTNG_ERR_TRIGGER_NOT_FOUND = 127, /* Trigger not found. */
146 LTTNG_ERR_COMMAND_CANCELLED = 128, /* Command cancelled. */
147 LTTNG_ERR_ROTATION_PENDING = 129, /* Rotation already pending for this session. */
148 LTTNG_ERR_ROTATION_NOT_AVAILABLE = 130, /* Rotate feature not available for this type of
149 session (e.g: live) */
150 LTTNG_ERR_ROTATION_SCHEDULE_SET = 131, /* Schedule type already set for this session. */
151 LTTNG_ERR_ROTATION_SCHEDULE_NOT_SET = 132, /* No schedule of this type set for this session.
152 */
153 LTTNG_ERR_ROTATION_MULTIPLE_AFTER_STOP = 133, /* Already rotated once after a stop. */
154 LTTNG_ERR_ROTATION_WRONG_VERSION = 134, /* Session rotation not supported by this kernel
155 tracer version */
156 LTTNG_ERR_NO_SESSION_OUTPUT = 135, /* Session has no output configured. */
157 LTTNG_ERR_ROTATION_NOT_AVAILABLE_RELAY = 136, /* Rotate feature not available on the relay.
158 */
159 LTTNG_ERR_AGENT_TRACING_DISABLED = 137, /* Agent tracing disabled. */
160 LTTNG_ERR_PROBE_LOCATION_INVAL = 138, /* Invalid userspace probe location. */
161 LTTNG_ERR_ELF_PARSING = 139, /* ELF parsing error. */
162 LTTNG_ERR_SDT_PROBE_SEMAPHORE = 140, /* SDT probe guarded by a semaphore. */
163 LTTNG_ERR_ROTATION_FAIL_CONSUMER = 141, /* Rotation failure on consumer */
164 LTTNG_ERR_ROTATE_RENAME_FAIL_CONSUMER = 142, /* Rotation rename failure on consumer */
165 LTTNG_ERR_ROTATION_PENDING_LOCAL_FAIL_CONSUMER = 143, /* Rotation pending check (local)
166 failure on consumer */
167 LTTNG_ERR_ROTATION_PENDING_RELAY_FAIL_CONSUMER = 144, /* Rotation pending check (relay)
168 failure on consumer */
169 LTTNG_ERR_MKDIR_FAIL_CONSUMER = 145, /* mkdir failure on consumer */
170 LTTNG_ERR_CHAN_NOT_FOUND = 146, /* Channel not found */
171 LTTNG_ERR_SNAPSHOT_UNSUPPORTED = 147, /* Session configuration does not allow the use of
172 snapshots */
173 LTTNG_ERR_SESSION_NOT_EXIST = 148, /* The session does not exist on the session daemon */
174 LTTNG_ERR_CREATE_TRACE_CHUNK_FAIL_CONSUMER = 149, /* trace chunk creation failure on
175 consumer */
176 LTTNG_ERR_CLOSE_TRACE_CHUNK_FAIL_CONSUMER = 150, /* trace chunk close failure on consumer */
177 LTTNG_ERR_TRACE_CHUNK_EXISTS_FAIL_CONSUMER = 151, /* failed to query consumer for trace
178 chunk existence */
179 LTTNG_ERR_INVALID_PROTOCOL = 152, /* a protocol error occurred */
180 LTTNG_ERR_FILE_CREATION_ERROR = 153, /* failed to create a file */
181 LTTNG_ERR_TIMER_STOP_ERROR = 154, /* failed to stop timer. */
182 LTTNG_ERR_ROTATION_NOT_AVAILABLE_KERNEL = 155, /* Rotation feature not supported by the
183 kernel tracer. */
184 LTTNG_ERR_CLEAR_RELAY_DISALLOWED = 156, /* LTTng-relayd peer does not allow lttng clear
185 command. */
186 LTTNG_ERR_CLEAR_NOT_AVAILABLE_RELAY = 157, /* Clearing a session is not supported by the
187 relay daemon. */
188 LTTNG_ERR_CLEAR_FAIL_CONSUMER = 158, /* Clear failure on consumer */
189 LTTNG_ERR_ROTATION_AFTER_STOP_CLEAR = 159, /* Session was already cleared since it became
190 inactive. */
191 LTTNG_ERR_USER_NOT_FOUND = 160, /* User not found. */
192 LTTNG_ERR_GROUP_NOT_FOUND = 161, /* Group not found. */
193 LTTNG_ERR_UNSUPPORTED_DOMAIN = 162, /* Unsupported domain used. */
194 LTTNG_ERR_PROCESS_ATTR_TRACKER_INVALID_TRACKING_POLICY = 163, /* Operation does not apply to
195 the process attribute
196 tracker's tracking policy
197 */
198 LTTNG_ERR_EVENT_NOTIFIER_GROUP_NOTIFICATION_FD = 164, /* Error initializing event notifier
199 group notification file descriptor
200 */
201 LTTNG_ERR_INVALID_CAPTURE_EXPRESSION = 165, /* Invalid capture expression. */
202 LTTNG_ERR_EVENT_NOTIFIER_REGISTRATION = 166, /* Error registering event notifier to the
203 tracer. */
204 LTTNG_ERR_EVENT_NOTIFIER_ERROR_ACCOUNTING = 167, /* Error initializing event notifier error
205 accounting. */
206 LTTNG_ERR_EVENT_NOTIFIER_ERROR_ACCOUNTING_FULL = 168, /* Error event notifier error
207 accounting full. */
208 LTTNG_ERR_INVALID_ERROR_QUERY_TARGET = 169, /* Invalid error query target. */
209 LTTNG_ERR_BUFFER_FLUSH_FAILED = 170, /* Buffer flush failed */
210
211 /* MUST be last element of the manually-assigned section of the enum */
212 LTTNG_ERR_NR,
213
214 /* Backward-compatibility assignments */
215 LTTNG_ERR_PID_TRACKED = LTTNG_ERR_PROCESS_ATTR_EXISTS, /* Backward compat alias */
216 LTTNG_ERR_PID_NOT_TRACKED = LTTNG_ERR_PROCESS_ATTR_MISSING, /* Backward compat alias */
217 };
218
219 /*
220 * Return a human-readable error message for a LTTng error code.
221 *
222 * Parameter MUST be a negative value or else you'll get a generic message.
223 */
224 LTTNG_EXPORT extern const char *lttng_strerror(int code);
225
226 #ifdef __cplusplus
227 }
228 #endif
229
230 #endif /* LTTNG_ERROR_H */
This page took 0.049033 seconds and 4 git commands to generate.