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 >>> >>>
