[jira] [Created] (ISIS-947) Todo webapp throws exception when logging in DEBUG mode
Vladimir Nisevic created ISIS-947: - Summary: Todo webapp throws exception when logging in DEBUG mode Key: ISIS-947 URL: https://issues.apache.org/jira/browse/ISIS-947 Project: Isis Issue Type: Bug Components: Viewer: Wicket Affects Versions: viewer-wicket-1.7.0 Reporter: Vladimir Nisevic Assignee: Dan Haywood Hi Dan, here steps to reproduce. 1. create todo thru archetype 2. adapt logging.properties (file webapp\src\main\webapp\WEB-INF\logging.properties) - uncomment line 23 log4j.rootCategory=DEBUG, Console 3. start the webapp here the exception in console {code} 14:24:04,469 [IsisWicketApplication main ERROR] Failed to initialize com.google.inject.ProvisionException: Guice provision errors: 1) Error in custom provider, java.lang.IllegalStateException: No service found for thread; make sure ((RequestScopedService)service).__isis_startRequest() is called first at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132) at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132) while locating org.apache.isis.core.runtime.system.IsisSystem for field at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:124) while locating webapp.ToDoApplication 1 error at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451) at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65) at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229) at org.apache.wicket.Application.initApplication(Application.java:823) at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424) at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351) at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713) at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:224) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:85) at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92) at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68) at org.apache.isis.WebServer.main(WebServer.java:25) Caused by: java.lang.IllegalStateException: No service found for thread; make sure ((RequestScopedService)service).__isis_startRequest() is called first at org.apache.isis.core.runtime.services.ServiceInstantiator$2.invoke(ServiceInstantiator.java:159) at org.apache.isis.applib.services.queryresultscache.QueryResultsCache_$$_javassist_2.toString(QueryResultsCache_$$_javassist_2.java) at java.lang.String.valueOf(Unknown Source) at java.lang.StringBuilder.append(Unknown Source) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.invokeInjectorField(ServicesInjectorDefault.java:268) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.autowire(ServicesInjectorDefault.java:191) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.autowireViaFields(ServicesInjectorDefault.java:175) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.injectServices(ServicesInjectorDefault.java:159) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.injectServicesInto(ServicesInjectorDefault.java:126) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.injectServicesInto(ServicesInjectorDefault.java:132) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.autowireServicesAndContainer(ServicesInjectorDefault.java:281) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.setServices(ServicesInjectorDefault.java:80) at
[jira] [Commented] (ISIS-947) Todo webapp throws exception when logging in DEBUG mode
[ https://issues.apache.org/jira/browse/ISIS-947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14208032#comment-14208032 ] Martin Grigorov commented on ISIS-947: -- The problem comes from https://github.com/apache/isis/blob/master/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/ServicesInjectorDefault.java#L273 Todo webapp throws exception when logging in DEBUG mode --- Key: ISIS-947 URL: https://issues.apache.org/jira/browse/ISIS-947 Project: Isis Issue Type: Bug Components: Viewer: Wicket Affects Versions: viewer-wicket-1.7.0 Reporter: Vladimir Nisevic Assignee: Dan Haywood Hi Dan, here steps to reproduce. 1. create todo thru archetype 2. adapt logging.properties (file webapp\src\main\webapp\WEB-INF\logging.properties) - uncomment line 23 log4j.rootCategory=DEBUG, Console 3. start the webapp here the exception in console {code} 14:24:04,469 [IsisWicketApplication main ERROR] Failed to initialize com.google.inject.ProvisionException: Guice provision errors: 1) Error in custom provider, java.lang.IllegalStateException: No service found for thread; make sure ((RequestScopedService)service).__isis_startRequest() is called first at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132) at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132) while locating org.apache.isis.core.runtime.system.IsisSystem for field at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:124) while locating webapp.ToDoApplication 1 error at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451) at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65) at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229) at org.apache.wicket.Application.initApplication(Application.java:823) at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424) at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351) at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713) at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:224) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:85) at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92) at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68) at org.apache.isis.WebServer.main(WebServer.java:25) Caused by: java.lang.IllegalStateException: No service found for thread; make sure ((RequestScopedService)service).__isis_startRequest() is called first at org.apache.isis.core.runtime.services.ServiceInstantiator$2.invoke(ServiceInstantiator.java:159) at org.apache.isis.applib.services.queryresultscache.QueryResultsCache_$$_javassist_2.toString(QueryResultsCache_$$_javassist_2.java) at java.lang.String.valueOf(Unknown Source) at java.lang.StringBuilder.append(Unknown Source) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.invokeInjectorField(ServicesInjectorDefault.java:268) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.autowire(ServicesInjectorDefault.java:191) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.autowireViaFields(ServicesInjectorDefault.java:175) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.injectServices(ServicesInjectorDefault.java:159) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.injectServicesInto(ServicesInjectorDefault.java:126) at
[jira] [Commented] (ISIS-947) Todo webapp throws exception when logging in DEBUG mode
[ https://issues.apache.org/jira/browse/ISIS-947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14208073#comment-14208073 ] Martin Grigorov commented on ISIS-947: -- https://github.com/apache/isis/pull/5 Todo webapp throws exception when logging in DEBUG mode --- Key: ISIS-947 URL: https://issues.apache.org/jira/browse/ISIS-947 Project: Isis Issue Type: Bug Components: Viewer: Wicket Affects Versions: viewer-wicket-1.7.0 Reporter: Vladimir Nisevic Assignee: Dan Haywood Hi Dan, here steps to reproduce. 1. create todo thru archetype 2. adapt logging.properties (file webapp\src\main\webapp\WEB-INF\logging.properties) - uncomment line 23 log4j.rootCategory=DEBUG, Console 3. start the webapp here the exception in console {code} 14:24:04,469 [IsisWicketApplication main ERROR] Failed to initialize com.google.inject.ProvisionException: Guice provision errors: 1) Error in custom provider, java.lang.IllegalStateException: No service found for thread; make sure ((RequestScopedService)service).__isis_startRequest() is called first at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132) at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132) while locating org.apache.isis.core.runtime.system.IsisSystem for field at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:124) while locating webapp.ToDoApplication 1 error at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451) at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65) at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229) at org.apache.wicket.Application.initApplication(Application.java:823) at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424) at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351) at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713) at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:224) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:85) at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92) at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68) at org.apache.isis.WebServer.main(WebServer.java:25) Caused by: java.lang.IllegalStateException: No service found for thread; make sure ((RequestScopedService)service).__isis_startRequest() is called first at org.apache.isis.core.runtime.services.ServiceInstantiator$2.invoke(ServiceInstantiator.java:159) at org.apache.isis.applib.services.queryresultscache.QueryResultsCache_$$_javassist_2.toString(QueryResultsCache_$$_javassist_2.java) at java.lang.String.valueOf(Unknown Source) at java.lang.StringBuilder.append(Unknown Source) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.invokeInjectorField(ServicesInjectorDefault.java:268) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.autowire(ServicesInjectorDefault.java:191) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.autowireViaFields(ServicesInjectorDefault.java:175) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.injectServices(ServicesInjectorDefault.java:159) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.injectServicesInto(ServicesInjectorDefault.java:126) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.injectServicesInto(ServicesInjectorDefault.java:132) at
[jira] [Updated] (ISIS-949) Refactor Bulk.Interaction to remove special case handling (make into a regular request-scoped service).
[ https://issues.apache.org/jira/browse/ISIS-949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dan Haywood updated ISIS-949: - Description: specifically, the special case handling that remains in - IsisTransactionManager#initOtherApplibServicesIfConfigured - IsisTransaction#closeOtherApplibServicesIfConfigured in ISIS-948, see that the special case handling for EventBusService was removed by introducing a request-scoped service; hopefully something similar could be done for Bulk.Interaction service. was:cf ISIS-948 Refactor Bulk.Interaction to remove special case handling (make into a regular request-scoped service). --- Key: ISIS-949 URL: https://issues.apache.org/jira/browse/ISIS-949 Project: Isis Issue Type: Improvement Components: Core Affects Versions: core-1.7.0 Reporter: Dan Haywood Assignee: Dan Haywood Priority: Minor Fix For: core-1.9.0 specifically, the special case handling that remains in - IsisTransactionManager#initOtherApplibServicesIfConfigured - IsisTransaction#closeOtherApplibServicesIfConfigured in ISIS-948, see that the special case handling for EventBusService was removed by introducing a request-scoped service; hopefully something similar could be done for Bulk.Interaction service. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (ISIS-950) Suppress stack trace from Error page if exception is recognised.
Dan Haywood created ISIS-950: Summary: Suppress stack trace from Error page if exception is recognised. Key: ISIS-950 URL: https://issues.apache.org/jira/browse/ISIS-950 Project: Isis Issue Type: Improvement Components: Viewer: Wicket Affects Versions: viewer-wicket-1.7.0 Reporter: Dan Haywood Assignee: Dan Haywood Priority: Trivial Fix For: viewer-wicket-1.8.0 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ISIS-948) Fix concurrent exception in EventBus, improve support for request-scoped services
[ https://issues.apache.org/jira/browse/ISIS-948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14208999#comment-14208999 ] ASF subversion and git services commented on ISIS-948: -- Commit f90a62ec16986937ca12b21f39d1e66d7c344c1f in isis's branch refs/heads/master from [~danhaywood] [ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=f90a62e ] ISIS-948, ISIS-947: refactoring event bus, removing special case handling of event bus in Isis core runtime; adding in ability to inject into request-scoped services and for request-scoped services to be event bus subscribers. Some of the new reference counting logic has moved from EventBusDefault into EventBusService (abstract class in applib). Also (for ISIS-947) includes enhancements to ServiceInstantiator so that can call toString(), equals() and hashCode() even if there is no session. In addition: - ToDoItemSubscriptions (for todoapp) moved to menu item, rather than contributed (better intent traded against slightly worse workflow during demos). Fix concurrent exception in EventBus, improve support for request-scoped services - Key: ISIS-948 URL: https://issues.apache.org/jira/browse/ISIS-948 Project: Isis Issue Type: Improvement Components: Core Affects Versions: core-1.7.0 Reporter: Dan Haywood Assignee: Dan Haywood Fix For: core-1.8.0 This ticket was prompted originally by [1], flagging up a concurrency issue. The background here is that EventBusService (a singleton) manages the registered subscribers for the guava EventBus, but the EventBus itself is stored internally by the framework on IsisSession, ie is in effect request-scoped. There are some special-case hooks to call open() and close() on EventBusService when the xactn is started/completed so that the service can call register() on the guava EventBus object for each interaction. The concurrency exception is (I think) because the set used in EventBusService was not thread-safe; should've been ConcurrentHashSet or similar. ~~~ Thinking about this issue has led me to consider whether the guava EventBus should have been singleton rather than request-scoped, in particular with respect to whether we can accommodate request-scoped subscriber services as well as singleton services. Have come to the conclusion that it doesn't actually matter either way; it would be safe to have a singleton event bus having request-scoped services as subscribers because the proxies for those services would always route the method call to the on(Event) to the appropriate underlying service from its proxy's threadlocal. That said, have decided to keep the EventBus request-scoped. But rather than have all the special case logic, instead wrap the guava EventBus in a new RequestScopedEventBus domain service (as its name suggests, is @RequestScoped) and have this act as the container of the guava EventBus and also keep track of the subscribers. For its part, the original EventBusService remains as a singleton whose job it is to keep track of all the subscribers. Some of these are singletons that will register in the system bootstrapping (during their @PostConstruct lifecycle). Some of these might also be request-scoped services. So far as possible want the model to be the same... that they can register in their own @PostConstruct lifecycle. Now for these request-scoped services, the @PostConstruct should actually be called after injection of the EventBusService... The one slight modification is that they should not register themselves but instead their proxy. They can get hold of their proxy simply by having it be injected: eg. {code:java} @RequestScoped @DomainService public class MySubscribingService { private EventBusService ebs; public void injectEventBusService(EventBusService ebs) { this.ebs = ebs; } private MySubscribingService proxy; public void injectProxy(MySubscribingService proxy) { this.proxy = proxy; } @PostConstruct public void startRequest() { ebs.register(proxy); } @PreDestroy public void endRequest() { ebs.unregister(proxy); } } {code} Note also that we now allow injection into request-scoped services (though must use injectXxx rather than @Inject xxx). In the EventBusService, because request-scoped services might be continually registering and unregistering, but also each will be registering their proxy, then this needs to change to do reference counting. Thus, if there are two concurrent threads then the MySubscribingService (above) will be instantiated twice, each held in the thread-local of the proxy. This proxy will (in the @PostConstruct) be
[jira] [Commented] (ISIS-947) Todo webapp throws exception when logging in DEBUG mode
[ https://issues.apache.org/jira/browse/ISIS-947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14209001#comment-14209001 ] ASF subversion and git services commented on ISIS-947: -- Commit f90a62ec16986937ca12b21f39d1e66d7c344c1f in isis's branch refs/heads/master from [~danhaywood] [ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=f90a62e ] ISIS-948, ISIS-947: refactoring event bus, removing special case handling of event bus in Isis core runtime; adding in ability to inject into request-scoped services and for request-scoped services to be event bus subscribers. Some of the new reference counting logic has moved from EventBusDefault into EventBusService (abstract class in applib). Also (for ISIS-947) includes enhancements to ServiceInstantiator so that can call toString(), equals() and hashCode() even if there is no session. In addition: - ToDoItemSubscriptions (for todoapp) moved to menu item, rather than contributed (better intent traded against slightly worse workflow during demos). Todo webapp throws exception when logging in DEBUG mode --- Key: ISIS-947 URL: https://issues.apache.org/jira/browse/ISIS-947 Project: Isis Issue Type: Bug Components: Viewer: Wicket Affects Versions: viewer-wicket-1.7.0 Reporter: Vladimir Nisevic Assignee: Dan Haywood Hi Dan, here steps to reproduce. 1. create todo thru archetype 2. adapt logging.properties (file webapp\src\main\webapp\WEB-INF\logging.properties) - uncomment line 23 log4j.rootCategory=DEBUG, Console 3. start the webapp here the exception in console {code} 14:24:04,469 [IsisWicketApplication main ERROR] Failed to initialize com.google.inject.ProvisionException: Guice provision errors: 1) Error in custom provider, java.lang.IllegalStateException: No service found for thread; make sure ((RequestScopedService)service).__isis_startRequest() is called first at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132) at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132) while locating org.apache.isis.core.runtime.system.IsisSystem for field at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:124) while locating webapp.ToDoApplication 1 error at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451) at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65) at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229) at org.apache.wicket.Application.initApplication(Application.java:823) at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424) at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351) at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713) at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:224) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:85) at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92) at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68) at org.apache.isis.WebServer.main(WebServer.java:25) Caused by: java.lang.IllegalStateException: No service found for thread; make sure ((RequestScopedService)service).__isis_startRequest() is called first at org.apache.isis.core.runtime.services.ServiceInstantiator$2.invoke(ServiceInstantiator.java:159) at org.apache.isis.applib.services.queryresultscache.QueryResultsCache_$$_javassist_2.toString(QueryResultsCache_$$_javassist_2.java) at java.lang.String.valueOf(Unknown Source) at java.lang.StringBuilder.append(Unknown Source) at
[jira] [Commented] (ISIS-950) Suppress stack trace from Error page if exception is recognised.
[ https://issues.apache.org/jira/browse/ISIS-950?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14209007#comment-14209007 ] ASF subversion and git services commented on ISIS-950: -- Commit 0bca9b01b2b269a364c6a10c47af782336de5de2 in isis's branch refs/heads/ISIS-939 from [~danhaywood] [ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=0bca9b0 ] ISIS-950: suppress stack trace in Wicket's error page if exception is recognized. Suppress stack trace from Error page if exception is recognised. Key: ISIS-950 URL: https://issues.apache.org/jira/browse/ISIS-950 Project: Isis Issue Type: Improvement Components: Viewer: Wicket Affects Versions: viewer-wicket-1.7.0 Reporter: Dan Haywood Assignee: Dan Haywood Priority: Trivial Fix For: viewer-wicket-1.8.0 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ISIS-947) Todo webapp throws exception when logging in DEBUG mode
[ https://issues.apache.org/jira/browse/ISIS-947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14209456#comment-14209456 ] ASF subversion and git services commented on ISIS-947: -- Commit 7c766320e35c29dfe8870cac42a39218022cc750 in isis's branch refs/heads/ISIS-939 from [~mgrigorov] [ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=7c76632 ] ISIS-947 Todo webapp throws exception when logging in DEBUG mode Conflicting changes to ServiceInstantiator NOT committed, equivalent changes already committed. Todo webapp throws exception when logging in DEBUG mode --- Key: ISIS-947 URL: https://issues.apache.org/jira/browse/ISIS-947 Project: Isis Issue Type: Bug Components: Viewer: Wicket Affects Versions: viewer-wicket-1.7.0 Reporter: Vladimir Nisevic Assignee: Dan Haywood Hi Dan, here steps to reproduce. 1. create todo thru archetype 2. adapt logging.properties (file webapp\src\main\webapp\WEB-INF\logging.properties) - uncomment line 23 log4j.rootCategory=DEBUG, Console 3. start the webapp here the exception in console {code} 14:24:04,469 [IsisWicketApplication main ERROR] Failed to initialize com.google.inject.ProvisionException: Guice provision errors: 1) Error in custom provider, java.lang.IllegalStateException: No service found for thread; make sure ((RequestScopedService)service).__isis_startRequest() is called first at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132) at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132) while locating org.apache.isis.core.runtime.system.IsisSystem for field at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:124) while locating webapp.ToDoApplication 1 error at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451) at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65) at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:229) at org.apache.wicket.Application.initApplication(Application.java:823) at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424) at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351) at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713) at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:224) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:85) at org.apache.isis.core.webserver.WebServer.run(WebServer.java:92) at org.apache.isis.core.webserver.WebServer.main(WebServer.java:68) at org.apache.isis.WebServer.main(WebServer.java:25) Caused by: java.lang.IllegalStateException: No service found for thread; make sure ((RequestScopedService)service).__isis_startRequest() is called first at org.apache.isis.core.runtime.services.ServiceInstantiator$2.invoke(ServiceInstantiator.java:159) at org.apache.isis.applib.services.queryresultscache.QueryResultsCache_$$_javassist_2.toString(QueryResultsCache_$$_javassist_2.java) at java.lang.String.valueOf(Unknown Source) at java.lang.StringBuilder.append(Unknown Source) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.invokeInjectorField(ServicesInjectorDefault.java:268) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.autowire(ServicesInjectorDefault.java:191) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.autowireViaFields(ServicesInjectorDefault.java:175) at org.apache.isis.core.metamodel.services.ServicesInjectorDefault.injectServices(ServicesInjectorDefault.java:159) at