It seems to be a bug (?) in the default scheduler when a task ends.

In fact, I have a task which is a NON-periodic task.
But when the task ends, I have few ugly lines printed on my screen :

<< The task ends and then ... >>

invalid operand: 0000
CPU:    0
EIP:    0010:[<00000007>]
EFLAGS: 00010202
eax: 00000000   ebx: 3738210b   ecx: 00000009   edx: 001c323c
esi: 00000000   edi: 03816d6c   ebp: 00000000   esp: 01199bc4
ds: 0018   es: 0018   fs: 002b   gs: 0018   ss: 0018
Process swapper (pid: 0, process nr: 0, stackpage=001bf494)
Stack: 00000018 03815118 00000000 00000000 00000000 00000000 00000000
00000000 
       00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 
       00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 
Call Trace: [<03815118>] 
Code: f0 c3 e2 00 f0 06 d1 00 f0 06 d1 00 f0 54 ff 00 f0 06 d1 00 
kfree of non-kmalloced memory: 001c14dc, next= 0013f010, order=0
kfree of non-kmalloced memory: 001c14cc, next= 0013f010, order=0
kfree of non-kmalloced memory: 001c19e0, next= 0013f010, order=0
idle task may not sleep
idle task may not sleep
idle task may not sleep
idle task may not sleep
idle task may not sleep

(This is by using kernel 2.0.36RTL1.1)

Then, removing the rtl_sched module is impossible and causes a
segmentation fault. (The scheduler is KO, the new tasks added by other
new modules after that will never be scheduled)

I've tried with kernel 2.2.9 and RTL beta3, nothing is printed on my
screen, but my computer crashes.

As I've seen in the code source of the scheduler, to run a task, the
rtl_startup function is called. This runs the function associated with
the task. At the end of it, the scheduler deletes the task, then a
comment line says " should never reach this line ".
Unfortunalty, an added printk shows that we *do* reach it.

So, is it a bug ?
Are non-periodic tasks forbidden ?
Or is it a way to properly end a task ?
Or a way to work around this problem ?

        Pierre PEIFFER
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/

Reply via email to