Hi,

Some new insight:

I have included the rtnet list because I think this is of interest and I 
don;t know exactly where the problem arises. Most likely EML but which 
goes unnecessarily haywire when xenomai has a latency glitch which seems 
to be caused by rtcan but may also be rtnet (so the rest of you can stop 
reading here :) )

To refresh, I am running EML and rtcan together and separately they 
appear to function perfectly but when combined, EML sometimes starts 
ejecting the error:

EC_Telegram::index_check() : index not the same,
low_level_input() :  framebuilding failed.

Or something pretty closely to that effect.

Despite EML warning that the frame could not be built, the inputs (which 
rely on the framebuilding being succesful pretty stringently) seem to 
function perfectly. It seems as though EML is emitting a false warning.

I have now killed the warning from EML with the following hack:

In EC_Telegram::check_index() I have effectively killed the check by 
snubbing the holler and always returning true. Now the application no 
longer emits warnings and everything functions well (or so it seems). I 
have a sawtooth analog output on a scope which triggers well. It 
fluttered sometimes when EML emitted the warning. Presumably the 
fluttering is caused by some latency which I thought might be the result 
of EML emitting the warnings. However even without the warnings from EML 
this fluttering incidentally takes place. Generally I can increase the 
chance of this flutter (I will confirm this with a latency test later 
on) by clicking about in the user interface of my application (QT).


So EML seems to go haywire when there is latency and there seems to be 
latency when I am using rtcan. (Bit of latency can also be caused by 
clicking about but I think it is mainly rtcan causing the latency spikes 
and the clicking about just knocks it over the edge more often.)

I have also made the index that is supposedly not the same visible. For 
the EML chaps: index and m_idx and the output seems to be something like 
this

index   m_idx
0       1
0       0
1       2
2       3
2       3
3       4
4       5
:       :
:       :
253     254
0       2

or something to that effect. Can anyone comment on this?


P.S.

Everything else is sorted out now, application closes neatly all 
sockets, no buffer overruns, no errors in syslog etc.

Also I have managed to get the initialization of the socket to the non 
real-time context but the problem persists in exactly the same manner.

I have increased the rtskbf_cache_size. The problem occurs less 
frequently but certainly does not subside completely. Irrespective of 
how big I make it after that.  There is no mention of any problem in 
this regard in any of the logs anymore (dmesg syslog etc)

Roland.









These are the comments that have been made which may be relevant:



Jan Kiszka wrote:
> In 9 of 10 cases (if not more): timing. Running both alone doesn't
> expose some timing issue (race) or transient overload. I can't help with
> EML complaints, maybe the FMTC guys have an idea what can trigger this
> and how to debug it.

>>>>>> RTnet:rtskb allocation from real-time cache failed.

> You have created the socket for some/all EML activity from primary mode
> of some Xenomai thread, thus network buffer allocation is ought to run
> against the real-time rtskb pool - which is by default empty :p. See
> README.pools from the RTnet documentation on this.

Although this was a problem


> 
> I don't have the EML design at hand, but you might be able to avoid this
> by initialising before creating the shadow task or by explicitly
> switching to secondary mode before initialising. [Sorry for this issue,
> it's at least partly due to some outdated RTnet design.]
> 
> Jan
> 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
RTnet-users mailing list
RTnet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to