Subversion Repositories shark

Rev

Rev 1676 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1676 tullio 1
%----------------------------------------------------------------------------
2
\chapter{Errors and Exceptions}
3
\label{ch:Errors} \label{ch:Exceptions}
4
%----------------------------------------------------------------------------
5
 
6
This appendix describes the errors and exceptions codes that can be
7
printed into the screen, returned by a functions into the the \texttt{errno}
8
variables or that the kernel can raise. These error constants are
9
included from the \texttt{errno.h} standard include file, and are
10
contained into the \texttt{bits/errno.h} include file.
11
 
12
%----------------------------------------------------------------------------
13
\section{Abort codes}
14
%----------------------------------------------------------------------------
15
 
16
\begin{longtable}{|c|c|c|}
17
\hline Name & N.& Description \\ \hline
18
\hline none & 1 & Generic OSLib abortASIG\_DEFAULT\_ACTION \\
19
\hline ASIG\_DEFAULT\_ACTION & 2& The default handler of a signal has been executed \\
20
\hline ASIGINIT & 3 & Internal error in initializing signals (should never happens) \\
21
\hline AHEXC & 4 & a set\_exchandler\_XXX function has been executed. \\
22
\hline AARPFULL & 5 & ARP table full. \\
23
\hline
24
\end{longtable}
25
 
26
%----------------------------------------------------------------------------
27
\section{Exceptions posted with kern\_raise}
28
%----------------------------------------------------------------------------
29
 
30
\begin{longtable}{|l|c|p{8cm}|}
31
\hline Name & N. & Description \\ \hline
32
\hline XDOUBLE\_EXCEPTION & 1 & Two exceptions has been raised. Currently not used \\
33
\hline XUNVALID\_KILL\_SHADOW & 2 & Called into the internal function task\_makefree because a task was killed while some other task shadow points to that task. \\
34
\hline XNOMORE\_CLEANUPS & 3 & Too many cleanups handlers has been used. Currently not used. \\
35
\hline XUNVALID\_TASK & 4 & The Registered Modules does not implement a primitive called by the task (usually happens when the user calls task\_delay or task\_sleep) \\
36
\hline XUNVALID\_GUEST & 5 & The Registered Modules does not handle correctly the guest tasks. Check the initfile. \\
37
\hline XNOMORE\_EVENTS & 6 & Too many OSLib events posted. The number of OSLib events posted is declared in \texttt{include/ll/sys/ll/event.h} into the constant \texttt{MAX\_EVENT}.\\
38
\hline XDEADLINE\_MISS & 7 & A Task missed its deadline.\\
39
\hline XWCET\_VIOLATION & 8 & A Task consumed more tha its declared WCET.\\
40
\hline XACTIVATION & 9 & A Sporadic task has been activated more frequently than declared.\\
41
\hline XMUTEX\_OWNER\_KILLED & 10 & A task is terminated while it owns a mutex.\\
42
\hline XSRP\_UNVALID\_LOCK & 11 & A task tried to lock a SRP mutex with a wrong preemption level, or a task tries to lock a SRP mutex already locked, or a task tries to lock a SRP mutex without declaring its preemption level.\\
43
\hline XUNVALID\_DUMMY\_OP & 12 & Someone tried to execute an operation on the dummy Scheduling Module.\\
44
\hline XUNVALID\_SS\_REPLENISH & 13 & Error in the Sporadic Server replenishments. Please look at \texttt{kernel/modules/ss.c}.\\
45
\hline XARP\_TABLE\_FULL & 14 & Arp table full. See \texttt{drivers/net/arp.c}.\\
46
\hline XNETBUFF\_INIT\_EXC & 15 & Network buffers error. See \texttt{drivers/net/netbuff.}.\\
47
\hline XNETBUFF\_GET\_EXC & 16 & Network buffers error. See \texttt{drivers/net/netbuff.}. \\
48
\hline XNETBUFF\_ALREADYFREE\_EXC & 17 & Network buffers error. See \texttt{drivers/net/netbuff.}. \\
49
\hline XNETBUFF\_RELEASE\_EXC & 18 & Network buffers error. See \texttt{drivers/net/netbuff.}. \\
50
\hline XUDP\_BADCHK\_EXC & 19 & UDP CRC check failed. \\
51
\hline
52
\end{longtable}
53
 
54
%----------------------------------------------------------------------------
55
\section{POSIX error codes}
56
%----------------------------------------------------------------------------
57
 
58
The POSIX error codes have numbers form 1 to 125 and are listed into
59
\texttt{include/errno.h}.
60
 
61
%----------------------------------------------------------------------------
62
\section{S.Ha.R.K. error codes}
63
%----------------------------------------------------------------------------
64
 
65
\begin{longtable}{|c|c|p{8cm}|}
66
\hline Name & N. & Description\\ \hline
67
\hline EWRONG\_INT\_NO & 126 & Wrong int number passed to handler-set or handler\_remove.\\
68
\hline EUSED\_INT\_NO & 127 & Already used int number.\\
69
\hline EUNUSED\_INT\_NO & 128 & Int number not used.\\
70
\hline ETOOMUCH\_INITFUNC & 129 & Too much init functions posted. (Currently not used)\\
71
\hline ETOOMUCH\_EXITFUNC & 130 & Too much exit functions posted.\\
72
\hline ENO\_AVAIL\_TASK & 131 & Task limit reached. Up to TSSMax-1 tasks can be created. See include/ll/i386/tss-ctx.h and include/kernel/const.h\\
73
\hline ENO\_AVAIL\_SCHEDLEVEL & 132 & The Task Model passed with task\_create cannot be accepted by any scheduling module.\\
74
\hline ETASK\_CREATE & 133 & Error during task\_create.\\
75
\hline ENO\_AVAIL\_RESLEVEL & 134 & A Resource Model passed with task\_create cannot be accepted by any resource module.\\
76
\hline ENO\_GUARANTEE & 135 & The new task cannot be accepted by the Scheduling Modules\\
77
\hline ENO\_AVAIL\_STACK\_MEM & 136 & No space left to allocate the task stack.\\
78
\hline ENO\_AVAIL\_TSS & 137 & No TSS free. This error should never happen.\\
79
\hline EUNVALID\_KILL & 138 & The PID you tried to kill is not a task or has the NO\_KILL flag set.\\
80
\hline EUNVALID\_TASK\_ID & 139 & The PID passed to task\_activate is not correct.\\
81
\hline EUNVALID\_GROUP & 140 & Group 0 is not a valid group.\\
82
\hline EPORT\_NO\_MORE\_DESCR & 141 & HARTPORT: No more port descriptors available.\\
83
\hline EPORT\_NO\_MORE\_INTERF & 142 & HARTPORT: No more free port interfaces.\\
84
\hline EPORT\_INCOMPAT\_MESSAGE & 143 & HARTPORT: Incompatible message (Write on a read port or viceversa)\\
85
\hline EPORT\_ALREADY\_OPEN & 144 & HARTPORT: The port is already open.\\
86
\hline EPORT\_NO\_MORE\_HASHENTRY & 145 & HARTPORT: No more Hash entries to create a port.\\
87
\hline EPORT\_2\_CONNECT & 146 & HARTPORT: Error creating the port.\\
88
\hline EPORT\_UNSUPPORTED\_ACC & 147 & HARTPORT: Error in port\_connect.\\
89
\hline EPORT\_WRONG\_OP & 148 & HARTPORT: Wrong operation.\\
90
\hline EPORT\_WRONG\_TYPE & 149 & HARTPORT: Operation not supported by the port type.\\
91
\hline EPORT\_UNVALID\_DESCR & 150 & HARTPORT: Invalid port descriptor.\\
92
\hline ECAB\_UNVALID\_ID & 151 & CABS: Invalid CAB ID.\\
93
\hline ECAB\_CLOSED & 152 & CABS: CAB Closed.\\
94
\hline ECAB\_UNVALID\_MSG\_NUM & 153 & CABS: Invalid Message number.\\
95
\hline ECAB\_NO\_MORE\_ENTRY & 154 & CABS: No more entries.\\
96
\hline ECAB\_TOO\_MUCH\_MSG & 155 & CABS: Too much messages.\\
97
\hline
98
\end{longtable}