Re: [Xenomai] Cannot initialize TLSF memory manager

2017-11-23 Thread Philippe Gerum
On 11/23/2017 04:15 PM, Leopold Palomo-Avellaneda wrote:
> On 23/11/17 16:12, Philippe Gerum wrote:
>> On 11/23/2017 04:08 PM, Leopold Palomo-Avellaneda wrote:
>>> On 23/11/17 16:04, Philippe Gerum wrote:
 On 11/23/2017 03:58 PM, Leopold Palomo-Avellaneda wrote:
> On 23/11/17 13:22, Philippe Gerum wrote:
>> On 11/23/2017 01:10 PM, Leopold Palomo-Avellaneda wrote:
>>> Hi,
>>>
>>>
>>> I have seen this bug before, but it seems that it's again in 3.0.6. 
>>> Running
>>> 3.0.6 with:
>>>
>>>  xeno-config --info
>>> Xenomai version: Xenomai/cobalt v3.0.6
>>> Linux bmm3 4.9.51-xenomai-3.0.6-ipipe #1 SMP Thu Nov 23 09:03:27 CET 
>>> 2017 x86_64
>>> GNU/Linux
>>> Kernel parameters: BOOT_IMAGE=/boot/vmlinuz-4.9.51-xenomai-3.0.6-ipipe
>>> root=UUID=ab96eed9-cd79-4d30-9e93-e9f32a18cca6 ro quiet
>>> xenomai.allowed_group=113 nosmap
>>> I-pipe release #4 detected
>>> Cobalt core 3.0.6 detected
>>> Compiler: gcc version 6.3.0 20170516 (Debian 6.3.0-18)
>>> Build args: --build=x86_64-linux-gnu --includedir=/usr/include
>>> --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/etc
>>> --localstatedir=/var --disable-silent-rules 
>>> --libdir=/usr/lib/x86_64-linux-gnu
>>> --libexecdir=/usr/lib/x86_64-linux-gnu --disable-maintainer-mode
>>> --disable-dependency-tracking --prefix=/usr 
>>> --includedir=/usr/include/xenomai
>>> --mandir=/usr/share/man --with-testdir=/usr/lib/x86_64-linux-gnu/xenomai
>>> --enable-fortify --libdir=/usr/lib/x86_64-linux-gnu/ --enable-pshared
>>> --enable-registry --enable-doc-build --enable-dlopen-libs --enable-tls
>>> --enable-smp --with-core=cobalt --build x86_64-linux-gnu
>>> build_alias=x86_64-linux-gnu CFLAGS=-g -O2
>>> -fdebug-prefix-map=/build/xenomai-3.0.6+ds1=. -fstack-protector-strong 
>>> -Wformat
>>> -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 
>>> -fno-omit-frame-pointer
>>> LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed CPPFLAGS=-Wdate-time
>>> -D_FORTIFY_SOURCE=2
>>>
>>>
>>>
>>> when I try xeno-test, I got:
>>>
>>>  xeno-test
>>> Started child 2593: /bin/bash
>>> /usr/lib/x86_64-linux-gnu/xenomai/xeno-test-run-wrapper 
>>> /usr/bin/xeno-test
>>> ++ echo 0
>>> ++ testdir=/usr/lib/x86_64-linux-gnu/xenomai
>>> ++ /usr/lib/x86_64-linux-gnu/xenomai/smokey --run
>>> init_memory_pool(): invalid pool
>>>0"000.022| BUG in heapobj_pkg_init_private(): [main] cannot 
>>> initialize TLSF
>>> memory manager
>>>
>>>
>>> Any idea?
>>>
>>
>> Can you check whether the call to tlsf_malloc() in
>> heapobj_pkg_init_private() returns non-NULL?
>> (lib/copperplate/heapobj-tlsf.c), and print out the value of alloc_size 
>> too?
>
> Checking the code, it fails before to return anything. Running 
> crosss-link, that
> fails in the same function:
> ./cross-link
>
> init_memory_pool(): invalid pool
> Init memory pool returns -1 bytes
>0"000.041| BUG in heapobj_pkg_init_private(): [main] cannot initialize 
> TLSF
> memory manager
>
>
> I just added:
>
> +  printf("Init memory pool returns %zd bytes \n", available_size);
>
> if (available_size == (size_t)-1)
> panic("cannot initialize TLSF memory manager");
>
> + printf("Running after ...\n");
>
>
> in that function of the file you mentioned.
>

 Can you try this?

 diff --git a/lib/copperplate/heapobj-tlsf.c 
 b/lib/copperplate/heapobj-tlsf.c
 index 370985210..0186be423 100644
 --- a/lib/copperplate/heapobj-tlsf.c
 +++ b/lib/copperplate/heapobj-tlsf.c
 @@ -103,6 +103,7 @@ int heapobj_pkg_init_private(void)
 * out the allocation overhead.
 */
mem = tlsf_malloc(alloc_size);
 +  printf("mem=%p, alloc_size=%zu\n", mem, alloc_size);
available_size = init_memory_pool(alloc_size, mem);
if (available_size == (size_t)-1)
panic("cannot initialize TLSF memory manager");

>>> ./cross-link
>>> mem=0x7f70b739a8e0, alloc_size=4096
>>> init_memory_pool(): invalid pool
>>> Init memory pool returns -1 bytes
>>>0"000.029| BUG in heapobj_pkg_init_private(): [main] cannot initialize 
>>> TLSF
>>> memory manager
>>>
>>
>> Ok, so please try this:
>>
>> diff --git a/lib/copperplate/heapobj-tlsf.c b/lib/copperplate/heapobj-tlsf.c
>> index 370985210..948f7fc52 100644
>> --- a/lib/copperplate/heapobj-tlsf.c
>> +++ b/lib/copperplate/heapobj-tlsf.c
>> @@ -78,7 +78,7 @@ int heapobj_init_array_private(struct heapobj *hobj, const 
>> char *name,
>>  int heapobj_pkg_init_private(void)
>>  {
>>  #ifdef CONFIG_XENO_PSHARED
>> -size_t alloc_size = sysconf(_SC_PAGE_SIZE);
>> +size_t alloc_size = sysconf(_SC_PAGE_SIZE) * 2;
>>  #else
>>  

Re: [Xenomai] Cannot initialize TLSF memory manager

2017-11-23 Thread Leopold Palomo-Avellaneda
On 23/11/17 16:12, Philippe Gerum wrote:
> On 11/23/2017 04:08 PM, Leopold Palomo-Avellaneda wrote:
>> On 23/11/17 16:04, Philippe Gerum wrote:
>>> On 11/23/2017 03:58 PM, Leopold Palomo-Avellaneda wrote:
 On 23/11/17 13:22, Philippe Gerum wrote:
> On 11/23/2017 01:10 PM, Leopold Palomo-Avellaneda wrote:
>> Hi,
>>
>>
>> I have seen this bug before, but it seems that it's again in 3.0.6. 
>> Running
>> 3.0.6 with:
>>
>>  xeno-config --info
>> Xenomai version: Xenomai/cobalt v3.0.6
>> Linux bmm3 4.9.51-xenomai-3.0.6-ipipe #1 SMP Thu Nov 23 09:03:27 CET 
>> 2017 x86_64
>> GNU/Linux
>> Kernel parameters: BOOT_IMAGE=/boot/vmlinuz-4.9.51-xenomai-3.0.6-ipipe
>> root=UUID=ab96eed9-cd79-4d30-9e93-e9f32a18cca6 ro quiet
>> xenomai.allowed_group=113 nosmap
>> I-pipe release #4 detected
>> Cobalt core 3.0.6 detected
>> Compiler: gcc version 6.3.0 20170516 (Debian 6.3.0-18)
>> Build args: --build=x86_64-linux-gnu --includedir=/usr/include
>> --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/etc
>> --localstatedir=/var --disable-silent-rules 
>> --libdir=/usr/lib/x86_64-linux-gnu
>> --libexecdir=/usr/lib/x86_64-linux-gnu --disable-maintainer-mode
>> --disable-dependency-tracking --prefix=/usr 
>> --includedir=/usr/include/xenomai
>> --mandir=/usr/share/man --with-testdir=/usr/lib/x86_64-linux-gnu/xenomai
>> --enable-fortify --libdir=/usr/lib/x86_64-linux-gnu/ --enable-pshared
>> --enable-registry --enable-doc-build --enable-dlopen-libs --enable-tls
>> --enable-smp --with-core=cobalt --build x86_64-linux-gnu
>> build_alias=x86_64-linux-gnu CFLAGS=-g -O2
>> -fdebug-prefix-map=/build/xenomai-3.0.6+ds1=. -fstack-protector-strong 
>> -Wformat
>> -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 
>> -fno-omit-frame-pointer
>> LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed CPPFLAGS=-Wdate-time
>> -D_FORTIFY_SOURCE=2
>>
>>
>>
>> when I try xeno-test, I got:
>>
>>  xeno-test
>> Started child 2593: /bin/bash
>> /usr/lib/x86_64-linux-gnu/xenomai/xeno-test-run-wrapper 
>> /usr/bin/xeno-test
>> ++ echo 0
>> ++ testdir=/usr/lib/x86_64-linux-gnu/xenomai
>> ++ /usr/lib/x86_64-linux-gnu/xenomai/smokey --run
>> init_memory_pool(): invalid pool
>>0"000.022| BUG in heapobj_pkg_init_private(): [main] cannot 
>> initialize TLSF
>> memory manager
>>
>>
>> Any idea?
>>
>
> Can you check whether the call to tlsf_malloc() in
> heapobj_pkg_init_private() returns non-NULL?
> (lib/copperplate/heapobj-tlsf.c), and print out the value of alloc_size 
> too?

 Checking the code, it fails before to return anything. Running 
 crosss-link, that
 fails in the same function:
 ./cross-link

 init_memory_pool(): invalid pool
 Init memory pool returns -1 bytes
0"000.041| BUG in heapobj_pkg_init_private(): [main] cannot initialize 
 TLSF
 memory manager


 I just added:

 +  printf("Init memory pool returns %zd bytes \n", available_size);

 if (available_size == (size_t)-1)
 panic("cannot initialize TLSF memory manager");

 + printf("Running after ...\n");


 in that function of the file you mentioned.

>>>
>>> Can you try this?
>>>
>>> diff --git a/lib/copperplate/heapobj-tlsf.c b/lib/copperplate/heapobj-tlsf.c
>>> index 370985210..0186be423 100644
>>> --- a/lib/copperplate/heapobj-tlsf.c
>>> +++ b/lib/copperplate/heapobj-tlsf.c
>>> @@ -103,6 +103,7 @@ int heapobj_pkg_init_private(void)
>>>  * out the allocation overhead.
>>>  */
>>> mem = tlsf_malloc(alloc_size);
>>> +   printf("mem=%p, alloc_size=%zu\n", mem, alloc_size);
>>> available_size = init_memory_pool(alloc_size, mem);
>>> if (available_size == (size_t)-1)
>>> panic("cannot initialize TLSF memory manager");
>>>
>> ./cross-link
>> mem=0x7f70b739a8e0, alloc_size=4096
>> init_memory_pool(): invalid pool
>> Init memory pool returns -1 bytes
>>0"000.029| BUG in heapobj_pkg_init_private(): [main] cannot initialize 
>> TLSF
>> memory manager
>>
> 
> Ok, so please try this:
> 
> diff --git a/lib/copperplate/heapobj-tlsf.c b/lib/copperplate/heapobj-tlsf.c
> index 370985210..948f7fc52 100644
> --- a/lib/copperplate/heapobj-tlsf.c
> +++ b/lib/copperplate/heapobj-tlsf.c
> @@ -78,7 +78,7 @@ int heapobj_init_array_private(struct heapobj *hobj, const 
> char *name,
>  int heapobj_pkg_init_private(void)
>  {
>   #ifdef CONFIG_XENO_PSHARED
> - size_t alloc_size = sysconf(_SC_PAGE_SIZE);
> + size_t alloc_size = sysconf(_SC_PAGE_SIZE) * 2;
>   #else
>   size_t alloc_size = __copperplate_setup_data.mem_pool;
>   #endif
> 
> 

with my user

./cross-link
mem=0x7f0d630488e0, alloc_size=8192
Init memory pool returns 1808 bytes
Running 

Re: [Xenomai] Cannot initialize TLSF memory manager

2017-11-23 Thread Philippe Gerum
On 11/23/2017 04:08 PM, Leopold Palomo-Avellaneda wrote:
> On 23/11/17 16:04, Philippe Gerum wrote:
>> On 11/23/2017 03:58 PM, Leopold Palomo-Avellaneda wrote:
>>> On 23/11/17 13:22, Philippe Gerum wrote:
 On 11/23/2017 01:10 PM, Leopold Palomo-Avellaneda wrote:
> Hi,
>
>
> I have seen this bug before, but it seems that it's again in 3.0.6. 
> Running
> 3.0.6 with:
>
>  xeno-config --info
> Xenomai version: Xenomai/cobalt v3.0.6
> Linux bmm3 4.9.51-xenomai-3.0.6-ipipe #1 SMP Thu Nov 23 09:03:27 CET 2017 
> x86_64
> GNU/Linux
> Kernel parameters: BOOT_IMAGE=/boot/vmlinuz-4.9.51-xenomai-3.0.6-ipipe
> root=UUID=ab96eed9-cd79-4d30-9e93-e9f32a18cca6 ro quiet
> xenomai.allowed_group=113 nosmap
> I-pipe release #4 detected
> Cobalt core 3.0.6 detected
> Compiler: gcc version 6.3.0 20170516 (Debian 6.3.0-18)
> Build args: --build=x86_64-linux-gnu --includedir=/usr/include
> --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/etc
> --localstatedir=/var --disable-silent-rules 
> --libdir=/usr/lib/x86_64-linux-gnu
> --libexecdir=/usr/lib/x86_64-linux-gnu --disable-maintainer-mode
> --disable-dependency-tracking --prefix=/usr 
> --includedir=/usr/include/xenomai
> --mandir=/usr/share/man --with-testdir=/usr/lib/x86_64-linux-gnu/xenomai
> --enable-fortify --libdir=/usr/lib/x86_64-linux-gnu/ --enable-pshared
> --enable-registry --enable-doc-build --enable-dlopen-libs --enable-tls
> --enable-smp --with-core=cobalt --build x86_64-linux-gnu
> build_alias=x86_64-linux-gnu CFLAGS=-g -O2
> -fdebug-prefix-map=/build/xenomai-3.0.6+ds1=. -fstack-protector-strong 
> -Wformat
> -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 
> -fno-omit-frame-pointer
> LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed CPPFLAGS=-Wdate-time
> -D_FORTIFY_SOURCE=2
>
>
>
> when I try xeno-test, I got:
>
>  xeno-test
> Started child 2593: /bin/bash
> /usr/lib/x86_64-linux-gnu/xenomai/xeno-test-run-wrapper /usr/bin/xeno-test
> ++ echo 0
> ++ testdir=/usr/lib/x86_64-linux-gnu/xenomai
> ++ /usr/lib/x86_64-linux-gnu/xenomai/smokey --run
> init_memory_pool(): invalid pool
>0"000.022| BUG in heapobj_pkg_init_private(): [main] cannot initialize 
> TLSF
> memory manager
>
>
> Any idea?
>

 Can you check whether the call to tlsf_malloc() in
 heapobj_pkg_init_private() returns non-NULL?
 (lib/copperplate/heapobj-tlsf.c), and print out the value of alloc_size 
 too?
>>>
>>> Checking the code, it fails before to return anything. Running crosss-link, 
>>> that
>>> fails in the same function:
>>> ./cross-link
>>>
>>> init_memory_pool(): invalid pool
>>> Init memory pool returns -1 bytes
>>>0"000.041| BUG in heapobj_pkg_init_private(): [main] cannot initialize 
>>> TLSF
>>> memory manager
>>>
>>>
>>> I just added:
>>>
>>> +  printf("Init memory pool returns %zd bytes \n", available_size);
>>>
>>> if (available_size == (size_t)-1)
>>> panic("cannot initialize TLSF memory manager");
>>>
>>> + printf("Running after ...\n");
>>>
>>>
>>> in that function of the file you mentioned.
>>>
>>
>> Can you try this?
>>
>> diff --git a/lib/copperplate/heapobj-tlsf.c b/lib/copperplate/heapobj-tlsf.c
>> index 370985210..0186be423 100644
>> --- a/lib/copperplate/heapobj-tlsf.c
>> +++ b/lib/copperplate/heapobj-tlsf.c
>> @@ -103,6 +103,7 @@ int heapobj_pkg_init_private(void)
>>   * out the allocation overhead.
>>   */
>>  mem = tlsf_malloc(alloc_size);
>> +printf("mem=%p, alloc_size=%zu\n", mem, alloc_size);
>>  available_size = init_memory_pool(alloc_size, mem);
>>  if (available_size == (size_t)-1)
>>  panic("cannot initialize TLSF memory manager");
>>
> ./cross-link
> mem=0x7f70b739a8e0, alloc_size=4096
> init_memory_pool(): invalid pool
> Init memory pool returns -1 bytes
>0"000.029| BUG in heapobj_pkg_init_private(): [main] cannot initialize TLSF
> memory manager
> 

Ok, so please try this:

diff --git a/lib/copperplate/heapobj-tlsf.c b/lib/copperplate/heapobj-tlsf.c
index 370985210..948f7fc52 100644
--- a/lib/copperplate/heapobj-tlsf.c
+++ b/lib/copperplate/heapobj-tlsf.c
@@ -78,7 +78,7 @@ int heapobj_init_array_private(struct heapobj *hobj, const 
char *name,
 int heapobj_pkg_init_private(void)
 {
#ifdef CONFIG_XENO_PSHARED
-   size_t alloc_size = sysconf(_SC_PAGE_SIZE);
+   size_t alloc_size = sysconf(_SC_PAGE_SIZE) * 2;
#else
size_t alloc_size = __copperplate_setup_data.mem_pool;
#endif


-- 
Philippe.

___
Xenomai mailing list
Xenomai@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai


Re: [Xenomai] Cannot initialize TLSF memory manager

2017-11-23 Thread Leopold Palomo-Avellaneda
On 23/11/17 16:04, Philippe Gerum wrote:
> On 11/23/2017 03:58 PM, Leopold Palomo-Avellaneda wrote:
>> On 23/11/17 13:22, Philippe Gerum wrote:
>>> On 11/23/2017 01:10 PM, Leopold Palomo-Avellaneda wrote:
 Hi,


 I have seen this bug before, but it seems that it's again in 3.0.6. Running
 3.0.6 with:

  xeno-config --info
 Xenomai version: Xenomai/cobalt v3.0.6
 Linux bmm3 4.9.51-xenomai-3.0.6-ipipe #1 SMP Thu Nov 23 09:03:27 CET 2017 
 x86_64
 GNU/Linux
 Kernel parameters: BOOT_IMAGE=/boot/vmlinuz-4.9.51-xenomai-3.0.6-ipipe
 root=UUID=ab96eed9-cd79-4d30-9e93-e9f32a18cca6 ro quiet
 xenomai.allowed_group=113 nosmap
 I-pipe release #4 detected
 Cobalt core 3.0.6 detected
 Compiler: gcc version 6.3.0 20170516 (Debian 6.3.0-18)
 Build args: --build=x86_64-linux-gnu --includedir=/usr/include
 --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/etc
 --localstatedir=/var --disable-silent-rules 
 --libdir=/usr/lib/x86_64-linux-gnu
 --libexecdir=/usr/lib/x86_64-linux-gnu --disable-maintainer-mode
 --disable-dependency-tracking --prefix=/usr 
 --includedir=/usr/include/xenomai
 --mandir=/usr/share/man --with-testdir=/usr/lib/x86_64-linux-gnu/xenomai
 --enable-fortify --libdir=/usr/lib/x86_64-linux-gnu/ --enable-pshared
 --enable-registry --enable-doc-build --enable-dlopen-libs --enable-tls
 --enable-smp --with-core=cobalt --build x86_64-linux-gnu
 build_alias=x86_64-linux-gnu CFLAGS=-g -O2
 -fdebug-prefix-map=/build/xenomai-3.0.6+ds1=. -fstack-protector-strong 
 -Wformat
 -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 
 -fno-omit-frame-pointer
 LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2



 when I try xeno-test, I got:

  xeno-test
 Started child 2593: /bin/bash
 /usr/lib/x86_64-linux-gnu/xenomai/xeno-test-run-wrapper /usr/bin/xeno-test
 ++ echo 0
 ++ testdir=/usr/lib/x86_64-linux-gnu/xenomai
 ++ /usr/lib/x86_64-linux-gnu/xenomai/smokey --run
 init_memory_pool(): invalid pool
0"000.022| BUG in heapobj_pkg_init_private(): [main] cannot initialize 
 TLSF
 memory manager


 Any idea?

>>>
>>> Can you check whether the call to tlsf_malloc() in
>>> heapobj_pkg_init_private() returns non-NULL?
>>> (lib/copperplate/heapobj-tlsf.c), and print out the value of alloc_size too?
>>
>> Checking the code, it fails before to return anything. Running crosss-link, 
>> that
>> fails in the same function:
>> ./cross-link
>>
>> init_memory_pool(): invalid pool
>> Init memory pool returns -1 bytes
>>0"000.041| BUG in heapobj_pkg_init_private(): [main] cannot initialize 
>> TLSF
>> memory manager
>>
>>
>> I just added:
>>
>> +  printf("Init memory pool returns %zd bytes \n", available_size);
>>
>> if (available_size == (size_t)-1)
>> panic("cannot initialize TLSF memory manager");
>>
>> + printf("Running after ...\n");
>>
>>
>> in that function of the file you mentioned.
>>
> 
> Can you try this?
> 
> diff --git a/lib/copperplate/heapobj-tlsf.c b/lib/copperplate/heapobj-tlsf.c
> index 370985210..0186be423 100644
> --- a/lib/copperplate/heapobj-tlsf.c
> +++ b/lib/copperplate/heapobj-tlsf.c
> @@ -103,6 +103,7 @@ int heapobj_pkg_init_private(void)
>* out the allocation overhead.
>*/
>   mem = tlsf_malloc(alloc_size);
> + printf("mem=%p, alloc_size=%zu\n", mem, alloc_size);
>   available_size = init_memory_pool(alloc_size, mem);
>   if (available_size == (size_t)-1)
>   panic("cannot initialize TLSF memory manager");
> 
./cross-link
mem=0x7f70b739a8e0, alloc_size=4096
init_memory_pool(): invalid pool
Init memory pool returns -1 bytes
   0"000.029| BUG in heapobj_pkg_init_private(): [main] cannot initialize TLSF
memory manager

Leopold

-- 
--
Linux User 152692 GPG: 05F4A7A949A2D9AA
Catalonia
-
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

___
Xenomai mailing list
Xenomai@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai


Re: [Xenomai] Cannot initialize TLSF memory manager

2017-11-23 Thread Leopold Palomo-Avellaneda
On 23/11/17 15:58, Leopold Palomo-Avellaneda wrote:
> On 23/11/17 13:22, Philippe Gerum wrote:
>> On 11/23/2017 01:10 PM, Leopold Palomo-Avellaneda wrote:
>>> Hi,
>>>
>>>
>>> I have seen this bug before, but it seems that it's again in 3.0.6. Running
>>> 3.0.6 with:
>>>
>>>  xeno-config --info
>>> Xenomai version: Xenomai/cobalt v3.0.6
>>> Linux bmm3 4.9.51-xenomai-3.0.6-ipipe #1 SMP Thu Nov 23 09:03:27 CET 2017 
>>> x86_64
>>> GNU/Linux
>>> Kernel parameters: BOOT_IMAGE=/boot/vmlinuz-4.9.51-xenomai-3.0.6-ipipe
>>> root=UUID=ab96eed9-cd79-4d30-9e93-e9f32a18cca6 ro quiet
>>> xenomai.allowed_group=113 nosmap
>>> I-pipe release #4 detected
>>> Cobalt core 3.0.6 detected
>>> Compiler: gcc version 6.3.0 20170516 (Debian 6.3.0-18)
>>> Build args: --build=x86_64-linux-gnu --includedir=/usr/include
>>> --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/etc
>>> --localstatedir=/var --disable-silent-rules 
>>> --libdir=/usr/lib/x86_64-linux-gnu
>>> --libexecdir=/usr/lib/x86_64-linux-gnu --disable-maintainer-mode
>>> --disable-dependency-tracking --prefix=/usr 
>>> --includedir=/usr/include/xenomai
>>> --mandir=/usr/share/man --with-testdir=/usr/lib/x86_64-linux-gnu/xenomai
>>> --enable-fortify --libdir=/usr/lib/x86_64-linux-gnu/ --enable-pshared
>>> --enable-registry --enable-doc-build --enable-dlopen-libs --enable-tls
>>> --enable-smp --with-core=cobalt --build x86_64-linux-gnu
>>> build_alias=x86_64-linux-gnu CFLAGS=-g -O2
>>> -fdebug-prefix-map=/build/xenomai-3.0.6+ds1=. -fstack-protector-strong 
>>> -Wformat
>>> -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 
>>> -fno-omit-frame-pointer
>>> LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed CPPFLAGS=-Wdate-time
>>> -D_FORTIFY_SOURCE=2
>>>
>>>
>>>
>>> when I try xeno-test, I got:
>>>
>>>  xeno-test
>>> Started child 2593: /bin/bash
>>> /usr/lib/x86_64-linux-gnu/xenomai/xeno-test-run-wrapper /usr/bin/xeno-test
>>> ++ echo 0
>>> ++ testdir=/usr/lib/x86_64-linux-gnu/xenomai
>>> ++ /usr/lib/x86_64-linux-gnu/xenomai/smokey --run
>>> init_memory_pool(): invalid pool
>>>0"000.022| BUG in heapobj_pkg_init_private(): [main] cannot initialize 
>>> TLSF
>>> memory manager
>>>
>>>
>>> Any idea?
>>>
>>
>> Can you check whether the call to tlsf_malloc() in
>> heapobj_pkg_init_private() returns non-NULL?
>> (lib/copperplate/heapobj-tlsf.c), and print out the value of alloc_size too?
> 
> Checking the code, it fails before to return anything. Running crosss-link, 
> that
> fails in the same function:
> ./cross-link
> 
> init_memory_pool(): invalid pool
> Init memory pool returns -1 bytes
>0"000.041| BUG in heapobj_pkg_init_private(): [main] cannot initialize TLSF
> memory manager
> 
> 
> I just added:
> 
> +  printf("Init memory pool returns %zd bytes \n", available_size);
> 
> if (available_size == (size_t)-1)
> panic("cannot initialize TLSF memory manager");
> 
> + printf("Running after ...\n");
> 
> 
> in that function of the file you mentioned.

just for FYI, if I build xenomain without pshared it works 

Leopold



-- 
--
Linux User 152692 GPG: 05F4A7A949A2D9AA
Catalonia
-
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

___
Xenomai mailing list
Xenomai@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai


Re: [Xenomai] Cannot initialize TLSF memory manager

2017-11-23 Thread Philippe Gerum
On 11/23/2017 03:58 PM, Leopold Palomo-Avellaneda wrote:
> On 23/11/17 13:22, Philippe Gerum wrote:
>> On 11/23/2017 01:10 PM, Leopold Palomo-Avellaneda wrote:
>>> Hi,
>>>
>>>
>>> I have seen this bug before, but it seems that it's again in 3.0.6. Running
>>> 3.0.6 with:
>>>
>>>  xeno-config --info
>>> Xenomai version: Xenomai/cobalt v3.0.6
>>> Linux bmm3 4.9.51-xenomai-3.0.6-ipipe #1 SMP Thu Nov 23 09:03:27 CET 2017 
>>> x86_64
>>> GNU/Linux
>>> Kernel parameters: BOOT_IMAGE=/boot/vmlinuz-4.9.51-xenomai-3.0.6-ipipe
>>> root=UUID=ab96eed9-cd79-4d30-9e93-e9f32a18cca6 ro quiet
>>> xenomai.allowed_group=113 nosmap
>>> I-pipe release #4 detected
>>> Cobalt core 3.0.6 detected
>>> Compiler: gcc version 6.3.0 20170516 (Debian 6.3.0-18)
>>> Build args: --build=x86_64-linux-gnu --includedir=/usr/include
>>> --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/etc
>>> --localstatedir=/var --disable-silent-rules 
>>> --libdir=/usr/lib/x86_64-linux-gnu
>>> --libexecdir=/usr/lib/x86_64-linux-gnu --disable-maintainer-mode
>>> --disable-dependency-tracking --prefix=/usr 
>>> --includedir=/usr/include/xenomai
>>> --mandir=/usr/share/man --with-testdir=/usr/lib/x86_64-linux-gnu/xenomai
>>> --enable-fortify --libdir=/usr/lib/x86_64-linux-gnu/ --enable-pshared
>>> --enable-registry --enable-doc-build --enable-dlopen-libs --enable-tls
>>> --enable-smp --with-core=cobalt --build x86_64-linux-gnu
>>> build_alias=x86_64-linux-gnu CFLAGS=-g -O2
>>> -fdebug-prefix-map=/build/xenomai-3.0.6+ds1=. -fstack-protector-strong 
>>> -Wformat
>>> -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 
>>> -fno-omit-frame-pointer
>>> LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed CPPFLAGS=-Wdate-time
>>> -D_FORTIFY_SOURCE=2
>>>
>>>
>>>
>>> when I try xeno-test, I got:
>>>
>>>  xeno-test
>>> Started child 2593: /bin/bash
>>> /usr/lib/x86_64-linux-gnu/xenomai/xeno-test-run-wrapper /usr/bin/xeno-test
>>> ++ echo 0
>>> ++ testdir=/usr/lib/x86_64-linux-gnu/xenomai
>>> ++ /usr/lib/x86_64-linux-gnu/xenomai/smokey --run
>>> init_memory_pool(): invalid pool
>>>0"000.022| BUG in heapobj_pkg_init_private(): [main] cannot initialize 
>>> TLSF
>>> memory manager
>>>
>>>
>>> Any idea?
>>>
>>
>> Can you check whether the call to tlsf_malloc() in
>> heapobj_pkg_init_private() returns non-NULL?
>> (lib/copperplate/heapobj-tlsf.c), and print out the value of alloc_size too?
> 
> Checking the code, it fails before to return anything. Running crosss-link, 
> that
> fails in the same function:
> ./cross-link
> 
> init_memory_pool(): invalid pool
> Init memory pool returns -1 bytes
>0"000.041| BUG in heapobj_pkg_init_private(): [main] cannot initialize TLSF
> memory manager
> 
> 
> I just added:
> 
> +  printf("Init memory pool returns %zd bytes \n", available_size);
> 
> if (available_size == (size_t)-1)
> panic("cannot initialize TLSF memory manager");
> 
> + printf("Running after ...\n");
> 
> 
> in that function of the file you mentioned.
> 

Can you try this?

diff --git a/lib/copperplate/heapobj-tlsf.c b/lib/copperplate/heapobj-tlsf.c
index 370985210..0186be423 100644
--- a/lib/copperplate/heapobj-tlsf.c
+++ b/lib/copperplate/heapobj-tlsf.c
@@ -103,6 +103,7 @@ int heapobj_pkg_init_private(void)
 * out the allocation overhead.
 */
mem = tlsf_malloc(alloc_size);
+   printf("mem=%p, alloc_size=%zu\n", mem, alloc_size);
available_size = init_memory_pool(alloc_size, mem);
if (available_size == (size_t)-1)
panic("cannot initialize TLSF memory manager");

-- 
Philippe.

___
Xenomai mailing list
Xenomai@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai


Re: [Xenomai] Cannot initialize TLSF memory manager

2017-11-23 Thread Philippe Gerum
On 11/23/2017 01:10 PM, Leopold Palomo-Avellaneda wrote:
> Hi,
> 
> 
> I have seen this bug before, but it seems that it's again in 3.0.6. Running
> 3.0.6 with:
> 
>  xeno-config --info
> Xenomai version: Xenomai/cobalt v3.0.6
> Linux bmm3 4.9.51-xenomai-3.0.6-ipipe #1 SMP Thu Nov 23 09:03:27 CET 2017 
> x86_64
> GNU/Linux
> Kernel parameters: BOOT_IMAGE=/boot/vmlinuz-4.9.51-xenomai-3.0.6-ipipe
> root=UUID=ab96eed9-cd79-4d30-9e93-e9f32a18cca6 ro quiet
> xenomai.allowed_group=113 nosmap
> I-pipe release #4 detected
> Cobalt core 3.0.6 detected
> Compiler: gcc version 6.3.0 20170516 (Debian 6.3.0-18)
> Build args: --build=x86_64-linux-gnu --includedir=/usr/include
> --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/etc
> --localstatedir=/var --disable-silent-rules --libdir=/usr/lib/x86_64-linux-gnu
> --libexecdir=/usr/lib/x86_64-linux-gnu --disable-maintainer-mode
> --disable-dependency-tracking --prefix=/usr --includedir=/usr/include/xenomai
> --mandir=/usr/share/man --with-testdir=/usr/lib/x86_64-linux-gnu/xenomai
> --enable-fortify --libdir=/usr/lib/x86_64-linux-gnu/ --enable-pshared
> --enable-registry --enable-doc-build --enable-dlopen-libs --enable-tls
> --enable-smp --with-core=cobalt --build x86_64-linux-gnu
> build_alias=x86_64-linux-gnu CFLAGS=-g -O2
> -fdebug-prefix-map=/build/xenomai-3.0.6+ds1=. -fstack-protector-strong 
> -Wformat
> -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 
> -fno-omit-frame-pointer
> LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed CPPFLAGS=-Wdate-time
> -D_FORTIFY_SOURCE=2
> 
> 
> 
> when I try xeno-test, I got:
> 
>  xeno-test
> Started child 2593: /bin/bash
> /usr/lib/x86_64-linux-gnu/xenomai/xeno-test-run-wrapper /usr/bin/xeno-test
> ++ echo 0
> ++ testdir=/usr/lib/x86_64-linux-gnu/xenomai
> ++ /usr/lib/x86_64-linux-gnu/xenomai/smokey --run
> init_memory_pool(): invalid pool
>0"000.022| BUG in heapobj_pkg_init_private(): [main] cannot initialize TLSF
> memory manager
> 
> 
> Any idea?
> 

Can you check whether the call to tlsf_malloc() in
heapobj_pkg_init_private() returns non-NULL?
(lib/copperplate/heapobj-tlsf.c), and print out the value of alloc_size too?

Thanks,

-- 
Philippe.

___
Xenomai mailing list
Xenomai@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai


[Xenomai] Cannot initialize TLSF memory manager

2017-11-23 Thread Leopold Palomo-Avellaneda
Hi,


I have seen this bug before, but it seems that it's again in 3.0.6. Running
3.0.6 with:

 xeno-config --info
Xenomai version: Xenomai/cobalt v3.0.6
Linux bmm3 4.9.51-xenomai-3.0.6-ipipe #1 SMP Thu Nov 23 09:03:27 CET 2017 x86_64
GNU/Linux
Kernel parameters: BOOT_IMAGE=/boot/vmlinuz-4.9.51-xenomai-3.0.6-ipipe
root=UUID=ab96eed9-cd79-4d30-9e93-e9f32a18cca6 ro quiet
xenomai.allowed_group=113 nosmap
I-pipe release #4 detected
Cobalt core 3.0.6 detected
Compiler: gcc version 6.3.0 20170516 (Debian 6.3.0-18)
Build args: --build=x86_64-linux-gnu --includedir=/usr/include
--mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/etc
--localstatedir=/var --disable-silent-rules --libdir=/usr/lib/x86_64-linux-gnu
--libexecdir=/usr/lib/x86_64-linux-gnu --disable-maintainer-mode
--disable-dependency-tracking --prefix=/usr --includedir=/usr/include/xenomai
--mandir=/usr/share/man --with-testdir=/usr/lib/x86_64-linux-gnu/xenomai
--enable-fortify --libdir=/usr/lib/x86_64-linux-gnu/ --enable-pshared
--enable-registry --enable-doc-build --enable-dlopen-libs --enable-tls
--enable-smp --with-core=cobalt --build x86_64-linux-gnu
build_alias=x86_64-linux-gnu CFLAGS=-g -O2
-fdebug-prefix-map=/build/xenomai-3.0.6+ds1=. -fstack-protector-strong -Wformat
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fno-omit-frame-pointer
LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed CPPFLAGS=-Wdate-time
-D_FORTIFY_SOURCE=2



when I try xeno-test, I got:

 xeno-test
Started child 2593: /bin/bash
/usr/lib/x86_64-linux-gnu/xenomai/xeno-test-run-wrapper /usr/bin/xeno-test
++ echo 0
++ testdir=/usr/lib/x86_64-linux-gnu/xenomai
++ /usr/lib/x86_64-linux-gnu/xenomai/smokey --run
init_memory_pool(): invalid pool
   0"000.022| BUG in heapobj_pkg_init_private(): [main] cannot initialize TLSF
memory manager


Any idea?

Best regards,

Leopold



-- 
--
Linux User 152692 GPG: 05F4A7A949A2D9AA
Catalonia
-
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

___
Xenomai mailing list
Xenomai@xenomai.org
https://xenomai.org/mailman/listinfo/xenomai