Hey Dan,

this would be great, as it would allow anyone who can reproduce a bug maybe 1 out of 10 times, to record the failed session and then send the captured data to a dev who could then replay it to see what went wrong.
If you can make a demo of this and present this at the f2f in Berlin, that would be great !

I think this would be a very valuable tool in our toolset to handle almost non-reproduceable bugs.

On 09/15/2015 07:32 AM, Dan Berindei wrote:
Hi Bela

I was able to reuse the configuration created by IntelliJ and run my
test in a loop outside the IDE, until I reproduced it. Unfortunately,
when I was tracing all of JGroups, it was also harder to reproduce,
the test JVM was crashing a lot, and I also had problems loading the
trace in the IDE.

I'll see if I can get a demo working for the November meeting, but
this was how I managed to reproduce it:

1. Figure out where the chronon configuration and recording are
stored, in my case:
CHRONON_DIR=$HOME/.IntelliJIdea14/system/chronon-recordings/2015_09_08_FullSyncWriteSkewTotalOrderTest_testPut1/

2. Copy the agent parameters from the IntelliJ console to
MAVEN_FORK_OPTS (this is Infinispan-specific, if maven-surefire isn't
forking you can use MAVEN_OPTS instead):
export MAVEN_FORK_OPTS="-javaagent:$HOME/.IntelliJIdea14/config/plugins/chronon/lib/recorder/recorder-3.70.0.200.jar=$CHRONON_DIR/config.txt
-agentpath:$HOME/.IntelliJIdea14/config/plugins/chronon/lib/recorder/native/librecorderagent64-3.0.7.so
-noverify"

3. Run these in a loop until you get a test failure:
rm -rf $CHRONON_DIR/*/ \
mvn test -pl core
'-Dtest=org.infinispan.tx.totalorder.simple.dist.FullSyncWriteSkewTotalOrderTest#testPut'

4. Open $CHRONON_DIR in IntelliJ with Run -> Open Chronon Recording.

5. Enjoy debugging backwards in time... Well, I haven't got to the
point where I enjoy it yet, but I think I made some progress :)

Cheers
Dan

On Tue, Sep 15, 2015 at 12:12 PM, Bela Ban <bban@redhat.com> wrote:
Hi Dan,

what a coincidence, I tried Chronon as well, but outside of IDEA as it
requires the commercial version and I only have the community version...

However, using something like Chronos is certainly worth looking into,
for all of us, as (as you mentioned) you only need to reproduce the
error once and can then go back in time to see the stack, variables etc,
so you know exactly what's going on.

If someone gets Chronos (or any other time travelling debugger) to work,
this would be worth a demo at our November meeting, and would add a tool
of tremendous value to our common toolset !

Any takers ?


On 09/15/2015 03:19 AM, Dan Berindei wrote:
Hi guys

Sorry for missing the meeting yesterday, I was out most of the day.

I started last week trying to help Bela with the TCP_NIO2 problems. I
wasn't quite satisfied with JGroups' logging, so I tried to use the
Chronon embedded with IntelliJ to debug the tests. In theory it's nice
because you only have to reproduce a random failure once, and you can
replay the trace as many times as you want, but I got IntelliJ to hang
way too many times, so I had to give up. Bela fixed the correctness
problem by himself, but the test suite is about 50% slower with
TCP_NIO2, so we can't use it instead of TCP without further
investigation.

Then I got back to ISPN-5699, and after a lot of fiddling with the
EntryFactoryImpl methods and fixing failing tests, this morning I
finally issued the PR.

This week, I need to look into a replicated-mode read performance
regression, and then get back to the sequential interceptor
interfaces.

Cheers
Dan


On Mon, Sep 14, 2015 at 6:46 PM, Tristan Tarrant <ttarrant@redhat.com> wrote:
Hi all,

here are the meeting minutes from today's IRC meeting:

http://transcripts.jboss.org/meeting/irc.freenode.org/infinispan/2015/infinispan.2015-09-14-14.02.log.html

Enjoy

Tristan
--
Tristan Tarrant
Infinispan Lead
JBoss, a division of Red Hat
_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev