Markus Osterried wrote:
> Hello Philippe,
> 
> sorry for the delay, I was on holiday a few days.
> 
>> PS: you may want to check whether forcing the task to secondary mode before 
>> calling t_delete(0) does not cause the issue to trigger again.
> 
> When forcing the task to secondary mode before returning from main function, 
> the issue is triggered.
> When forcing the task to primary mode before returning from main function, 
> there is no error.
> When using t_delete(0) there is no error, regardless of primary or secondary 
> mode.
>

Ok, that makes sense; this must be an issue with a termination process going
through to the standard exit syscall path. I will try to reproduce it. Thanks.

> 
> Markus
> 
> 
> 
> -----Original Message-----
> From: Philippe Gerum [mailto:[EMAIL PROTECTED] On Behalf Of Philippe Gerum
> Sent: Samstag, 8. März 2008 18:20
> To: Markus Osterried
> Cc: Xenomai-core@gna.org
> Subject: Re: [Xenomai-core] Error when exiting pSOS-task with return
> 
> Markus Osterried wrote:
>> Hello,
>>  
>> with Xenomai 2.4 on Linux 2.6.18 on PowerPC I have seen the following trace:
>>  
>> Feb 26 19:37:25 (none) user.err kernel: BUG: sleeping function called 
>> from invalid context at kernel/rwsem.c:20 Feb 26 19:37:25 (none) 
>> user.warn kernel: in_atomic():0, irqs_disabled():1 Feb 26 19:37:25 
>> (none) user.warn kernel: Call Trace:
>> Feb 26 19:37:25 (none) user.warn kernel: [C19BFE50] [C000C114]
>> show_stack+0x58/0x188 (unreliable)
>> Feb 26 19:37:25 (none) user.warn kernel: [C19BFEA0] [C00128B0] 
>> __might_sleep+0xdc/0xf0 Feb 26 19:37:25 (none) user.warn kernel: 
>> [C19BFEC0] [C0032304]
>> down_read+0x24/0x58
>> Feb 26 19:37:25 (none) user.warn kernel: [C19BFED0] [C00192C8] 
>> exit_mm+0x34/0xec Feb 26 19:37:25 (none) user.warn kernel: [C19BFEF0] 
>> [C001B000] do_exit+0x21c/0x98c Feb 26 19:37:25 (none) user.warn 
>> kernel: [C19BFF30] [C001B810]
>> complete_and_exit+0x0/0x28
>> Feb 26 19:37:25 (none) user.warn kernel: [C19BFF40] [C00041A0]
>> ret_from_syscall+0x0/0x38
>>  
>>  
>> This happens (sometimes) when a pSOS-task exits by returning from its 
>> main function.
>> I have changed the return statement into t_delete(0) and there was no 
>> error anymore, so this isn't a major issue.
>>  
>> But anyway I would like to know whether this is a xenomai bug or it 
>> isn't allowed to exit a pSOS-task by returning from main function.
>> I have seen at end of psos_task_trampoline that there is a
>> pthread_exit() instead of a t_delete().
>>
> 
> It is allowed to exit the task body directly. Another possibility is a bug in 
> old Adeos/ppc patch for 2.6.18, that would trigger when the nucleus has to 
> relax the exiting thread. Anyway, this issue is queued for investigation 
> here. Thanks.
> 
> PS: you may want to check whether forcing the task to secondary mode before 
> calling t_delete(0) does not cause the issue to trigger again.
> 
>> Thanks
>> Markus
>>  
>>
>>
>> ----------------------------------------------------------------------
>> --
>>
>> _______________________________________________
>> Xenomai-core mailing list
>> Xenomai-core@gna.org
>> https://mail.gna.org/listinfo/xenomai-core
> 
> 
> --
> Philippe.
> 


-- 
Philippe.

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to