--
You received this message because you are subscribed to the Google Groups "PowerMock" group.
To post to this group, send email to powe...@googlegroups.com.
To unsubscribe from this group, send email to powermock+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/powermock?hl=en.
Hi Johan,
Thanks for the quick reply J
First of all, the FAQ is a bit misleading. Item 2 example should be @PowerMockIgnore({"org.xml.*", "javax.xml.*"}) and not PrepareForTest, I feel.
Secondly, yes, it fixes the problem in my test ( JayTest.java ).
However, when we try it in our actual testcase( a little more complex with other libraries etc ), we land up in all sorts of other problems from other libs( like guice, for example ).
It is very difficult to fix a an old sinking boat with a battered bottom, if you know what I mean J
But we will keep trying to find those classes that need to be ignored.
If you come up with other tips, please let me know.
Thanks.
cheers,
jay
--
--
--
cheers,
jay
java.lang.ExceptionInInitializerError
at java.lang.J9VMInternals.initialize(J9VMInternals.java:222)
at JosTest.<init>(JosTest.java:15)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:56)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39)
at java.lang.reflect.Constructor.newInstance(Constructor.java:527)
at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:209)
at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:258)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:255)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.RuntimeException: java.io.IOException: Unable to
enqueue operation: the target VM does not support attach mechanism
at org.powermock.modules.agent.JDK6AgentLoader.loadAgentAndDetachFromThisVM(JDK6AgentLoader.java:118)
at org.powermock.modules.agent.JDK6AgentLoader.loadAgent(JDK6AgentLoader.java:68)
at org.powermock.modules.agent.AgentInitialization.initializeAccordingToJDKVersion(AgentInitialization.java:32)
at org.powermock.modules.agent.PowerMockAgent.initializeIfNeeded(PowerMockAgent.java:75)
at org.powermock.modules.agent.PowerMockAgent.initializeIfPossible(PowerMockAgent.java:89)
at org.powermock.modules.junit4.rule.PowerMockRule.<clinit>(PowerMockRule.java:30)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
... 24 more
Caused by: java.io.IOException: Unable to enqueue operation: the
target VM does not support attach mechanism
at sun.tools.attach.WindowsVirtualMachine.enqueue(Native Method)
at sun.tools.attach.WindowsVirtualMachine.execute(WindowsVirtualMachine.java:78)
at sun.tools.attach.HotSpotVirtualMachine.loadAgentLibrary(HotSpotVirtualMachine.java:56)
at sun.tools.attach.HotSpotVirtualMachine.loadAgentLibrary(HotSpotVirtualMachine.java:77)
at sun.tools.attach.HotSpotVirtualMachine.loadAgent(HotSpotVirtualMachine.java:104)
at org.powermock.modules.agent.JDK6AgentLoader.loadAgentAndDetachFromThisVM(JDK6AgentLoader.java:108)
... 31 more
When we run with ant, our jvm crashes with output:
Unhandled exception
Type=Segmentation error vmState=0x00000000
J9Generic_Signal_Number=00000004 Signal_Number=0000000b
Error_Value=00000000 Signal_Code=00000001
Handler1=00002AAAAACE72C0 Handler2=00002AAAAB076160
InaccessibleAddress=0000000000000068
RDI=0000000000000000 RSI=00002AAAD5DB5C4B RAX=0000000000000008
RBX=00002AAAD5E0BFF0
RCX=000000001EFEC5F0 RDX=0000000000000000 R8=0000000000000000
R9=00002AAAD5E0C330
R10=0000000000000000 R11=0000000000001008 R12=000000001EE80990
R13=0000000000000008
R14=00002AAAAAE4B160 R15=00002AAAD1BC4A10
RIP=00002AAAAFE9EABE GS=0000 FS=0000 RSP=000000001EFEC580
EFlags=0000000000210202 CS=0033 RBP=000000001ED5DC00 ERR=0000000000000004
TRAPNO=000000000000000E OLDMASK=0000000000000000 CR2=0000000000000068
xmm0 0000000041040000 (f: 1090781184.000000, d: 5.389175e-315)
xmm1 000000003f400000 (f: 1061158912.000000, d: 5.242822e-315)
xmm2 00002aaad4d41e00 (f: 3570671104.000000, d: 2.317820e-310)
xmm3 000000001ed5dc00 (f: 517331968.000000, d: 2.555960e-315)
xmm4 0000000000000400 (f: 1024.000000, d: 5.059232e-321)
xmm5 00002aaad1bc4a10 (f: 3518777856.000000, d: 2.317818e-310)
xmm6 00002aaaaae4b160 (f: 2867114240.000000, d: 2.317785e-310)
xmm7 0000000000000400 (f: 1024.000000, d: 5.059232e-321)
xmm8 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm9 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm10 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm11 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm12 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm13 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm14 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm15 0000000000000000 (f: 0.000000, d: 0.000000e+00)
Module=/opt/IBM/WebSphere_7.0.0.13/AppServer/java/jre/lib/amd64/default/libjclscar_24.so
Module_base_address=00002AAAAFE50000
Symbol=sun_misc_Unsafe_putLong__Ljava_lang_Object_2JJ
Symbol_address=00002AAAAFE9EA7C
Target=2_40_20100923_065174 (Linux 2.6.18-194.el5)
CPU=amd64 (2 logical CPUs) (0xf285a000 RAM)
----------- Stack Backtrace -----------
Could you please have a look at it? Can you run in rad? Your help is
very very much appreciated!
Thanks in advance.
PS: this is my test
import org.junit.Rule;
import org.junit.Test;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.rule.PowerMockRule;
//@PrepareForTest(value = {MyFinalClass.class,MyStaticClass.class})
@PrepareForTest(value = {MyStaticClass.class})
//@RunWith(PowerMockRunner.class)
public class JosTest {
@Rule
public PowerMockRule rule = new PowerMockRule();
@Test
public void testFinal() throws Exception {
MyFinalClass finalClass = PowerMockito.mock(MyFinalClass.class);
PowerMockito.when(finalClass.getResult()).thenReturn("message from
mock final!!");
System.out.println(finalClass.getResult());
}
@Test
public void testStatic() throws Exception {
PowerMockito.mockStatic(MyStaticClass.class);
PowerMockito.when(MyStaticClass.getResult()).thenReturn("message
from mock static!!");
System.out.println(MyStaticClass.getResult());
}
}
Note: Recompile with -Xlint:unchecked for details.
Unhandled exception
Type=Segmentation error vmState=0x00000000
J9Generic_Signal_Number=00000004 Signal_Number=0000000b
Error_Value=00000000 Signal_Code=00000001
Handler1=00002AAAAACE72C0 Handler2=00002AAAAB076160
InaccessibleAddress=0000000000000068
RDI=0000000000000000 RSI=00002AAAD5DB5C4B RAX=0000000000000008
RBX=00002AAAD5E0BFF0
RCX=000000001EFEC5F0 RDX=0000000000000000 R8=0000000000000000
R9=00002AAAD5E0C330
R10=0000000000000000 R11=0000000000001008 R12=000000001EE80990
R13=0000000000000008
R14=00002AAAAAE4B160 R15=00002AAAD1BC4A10
RIP=00002AAAAFE9EABE GS=0000 FS=0000 RSP=000000001EFEC580
EFlags=0000000000210202 CS=0033 RBP=000000001ED5DC00 ERR=0000000000000004
TRAPNO=000000000000000E OLDMASK=0000000000000000 CR2=0000000000000068
xmm0 0000000041040000 (f: 1090781184.000000, d: 5.389175e-315)
xmm1 000000003f400000 (f: 1061158912.000000, d: 5.242822e-315)
xmm2 00002aaad4d41e00 (f: 3570671104.000000, d: 2.317820e-310)
xmm3 000000001ed5dc00 (f: 517331968.000000, d: 2.555960e-315)
xmm4 0000000000000400 (f: 1024.000000, d: 5.059232e-321)
xmm5 00002aaad1bc4a10 (f: 3518777856.000000, d: 2.317818e-310)
xmm6 00002aaaaae4b160 (f: 2867114240.000000, d: 2.317785e-310)
xmm7 0000000000000400 (f: 1024.000000, d: 5.059232e-321)
xmm8 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm9 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm10 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm11 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm12 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm13 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm14 0000000000000000 (f: 0.000000, d: 0.000000e+00)
xmm15 0000000000000000 (f: 0.000000, d: 0.000000e+00)
Module=/opt/IBM/WebSphere_7.0.0.13/AppServer/java/jre/lib/amd64/default/libjclscar_24.so
Module_base_address=00002AAAAFE50000
Symbol=sun_misc_Unsafe_putLong__Ljava_lang_Object_2JJ
Symbol_address=00002AAAAFE9EA7C
Target=2_40_20100923_065174 (Linux 2.6.18-194.el5)
CPU=amd64 (2 logical CPUs) (0xf285a000 RAM)
----------- Stack Backtrace -----------
sun_misc_Unsafe_putLong__Ljava_lang_Object_2JJ+0x42
(0x00002AAAAFE9EABE [libjclscar_24.so+0x4eabe])
---------------------------------------
JVMDUMP006I Processing dump event "gpf", detail "" - please wait.
JVMDUMP032I JVM requested System dump using
'/home/ant/tools/cruisecontrol/build_trunk/core.20110503.124246.27481.0001.dmp'
in response to an event
JVMDUMP010I System dump written to
/home/ant/tools/cruisecontrol/build_trunk/core.20110503.124246.27481.0001.dmp
JVMDUMP032I JVM requested Snap dump using
'/home/ant/tools/cruisecontrol/build_trunk/Snap.20110503.124246.27481.0002.trc'
in response to an event
JVMDUMP010I Snap dump written to
/home/ant/tools/cruisecontrol/build_trunk/Snap.20110503.124246.27481.0002.trc
JVMDUMP032I JVM requested Java dump using
'/home/ant/tools/cruisecontrol/build_trunk/javacore.20110503.124246.27481.0003.txt'
in response to an event
JVMDUMP010I Java dump written to
/home/ant/tools/cruisecontrol/build_trunk/javacore.20110503.124246.27481.0003.txt
JVMDUMP013I Processed dump event "gpf", detail "".
Sorry for the dumb questions, I just would love to see this fixed :)
Thanks in advance,
Nick
--