Important Notice - Forums is archived
To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.

TUTORIALVaadin lets you build secure, UX-first PWAs entirely in Java.
Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
Calling javascript synchronously by Enver Haase, 1 week ago
Servlet throwing IllegalMonitorStateException
Hi!
I have an application setup with shiro and it is working fine. I'm new to Vaadin and wanted to rewrite the client code but now I have run in to problems and cannot solve it.
My simple UI (LoginUI) class throw and java.lang.IllegalMonitorStateException
public class LoginUI extends UI {
@WebServlet(urlPatterns = "/*", name = "LoginUIServlet", asyncSupported = true)
@VaadinServletConfiguration(ui = LoginUI.class, productionMode = false)
public static class LoginUIServlet extends VaadinServlet {
}
@Override
protected void init(final VaadinRequest vaadinRequest) {
this.setSizeFull();
final VerticalLayout layout = new VerticalLayout();
layout.setSizeFull();
final FormLayout form = new FormLayout();
final TextField username = new TextField("Username");
username.setIcon(FontAwesome.USER);
username.setRequired(true);
username.addValidator(new NullValidator("Must be given", false));
form.addComponent(username);
final TextField password = new TextField("Password");
password.setIcon(FontAwesome.KEY);
form.addComponent(password);
final Button loginBtn = new Button("Login");
loginBtn.addClickListener( e -> {
Notification.show("Info:", "Add shiro stuff to do with login here.", Type.HUMANIZED_MESSAGE);
});
form.addComponent(loginBtn);
form.setWidth("30%");
layout.addComponent(form);
layout.setComponentAlignment(form, Alignment.MIDDLE_CENTER);
setContent(layout);
}
}
Stacktrace:
2016-05-17 21:19:03 DEBUG http-bio-8080-exec-2 org.apache.shiro.session.mgt.DefaultSessionManager - Creating new EIS record for new session instance [org.apache.shiro.session.mgt.SimpleSession,id=null]
2016-05-17 21:19:03 DEBUG http-bio-8080-exec-2 org.apache.shiro.web.servlet.SimpleCookie - Added HttpServletResponse Cookie [appId=f133cda2b6bf4b1e099d0f892072cedd58cb1d02d94678ffa1d8bdfd97259424; Path=/; HttpOnly]
2016-05-17 21:19:03 DEBUG http-bio-8080-exec-6 org.apache.shiro.web.servlet.SimpleCookie - Found 'appId' cookie value [f133cda2b6bf4b1e099d0f892072cedd58cb1d02d94678ffa1d8bdfd97259424]
May 17, 2016 9:19:03 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [LoginUIServlet] in context with path [] threw exception [com.vaadin.server.ServiceException: java.lang.IllegalMonitorStateException] with root cause
java.lang.IllegalMonitorStateException
at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:151)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1261)
at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:457)
at com.vaadin.server.VaadinService.unlockSession(VaadinService.java:652)
at com.vaadin.server.VaadinService.findOrCreateVaadinSession(VaadinService.java:670)
at com.vaadin.server.VaadinService.findVaadinSession(VaadinService.java:527)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1403)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:364)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
I have scratched my head for the last 2 hour and cannot figure out how to solve this thread problem. Any ideas?
Last updated on
Hi,
Are you able to attach a minimal working project so that I can reproduce the issue?
Last updated on
You cannot reply to this thread.