• Bug
  • Status: Open
  • 2 Major
  • Resolution:
  • prodmgmt
  • Reporter: hmak
  • May 15, 2009
  • 0
  • Watchers: 1
  • March 19, 2010

Attachments

Description

When a DSO enters-exits a clustered LinkedBlockingQueue, its contents are not always paged in (references are null). This happens when its contents passed as an argument to java.lang.reflect.Method.invoke().

The workaround seems to be to traverse all contents before handing off the DSO to the reflection invoked method.

Reproduce case:

  1. Run attach program twice. 1st instance will be consumer. 2nd instance will be producer.

Actual results (when ENABLE_WORKAROUND = false) will be:

2009-05-15 15:00:16,298 INFO - Terracotta 3.0.0, as of 20090410-200435 (Revision 12431 by [email protected] from 3.0)
2009-05-15 15:00:16,673 INFO - Configuration loaded from the file at 'K:\trunk\_VMP63\vsw\workspaces\eclipse\native\_pagein\tc-config.xml'.
2009-05-15 15:00:16,798 INFO - Log file: 'K:\trunk\_VMP63\vsw\workspaces\eclipse\native\_pagein\terracotta\client-logs\terracotta-client.log'.
2009-05-15 15:00:18,610 INFO - Connection successfully established to server at 10.52.2.186:9510

Consumer waiting ...
Exception in thread "main" java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at Node$Task.\_\_tc\_wrapped\_run(Node.java:35)
	at Node$Task.run(Node.java)
	at Node.main(Node.java:49)
Caused by: java.lang.Exception: DSO field not faulted in!
	at Node$Task.foo(Node.java:23)
	... 7 more

Expected results (gotten w/ ENABLE_WORKAROUND = true):

2009-05-15 15:00:16,298 INFO - Terracotta 3.0.0, as of 20090410-200435 (Revision 12431 by [email protected] from 3.0)
2009-05-15 15:00:16,673 INFO - Configuration loaded from the file at 'K:\trunk\_VMP63\vsw\workspaces\eclipse\native\_pagein\tc-config.xml'.
2009-05-15 15:00:16,798 INFO - Log file: 'K:\trunk\_VMP63\vsw\workspaces\eclipse\native\_pagein\terracotta\client-logs\terracotta-client.log'.
2009-05-15 15:00:18,610 INFO - Connection successfully established to server at 10.52.2.186:9510

Consumer waiting ...
arg1 = [email protected]

Comments

Tim Eck 2009-05-15

not that helps much, but think this is the same as CDV-554