Details | 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} |