[Bug 708] New: Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

Summary: Orocos does not support real time logging
Product: OCL
Version: trunk
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P3
Component: Other
AssignedTo: orocos-dev [..] ...
ReportedBy: kiwi [dot] net [..] ...
CC: orocos-dev [..] ...
Estimated Hours: 0.0

This is just to track patches and changes when adding in the realtime logging
capability.

Patches are against log4cpp v1.0 [1], and OCL in git.

[1] http://log4cpp.sourceforge.net/

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

Peter Soetens <peter [..] ...> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |peter [..] ...

--- Comment #26 from Peter Soetens <peter [..] ...> 2010-01-23 16:38:50 ---
(In reply to comment #21)
> Created an attachment (id=568)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=568) [details]
> Rolled up log4cpp v1.0 patch

Since the log4cpp project isn't really picking this up, maybe we should
consider to do it the 'ROS' way and import log4cpp + separate patch in OCL.

Peter

[Bug 708] Orocos does not support real time logging

On Jan 23, 2010, at 10:38 , Peter Soetens wrote:

> https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708
>
>
> Peter Soetens <peter [..] ...> changed:
>
> What |Removed |Added
> ----------------------------------------------------------------------------
> CC| |peter [..] ...
>
>
>
>
> --- Comment #26 from Peter Soetens <peter [..] ...> 2010-01-23 16:38:50 ---
> (In reply to comment #21)
>> Created an attachment (id=568)
> --> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=568) [details]
>> Rolled up log4cpp v1.0 patch
>
> Since the log4cpp project isn't really picking this up, maybe we should
> consider to do it the 'ROS' way and import log4cpp + separate patch in OCL.
>
> Peter

That exact thought has crossed my mind too. Let me go back and bug the log4cpp developers one more time, otherwise let's go down this track.

Stephen

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

--- Comment #25 from S Roderick <kiwi [dot] net [..] ...> 2009-11-13 14:52:59 ---
Created an attachment (id=572)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=572)
Catch memory pool exhaustion exceptions. Get thread names in real-time

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

--- Comment #24 from S Roderick <kiwi [dot] net [..] ...> 2009-11-13 14:52:42 ---
Created an attachment (id=571)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=571)
Add comentary and some cleanup of appenders

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

S Roderick <kiwi [dot] net [..] ...> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #558 is|0 |1
obsolete| |
Attachment #557 is|0 |1
obsolete| |

--- Comment #22 from S Roderick <kiwi [dot] net [..] ...> 2009-11-13 14:52:10 ---
Created an attachment (id=569)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=569)
Add real-time logging and modify deployers to support

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

--- Comment #23 from S Roderick <kiwi [dot] net [..] ...> 2009-11-13 14:52:25 ---
Created an attachment (id=570)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=570)
Cleanup test component. Add simple deployment example

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

S Roderick <kiwi [dot] net [..] ...> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #559 is|0 |1
obsolete| |

--- Comment #21 from S Roderick <kiwi [dot] net [..] ...> 2009-11-13 14:51:27 ---
Created an attachment (id=568)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=568)
Rolled up log4cpp v1.0 patch

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

--- Comment #20 from S Roderick <kiwi [dot] net [..] ...> 2009-11-10 20:13:48 ---
Oh, and if you don't provide enough memory (default is 20k), the deployers
currently segfault on any logging deployment test. I simply haven't added the
error checking and exception catching to deal with this yet. See "--help" on
any of the deployers.

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

S Roderick <kiwi [dot] net [..] ...> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #515 is|0 |1
obsolete| |

--- Comment #19 from S Roderick <kiwi [dot] net [..] ...> 2009-11-10 20:03:10 ---
Created an attachment (id=559)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=559)
Update rollup patch for log4cpp

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

S Roderick <kiwi [dot] net [..] ...> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #514 is|0 |1
obsolete| |

--- Comment #18 from S Roderick <kiwi [dot] net [..] ...> 2009-11-10 20:01:16 ---
Created an attachment (id=558)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=558)
Update TLSF patch to build as library, and make useable within C++

This will eventually be unnecessary, once TLSF is integrated into RTT v2

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

S Roderick <kiwi [dot] net [..] ...> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #521 is|0 |1
obsolete| |
Attachment #520 is|0 |1
obsolete| |
Attachment #519 is|0 |1
obsolete| |
Attachment #518 is|0 |1
obsolete| |
Attachment #510 is|0 |1
obsolete| |

--- Comment #17 from S Roderick <kiwi [dot] net [..] ...> 2009-11-10 19:59:35 ---
Created an attachment (id=557)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=557)
Add support for real-time logging

Provides real-time logging, including deployment support.

Tested on Heron, Jauntalope, Koala and Snow Leopard.

Requires #728 patches to provide real-time memory allocation support.

Also requires attached patches to TLSF and log4cpp.

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

--- Comment #16 from Peter Soetens <peter [..] ...> 2009-11-10 15:28:07 ---
I looked briefly through your patches, especially with respect to TLSF. You
assume TLSF is installed as a library, while I had plans to embed it into RTT.
Will your patches break painfully if I require tlsf to come from rtt/os/tlsf ?

I also had these in my rtt/os/tlsf/tlsf.h file in order to avoid clashes with
an installed tlsf version:

#define tlsf_malloc oro_rt_malloc
#define tlsf_free oro_rt_free
#define tlsf_realloc oro_rt_realloc
#define tlsf_calloc oro_rt_calloc

Peter

[Bug 708] Orocos does not support real time logging

On Nov 10, 2009, at 09:28 , Peter Soetens wrote:

> https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708
>
>
>
>
>
> --- Comment #16 from Peter Soetens <peter [..] ...>
> 2009-11-10 15:28:07 ---
> I looked briefly through your patches, especially with respect to
> TLSF. You
> assume TLSF is installed as a library, while I had plans to embed it
> into RTT.
> Will your patches break painfully if I require tlsf to come from rtt/
> os/tlsf ?
>
> I also had these in my rtt/os/tlsf/tlsf.h file in order to avoid
> clashes with
> an installed tlsf version:
>
> #define tlsf_malloc oro_rt_malloc
> #define tlsf_free oro_rt_free
> #define tlsf_realloc oro_rt_realloc
> #define tlsf_calloc oro_rt_calloc
>
> Peter

No, don't think it will be a big deal. TLSF embedded into RTT is only
on the v2.x mainline branch, right? I will hack it into my v1.x
install for now, to match.

I am working up another patch set that allows the deployers to accept
the memory size for TLSF from the command line. How did you plan to
integrate this? My pending patch set might be irrelevant then ...?

Stephen

[Bug 708] Orocos does not support real time logging

On Nov 10, 2009, at 09:38 , S Roderick wrote:

> On Nov 10, 2009, at 09:28 , Peter Soetens wrote:
>
>> https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708
>>
>>
>>
>>
>>
>> --- Comment #16 from Peter Soetens <peter [..] ...>
>> 2009-11-10 15:28:07 ---
>> I looked briefly through your patches, especially with respect to
>> TLSF. You
>> assume TLSF is installed as a library, while I had plans to embed it
>> into RTT.
>> Will your patches break painfully if I require tlsf to come from rtt/
>> os/tlsf ?
>>
>> I also had these in my rtt/os/tlsf/tlsf.h file in order to avoid
>> clashes with
>> an installed tlsf version:
>>
>> #define tlsf_malloc oro_rt_malloc
>> #define tlsf_free oro_rt_free
>> #define tlsf_realloc oro_rt_realloc
>> #define tlsf_calloc oro_rt_calloc
>>
>> Peter
>
> No, don't think it will be a big deal. TLSF embedded into RTT is only
> on the v2.x mainline branch, right? I will hack it into my v1.x
> install for now, to match.

Can you ship me a patch for just the TLSF additions to RTT v2? Doesn't
have to be fully complete, just enough so that I can backport my
patches against it to reduce future pain. Even just the "rtt/os/tlsf/"
directory would be enough for starters ...

Cheers
Stephen

[Bug 708] Orocos does not support real time logging

On Tue, Nov 10, 2009 at 20:16, S Roderick <kiwi [dot] net [..] ...> wrote:
> On Nov 10, 2009, at 09:38 , S Roderick wrote:
>
>> On Nov 10, 2009, at 09:28 , Peter Soetens wrote:
>>
>>> https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708
>>>
>>>
>>>
>>>
>>>
>>> --- Comment #16 from Peter Soetens <peter [..] ...>
>>> 2009-11-10 15:28:07 ---
>>> I looked briefly through your patches, especially with respect to
>>> TLSF.  You
>>> assume TLSF is installed as a library, while I had plans to embed it
>>> into RTT.
>>> Will your patches break painfully if I require tlsf to come from rtt/
>>> os/tlsf ?
>>>
>>> I also had these in my rtt/os/tlsf/tlsf.h file in order to avoid
>>> clashes with
>>> an installed tlsf version:
>>>
>>> #define tlsf_malloc oro_rt_malloc
>>> #define tlsf_free oro_rt_free
>>> #define tlsf_realloc oro_rt_realloc
>>> #define tlsf_calloc oro_rt_calloc
>>>
>>> Peter
>>
>> No, don't think it will be a big deal. TLSF embedded into RTT is only
>> on the v2.x mainline branch, right? I will hack it into my v1.x
>> install for now, to match.

My old patches were on 1.8.x. I'll port them myself to 2.x.

>
> Can you ship me a patch for just the TLSF additions to RTT v2? Doesn't have
> to be fully complete, just enough so that I can backport my patches against
> it to reduce future pain. Even just the "rtt/os/tlsf/" directory would be
> enough for starters ...

It's a bit more, but its *untested*. There have to be mistakes in
there. Based on TLSF 2.4.4.

Peter

[Bug 708] Orocos does not support real time logging

On Nov 10, 2009, at 15:07 , Peter Soetens wrote:

> On Tue, Nov 10, 2009 at 20:16, S Roderick <kiwi [dot] net [..] ...> wrote:
>> On Nov 10, 2009, at 09:38 , S Roderick wrote:
>>
>>> On Nov 10, 2009, at 09:28 , Peter Soetens wrote:
>>>
>>>> https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --- Comment #16 from Peter Soetens <peter [..] ...>
>>>> 2009-11-10 15:28:07 ---
>>>> I looked briefly through your patches, especially with respect to
>>>> TLSF. You
>>>> assume TLSF is installed as a library, while I had plans to embed
>>>> it
>>>> into RTT.
>>>> Will your patches break painfully if I require tlsf to come from
>>>> rtt/
>>>> os/tlsf ?
>>>>
>>>> I also had these in my rtt/os/tlsf/tlsf.h file in order to avoid
>>>> clashes with
>>>> an installed tlsf version:
>>>>
>>>> #define tlsf_malloc oro_rt_malloc
>>>> #define tlsf_free oro_rt_free
>>>> #define tlsf_realloc oro_rt_realloc
>>>> #define tlsf_calloc oro_rt_calloc
>>>>
>>>> Peter
>>>
>>> No, don't think it will be a big deal. TLSF embedded into RTT is
>>> only
>>> on the v2.x mainline branch, right? I will hack it into my v1.x
>>> install for now, to match.
>
> My old patches were on 1.8.x. I'll port them myself to 2.x.
>
>>
>> Can you ship me a patch for just the TLSF additions to RTT v2?
>> Doesn't have
>> to be fully complete, just enough so that I can backport my patches
>> against
>> it to reduce future pain. Even just the "rtt/os/tlsf/" directory
>> would be
>> enough for starters ...
>
> It's a bit more, but its *untested*. There have to be mistakes in
> there. Based on TLSF 2.4.4.
>
> Peter
> <0001-Imported-raw-tlsf-library-into-rtt-os-tlsf.patch><0002-static-
> inline-some-functions-to-avoid-double-definit.patch><0003-tlsf-
> integrate-with-rtt-build-system.patch><0004-tlsf-add-C-allocator-
> using-rt_malloc-and-rt_free.patch>

Tested on Hardy and Jaunty. Required patches attached. I rebased to
git/rtt-1.0-svn-patches prior to applying patches, so hopefully all is
clean. I also had to manually apply part of the 0003 patch.

Note that RTT can't be built on macosx with integrated TLSF, as
"rt_mutex_t" is no longer in os/macosx/fosi.h. We now use os/Mutex.hpp
with boost mutexes. How do you think we should deal with this?

FYI note that RTT tests fail with

sroderick@vm-ubuntu-jaunty:/g/bo/rtt$ ./tests/state-test
Running 12 test cases...
/g/o/rtt/tests/state_test.cpp(987): error in  
"testStateTransitionStop": check gtask.stop() failed
 
*** 1 failure detected in test suite "Master Test Suite"

Moving on to integrate my rtalloc code on top of RTT::tlsf ... :-)

[Bug 708] Orocos does not support real time logging

On Nov 11, 2009, at 14:02 , Stephen Roderick wrote:

> On Nov 10, 2009, at 15:07 , Peter Soetens wrote:
>
>> On Tue, Nov 10, 2009 at 20:16, S Roderick <kiwi [dot] net [..] ...> wrote:
>>> On Nov 10, 2009, at 09:38 , S Roderick wrote:
>>>
>>>> On Nov 10, 2009, at 09:28 , Peter Soetens wrote:
>>>>
>>>>> https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --- Comment #16 from Peter Soetens <peter [..] ...>
>>>>> 2009-11-10 15:28:07 ---
>>>>> I looked briefly through your patches, especially with respect to
>>>>> TLSF. You
>>>>> assume TLSF is installed as a library, while I had plans to
>>>>> embed it
>>>>> into RTT.
>>>>> Will your patches break painfully if I require tlsf to come from
>>>>> rtt/
>>>>> os/tlsf ?
>>>>>
>>>>> I also had these in my rtt/os/tlsf/tlsf.h file in order to avoid
>>>>> clashes with
>>>>> an installed tlsf version:
>>>>>
>>>>> #define tlsf_malloc oro_rt_malloc
>>>>> #define tlsf_free oro_rt_free
>>>>> #define tlsf_realloc oro_rt_realloc
>>>>> #define tlsf_calloc oro_rt_calloc
>>>>>
>>>>> Peter
>>>>
>>>> No, don't think it will be a big deal. TLSF embedded into RTT is
>>>> only
>>>> on the v2.x mainline branch, right? I will hack it into my v1.x
>>>> install for now, to match.
>>
>> My old patches were on 1.8.x. I'll port them myself to 2.x.
>>
>>>
>>> Can you ship me a patch for just the TLSF additions to RTT v2?
>>> Doesn't have
>>> to be fully complete, just enough so that I can backport my
>>> patches against
>>> it to reduce future pain. Even just the "rtt/os/tlsf/" directory
>>> would be
>>> enough for starters ...
>>
>> It's a bit more, but its *untested*. There have to be mistakes in
>> there. Based on TLSF 2.4.4.
>>
>> Peter
>> <0001-Imported-raw-tlsf-library-into-rtt-os-tlsf.patch><0002-static-
>> inline-some-functions-to-avoid-double-definit.patch><0003-tlsf-
>> integrate-with-rtt-build-system.patch><0004-tlsf-add-C-allocator-
>> using-rt_malloc-and-rt_free.patch>
>
> Tested on Hardy and Jaunty. Required patches attached. I rebased to
> git/rtt-1.0-svn-patches prior to applying patches, so hopefully all
> is clean. I also had to manually apply part of the 0003 patch.

Tiny additional patch ...

[Bug 708] Orocos does not support real time logging

On Nov 11, 2009, at 15:28 , S Roderick wrote:

> On Nov 11, 2009, at 14:02 , Stephen Roderick wrote:
>
>> On Nov 10, 2009, at 15:07 , Peter Soetens wrote:
>>
>>> On Tue, Nov 10, 2009 at 20:16, S Roderick <kiwi [dot] net [..] ...> wrote:
>>>> On Nov 10, 2009, at 09:38 , S Roderick wrote:
>>>>
>>>>> On Nov 10, 2009, at 09:28 , Peter Soetens wrote:
>>>>>
>>>>>> https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --- Comment #16 from Peter Soetens <peter [..] ...>
>>>>>> 2009-11-10 15:28:07 ---
>>>>>> I looked briefly through your patches, especially with respect to
>>>>>> TLSF. You
>>>>>> assume TLSF is installed as a library, while I had plans to
>>>>>> embed it
>>>>>> into RTT.
>>>>>> Will your patches break painfully if I require tlsf to come
>>>>>> from rtt/
>>>>>> os/tlsf ?
>>>>>>
>>>>>> I also had these in my rtt/os/tlsf/tlsf.h file in order to avoid
>>>>>> clashes with
>>>>>> an installed tlsf version:
>>>>>>
>>>>>> #define tlsf_malloc oro_rt_malloc
>>>>>> #define tlsf_free oro_rt_free
>>>>>> #define tlsf_realloc oro_rt_realloc
>>>>>> #define tlsf_calloc oro_rt_calloc
>>>>>>
>>>>>> Peter
>>>>>
>>>>> No, don't think it will be a big deal. TLSF embedded into RTT is
>>>>> only
>>>>> on the v2.x mainline branch, right? I will hack it into my v1.x
>>>>> install for now, to match.
>>>
>>> My old patches were on 1.8.x. I'll port them myself to 2.x.
>>>
>>>>
>>>> Can you ship me a patch for just the TLSF additions to RTT v2?
>>>> Doesn't have
>>>> to be fully complete, just enough so that I can backport my
>>>> patches against
>>>> it to reduce future pain. Even just the "rtt/os/tlsf/" directory
>>>> would be
>>>> enough for starters ...
>>>
>>> It's a bit more, but its *untested*. There have to be mistakes in
>>> there. Based on TLSF 2.4.4.
>>>
>>> Peter
>>> <0001-Imported-raw-tlsf-library-into-rtt-os-tlsf.patch><0002-
>>> static-inline-some-functions-to-avoid-double-definit.patch><0003-
>>> tlsf-integrate-with-rtt-build-system.patch><0004-tlsf-add-C-
>>> allocator-using-rt_malloc-and-rt_free.patch>
>>
>> Tested on Hardy and Jaunty. Required patches attached. I rebased to
>> git/rtt-1.0-svn-patches prior to applying patches, so hopefully all
>> is clean. I also had to manually apply part of the 0003 patch.
>
> Tiny additional patch ...
>
> <0001-cmake-Correct-the-directory-for-installing-tlsf-head.patch>

I have now rebased my OCL real-time string patches on top of your RTT/
TLSF patches (plus my fixes). Only took a couple of hours ... gotta
love git sometimes ...

How do you want to handle this mix of RTT and OCL patches? Open a new
RTT bug to track the RTT/TLSF patches? Once we sort this out, I will
also rebase the logging patches on top of this patchset. I'm close to
the point of integrating this whole slew of stuff into one of our
research systems, and then we'll see how things really work out ...

Stephen

[Bug 708] Orocos does not support real time logging

On Wed, Nov 11, 2009 at 22:58, Stephen Roderick <kiwi [dot] net [..] ...> wrote:
> On Nov 11, 2009, at 15:28 , S Roderick wrote:
>
>> On Nov 11, 2009, at 14:02 , Stephen Roderick wrote:
>>
>>> On Nov 10, 2009, at 15:07 , Peter Soetens wrote:
>>>
>>>> On Tue, Nov 10, 2009 at 20:16, S Roderick <kiwi [dot] net [..] ...> wrote:
>>>>>
>>>>> On Nov 10, 2009, at 09:38 , S Roderick wrote:
>>>>>
>>>>>> On Nov 10, 2009, at 09:28 , Peter Soetens wrote:
>>>>>>
>>>>>>> https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --- Comment #16 from Peter Soetens <peter [..] ...>
>>>>>>> 2009-11-10 15:28:07 ---
>>>>>>> I looked briefly through your patches, especially with respect to
>>>>>>> TLSF.  You
>>>>>>> assume TLSF is installed as a library, while I had plans to embed it
>>>>>>> into RTT.
>>>>>>> Will your patches break painfully if I require tlsf to come from rtt/
>>>>>>> os/tlsf ?
>>>>>>>
>>>>>>> I also had these in my rtt/os/tlsf/tlsf.h file in order to avoid
>>>>>>> clashes with
>>>>>>> an installed tlsf version:
>>>>>>>
>>>>>>> #define tlsf_malloc oro_rt_malloc
>>>>>>> #define tlsf_free oro_rt_free
>>>>>>> #define tlsf_realloc oro_rt_realloc
>>>>>>> #define tlsf_calloc oro_rt_calloc
>>>>>>>
>>>>>>> Peter
>>>>>>
>>>>>> No, don't think it will be a big deal. TLSF embedded into RTT is only
>>>>>> on the v2.x mainline branch, right? I will hack it into my v1.x
>>>>>> install for now, to match.
>>>>
>>>> My old patches were on 1.8.x. I'll port them myself to 2.x.
>>>>
>>>>>
>>>>> Can you ship me a patch for just the TLSF additions to RTT v2? Doesn't
>>>>> have
>>>>> to be fully complete, just enough so that I can backport my patches
>>>>> against
>>>>> it to reduce future pain. Even just the "rtt/os/tlsf/" directory would
>>>>> be
>>>>> enough for starters ...
>>>>
>>>> It's a bit more, but its *untested*. There have to be mistakes in
>>>> there. Based on TLSF 2.4.4.
>>>>
>>>> Peter
>>>>
>>>> <0001-Imported-raw-tlsf-library-into-rtt-os-tlsf.patch><0002-static-inline-some-functions-to-avoid-double-definit.patch><0003-tlsf-integrate-with-rtt-build-system.patch><0004-tlsf-add-C-allocator-using-rt_malloc-and-rt_free.patch>
>>>
>>> Tested on Hardy and Jaunty. Required patches attached. I rebased to
>>> git/rtt-1.0-svn-patches prior to applying patches, so hopefully all is
>>> clean. I also had to manually apply part of the 0003 patch.
>>
>> Tiny additional patch ...
>>
>> <0001-cmake-Correct-the-directory-for-installing-tlsf-head.patch>
>
> I have now rebased my OCL real-time string patches on top of your RTT/TLSF
> patches (plus my fixes). Only took a couple of hours ... gotta love git
> sometimes ...
>
> How do you want to handle this mix of RTT and OCL patches? Open a new RTT
> bug to track the RTT/TLSF patches?

I'll soon push a rtt-2.0 branch to github containing these patches for
2.0. If you want to track them for 1.x, you can attach them to a bug
report. We could set them on 1.x trunk too (why not...) but I can't
promise for a 1.12 release anytime soon, or someone else volunteers to
become the maintainer of the 1.x branches.

Peter

[Bug 708] Orocos does not support real time logging

On Nov 13, 2009, at 05:10 , Peter Soetens wrote:

> On Wed, Nov 11, 2009 at 22:58, Stephen Roderick <kiwi [dot] net [..] ...> wrote:
>> On Nov 11, 2009, at 15:28 , S Roderick wrote:
>>
>>> On Nov 11, 2009, at 14:02 , Stephen Roderick wrote:
>>>
>>>> On Nov 10, 2009, at 15:07 , Peter Soetens wrote:
>>>>
>>>>> On Tue, Nov 10, 2009 at 20:16, S Roderick <kiwi [dot] net [..] ...> wrote:
>>>>>>
>>>>>> On Nov 10, 2009, at 09:38 , S Roderick wrote:
>>>>>>
>>>>>>> On Nov 10, 2009, at 09:28 , Peter Soetens wrote:
>>>>>>>
>>>>>>>> https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --- Comment #16 from Peter Soetens <peter [..] ...>
>>>>>>>> 2009-11-10 15:28:07 ---
>>>>>>>> I looked briefly through your patches, especially with respect to
>>>>>>>> TLSF. You
>>>>>>>> assume TLSF is installed as a library, while I had plans to embed it
>>>>>>>> into RTT.
>>>>>>>> Will your patches break painfully if I require tlsf to come from rtt/
>>>>>>>> os/tlsf ?
>>>>>>>>
>>>>>>>> I also had these in my rtt/os/tlsf/tlsf.h file in order to avoid
>>>>>>>> clashes with
>>>>>>>> an installed tlsf version:
>>>>>>>>
>>>>>>>> #define tlsf_malloc oro_rt_malloc
>>>>>>>> #define tlsf_free oro_rt_free
>>>>>>>> #define tlsf_realloc oro_rt_realloc
>>>>>>>> #define tlsf_calloc oro_rt_calloc
>>>>>>>>
>>>>>>>> Peter
>>>>>>>
>>>>>>> No, don't think it will be a big deal. TLSF embedded into RTT is only
>>>>>>> on the v2.x mainline branch, right? I will hack it into my v1.x
>>>>>>> install for now, to match.
>>>>>
>>>>> My old patches were on 1.8.x. I'll port them myself to 2.x.
>>>>>
>>>>>>
>>>>>> Can you ship me a patch for just the TLSF additions to RTT v2? Doesn't
>>>>>> have
>>>>>> to be fully complete, just enough so that I can backport my patches
>>>>>> against
>>>>>> it to reduce future pain. Even just the "rtt/os/tlsf/" directory would
>>>>>> be
>>>>>> enough for starters ...
>>>>>
>>>>> It's a bit more, but its *untested*. There have to be mistakes in
>>>>> there. Based on TLSF 2.4.4.
>>>>>
>>>>> Peter
>>>>>
>>>>> <0001-Imported-raw-tlsf-library-into-rtt-os-tlsf.patch><0002-static-inline-some-functions-to-avoid-double-definit.patch><0003-tlsf-integrate-with-rtt-build-system.patch><0004-tlsf-add-C-allocator-using-rt_malloc-and-rt_free.patch>
>>>>
>>>> Tested on Hardy and Jaunty. Required patches attached. I rebased to
>>>> git/rtt-1.0-svn-patches prior to applying patches, so hopefully all is
>>>> clean. I also had to manually apply part of the 0003 patch.
>>>
>>> Tiny additional patch ...
>>>
>>> <0001-cmake-Correct-the-directory-for-installing-tlsf-head.patch>
>>
>> I have now rebased my OCL real-time string patches on top of your RTT/TLSF
>> patches (plus my fixes). Only took a couple of hours ... gotta love git
>> sometimes ...
>>
>> How do you want to handle this mix of RTT and OCL patches? Open a new RTT
>> bug to track the RTT/TLSF patches?
>
> I'll soon push a rtt-2.0 branch to github containing these patches for
> 2.0. If you want to track them for 1.x, you can attach them to a bug
> report. We could set them on 1.x trunk too (why not...) but I can't
> promise for a 1.12 release anytime soon, or someone else volunteers to
> become the maintainer of the 1.x branches.

You start talking about new RTT maintainers, and everyone will start running for the hills!!! :-)

Personally, I'm not worried about releases. I plan to use these on a 1.x branch in my own git repo, but I will open a ticket so that others can follow along if they want to.

Thanks for your help with this.

Stephen

[Bug 708] Orocos does not support real time logging

On Fri, Nov 13, 2009 at 14:00, Stephen Roderick <kiwi [dot] net [..] ...> wrote:
> On Nov 13, 2009, at 05:10 , Peter Soetens wrote:
>
>> On Wed, Nov 11, 2009 at 22:58, Stephen Roderick <kiwi [dot] net [..] ...> wrote:
>>> On Nov 11, 2009, at 15:28 , S Roderick wrote:
>>>
>>>> On Nov 11, 2009, at 14:02 , Stephen Roderick wrote:
>>>>
>>>>> On Nov 10, 2009, at 15:07 , Peter Soetens wrote:
>>>>>
>>>>>> On Tue, Nov 10, 2009 at 20:16, S Roderick <kiwi [dot] net [..] ...> wrote:
>>>>>>>
>>>>>>> On Nov 10, 2009, at 09:38 , S Roderick wrote:
>>>>>>>
>>>>>>>> On Nov 10, 2009, at 09:28 , Peter Soetens wrote:
>>>>>>>>
>>>>>>>>> https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --- Comment #16 from Peter Soetens <peter [..] ...>
>>>>>>>>> 2009-11-10 15:28:07 ---
>>>>>>>>> I looked briefly through your patches, especially with respect to
>>>>>>>>> TLSF.  You
>>>>>>>>> assume TLSF is installed as a library, while I had plans to embed it
>>>>>>>>> into RTT.
>>>>>>>>> Will your patches break painfully if I require tlsf to come from rtt/
>>>>>>>>> os/tlsf ?
>>>>>>>>>
>>>>>>>>> I also had these in my rtt/os/tlsf/tlsf.h file in order to avoid
>>>>>>>>> clashes with
>>>>>>>>> an installed tlsf version:
>>>>>>>>>
>>>>>>>>> #define tlsf_malloc oro_rt_malloc
>>>>>>>>> #define tlsf_free oro_rt_free
>>>>>>>>> #define tlsf_realloc oro_rt_realloc
>>>>>>>>> #define tlsf_calloc oro_rt_calloc
>>>>>>>>>
>>>>>>>>> Peter
>>>>>>>>
>>>>>>>> No, don't think it will be a big deal. TLSF embedded into RTT is only
>>>>>>>> on the v2.x mainline branch, right? I will hack it into my v1.x
>>>>>>>> install for now, to match.
>>>>>>
>>>>>> My old patches were on 1.8.x. I'll port them myself to 2.x.
>>>>>>
>>>>>>>
>>>>>>> Can you ship me a patch for just the TLSF additions to RTT v2? Doesn't
>>>>>>> have
>>>>>>> to be fully complete, just enough so that I can backport my patches
>>>>>>> against
>>>>>>> it to reduce future pain. Even just the "rtt/os/tlsf/" directory would
>>>>>>> be
>>>>>>> enough for starters ...
>>>>>>
>>>>>> It's a bit more, but its *untested*. There have to be mistakes in
>>>>>> there. Based on TLSF 2.4.4.
>>>>>>
>>>>>> Peter
>>>>>>
>>>>>> <0001-Imported-raw-tlsf-library-into-rtt-os-tlsf.patch><0002-static-inline-some-functions-to-avoid-double-definit.patch><0003-tlsf-integrate-with-rtt-build-system.patch><0004-tlsf-add-C-allocator-using-rt_malloc-and-rt_free.patch>
>>>>>
>>>>> Tested on Hardy and Jaunty. Required patches attached. I rebased to
>>>>> git/rtt-1.0-svn-patches prior to applying patches, so hopefully all is
>>>>> clean. I also had to manually apply part of the 0003 patch.
>>>>
>>>> Tiny additional patch ...
>>>>
>>>> <0001-cmake-Correct-the-directory-for-installing-tlsf-head.patch>
>>>
>>> I have now rebased my OCL real-time string patches on top of your RTT/TLSF
>>> patches (plus my fixes). Only took a couple of hours ... gotta love git
>>> sometimes ...
>>>
>>> How do you want to handle this mix of RTT and OCL patches? Open a new RTT
>>> bug to track the RTT/TLSF patches?
>>
>> I'll soon push a rtt-2.0 branch to github containing these patches for
>> 2.0. If you want to track them for 1.x, you can attach them to a bug
>> report. We could set them on 1.x trunk too (why not...) but I can't
>> promise for a 1.12 release anytime soon, or someone else volunteers to
>> become the maintainer of the 1.x branches.
>
> You start talking about new RTT maintainers, and everyone will start running for the hills!!! :-)

To answer that with a quote of Linus Torvalds this week:
"The fact is, maintainership does _not_ mean ownership. It means that
you should be _responsible_ for the code, and you get credit for it,
but if problems happen you do NOT "own" it. Not at all.

If you don't understand that, you shouldn't be a maintainer."

I couldn't agree more.

>
> Personally, I'm not worried about releases. I plan to use these on a 1.x branch in my own git repo, but I will open a ticket so that others can follow along if they want to.
>
> Thanks for your help with this.

Now that you're using git, why don't you push your 1.x branch to
github (name it 'for-peter'), then I can pull it in. It's gonna be
less time for you instead of creating bug reports and it's less time
for me to review and merge the patches in.

Peter

[Bug 708] Orocos does not support real time logging

On Nov 13, 2009, at 17:36 , Peter Soetens wrote:

> On Fri, Nov 13, 2009 at 14:00, Stephen Roderick <kiwi [dot] net [..] ...> wrote:
>> On Nov 13, 2009, at 05:10 , Peter Soetens wrote:
>>
>>> On Wed, Nov 11, 2009 at 22:58, Stephen Roderick <kiwi [dot] net [..] ...> wrote:
>>>> On Nov 11, 2009, at 15:28 , S Roderick wrote:
>>>>
>>>>> On Nov 11, 2009, at 14:02 , Stephen Roderick wrote:
>>>>>
>>>>>> On Nov 10, 2009, at 15:07 , Peter Soetens wrote:
>>>>>>
>>>>>>> On Tue, Nov 10, 2009 at 20:16, S Roderick <kiwi [dot] net [..] ...> wrote:
>>>>>>>>
>>>>>>>> On Nov 10, 2009, at 09:38 , S Roderick wrote:
>>>>>>>>
>>>>>>>>> On Nov 10, 2009, at 09:28 , Peter Soetens wrote:
>>>>>>>>>
>>>>>>>>>> https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

<sni

>>
>> Personally, I'm not worried about releases. I plan to use these on a 1.x branch in my own git repo, but I will open a ticket so that others can follow along if they want to.
>>
>> Thanks for your help with this.
>
> Now that you're using git, why don't you push your 1.x branch to
> github (name it 'for-peter'), then I can pull it in. It's gonna be
> less time for you instead of creating bug reports and it's less time
> for me to review and merge the patches in.

I've done this for bug 733, the integration of TLSF into RTT, plus my patches. I sent you a pull request. First time at this, so please let me know if it is working for you. If it works, then I will also do this for OCL and the other real-time logging related patches.

Also, I'm curious how people have setup their repo's if using github. Particularly when it comes to forking from an existing github repo. I've forked snrkiwi/orocos-rtt from psoetens/orocos-rtt. I then have a copy of that public repo on my machine. Am I better off then to clone this public repo to a private repo on my own machine, and work on the private repo, pushing to public and then to github periodically? Or am I better off trying to also link the public repo back to a completely separate private repo, which is separately tracking your github public repo? Ugh, kinda confusing ... any suggestions, anyone?

Lastly, if at all possible I am hoping to get all these patches into github for you this week. Would love to leave you plenty of patches for review, before I dissappear on a god-awful long flight home to some Kiwi sunshine for a month. :-)

Cheers
Stephen

[Bug 708] Orocos does not support real time logging

On Nov 13, 2009, at 17:36 , Peter Soetens wrote:

> On Fri, Nov 13, 2009 at 14:00, Stephen Roderick <kiwi [dot] net [..] ...> wrote:
>> On Nov 13, 2009, at 05:10 , Peter Soetens wrote:
>>
>>> On Wed, Nov 11, 2009 at 22:58, Stephen Roderick <kiwi [dot] net [..] ...> wrote:
>>>> On Nov 11, 2009, at 15:28 , S Roderick wrote:
>>>>
>>>>> On Nov 11, 2009, at 14:02 , Stephen Roderick wrote:
>>>>>
>>>>>> On Nov 10, 2009, at 15:07 , Peter Soetens wrote:
>>>>>>
>>>>>>> On Tue, Nov 10, 2009 at 20:16, S Roderick <kiwi [dot] net [..] ...> wrote:
>>>>>>>>
>>>>>>>> On Nov 10, 2009, at 09:38 , S Roderick wrote:
>>>>>>>>
>>>>>>>>> On Nov 10, 2009, at 09:28 , Peter Soetens wrote:
>>>>>>>>>
>>>>>>>>>> https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --- Comment #16 from Peter Soetens <peter [..] ...>
>>>>>>>>>> 2009-11-10 15:28:07 ---
>>>>>>>>>> I looked briefly through your patches, especially with respect to
>>>>>>>>>> TLSF. You
>>>>>>>>>> assume TLSF is installed as a library, while I had plans to embed it
>>>>>>>>>> into RTT.
>>>>>>>>>> Will your patches break painfully if I require tlsf to come from rtt/
>>>>>>>>>> os/tlsf ?
>>>>>>>>>>
>>>>>>>>>> I also had these in my rtt/os/tlsf/tlsf.h file in order to avoid
>>>>>>>>>> clashes with
>>>>>>>>>> an installed tlsf version:
>>>>>>>>>>
>>>>>>>>>> #define tlsf_malloc oro_rt_malloc
>>>>>>>>>> #define tlsf_free oro_rt_free
>>>>>>>>>> #define tlsf_realloc oro_rt_realloc
>>>>>>>>>> #define tlsf_calloc oro_rt_calloc
>>>>>>>>>>
>>>>>>>>>> Peter
>>>>>>>>>
>>>>>>>>> No, don't think it will be a big deal. TLSF embedded into RTT is only
>>>>>>>>> on the v2.x mainline branch, right? I will hack it into my v1.x
>>>>>>>>> install for now, to match.
>>>>>>>
>>>>>>> My old patches were on 1.8.x. I'll port them myself to 2.x.
>>>>>>>
>>>>>>>>
>>>>>>>> Can you ship me a patch for just the TLSF additions to RTT v2? Doesn't
>>>>>>>> have
>>>>>>>> to be fully complete, just enough so that I can backport my patches
>>>>>>>> against
>>>>>>>> it to reduce future pain. Even just the "rtt/os/tlsf/" directory would
>>>>>>>> be
>>>>>>>> enough for starters ...
>>>>>>>
>>>>>>> It's a bit more, but its *untested*. There have to be mistakes in
>>>>>>> there. Based on TLSF 2.4.4.
>>>>>>>
>>>>>>> Peter
>>>>>>>
>>>>>>> <0001-Imported-raw-tlsf-library-into-rtt-os-tlsf.patch><0002-static-inline-some-functions-to-avoid-double-definit.patch><0003-tlsf-integrate-with-rtt-build-system.patch><0004-tlsf-add-C-allocator-using-rt_malloc-and-rt_free.patch>
>>>>>>
>>>>>> Tested on Hardy and Jaunty. Required patches attached. I rebased to
>>>>>> git/rtt-1.0-svn-patches prior to applying patches, so hopefully all is
>>>>>> clean. I also had to manually apply part of the 0003 patch.
>>>>>
>>>>> Tiny additional patch ...
>>>>>
>>>>> <0001-cmake-Correct-the-directory-for-installing-tlsf-head.patch>
>>>>
>>>> I have now rebased my OCL real-time string patches on top of your RTT/TLSF
>>>> patches (plus my fixes). Only took a couple of hours ... gotta love git
>>>> sometimes ...
>>>>
>>>> How do you want to handle this mix of RTT and OCL patches? Open a new RTT
>>>> bug to track the RTT/TLSF patches?
>>>
>>> I'll soon push a rtt-2.0 branch to github containing these patches for
>>> 2.0. If you want to track them for 1.x, you can attach them to a bug
>>> report. We could set them on 1.x trunk too (why not...) but I can't
>>> promise for a 1.12 release anytime soon, or someone else volunteers to
>>> become the maintainer of the 1.x branches.
>>
>> You start talking about new RTT maintainers, and everyone will start running for the hills!!! :-)
>
> To answer that with a quote of Linus Torvalds this week:
> "The fact is, maintainership does _not_ mean ownership. It means that
> you should be _responsible_ for the code, and you get credit for it,
> but if problems happen you do NOT "own" it. Not at all.
>
> If you don't understand that, you shouldn't be a maintainer."
>
> I couldn't agree more.

Fair enough. Then it sounds like you could use some help ...

>> Personally, I'm not worried about releases. I plan to use these on a 1.x branch in my own git repo, but I will open a ticket so that others can follow along if they want to.
>>
>> Thanks for your help with this.
>
> Now that you're using git, why don't you push your 1.x branch to
> github (name it 'for-peter'), then I can pull it in. It's gonna be
> less time for you instead of creating bug reports and it's less time
> for me to review and merge the patches in.
>
> Peter

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

S Roderick <kiwi [dot] net [..] ...> changed:

What |Removed |Added
----------------------------------------------------------------------------
Depends on| |728

--- Comment #15 from S Roderick <kiwi [dot] net [..] ...> 2009-11-05 19:26:28 ---
Update depends

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

--- Comment #14 from Peter Soetens <peter [..] ...> 2009-10-27 16:17:52 ---
(In reply to comment #13)
> FYI, in case you are thinking of trying this, the log4cpp crowd want me to do
> this a little differently. So I'm going to have to refactor some ... ...

Some trace of a public ml discussion about this ?

Peter

[Bug 708] Orocos does not support real time logging

On Oct 27, 2009, at 11:17 , Peter Soetens wrote:

> https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708
>
>
>
>
>
> --- Comment #14 from Peter Soetens <peter [..] ...>
> 2009-10-27 16:17:52 ---
> (In reply to comment #13)
>> FYI, in case you are thinking of trying this, the log4cpp crowd
>> want me to do
>> this a little differently. So I'm going to have to refactor
>> some ... ...
>
> Some trace of a public ml discussion about this ?
>
> Peter

http://sourceforge.net/mailarchive/forum.php?forum_name=log4cpp-devel&ma...

It boils down to this. They basically want to introduce a factory
pattern to their Hierarchy Maintainer (which tracks all categories),
and have me introduce RT-specific Category and LoggingEvent classes
(instead of modifying theirs). This minimises the effects on log4cpp,
but adds a little extra work for me. We still use their
HierarchyMaintainer and all backend classes (appenders, layouts,
etc). My current set of patches actually modifies their LoggingEvent
to make it realtime, and pushes that through an Orocos buffer.

This isn't a big deal IMHO. Will take me a couple of days to get to it
though ...
Stephen

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

--- Comment #13 from S Roderick <kiwi [dot] net [..] ...> 2009-10-27 13:10:13 ---
FYI, in case you are thinking of trying this, the log4cpp crowd want me to do
this a little differently. So I'm going to have to refactor some ... ...

[Bug 708] Orocos does not support real time logging

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=708

--- Comment #3 from S Roderick <kiwi [dot] net [..] ...> 2009-10-11 16:31:18 ---
I have working log4cpp+OCL logging capability. This is '''NOT REALTIME''' - I
have just integrated log4cpp and Orocos, and are passing logging events through
Orocos data ports. There are many TODO's in here, but the basic integration is
complete (though we need a slightly better approach to the log4cpp
modifications, than just replacing their hierarchy maintainer). Next is
integration of TLSF ...

A couple of minor modifications are required to log4cpp v1.0 [5] and the rest
are additions to OCL. Patches are attached to this bug. After you've built
log4cpp and the modified OCL, test with:

cd /path/to/build/of/ocl/logging/tests
deployer-macosx -s data/good.xml -l info

The code uses the existing RTT logging to bootstrap, so some messages are
coming out there. There are other test case XML deployment files in the
''tests/data'' directory.

Tested on macosx with log4cpp v1.0 and Orocos from git.