Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.6 RC: Compile-time serialization errors, perhaps for @Context parameter #32

Open
PokingUrsa opened this issue Aug 30, 2019 · 1 comment

Comments

@PokingUrsa
Copy link

PokingUrsa commented Aug 30, 2019

With the 0.6 RC (using Java 8), I'm getting the compile-time errors below for code that is calling a REST service with an @context parameter.

XxxYyy xxxYyy(@HeaderParam("X-yyy") String yyy, @context HttpServletRequest request);

The servlet container provides the request object. I think Flavour should ignore it. I can't add @JsonPersistable since I don't own HttpServletRequest.

This may be related to #27

[ERROR] Error calling proxy method org.teavm.flavour.json.JSON.getClassDeserializer(Lorg/teavm/metaprogramming/ReflectClass;)V: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.teavm.metaprogramming.impl.UsageGenerator.emitPermutation(UsageGenerator.java:159)
        at org.teavm.metaprogramming.impl.UsageGenerator.lambda$installProxyEmitter$0(UsageGenerator.java:84)
        at org.teavm.dependency.DependencyAnalyzer.schedulePropagation(DependencyAnalyzer.java:323)
        at org.teavm.dependency.DependencyNode.scheduleSingleType(DependencyNode.java:96)
        at org.teavm.dependency.DependencyNode.propagate(DependencyNode.java:68)
        at org.teavm.dependency.Transition.propagate(Transition.java:51)
        at org.teavm.dependency.Transition.consume(Transition.java:39)
        at org.teavm.dependency.DependencyAnalyzer.processNodeToNodeTransitionQueue(DependencyAnalyzer.java:683)
        at org.teavm.dependency.DependencyAnalyzer.processQueue(DependencyAnalyzer.java:655)
        at org.teavm.dependency.DependencyAnalyzer.processDependencies(DependencyAnalyzer.java:697)
        at org.teavm.vm.TeaVM.build(TeaVM.java:376)
        at org.teavm.tooling.TeaVMTool.generate(TeaVMTool.java:413)
        at org.teavm.tooling.builder.InProcessBuildStrategy.build(InProcessBuildStrategy.java:247)
        at org.teavm.maven.TeaVMCompileMojo.executeWithBuilder(TeaVMCompileMojo.java:289)
        at org.teavm.maven.TeaVMCompileMojo.execute(TeaVMCompileMojo.java:238)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
        at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:200)
        at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:196)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
        at org.teavm.flavour.json.emit.ClassInformationProvider.createClassInformation(ClassInformationProvider.java:85)
        at org.teavm.flavour.json.emit.ClassInformationProvider.get(ClassInformationProvider.java:57)
        at org.teavm.flavour.json.emit.JsonDeserializerEmitter.emitClassDeserializer(JsonDeserializerEmitter.java:179)
        at org.teavm.flavour.json.emit.JsonDeserializerEmitter.getClassDeserializer(JsonDeserializerEmitter.java:112)
        at org.teavm.flavour.json.JSON.getClassDeserializer(JSON.java:80)
        ... 32 more

    at org.teavm.flavour.json.JSON.getClassDeserializer
    at com.xxx.yyy.XxxYyy$proxy$2_0_0.xxxYyy(FactoryEmitter.java:361)
    at com.xxx.yyy.XxxView$1.run(XxxView.java:68)
    at java.lang.Thread.runThread(TThread.java:78)   
    at java.lang.Thread$start$lambda$_4_0.run(TThread.java:70)
    at org.teavm.platform.Platform.launchThread(Platform.java:186)
@konsoletyper
Copy link
Owner

Did you try latest master?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants