You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Daniel Huss (JIRA)" <ji...@apache.org> on 2015/05/05 00:05:07 UTC

[jira] [Resolved] (GROOVY-7411) IllegalAccessError: Other.staticMethod() return PackagePrivateType

     [ https://issues.apache.org/jira/browse/GROOVY-7411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Huss resolved GROOVY-7411.
---------------------------------
    Resolution: Invalid

> IllegalAccessError: Other.staticMethod() return PackagePrivateType
> ------------------------------------------------------------------
>
>                 Key: GROOVY-7411
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7411
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.4.3
>            Reporter: Daniel Huss
>              Labels: usertask
>         Attachments: minimal-example.zip
>
>
> (See attached example)
> Apologies for the dumb summary text - feel free to replace with a more accurate one :)
> A weird IllegalAccessError is thrown in method
> {code}
>   static SomeList someMethod( Object... args ) {
>         return new SomeList( args[0], args[1], args[2] ) // SomeList has default visibility
>   }
> {code}
> The constructor of SomeList is successfully invoked and 
> {{DefaultTypeTransformations::castToType}} seems to return without error 
> right before the JVM throws IllegalAccessError.
> {noformat}Thread [main] (Suspended)	
> 	IllegalAccessError.<init>(String) line: 56	
> 	Other.someList(String...) line: 6	
> 	Other$someList.call(Object, Object) line: not available	
> 	Issue$1.create(String...) line: 35	
> 	Issue$1(TestStringListGenerator).create(Object...) line: 44	
> 	Issue$1(TestStringListGenerator).create(Object[]) line: 29	
> 	OneSizeGenerator<T,E>.createTestSubject() line: 68	
> 	CollectionAddAllTester<E>(AbstractContainerTester<C,E>).resetContainer() line: 63	
> 	CollectionAddAllTester<E>(AbstractContainerTester<C,E>).setUp() line: 45	
> 	CollectionAddAllTester<E>(TestCase).runBare() line: 139	
> 	TestResult$1.protect() line: 122	
> 	TestResult.runProtected(Test, Protectable) line: 142	
> 	TestResult.run(TestCase) line: 125	
> 	CollectionAddAllTester<E>(TestCase).run(TestResult) line: 129	
> 	TestSuite.runTest(Test, TestResult) line: 252	
> 	TestSuite.run(TestResult) line: 247	
> 	TestSuite.runTest(Test, TestResult) line: 252	
> 	TestSuite.run(TestResult) line: 247	
> 	TestSuite.runTest(Test, TestResult) line: 252	
> 	TestSuite.run(TestResult) line: 247	
> 	AllTests(JUnit38ClassRunner).run(RunNotifier) line: 86	
> 	JUnitCore.run(Runner) line: 137	
> 	JUnitCore.run(Request) line: 115	
> 	JUnitCore$run.call(Object, Object[]) line: not available	
> 	CallSiteArray.defaultCall(CallSite, Object, Object[]) line: 45	
> 	AbstractCallSite.call(Object, Object[]) line: 110	
> 	AbstractCallSite.call(Object, Object) line: 122	
> 	Issue.run() line: 24	
> 	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
> 	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57	
> 	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43	
> 	Method.invoke(Object, Object...) line: 606	
> 	TestIssue.guavaTestLibIllegalAccess() line: 28	
> 	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
> 	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57	
> 	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43	
> 	Method.invoke(Object, Object...) line: 606	
> 	FrameworkMethod$1.runReflectiveCall() line: 50	
> 	FrameworkMethod$1(ReflectiveCallable).run() line: 12	
> 	FrameworkMethod.invokeExplosively(Object, Object...) line: 47	
> 	InvokeMethod.evaluate() line: 17	
> 	BlockJUnit4ClassRunner(ParentRunner<T>).runLeaf(Statement, Description, RunNotifier) line: 325	
> 	BlockJUnit4ClassRunner.runChild(FrameworkMethod, RunNotifier) line: 78	
> 	BlockJUnit4ClassRunner.runChild(Object, RunNotifier) line: 57	
> 	ParentRunner$3.run() line: 290	
> 	ParentRunner$1.schedule(Runnable) line: 71	
> 	BlockJUnit4ClassRunner(ParentRunner<T>).runChildren(RunNotifier) line: 288	
> 	ParentRunner<T>.access$000(ParentRunner, RunNotifier) line: 58	
> 	ParentRunner$2.evaluate() line: 268	
> 	BlockJUnit4ClassRunner(ParentRunner<T>).run(RunNotifier) line: 363	
> 	JUnit4Provider.execute(Class<?>, RunNotifier, String[]) line: 283	
> 	JUnit4Provider.executeWithRerun(Class<?>, RunNotifier, String[]) line: 173	
> 	JUnit4Provider.executeTestSet(Class<?>, RunListener, RunNotifier) line: 153	
> 	JUnit4Provider.invoke(Object) line: 128	
> 	ForkedBooter.invokeProviderInSameClassLoader(Object, Object, ProviderConfiguration, boolean, StartupConfiguration, boolean) line: 203	
> 	ForkedBooter.runSuitesInProcess(Object, StartupConfiguration, ProviderConfiguration, PrintStream) line: 155	
> 	ForkedBooter.main(String[]) line: 103	
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)