Ok, I'll will wait a bit before I try to reproduce it :-)

Am 03.01.2017 um 14:34 schrieb Marshall Schor:
> Hi Peter, thanks for your comments.
>
> Some notes:
>
> 1) The Java used is Java 8 (oracle, version 112 I think), which might be 
> different.
>
> 2) I'm running with the last Ruta release from the svn tag.
>
> 3) The uima v3 is not checked in in a working state with the fixes I put in 
> for
> bugs found with Ruta testing.
>
> There's a bit of scaffolding needed to test with uima v3 at the moment,
> including building a version of uimaFIT with some changes for v3 (in the test
> cases). The poms have to change because Java 8 is required.
>
> I haven't tried reproducing this using Java 8 with the tag - I'll do that.  I
> think you probably should not bother trying to reproduce this with uima v3 
> (yet)...
>
> -Marshall
>
> On 1/3/2017 3:48 AM, Peter Klügl wrote:
>> Hi,
>>
>>
>> first of all, thanks for testing :-)
>>
>>
>> comments below...
>>
>>
>> Am 02.01.2017 um 20:11 schrieb Marshall Schor:
>>> Hi,
>>>
>>> I'm testing UIMA version 3 with Ruta Core.  Found 1 bug (and fixed it) in 
>>> v3 :-).
>>>
>>> A lot of the Ruta core tests work at this point.
>>>
>>> One test, the SubAtomicTest, fails with an assertion failure at the 
>>> assertions
>>> in lines 68-71.  When I "single step" the call in line 61 to
>>> RutaTestUtils.process, (running large parts at full speed, others single
>>> stepping), it works.  At full speed, it seems to add fewer Annotations to 
>>> the
>>> CAS indexes.
>>>
>>> So I'm trying to guess what might be going wrong at full speed. 
>>>
>>>    Does this test or Ruta make any use of multi-threading?
>> No multi-threading. Parallelization is only applied on component or
>> pipeline level. There should of course no difference at all when debugging.
>>
>>>    What is this test doing that's different from the many other tests (that 
>>> run OK)?
>> Not so much. The test checks if the internal "indexing" works if another
>> component adds annotations that are smaller than the usual ones. This
>> forces the implementation to update the RutaBasic annotations
>>
>>> The single stepping is hard to comprehend (for me) because there's lots of
>>> indirection and deep calling stacks.  Is there some general debugging 
>>> switch I
>>> should turn on to make this more comprehensible what's going wrong?  I have 
>>> the
>>> advantage of two identical implementations (only changing the underlying 
>>> UIMA
>>> version) so I can run them side-by-side and look at where the difference 
>>> happens.
>> There is no additional debugging help. The implementation is actually
>> designed this way in order to make debugging easier :-(
>> (Well, in contrast to processing all language elements of one rule
>> within one loop. There are also some historical reasons.)
>>
>> I had a similar problem one time when there was a different Java
>> version. Something changed in the behavior of TreeMaps/TreeSets. Do both
>> checkouts use the same java version?
>>
>> I assume you use the current trunk of Ruta? First, I would check the
>> RutaBasic annotations in the CAS before and after method
>> RutaStream.initalizeBasics(), especially for the second process() in the
>> test.
>>
>> I'll try to reproduce the problem today.
>>
>>
>> Peter
>>
>>> -Marshall
>>>
>>>

Reply via email to