CDV ❯ DSO not paged for reflection invoked method
-
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:
- 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 cruise@su10mo5 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 cruise@su10mo5 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 = Node$Dso@1540de0
not that helps much, but think this is the same as CDV-554