Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-15654

Error when using sound CAPTCHA

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • Major
    • None
    • 10.8
    • CAPTCHA - JCaptcha
    • Windows 10 Pro 64 bit, IE11, Firefox 62, Chrome 69, Edge 17, using a local instance XWiki 10.8 on MySQL 5.7
    • Unknown

    Description

      STEPS TO REPRODUCE:

      1. Go to Administer Wiki
      2. Click on Other > CAPTCHA
      3. Select Type > Sound
      4. Click on 'Save'
      5. Go to Users & Rights > Rights
      6. Tick 'Require unregistered users to solve a CAPTCHA when posting a comment on a page'
      7. Click on 'Users' and grant 'Comment' right to unregistered users
      8. Log out of the wiki
      9. Go to a page
      10. Click in 'Comments' text box
      11. Click on 'Listen'

      EXPECTED RESULTS

      The sound CAPTCHA can be heard.

      ACTUAL RESULTS:

      On IE11, Edge and Firefox browsers, the following error is displayed in the console:

      2018-09-28 14:05:02,084 [http://localhost:1080/xwiki/bin/jcaptcha/Main/WebHome?type=sound&engine=com.octo.captcha.engine.sound.speller.SpellerSoundCaptchaEngine&cache-buster=1538132701616] ERROR c.x.x.w.XWikiAction            - Failed to handle Action for Resource [type = [entity], parameters = [[type] = [[sound]], [engine] = [[com.octo.captcha.engine.sound.speller.SpellerSoundCaptchaEngine]], [cache-buster] = [[1538132701616]]], reference = [Document xwiki:Main.WebHome], action = [jcaptcha], locale = [<null>]]
      org.xwiki.resource.ResourceReferenceHandlerException: Failed to handle resource [jcaptcha]
              at org.xwiki.captcha.internal.JCaptchaResourceReferenceHandler.handle(JCaptchaResourceReferenceHandler.java:148)
              at org.xwiki.resource.internal.DefaultResourceReferenceHandlerChain.handleNext(DefaultResourceReferenceHandlerChain.java:79)
              at org.xwiki.resource.internal.AbstractResourceReferenceHandlerManager.handle(AbstractResourceReferenceHandlerManager.java:82)
              at org.xwiki.resource.internal.entity.EntityResourceReferenceHandler.handle(EntityResourceReferenceHandler.java:71)
              at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:429)
              at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:209)
              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
              at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
              at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:860)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
              at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:112)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:127)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:134)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1629)
              at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
              at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
              at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
              at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
              at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
              at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
              at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
              at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219)
              at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
              at org.eclipse.jetty.server.Server.handle(Server.java:530)
              at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:347)
              at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:256)
              at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
              at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
              at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
              at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:382)
              at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708)
              at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:626)
              at java.lang.Thread.run(Unknown Source)
      Caused by: org.eclipse.jetty.io.EofException: null
              at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:292)
              at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:429)
              at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:322)
              at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:372)
              at org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:788)
              at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
              at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
              at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:528)
              at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:778)
              at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:834)
              at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:234)
              at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:218)
              at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:530)
              at java.io.OutputStream.write(Unknown Source)
              at com.octo.captcha.module.web.sound.SoundToWavHelper.flushNewCaptchaToResponse(SoundToWavHelper.java:89)
              at org.xwiki.captcha.internal.JCaptchaResourceReferenceHandler.handle(JCaptchaResourceReferenceHandler.java:123)
              ... 55 common frames omitted
      Caused by: java.io.IOException: An existing connection was forcibly closed by the remote host
              at sun.nio.ch.SocketDispatcher.writev0(Native Method)
              at sun.nio.ch.SocketDispatcher.writev(Unknown Source)
              at sun.nio.ch.IOUtil.write(Unknown Source)
              at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
              at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:272)
              ... 70 common frames omitted

      Most times, the error is displayed right after logging out of the wiki (step 8).

      Attachments

        Activity

          People

            enygma Eduard Moraru
            iandriuta Ilie Andriuta
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: