On 31 January 2012 12:30, Jasha Joachimsthal <[email protected]>wrote:
> > > On 31 January 2012 10:55, Jasha Joachimsthal > <[email protected]>wrote: > >> >> On 31 January 2012 10:31, Ate Douma <[email protected]> wrote: >> >>> On 01/31/2012 09:44 AM, Jasha Joachimsthal wrote: >>> >>>> When I start up the portal it fails to load the ROOT context >>>> (rave-shindig). >>>> Any ideas? >>>> >>> >>> Hmm, that might possibly be cause by my 'upgrade' to using (only) >>> json-20090211.jar as required by rave-core. >>> See also: >>> https://issues.apache.org/**jira/browse/RAVE-453<https://issues.apache.org/jira/browse/RAVE-453> >>> >>> My mistake for not actually *running* the portal (I only did a test >>> build), but if this is the cause we need to carefully review the reason why >>> rave-core needs json-20090211.jar while shindig might still require >>> json-20070829.jar >>> >>> Having both bundled with rave-shindig clearly is bound to fail at >>> sometime as it really is arbitrary which one of these jars would be loaded >>> first. I guess we've been lucky so far it didn't yet before. >>> >>> If we just need a simple fix, say for this release, we could temporarily >>> 'override' the json version dependency in rave-shindig pom.xml to >>> json-20070829, or simply 'downgrade' the version used by rave-core. >>> >>> In the end it of course it would be better if Shindig could be upgraded >>> to use the later (or latest) json version instead... >>> >>> @Jasha: would you have time today to check and possible 'fix' this today? >>> I won't have time for this until tomorrow. >>> >> >> I'll see if I can get some time for it today >> > > Working on it... > It's indeed the json jar upgrade. > To be more precise: Shindig contains JSON files that are formatted as if they were JavaScript files. They contain license headers and other comments. When the file is parsed the 20070829 version of JSONTokener#nextclean() strips "comments", 20090211 only trims whitespace. During startup "container.js" (present as a copy in our codebase) and "canonicaldb.json" (referred to from our own Guice module) are loaded as JSON objects which fails because they contain "comments". If I strip all // and /* */ content, rave-shindig does start up. During runtime I see other JSON exceptions, but most gadgets seem to render. As short term solution we can exclude the 20090211 version to end up in the rave-shindig war in favour of 20070829. WDYT? > > >> >> >>> >>> Ate >>> >>> >>> >>>> [WARNING] [talledLocalContainer] SEVERE: Exception sending context >>>> initialized event to listener instance of class >>>> org.apache.rave.inject.**GuiceBindingSpringContextLoade**rListener >>>> [WARNING] [talledLocalContainer] com.google.inject.**CreationException: >>>> Guice >>>> creation errors: >>>> [WARNING] [talledLocalContainer] >>>> [WARNING] [talledLocalContainer] 1) Error injecting constructor, >>>> org.json.JSONException: A JSONObject text must begin with '{' at >>>> character 1 >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.shindig.social.**sample.spi.**JsonDbOpensocialService.<init> >>>> **(JsonDbOpensocialService.java:**153) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.shindig.social.**sample.spi.**JsonDbOpensocialService.class( >>>> **JsonDbOpensocialService.java:**77) >>>> [WARNING] [talledLocalContainer] while locating >>>> org.apache.shindig.social.**sample.spi.**JsonDbOpensocialService >>>> [WARNING] [talledLocalContainer] for field at >>>> org.apache.shindig.sample.**shiro.SampleShiroRealm.**jsonDbService(** >>>> SampleShiroRealm.java:43) >>>> [WARNING] [talledLocalContainer] >>>> [WARNING] [talledLocalContainer] 1 error >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**Errors.**throwCreationExceptionIfErrors** >>>> Exist(Errors.java:435) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**InternalInjectorCreator.** >>>> injectDynamically(**InternalInjectorCreator.java:**175) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**InternalInjectorCreator.build(** >>>> InternalInjectorCreator.java:**109) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.Guice.**createInjector(Guice.java:95) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.Guice.**createInjector(Guice.java:72) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.rave.inject.**GuiceBindingSpringContextLoade** >>>> rListener.contextInitialized(**GuiceBindingSpringContextLoade** >>>> rListener.java:46) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.core.**StandardContext.listenerStart(** >>>> StandardContext.java:4206) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.core.**StandardContext.start(** >>>> StandardContext.java:4705) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.core.**ContainerBase.**addChildInternal(** >>>> ContainerBase.java:799) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.core.**ContainerBase.addChild(** >>>> ContainerBase.java:779) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.core.**StandardHost.addChild(** >>>> StandardHost.java:601) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.startup.**HostConfig.deployWAR(** >>>> HostConfig.java:943) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.startup.**HostConfig.deployWARs(** >>>> HostConfig.java:778) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.startup.**HostConfig.deployApps(** >>>> HostConfig.java:504) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.startup.**HostConfig.start(HostConfig.**java:1317) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.startup.**HostConfig.lifecycleEvent(** >>>> HostConfig.java:324) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.util.**LifecycleSupport.**fireLifecycleEvent(** >>>> LifecycleSupport.java:142) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.core.**ContainerBase.start(** >>>> ContainerBase.java:1065) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.core.**StandardHost.start(**StandardHost.java:840) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.core.**ContainerBase.start(** >>>> ContainerBase.java:1057) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.core.**StandardEngine.start(** >>>> StandardEngine.java:463) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.core.**StandardService.start(** >>>> StandardService.java:525) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.core.**StandardServer.start(** >>>> StandardServer.java:754) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.startup.**Catalina.start(Catalina.java:**595) >>>> [WARNING] [talledLocalContainer] at >>>> sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method) >>>> [WARNING] [talledLocalContainer] at >>>> sun.reflect.**NativeMethodAccessorImpl.**invoke(** >>>> NativeMethodAccessorImpl.java:**39) >>>> [WARNING] [talledLocalContainer] at >>>> sun.reflect.**DelegatingMethodAccessorImpl.**invoke(** >>>> DelegatingMethodAccessorImpl.**java:25) >>>> [WARNING] [talledLocalContainer] at >>>> java.lang.reflect.Method.**invoke(Method.java:597) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.startup.**Bootstrap.start(Bootstrap.**java:289) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.catalina.startup.**Bootstrap.main(Bootstrap.java:**414) >>>> [WARNING] [talledLocalContainer] Caused by: org.json.JSONException: A >>>> JSONObject text must begin with '{' at character 1 >>>> [WARNING] [talledLocalContainer] at >>>> org.json.JSONTokener.**syntaxError(JSONTokener.java:**410) >>>> [WARNING] [talledLocalContainer] at >>>> org.json.JSONObject.<init>(**JSONObject.java:179) >>>> [WARNING] [talledLocalContainer] at >>>> org.json.JSONObject.<init>(**JSONObject.java:402) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.shindig.social.**sample.spi.**JsonDbOpensocialService.<init> >>>> **(JsonDbOpensocialService.java:**155) >>>> [WARNING] [talledLocalContainer] at >>>> org.apache.shindig.social.**sample.spi.**JsonDbOpensocialService$$** >>>> FastClassByGuice$$114b7d7.**newInstance(<generated>) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**cglib.reflect.$** >>>> FastConstructor.newInstance(**FastConstructor.java:40) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**DefaultConstructionProxyFactor** >>>> y$1.newInstance(**DefaultConstructionProxyFactor**y.java:60) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**ConstructorInjector.construct(** >>>> ConstructorInjector.java:85) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**ConstructorBindingImpl$**Factory.get(** >>>> ConstructorBindingImpl.java:**254) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**ProviderToInternalFactoryAdapt**er$1.call( >>>> **ProviderToInternalFactoryAdapt**er.java:46) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**InjectorImpl.callInContext(** >>>> InjectorImpl.java:1031) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**ProviderToInternalFactoryAdapt**er.get(** >>>> ProviderToInternalFactoryAdapt**er.java:40) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.Scopes$1$1.**get(Scopes.java:65) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**InternalFactoryToProviderAdapt**er.get(** >>>> InternalFactoryToProviderAdapt**er.java:40) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**SingleFieldInjector.inject(** >>>> SingleFieldInjector.java:53) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**InjectionRequestProcessor$** >>>> StaticInjection$1.call(**InjectionRequestProcessor.**java:116) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**InjectionRequestProcessor$** >>>> StaticInjection$1.call(**InjectionRequestProcessor.**java:110) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**InjectorImpl.callInContext(** >>>> InjectorImpl.java:1024) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**InjectionRequestProcessor$** >>>> StaticInjection.injectMembers(**InjectionRequestProcessor.**java:110) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**InjectionRequestProcessor.**injectMembers( >>>> **InjectionRequestProcessor.**java:78) >>>> [WARNING] [talledLocalContainer] at >>>> com.google.inject.internal.**InternalInjectorCreator.** >>>> injectDynamically(**InternalInjectorCreator.java:**170) >>>> [WARNING] [talledLocalContainer] ... 28 more >>>> >>>> Jasha Joachimsthal >>>> >>>> Europe - Amsterdam - Oosteinde 11, 1017 WT Amsterdam - +31(0)20 522 >>>> 4466 >>>> US - Boston - 1 Broadway, Cambridge, MA 02142 - +1 877 414 4776 (toll >>>> free) >>>> >>>> www.onehippo.com >>>> >>>> >>> >> >
