StmBench7- stmbench7.core.RuntimeError: ST7: unexpected beginning of Document.text!

47 views
Skip to first unread message

FM

unread,
Apr 26, 2012, 10:57:18 AM4/26/12
to Deuce-STM developers
Both versions of DeucesSTM: from the github and the release 1.3.0,
raise a stmbench7.core.RuntimeError on StmBench7 with the message
“ST7: unexpected beginning of Document.text!”. I tested the StmBench7
with the following configuration: -t 4 -w r --no-traversals --no-sms,
in my laptop with an Intel i7processor

I tested with the StmBench7 version 1.2 (from
http://lpd.epfl.ch/gramoli/doc/sw/sb7_java-v1.2.tgz) and with that one
available with tests project of the DeuceStm. In both cases the same
RuntimeError occurs and it also fails checking the invariants with the
following message: “ Invariant violated! Object
org.deuce.benchmark.stmbench7.impl.core.DocumentImpl with id = 83:
attribute text (prefix) --> expected value = I am / This is the
documentation for composite part #..., found =”

I also tested with tl2 and lsa and it have the same behavior for both
STMs except for the TL2 from the github repository. In this case the
benchmark hangs and does not stop running. In the other 3 cases (lsa
from github, lsa v1.3.0 and tl2 v1.3.0) the STMBench7 always raise the
previous mentioned error.

fmcarvalho

unread,
Dec 4, 2012, 7:27:11 AM12/4/12
to deuce-stm-...@googlegroups.com

I don’t know the reason but the RuntimeError with the message “ST7: unexpected beginning of Document.text!” disappears if we exclude the java.lang.String from the instrumentation of the StmBench7.

Excluding the String, this means that every time a String is accessed by a transactional method it will be avoided STM barriers when accessing the String fields. Yet, this behavior does not seems to me inconsistent since Strings are Immutable objects, so I think that it is a good practice to exclude this class from Deuce Instrumentation.

Guy Korland

unread,
Dec 4, 2012, 8:13:40 AM12/4/12
to deuce-stm-...@googlegroups.com
String is excluded by default, only when you manually instrument the rt.jar it tries to.

On Tue, Dec 4, 2012 at 2:27 PM, fmcarvalho <mcar...@cc.isel.ipl.pt> wrote:

I don’t know the reason but the RuntimeError with the message “ST7: unexpected beginning of Document.text!” disappears if we exclude the java.lang.String from the instrumentation of the StmBench7.

Excluding the String, this means that every time a String is accessed by a transactional method it will be avoided STM barriers when accessing the String fields. Yet, this behavior does not seems to me inconsistent since Strings are Immutable objects, so I think that it is a good practice to exclude this class from Deuce Instrumentation.

--
You received this message because you are subscribed to the Google Groups "Deuce-STM developers" group.
To view this discussion on the web visit https://groups.google.com/d/msg/deuce-stm-developers/-/OSaKxSKR8QsJ.

To post to this group, send email to deuce-stm-...@googlegroups.com.
To unsubscribe from this group, send email to deuce-stm-develo...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/deuce-stm-developers?hl=en.

fmcarvalho

unread,
Dec 4, 2012, 10:03:08 AM12/4/12
to deuce-stm-...@googlegroups.com
Please, could you be a little bit more precise about “String is excluded by default”? 

Are you referring to the default exclude property that is initialized with "java.*,sun.*,org.eclipse.*,org.junit.*,junit.*" and therefore excludes the String class?

Guy Korland

unread,
Dec 4, 2012, 10:36:25 AM12/4/12
to deuce-stm-...@googlegroups.com
right.

On Tue, Dec 4, 2012 at 5:03 PM, fmcarvalho <mcar...@cc.isel.ipl.pt> wrote:
Please, could you be a little bit more precise about “String is excluded by default”? 

Are you referring to the default exclude property that is initialized with "java.*,sun.*,org.eclipse.*,org.junit.*,junit.*" and therefore excludes the String class?

--
You received this message because you are subscribed to the Google Groups "Deuce-STM developers" group.

fmcarvalho

unread,
Dec 4, 2012, 11:00:25 AM12/4/12
to deuce-stm-...@googlegroups.com
But the default exclude property does not allow the correct synchronization of StmBench7!!! When you run the StmBench7 you must specify a different exclude property.

If you use the default exclude property then you are excluding too all the sub packages of java including the java.util and then you will avoid all the STM barriers for the majority of the transactional objects such as the collections of the java.util that are largely used in the StmBench7.

To get a consistent synchronization we must instrument the java.util.* and we must also specify a different Exclude property when we instrument the StmBench7, to avoid the default exclude property. But in this case you will get the “RuntimeError: ST7: unexpected beginning of Document.text!” that I am reporting in this post.

And, the only solution I got to solve this problem it is to exclude the java.lang.String when we instrument the StmBench7.

Guy Korland

unread,
Dec 4, 2012, 11:11:52 AM12/4/12
to deuce-stm-...@googlegroups.com
Ok, got you.
Reply all
Reply to author
Forward
0 new messages