CDV ❯ NPE in TCDistributedCacheExpirationTest
-
Bug
-
Status: Closed
-
2 Major
-
Resolution: Won't Fix
-
-
-
teck
-
Reporter: teck
-
March 18, 2009
-
0
-
Watchers: 1
-
July 27, 2012
-
May 29, 2009
Attachments
Description
I’m creating this JIRA to keep a record of it. It is a complete mystery how this can get generated (there is no apparent StringBuilder in there). I don’t think it needs a target unless we see it again
java.lang.NullPointerException at java.lang.StringBuilder.append(StringBuilder.java:55) at org.terracotta.modules.dmap.impl.Timestamp.__tc_wrapped_expiresAt(Timestamp.java:117) at org.terracotta.modules.dmap.impl.Timestamp.expiresAt(Timestamp.java) at org.terracotta.modules.dmap.impl.Timestamp.isExpired(Timestamp.java:106) at org.terracotta.modules.tccache.StoreImpl.checkExpired(StoreImpl.java:185) at org.terracotta.modules.tccache.StoreImpl.get(StoreImpl.java:122) at org.terracotta.modules.tccache.TCDistributedCacheImpl.get(TCDistributedCacheImpl.java:95) at org.terracotta.modules.tccache.TCDistributedCacheExpirationTest$App$1.run(TCDistributedCacheExpirationTest.java:132)
Comments
Geert Bevin 2009-03-25
Tim Eck 2009-05-29
Haven’t seen this again and I’m going to chalk this one up to the general flakiness of solaris 1.6 client VM (like MNK-1005)
I took a look at this and it’s indeed mysterious.
When I look at the adapted bytecode I see that line number 117 is actually the first line of the adapted method. This makes me wonder if there’s maybe another tool installed that might be instrumenting bytecode, like a profiler or some aspect thingie.
private long __tc_wrapped_expiresAt(); Code: Stack=4, Locals=3, Args_size=1 0: aload_0 1: invokevirtual #155; //Method __tc_getexpiresFromTTLAt:()J 4: lstore_1 5: aload_0 6: invokevirtual #155; //Method __tc_getexpiresFromTTLAt:()J 9: lconst_0 10: lcmp 11: ifeq 32 14: aload_0 15: invokevirtual #142; //Method __tc_getexpiresFromTTIAt:()J 18: lconst_0 19: lcmp 20: ifeq 37 23: aload_0 24: invokevirtual #142; //Method __tc_getexpiresFromTTIAt:()J 27: lload_1 28: lcmp 29: ifge 37 32: aload_0 33: invokevirtual #142; //Method __tc_getexpiresFromTTIAt:()J 36: lstore_1 37: lload_1 38: lreturn LocalVariableTable: Start Length Slot Name Signature 0 39 0 this Lorg/terracotta/modules/dmap/impl/Timestamp; 5 34 1 expiresAt J LineNumberTable: line 117: 0 line 119: 5 line 120: 32 line 123: 37