* [Xenomai] Fw:some API about RT_TASK occur Segmentation fault
@ 2017-02-06 1:30 dreamtale90
2017-02-06 13:50 ` Philippe Gerum
0 siblings, 1 reply; 6+ messages in thread
From: dreamtale90 @ 2017-02-06 1:30 UTC (permalink / raw)
To: xenomai, rpm
System configuration:
debian-8.6, 3.18.46-rt50
Xenomai/mercury v3.0.3
Build args: --with-core=mercury --enable-smp --enable-pshared
Now I am need help. Thanks.
-------- Forwarding messages --------
From: "dreamtale90@163.com" <dreamtale90@163.com>
Date: 2017-02-04 12:04:15
To: xenomai@xenomai.org
Subject: some API about RT_TASK occur Segmentation fault
Hi
During using API about RT_TASK I found some doubt.
1) rt_task_inquire(RT_TASK * task, RT_TASK_INFO * info ), if info is NULL will occur Segmentation fault, but in API reference this is valid.
http://www.xenomai.org/documentation/xenomai-3/html/xeno3prm/group__alchemy__task.html#ga53bad6acf5496f8008e594954507dce8
2) After main task called rt_task_shadow(), program will create other tasks depend on request, but when create second task will occur Segmentation fault.
Now main task don't call rt_task_shadow(), program will OK. I don't know why.
3) I write a demo which create the same task three times as follows:
#include <stdio.h>
#include <unistd.h>
#include <alchemy/task.h>
RT_TASK task1;
void func(void *arg)
{
printf("enter func ...\n");
}
int main()
{
rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
sleep(1);
rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
sleep(1);
rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
//rt_task_delete(&task1);
return 0;
}
When the third time create , program will occur Segmentation fault.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Xenomai] Fw:some API about RT_TASK occur Segmentation fault
2017-02-06 1:30 [Xenomai] Fw:some API about RT_TASK occur Segmentation fault dreamtale90
@ 2017-02-06 13:50 ` Philippe Gerum
2017-02-07 6:18 ` dreamtale90
0 siblings, 1 reply; 6+ messages in thread
From: Philippe Gerum @ 2017-02-06 13:50 UTC (permalink / raw)
To: dreamtale90, xenomai
On 02/06/2017 02:30 AM, dreamtale90@163.com wrote:
> System configuration:
> debian-8.6, 3.18.46-rt50
> Xenomai/mercury v3.0.3
> Build args: --with-core=mercury --enable-smp --enable-pshared
>
> Now I am need help. Thanks.
>
>
> -------- Forwarding messages --------
> From: "dreamtale90@163.com" <dreamtale90@163.com>
> Date: 2017-02-04 12:04:15
> To: xenomai@xenomai.org
> Subject: some API about RT_TASK occur Segmentation fault
> Hi
> During using API about RT_TASK I found some doubt.
> 1) rt_task_inquire(RT_TASK * task, RT_TASK_INFO * info ), if info is
> NULL will occur Segmentation fault, but in API reference this is valid.
> http://www.xenomai.org/documentation/xenomai-3/html/xeno3prm/group__alchemy__task.html#ga53bad6acf5496f8008e594954507dce8
>
> 2) After main task called rt_task_shadow(), program will create other
> tasks depend on request, but when create second task will occur
> Segmentation fault.
> Now main task don't call rt_task_shadow(), program will OK. I don't
> know why.
>
> 3) I write a demo which create the same task three times as follows:
> #include <stdio.h>
> #include <unistd.h>
> #include <alchemy/task.h>
> RT_TASK task1;
> void func(void *arg)
> {
> printf("enter func ...\n");
> }
> int main()
> {
> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
> sleep(1);
> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
> sleep(1);
> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
> //rt_task_delete(&task1);
> return 0;
> }
>
> When the third time create , program will occur Segmentation fault.
>
This bug was fixed in the stable branch some time ago:
git://git.xenomai.org/xenomai-3.git, branch stable-3.0.x
--
Philippe.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Xenomai] Fw:some API about RT_TASK occur Segmentation fault
2017-02-06 13:50 ` Philippe Gerum
@ 2017-02-07 6:18 ` dreamtale90
2017-02-07 14:19 ` [Xenomai] some " dreamtale90
0 siblings, 1 reply; 6+ messages in thread
From: dreamtale90 @ 2017-02-07 6:18 UTC (permalink / raw)
To: Philippe Gerum; +Cc: xenomai
Thank you for help.
I had git clone git://git.xenomai.org/xenomai-3.git, compile and install it with:
./scripts/bootstrap
../xenomai-3/configure --with-core=mercury --enable-smp --enable-pshared --enable-debug=full
make install
Then run my demo, but the result is the same as before :
----------------------------------------------------------------------------------------------------------
0"002.570| WARNING: [main] Xenomai compiled with full debug enabled,
very high latencies expected [--enable-debug=full]
enter func ...
enter func ...
rt_task_create: ../../../xenomai-3/lib/copperplate/heapobj-pshared.c:452: alloc_block: Assertion `0' failed.
Aborted
----------------------------------------------------------------------------------------------------------
Yesterday, I add some printf to alloc_block() of heapobj-pshared.c. I found that segmentaion fault occur when run to the
line 455 "++extent->pagemap[pgnum].bcount;" . At this time the value of "heap->buckets[ilog].freelist" is very big.
Now I think whether my xenomai configuration or system environment have something wrong.
Besides, my system(x86_64bit) run in a 8 cores Oracle virtual machine, the host cpu is Inter(R) xeon(R) CPU E5-2630 v4 @ 2.20GHz.
I don't know whether these information is useful.
Thanks in advance, best regards.
At 2017-02-06 21:50:13, "Philippe Gerum" <rpm@xenomai.org> wrote:
>On 02/06/2017 02:30 AM, dreamtale90@163.com wrote:
>> System configuration:
>> debian-8.6, 3.18.46-rt50
>> Xenomai/mercury v3.0.3
>> Build args: --with-core=mercury --enable-smp --enable-pshared
>>
>> Now I am need help. Thanks.
>>
>>
>> -------- Forwarding messages --------
>> From: "dreamtale90@163.com" <dreamtale90@163.com>
>> Date: 2017-02-04 12:04:15
>> To: xenomai@xenomai.org
>> Subject: some API about RT_TASK occur Segmentation fault
>> Hi
>> During using API about RT_TASK I found some doubt.
>> 1) rt_task_inquire(RT_TASK * task, RT_TASK_INFO * info ), if info is
>> NULL will occur Segmentation fault, but in API reference this is valid.
>> http://www.xenomai.org/documentation/xenomai-3/html/xeno3prm/group__alchemy__task.html#ga53bad6acf5496f8008e594954507dce8
>>
>> 2) After main task called rt_task_shadow(), program will create other
>> tasks depend on request, but when create second task will occur
>> Segmentation fault.
>> Now main task don't call rt_task_shadow(), program will OK. I don't
>> know why.
>>
>> 3) I write a demo which create the same task three times as follows:
>> #include <stdio.h>
>> #include <unistd.h>
>> #include <alchemy/task.h>
>> RT_TASK task1;
>> void func(void *arg)
>> {
>> printf("enter func ...\n");
>> }
>> int main()
>> {
>> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
>> sleep(1);
>> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
>> sleep(1);
>> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
>> //rt_task_delete(&task1);
>> return 0;
>> }
>>
>> When the third time create , program will occur Segmentation fault.
>>
>
>This bug was fixed in the stable branch some time ago:
>git://git.xenomai.org/xenomai-3.git, branch stable-3.0.x
>
>--
>Philippe.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Xenomai] some API about RT_TASK occur Segmentation fault
2017-02-07 6:18 ` dreamtale90
@ 2017-02-07 14:19 ` dreamtale90
2017-02-07 15:17 ` Philippe Gerum
0 siblings, 1 reply; 6+ messages in thread
From: dreamtale90 @ 2017-02-07 14:19 UTC (permalink / raw)
To: Philippe Gerum; +Cc: xenomai
Just now when I compiling xenomai, removed "--enable-pshared" configuration option. My demo is normal finally, and print out third sentence "enter func ..." without segmentaion fault.
Although the question is solved temporarily , but still don't know the reason. So I'm still worried about my system environment have some problems.
Thanks again, best regards.
发自网易邮箱大师
在2017年02月07日 14:18,dreamtale90@163.com 写道:
Thank you for help.
I had git clone git://git.xenomai.org/xenomai-3.git, compile and install it with:
./scripts/bootstrap
../xenomai-3/configure --with-core=mercury --enable-smp --enable-pshared --enable-debug=full
make install
Then run my demo, but the result is the same as before :
----------------------------------------------------------------------------------------------------------
0"002.570| WARNING: [main] Xenomai compiled with full debug enabled,
very high latencies expected [--enable-debug=full]
enter func ...
enter func ...
rt_task_create: ../../../xenomai-3/lib/copperplate/heapobj-pshared.c:452: alloc_block: Assertion `0' failed.
Aborted
----------------------------------------------------------------------------------------------------------
Yesterday, I add some printf to alloc_block() of heapobj-pshared.c. I found that segmentaion fault occur when run to the
line 455 "++extent->pagemap[pgnum].bcount;" . At this time the value of "heap->buckets[ilog].freelist" is very big.
Now I think whether my xenomai configuration or system environment have something wrong.
Besides, my system(x86_64bit) run in a 8 cores Oracle virtual machine, the host cpu is Inter(R) xeon(R) CPU E5-2630 v4 @ 2.20GHz.
I don't know whether these information is useful.
Thanks in advance, best regards.
At 2017-02-06 21:50:13, "Philippe Gerum" <rpm@xenomai.org> wrote:
>On 02/06/2017 02:30 AM, dreamtale90@163.com wrote:
>> System configuration:
>> debian-8.6, 3.18.46-rt50
>> Xenomai/mercury v3.0.3
>> Build args: --with-core=mercury --enable-smp --enable-pshared
>>
>> Now I am need help. Thanks.
>>
>>
>> -------- Forwarding messages --------
>> From: "dreamtale90@163.com" <dreamtale90@163.com>
>> Date: 2017-02-04 12:04:15
>> To: xenomai@xenomai.org
>> Subject: some API about RT_TASK occur Segmentation fault
>> Hi
>> During using API about RT_TASK I found some doubt.
>> 1) rt_task_inquire(RT_TASK * task, RT_TASK_INFO * info ), if info is
>> NULL will occur Segmentation fault, but in API reference this is valid.
>> http://www.xenomai.org/documentation/xenomai-3/html/xeno3prm/group__alchemy__task.html#ga53bad6acf5496f8008e594954507dce8
>>
>> 2) After main task called rt_task_shadow(), program will create other
>> tasks depend on request, but when create second task will occur
>> Segmentation fault.
>> Now main task don't call rt_task_shadow(), program will OK. I don't
>> know why.
>>
>> 3) I write a demo which create the same task three times as follows:
>> #include <stdio.h>
>> #include <unistd.h>
>> #include <alchemy/task.h>
>> RT_TASK task1;
>> void func(void *arg)
>> {
>> printf("enter func ...\n");
>> }
>> int main()
>> {
>> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
>> sleep(1);
>> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
>> sleep(1);
>> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
>> //rt_task_delete(&task1);
>> return 0;
>> }
>>
>> When the third time create , program will occur Segmentation fault.
>>
>
>This bug was fixed in the stable branch some time ago:
>git://git.xenomai.org/xenomai-3.git, branch stable-3.0.x
>
>--
>Philippe.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Xenomai] some API about RT_TASK occur Segmentation fault
2017-02-07 14:19 ` [Xenomai] some " dreamtale90
@ 2017-02-07 15:17 ` Philippe Gerum
2017-02-08 2:03 ` dreamtale90
0 siblings, 1 reply; 6+ messages in thread
From: Philippe Gerum @ 2017-02-07 15:17 UTC (permalink / raw)
To: dreamtale90; +Cc: xenomai
On 02/07/2017 03:19 PM, dreamtale90@163.com wrote:
> Just now when I compiling xenomai, removed "--enable-pshared"
> configuration option. My demo is normal finally, and print out third
> sentence "enter func ..." without segmentaion fault.
I believe that you are not using the right code. Did you pull the code
from the stable-3.0.x branch as mentioned earlier?
If you did so, you should see this output when passing the --version
switch to your program:
based on Xenomai/mercury v3.0.3 -- #00e3d01 (2017-01-27 10:16:11 +0100)
> Although the question is solved temporarily , but still don't know the
> reason. So I'm still worried about my system environment have some problems.
>
> Thanks again, best regards.
>
>
> 发自网易邮箱大师
>
> 在2017年02月07日 14:18,dreamtale90@163.com
> <mailto:dreamtale90@163.com> 写道:
> Thank you for help.
> I had git clone git://git.xenomai.org/xenomai-3.git, compile and
> install it with:
> ./scripts/bootstrap
> ../xenomai-3/configure --with-core=mercury --enable-smp
> --enable-pshared --enable-debug=full
> make install
> Then run my demo, but the result is the same as before :
> ----------------------------------------------------------------------------------------------------------
> 0"002.570| WARNING: [main] Xenomai compiled with full debug enabled,
> very high latencies expected
> [--enable-debug=full]
> enter func ...
> enter func ...
> rt_task_create:
> ../../../xenomai-3/lib/copperplate/heapobj-pshared.c:452:
> alloc_block: Assertion `0' failed.
> Aborted
> ----------------------------------------------------------------------------------------------------------
> Yesterday, I add some printf to alloc_block() of heapobj-pshared.c.
> I found that segmentaion fault occur when run to the
> line 455 "++extent->pagemap[pgnum].bcount;" . At this time the value
> of "heap->buckets[ilog].freelist" is very big.
>
> Now I think whether my xenomai
> configuration or system environment have something wrong.
> Besides, my system(x86_64bit) run in a 8 cores Oracle virtual
> machine, the host cpu is Inter(R) xeon(R) CPU E5-2630 v4 @ 2.20GHz.
> I don't know whether these information is useful.
>
> Thanks in advance, best regards.
>
>
>
> At 2017-02-06 21:50:13, "Philippe Gerum" <rpm@xenomai.org <mailto:rpm@xenomai.org>> wrote:
> >On 02/06/2017 02:30 AM, dreamtale90@163.com <mailto:dreamtale90@163.com> wrote:
> >> System configuration:
> >> debian-8.6, 3.18.46-rt50
> >> Xenomai/mercury v3.0.3
> >> Build args: --with-core=mercury --enable-smp --enable-pshared
> >>
> >> Now I am need help. Thanks.
> >>
> >>
> >> -------- Forwarding messages --------
> >> From: "dreamtale90@163.com <mailto:dreamtale90@163.com>" <dreamtale90@163.com <mailto:dreamtale90@163.com>>
> >> Date: 2017-02-04 12:04:15
> >> To: xenomai@xenomai.org <mailto:xenomai@xenomai.org>
> >> Subject: some API about RT_TASK occur Segmentation fault
> >> Hi
> >> During using API about RT_TASK I found some doubt.
> >> 1) rt_task_inquire(RT_TASK * task, RT_TASK_INFO * info ), if info is
> >> NULL will occur Segmentation fault, but in API reference this is valid.
> >> http://www.xenomai.org/documentation/xenomai-3/html/xeno3prm/group__alchemy__task.html#ga53bad6acf5496f8008e594954507dce8
> >>
> >> 2) After main task called rt_task_shadow(), program will create other
> >> tasks depend on request, but when create second task will occur
> >> Segmentation fault.
> >> Now main task don't call rt_task_shadow(), program will OK. I don't
> >> know why.
> >>
> >> 3) I write a demo which create the same task three times as follows:
> >> #include <stdio.h>
> >> #include <unistd.h>
> >> #include <alchemy/task.h>
> >> RT_TASK task1;
> >> void func(void *arg)
> >> {
> >> printf("enter func ...\n");
> >> }
> >> int main()
> >> {
> >> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
> >> sleep(1);
> >> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
> >> sleep(1);
> >> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
> >> //rt_task_delete(&task1);
> >> return 0;
> >> }
> >>
> >> When the third time create , program will occur Segmentation fault.
> >>
> >
> >This bug was fixed in the stable branch some time ago:
> >git://git.xenomai.org/xenomai-3.git, branch stable-3.0.x
> >
> >--
> >Philippe.
>
>
>
>
>
--
Philippe.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Xenomai] some API about RT_TASK occur Segmentation fault
2017-02-07 15:17 ` Philippe Gerum
@ 2017-02-08 2:03 ` dreamtale90
0 siblings, 0 replies; 6+ messages in thread
From: dreamtale90 @ 2017-02-08 2:03 UTC (permalink / raw)
To: Philippe Gerum; +Cc: xenomai
Philippe,
Thank you very much.Exactly as you say, the reason is that my code isn't lastest.
Best regards.
At 2017-02-07 23:17:28, "Philippe Gerum" <rpm@xenomai.org> wrote:
>On 02/07/2017 03:19 PM, dreamtale90@163.com wrote:
>> Just now when I compiling xenomai, removed "--enable-pshared"
>> configuration option. My demo is normal finally, and print out third
>> sentence "enter func ..." without segmentaion fault.
>
>I believe that you are not using the right code. Did you pull the code
>from the stable-3.0.x branch as mentioned earlier?
>
>If you did so, you should see this output when passing the --version
>switch to your program:
>
>based on Xenomai/mercury v3.0.3 -- #00e3d01 (2017-01-27 10:16:11 +0100)
>
>> Although the question is solved temporarily , but still don't know the
>> reason. So I'm still worried about my system environment have some problems.
>>
>> Thanks again, best regards.
>>
>>
>> 发自网易邮箱大师
>>
>> 在2017年02月07日 14:18,dreamtale90@163.com
>> <mailto:dreamtale90@163.com> 写道:
>> Thank you for help.
>> I had git clone git://git.xenomai.org/xenomai-3.git, compile and
>> install it with:
>> ./scripts/bootstrap
>> ../xenomai-3/configure --with-core=mercury --enable-smp
>> --enable-pshared --enable-debug=full
>> make install
>> Then run my demo, but the result is the same as before :
>> ----------------------------------------------------------------------------------------------------------
>> 0"002.570| WARNING: [main] Xenomai compiled with full debug enabled,
>> very high latencies expected
>> [--enable-debug=full]
>> enter func ...
>> enter func ...
>> rt_task_create:
>> ../../../xenomai-3/lib/copperplate/heapobj-pshared.c:452:
>> alloc_block: Assertion `0' failed.
>> Aborted
>> ----------------------------------------------------------------------------------------------------------
>> Yesterday, I add some printf to alloc_block() of heapobj-pshared.c.
>> I found that segmentaion fault occur when run to the
>> line 455 "++extent->pagemap[pgnum].bcount;" . At this time the value
>> of "heap->buckets[ilog].freelist" is very big.
>>
>> Now I think whether my xenomai
>> configuration or system environment have something wrong.
>> Besides, my system(x86_64bit) run in a 8 cores Oracle virtual
>> machine, the host cpu is Inter(R) xeon(R) CPU E5-2630 v4 @ 2.20GHz.
>> I don't know whether these information is useful.
>>
>> Thanks in advance, best regards.
>>
>>
>>
>> At 2017-02-06 21:50:13, "Philippe Gerum" <rpm@xenomai.org <mailto:rpm@xenomai.org>> wrote:
>> >On 02/06/2017 02:30 AM, dreamtale90@163.com <mailto:dreamtale90@163.com> wrote:
>> >> System configuration:
>> >> debian-8.6, 3.18.46-rt50
>> >> Xenomai/mercury v3.0.3
>> >> Build args: --with-core=mercury --enable-smp --enable-pshared
>> >>
>> >> Now I am need help. Thanks.
>> >>
>> >>
>> >> -------- Forwarding messages --------
>> >> From: "dreamtale90@163.com <mailto:dreamtale90@163.com>" <dreamtale90@163.com <mailto:dreamtale90@163.com>>
>> >> Date: 2017-02-04 12:04:15
>> >> To: xenomai@xenomai.org <mailto:xenomai@xenomai.org>
>> >> Subject: some API about RT_TASK occur Segmentation fault
>> >> Hi
>> >> During using API about RT_TASK I found some doubt.
>> >> 1) rt_task_inquire(RT_TASK * task, RT_TASK_INFO * info ), if info is
>> >> NULL will occur Segmentation fault, but in API reference this is valid.
>> >> http://www.xenomai.org/documentation/xenomai-3/html/xeno3prm/group__alchemy__task.html#ga53bad6acf5496f8008e594954507dce8
>> >>
>> >> 2) After main task called rt_task_shadow(), program will create other
>> >> tasks depend on request, but when create second task will occur
>> >> Segmentation fault.
>> >> Now main task don't call rt_task_shadow(), program will OK. I don't
>> >> know why.
>> >>
>> >> 3) I write a demo which create the same task three times as follows:
>> >> #include <stdio.h>
>> >> #include <unistd.h>
>> >> #include <alchemy/task.h>
>> >> RT_TASK task1;
>> >> void func(void *arg)
>> >> {
>> >> printf("enter func ...\n");
>> >> }
>> >> int main()
>> >> {
>> >> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
>> >> sleep(1);
>> >> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
>> >> sleep(1);
>> >> rt_task_spawn(&task1, "task1", 0, 80, 0, func, NULL);
>> >> //rt_task_delete(&task1);
>> >> return 0;
>> >> }
>> >>
>> >> When the third time create , program will occur Segmentation fault.
>> >>
>> >
>> >This bug was fixed in the stable branch some time ago:
>> >git://git.xenomai.org/xenomai-3.git, branch stable-3.0.x
>> >
>> >--
>> >Philippe.
>>
>>
>>
>>
>>
>
>
>--
>Philippe.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-02-08 2:03 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-06 1:30 [Xenomai] Fw:some API about RT_TASK occur Segmentation fault dreamtale90
2017-02-06 13:50 ` Philippe Gerum
2017-02-07 6:18 ` dreamtale90
2017-02-07 14:19 ` [Xenomai] some " dreamtale90
2017-02-07 15:17 ` Philippe Gerum
2017-02-08 2:03 ` dreamtale90
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.