Resin Changes To Support Raspberry Pi

From Resin 4.0 Wiki

(Difference between revisions)
Jump to: navigation, search
 
(4 intermediate revisions by one user not shown)
Line 3: Line 3:
 
* Reduce disk access on startup
 
* Reduce disk access on startup
 
* Reduce classpath scanning
 
* Reduce classpath scanning
* Do not default to passing -server JVM flag
+
* Do not default to passing -server JVM flag (DONE 4.0.34)
 
* Startup from a single jar file
 
* Startup from a single jar file
 
* Reduce size of distribution (single jar)
 
* Reduce size of distribution (single jar)
 
 
* What can be removed from Resin OS to make it smaller?
 
* What can be removed from Resin OS to make it smaller?
 +
* Compiler doesn't like -m32 (DONE 4.0.35)
 +
* Do not warn about missing native libraries
 +
* Pass jvm_mode to watchdog
 +
 +
gcc -g -O2 -DEPOLL -D_POSIX_PTHREAD_SEMANTICS -pthread -fPIC -fno-omit-frame-pointer -O2 -DHAS_SOCK_TIMEOUT -DHAS_SENDFILE -DHAS_SPLICE -DPOLL -DHAS_JVMTI  -fPIC -m32 -DRESIN_HOME=\"/usr/local/share/resin-4.0.32\" -I/usr/include -I/usr/lib/jvm/java-7-openjdk-armel/jre/bin/../../include  - I../common -DCPU=\"armv6l\" -DOS=  -c -o boot.o boot.c
 +
cc1: error: unrecognized command line option -m32
 +
 +
13-01-08 10:07:27.827 [resin-14] WARNING DynamicClassLoader - java.lang.NoClassDefFoundError: javax/faces/application/ViewHandlerWrapper
 +
                      while loading com.caucho.server.cdi.ConversationJsfViewHandler (in RootDynamicClassLoader[])
 +
 +
13-01-08 10:05:22.423 [main] WARNING WebApp - java.lang.InternalError: NYI
 +
                        at java.lang.invoke.AdapterMethodHandle.makeReturnConversion(AdapterMethodHandle.java:252)
 +
                        at java.lang.invoke.AdapterMethodHandle.makePairwiseConvert(AdapterMethodHandle.java:208)
 +
                        at java.lang.invoke.MethodHandleImpl.convertArguments(MethodHandleImpl.java:760)
 +
                        at java.lang.invoke.MethodHandleImpl.collectArguments(MethodHandleImpl.java:842)
 +
                        at java.lang.invoke.MethodHandleImpl.collectArguments(MethodHandleImpl.java:820)
 +
                        at java.lang.invoke.MethodHandle.asCollector(MethodHandle.java:889)
 +
                        at java.lang.invoke.AdapterMethodHandle$AsVarargsCollector.<init>(AdapterMethodHandle.java:568)
 +
                        at java.lang.invoke.AdapterMethodHandle.makeVarargsCollector(AdapterMethodHandle.java:556)
 +
                        at java.lang.invoke.MethodHandleImpl.findMethod(MethodHandleImpl.java:95)
 +
                        at java.lang.invoke.MethodHandles$Lookup.accessStatic(MethodHandles.java:592)
 +
                        at java.lang.invoke.MethodHandles$Lookup.findStatic(MethodHandles.java:587)
 +
                        at sun.invoke.util.ValueConversions$LazyStatics.<clinit>(ValueConversions.java:694)
 +
                        at sun.invoke.util.ValueConversions.buildArrayProducer(ValueConversions.java:1176)
 +
                        at sun.invoke.util.ValueConversions.varargsArray(ValueConversions.java:1164)
 +
                        at java.lang.invoke.MethodHandle.asCollector(MethodHandle.java:888)
 +
                        at java.lang.invoke.AdapterMethodHandle$AsVarargsCollector.<init>(AdapterMethodHandle.java:568)
 +
                        at java.lang.invoke.AdapterMethodHandle.makeVarargsCollector(AdapterMethodHandle.java:556)
 +
                        at java.lang.invoke.MethodHandleImpl.findMethod(MethodHandleImpl.java:95)
 +
                        at java.lang.invoke.MethodHandles$Lookup.unreflect(MethodHandles.java:963)
 +
                        at com.caucho.config.attribute.SetterAttribute.<init>(SetterAttribute.java:55)
 +
                        at com.caucho.config.type.InlineBeanType.addProp(InlineBeanType.java:892)
 +
                        at com.caucho.config.type.InlineBeanType.introspectMethods(InlineBeanType.java:847)
 +
                        at com.caucho.config.type.InlineBeanType.introspect(InlineBeanType.java:607)
 +
                        at com.caucho.config.type.ConfigType.carefulIntrospect(ConfigType.java:68)
 +
                        at com.caucho.config.type.TypeFactory.getConfigTypeImpl(TypeFactory.java:593)
 +
                        at com.caucho.config.type.TypeFactory.getType(TypeFactory.java:193)
 +
                        at com.caucho.config.attribute.CreateAttribute.getConfigType(CreateAttribute.java:75)
 +
                        at com.caucho.config.attribute.Attribute.isProgram(Attribute.java:74)
 +
                        at com.caucho.config.xml.XmlConfigContext.configureChildNode(XmlConfigContext.java:452)
 +
                        at com.caucho.config.xml.XmlConfigContext.configureAttribute(XmlConfigContext.java:324)
 +
                        at com.caucho.config.program.NodeBuilderChildProgram.inject(NodeBuilderChildProgram.java:82)
 +
                        at com.caucho.config.program.ContainerProgram.inject(ContainerProgram.java:88)
 +
                        at com.caucho.config.program.ConfigProgram.configure(ConfigProgram.java:107)
 +
                        at com.caucho.env.deploy.EnvironmentDeployController.configureInstance(EnvironmentDeployController.java:480)
 +
                        at com.caucho.env.deploy.EnvironmentDeployController.configureInstance(EnvironmentDeployController.java:59)
 +
                        at com.caucho.env.deploy.DeployController.startImpl(DeployController.java:684)
 +
                        at com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:77)
 +
                        at com.caucho.env.deploy.DeployController.startOnInit(DeployController.java:538)
 +
                        at com.caucho.env.deploy.DeployContainer.update(DeployContainer.java:241)
 +
                        at com.caucho.env.deploy.DeployContainer.update(DeployContainer.java:223)
 +
                        at com.caucho.env.deploy.DeployContainer.add(DeployContainer.java:87)
 +
                        at com.caucho.server.webapp.WebAppContainer.addWebApp(WebAppContainer.java:413)
 +
                        at com.caucho.resin.ResinEmbed.deployWebApplication(ResinEmbed.java:581)
 +
                        at com.caucho.resin.ResinEmbed.start(ResinEmbed.java:380)
 +
                        at com.caucho.resin.ResinLite.main(ResinLite.java:82)
 +
 +
java.lang.NullPointerException
 +
  at com.caucho.db.block.BlockManager.getMaxMemory(BlockManager.java:135)
 +
  at com.caucho.db.block.BlockManager.defaultCapacity(BlockManager.java:104)
 +
  at com.caucho.db.block.BlockManager.create(BlockManager.java:89)
 +
  at com.caucho.server.resin.ResinDelegate$BlockManagerMemoryFreeTask.<init>(ResinDelegate.java:396)
 +
  at com.caucho.server.resin.ResinDelegate.addPreTopologyServices(ResinDelegate.java:380)
 +
  at com.caucho.server.resin.Resin.preConfigureInit(Resin.java:760)
 +
  at com.caucho.server.resin.Resin.<init>(Resin.java:248)
 +
  at com.caucho.server.resin.ResinEmbedded.<init>(ResinEmbedded.java:46)
 +
  at com.caucho.server.resin.ResinEmbeddedLite.<init>(ResinEmbeddedLite.java:41)
 +
  at com.caucho.resin.ResinLite.createResin(ResinLite.java:109)
 +
  at com.caucho.resin.ResinEmbed.start(ResinEmbed.java:335)
 +
  at com.caucho.resin.ResinLite.main(ResinLite.java:82)
 +
 +
Exception in thread "main" java.lang.UnsatisfiedLinkError: registerNatives
 +
  at java.lang.invoke.MethodHandleNatives.registerNatives(Native Method)
 +
  at java.lang.invoke.MethodHandleNatives.<clinit>(MethodHandleNatives.java:127)
 +
  at java.lang.invoke.MemberName.<init>(MemberName.java:352)
 +
  at java.lang.invoke.MethodHandles$Lookup.unreflect(MethodHandles.java:960)
 +
  at com.caucho.config.attribute.SetterAttribute.<init>(SetterAttribute.java:55)
 +
  at com.caucho.config.type.InlineBeanType.addProp(InlineBeanType.java:892)
 +
  at com.caucho.config.type.InlineBeanType.introspectMethods(InlineBeanType.java:847)
 +
  at com.caucho.config.type.InlineBeanType.introspect(InlineBeanType.java:607)
 +
  at com.caucho.config.type.ConfigType.carefulIntrospect(ConfigType.java:68)
 +
  at com.caucho.config.type.TypeFactory.getConfigTypeImpl(TypeFactory.java:593)
 +
  at com.caucho.config.type.TypeFactory.getType(TypeFactory.java:193)
 +
  at com.caucho.config.xml.XmlBeanAttribute.<init>(XmlBeanAttribute.java:57)
 +
  at com.caucho.config.xml.XmlBeanAttribute.<clinit>(XmlBeanAttribute.java:49)
 +
  at com.caucho.config.type.EnvironmentBeanType.<init>(EnvironmentBeanType.java:57)
 +
  at com.caucho.config.type.TypeFactory.createType(TypeFactory.java:626)
 +
  at com.caucho.config.type.TypeFactory.getConfigTypeImpl(TypeFactory.java:586)
 +
  at com.caucho.config.type.TypeFactory.getType(TypeFactory.java:193)
 +
  at com.caucho.config.type.TypeFactory.getType(TypeFactory.java:183)
 +
  at com.caucho.config.xml.XmlConfigContext.configure(XmlConfigContext.java:241)
 +
  at com.caucho.config.Config.configure(Config.java:324)
 +
  at com.caucho.config.Config.configure(Config.java:254)
 +
  at com.caucho.server.resin.BootConfig.configureFile(BootConfig.java:132)
 +
  at com.caucho.server.resin.Resin.configureFile(Resin.java:1023)
 +
  at com.caucho.resin.ResinEmbed.initConfig(ResinEmbed.java:520)
 +
  at com.caucho.resin.ResinEmbed.start(ResinEmbed.java:344)
 +
  at com.caucho.resin.ResinLite.main(ResinLite.java:82)

Latest revision as of 00:00, 15 February 2013

Embed-48.pngPie48.png

  • Reduce disk access on startup
  • Reduce classpath scanning
  • Do not default to passing -server JVM flag (DONE 4.0.34)
  • Startup from a single jar file
  • Reduce size of distribution (single jar)
  • What can be removed from Resin OS to make it smaller?
  • Compiler doesn't like -m32 (DONE 4.0.35)
  • Do not warn about missing native libraries
  • Pass jvm_mode to watchdog
gcc -g -O2 -DEPOLL -D_POSIX_PTHREAD_SEMANTICS -pthread -fPIC -fno-omit-frame-pointer -O2 -DHAS_SOCK_TIMEOUT -DHAS_SENDFILE -DHAS_SPLICE -DPOLL -DHAS_JVMTI  -fPIC -m32 -DRESIN_HOME=\"/usr/local/share/resin-4.0.32\" -I/usr/include -I/usr/lib/jvm/java-7-openjdk-armel/jre/bin/../../include  - I../common -DCPU=\"armv6l\" -DOS=   -c -o boot.o boot.c
cc1: error: unrecognized command line option -m32
13-01-08 10:07:27.827 [resin-14] WARNING DynamicClassLoader - java.lang.NoClassDefFoundError: javax/faces/application/ViewHandlerWrapper
                      while loading com.caucho.server.cdi.ConversationJsfViewHandler (in RootDynamicClassLoader[])
13-01-08 10:05:22.423 [main] WARNING WebApp - java.lang.InternalError: NYI
                       at java.lang.invoke.AdapterMethodHandle.makeReturnConversion(AdapterMethodHandle.java:252)
                       at java.lang.invoke.AdapterMethodHandle.makePairwiseConvert(AdapterMethodHandle.java:208)
                       at java.lang.invoke.MethodHandleImpl.convertArguments(MethodHandleImpl.java:760)
                       at java.lang.invoke.MethodHandleImpl.collectArguments(MethodHandleImpl.java:842)
                       at java.lang.invoke.MethodHandleImpl.collectArguments(MethodHandleImpl.java:820)
                       at java.lang.invoke.MethodHandle.asCollector(MethodHandle.java:889)
                       at java.lang.invoke.AdapterMethodHandle$AsVarargsCollector.<init>(AdapterMethodHandle.java:568)
                       at java.lang.invoke.AdapterMethodHandle.makeVarargsCollector(AdapterMethodHandle.java:556)
                       at java.lang.invoke.MethodHandleImpl.findMethod(MethodHandleImpl.java:95)
                       at java.lang.invoke.MethodHandles$Lookup.accessStatic(MethodHandles.java:592)
                       at java.lang.invoke.MethodHandles$Lookup.findStatic(MethodHandles.java:587)
                       at sun.invoke.util.ValueConversions$LazyStatics.<clinit>(ValueConversions.java:694)
                       at sun.invoke.util.ValueConversions.buildArrayProducer(ValueConversions.java:1176)
                       at sun.invoke.util.ValueConversions.varargsArray(ValueConversions.java:1164)
                       at java.lang.invoke.MethodHandle.asCollector(MethodHandle.java:888)
                       at java.lang.invoke.AdapterMethodHandle$AsVarargsCollector.<init>(AdapterMethodHandle.java:568)
                       at java.lang.invoke.AdapterMethodHandle.makeVarargsCollector(AdapterMethodHandle.java:556)
                       at java.lang.invoke.MethodHandleImpl.findMethod(MethodHandleImpl.java:95)
                       at java.lang.invoke.MethodHandles$Lookup.unreflect(MethodHandles.java:963)
                       at com.caucho.config.attribute.SetterAttribute.<init>(SetterAttribute.java:55)
                       at com.caucho.config.type.InlineBeanType.addProp(InlineBeanType.java:892)
                       at com.caucho.config.type.InlineBeanType.introspectMethods(InlineBeanType.java:847)
                       at com.caucho.config.type.InlineBeanType.introspect(InlineBeanType.java:607)
                       at com.caucho.config.type.ConfigType.carefulIntrospect(ConfigType.java:68)
                       at com.caucho.config.type.TypeFactory.getConfigTypeImpl(TypeFactory.java:593)
                       at com.caucho.config.type.TypeFactory.getType(TypeFactory.java:193)
                       at com.caucho.config.attribute.CreateAttribute.getConfigType(CreateAttribute.java:75)
                       at com.caucho.config.attribute.Attribute.isProgram(Attribute.java:74)
                       at com.caucho.config.xml.XmlConfigContext.configureChildNode(XmlConfigContext.java:452)
                       at com.caucho.config.xml.XmlConfigContext.configureAttribute(XmlConfigContext.java:324)
                       at com.caucho.config.program.NodeBuilderChildProgram.inject(NodeBuilderChildProgram.java:82)
                       at com.caucho.config.program.ContainerProgram.inject(ContainerProgram.java:88)
                       at com.caucho.config.program.ConfigProgram.configure(ConfigProgram.java:107)
                       at com.caucho.env.deploy.EnvironmentDeployController.configureInstance(EnvironmentDeployController.java:480)
                       at com.caucho.env.deploy.EnvironmentDeployController.configureInstance(EnvironmentDeployController.java:59)
                       at com.caucho.env.deploy.DeployController.startImpl(DeployController.java:684)
                       at com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:77)
                       at com.caucho.env.deploy.DeployController.startOnInit(DeployController.java:538)
                       at com.caucho.env.deploy.DeployContainer.update(DeployContainer.java:241)
                       at com.caucho.env.deploy.DeployContainer.update(DeployContainer.java:223)
                       at com.caucho.env.deploy.DeployContainer.add(DeployContainer.java:87)
                       at com.caucho.server.webapp.WebAppContainer.addWebApp(WebAppContainer.java:413)
                       at com.caucho.resin.ResinEmbed.deployWebApplication(ResinEmbed.java:581)
                       at com.caucho.resin.ResinEmbed.start(ResinEmbed.java:380)
                       at com.caucho.resin.ResinLite.main(ResinLite.java:82)
java.lang.NullPointerException
  at com.caucho.db.block.BlockManager.getMaxMemory(BlockManager.java:135)
  at com.caucho.db.block.BlockManager.defaultCapacity(BlockManager.java:104)
  at com.caucho.db.block.BlockManager.create(BlockManager.java:89)
  at com.caucho.server.resin.ResinDelegate$BlockManagerMemoryFreeTask.<init>(ResinDelegate.java:396)
  at com.caucho.server.resin.ResinDelegate.addPreTopologyServices(ResinDelegate.java:380)
  at com.caucho.server.resin.Resin.preConfigureInit(Resin.java:760)
  at com.caucho.server.resin.Resin.<init>(Resin.java:248)
  at com.caucho.server.resin.ResinEmbedded.<init>(ResinEmbedded.java:46)
  at com.caucho.server.resin.ResinEmbeddedLite.<init>(ResinEmbeddedLite.java:41)
  at com.caucho.resin.ResinLite.createResin(ResinLite.java:109)
  at com.caucho.resin.ResinEmbed.start(ResinEmbed.java:335)
  at com.caucho.resin.ResinLite.main(ResinLite.java:82)
Exception in thread "main" java.lang.UnsatisfiedLinkError: registerNatives
  at java.lang.invoke.MethodHandleNatives.registerNatives(Native Method)
  at java.lang.invoke.MethodHandleNatives.<clinit>(MethodHandleNatives.java:127)
  at java.lang.invoke.MemberName.<init>(MemberName.java:352)
  at java.lang.invoke.MethodHandles$Lookup.unreflect(MethodHandles.java:960)
  at com.caucho.config.attribute.SetterAttribute.<init>(SetterAttribute.java:55)
  at com.caucho.config.type.InlineBeanType.addProp(InlineBeanType.java:892)
  at com.caucho.config.type.InlineBeanType.introspectMethods(InlineBeanType.java:847)
  at com.caucho.config.type.InlineBeanType.introspect(InlineBeanType.java:607)
  at com.caucho.config.type.ConfigType.carefulIntrospect(ConfigType.java:68)
  at com.caucho.config.type.TypeFactory.getConfigTypeImpl(TypeFactory.java:593)
  at com.caucho.config.type.TypeFactory.getType(TypeFactory.java:193)
  at com.caucho.config.xml.XmlBeanAttribute.<init>(XmlBeanAttribute.java:57)
  at com.caucho.config.xml.XmlBeanAttribute.<clinit>(XmlBeanAttribute.java:49)
  at com.caucho.config.type.EnvironmentBeanType.<init>(EnvironmentBeanType.java:57)
  at com.caucho.config.type.TypeFactory.createType(TypeFactory.java:626)
  at com.caucho.config.type.TypeFactory.getConfigTypeImpl(TypeFactory.java:586)
  at com.caucho.config.type.TypeFactory.getType(TypeFactory.java:193)
  at com.caucho.config.type.TypeFactory.getType(TypeFactory.java:183)
  at com.caucho.config.xml.XmlConfigContext.configure(XmlConfigContext.java:241)
  at com.caucho.config.Config.configure(Config.java:324)
  at com.caucho.config.Config.configure(Config.java:254)
  at com.caucho.server.resin.BootConfig.configureFile(BootConfig.java:132)
  at com.caucho.server.resin.Resin.configureFile(Resin.java:1023)
  at com.caucho.resin.ResinEmbed.initConfig(ResinEmbed.java:520)
  at com.caucho.resin.ResinEmbed.start(ResinEmbed.java:344)
  at com.caucho.resin.ResinLite.main(ResinLite.java:82)
Personal tools
TOOLBOX
LANGUAGES