Ticket #12256 (confirmed Bug)

Opened 4 years ago

Last modified 3 years ago

[plone.app.discussion] Component lookup error when capcha/recaptcha is not properly installed.

Reported by: timo Owned by: timo
Priority: trivial Milestone: 4.x
Component: Commenting/Discussion Version: 4.1
Keywords: Cc:

Description (last modified by timo) (diff)

This is not really a bug, there should be a nicer error message though.

Steps to reproduce:

  • Create Plone 4.1 Instance with captcha/recaptcha installed in the buildout.
  • Enable captcha in the discussion moderation panel (do not activate or configure captcha).
  • Try to add a comment.

Error trace:

timo@emma:~/workspace/plone/buildout.coredev$ bin/instance fg
2011-10-04 09:48:52 INFO ZServer HTTP server started at Tue Oct  4 09:48:52 2011
	Hostname: 0.0.0.0
	Port: 8080
2011-10-04 09:48:54 WARNING ZODB.blob (7339) Blob dir /home/timo/workspace/plone/buildout.coredev/var/blobstorage/ has insecure mode setting
2011-10-04 09:48:58 INFO Zope Ready to handle requests
2011-10-04 10:03:36 ERROR Zope.SiteErrorLog 1317715416.770.403293479672 http://dev:8080/Plone/front-page/document_view
Traceback (innermost last):
  Module ZPublisher.Publish, line 126, in publish
  Module ZPublisher.mapply, line 77, in mapply
  Module ZPublisher.Publish, line 46, in call_object
  Module Shared.DC.Scripts.Bindings, line 322, in __call__
  Module Shared.DC.Scripts.Bindings, line 359, in _bindAndExec
  Module Products.CMFCore.FSPageTemplate, line 240, in _exec
  Module Products.CMFCore.FSPageTemplate, line 180, in pt_render
  Module Products.PageTemplates.PageTemplate, line 79, in pt_render
  Module zope.pagetemplate.pagetemplate, line 113, in pt_render
  Module zope.tal.talinterpreter, line 271, in __call__
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 888, in do_useMacro
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 533, in do_optTag_tal
  Module zope.tal.talinterpreter, line 518, in do_optTag
  Module zope.tal.talinterpreter, line 513, in no_tag
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 852, in do_condition
  Module zope.tal.talinterpreter, line 343, in interpret
  Module zope.tal.talinterpreter, line 742, in do_insertStructure_tal
  Module Products.PageTemplates.Expressions, line 218, in evaluateStructure
  Module zope.tales.tales, line 696, in evaluate
   - URL: file:/home/timo/.buildout/eggs/plonetheme.sunburst-1.2.1-py2.6.egg/plonetheme/sunburst/skins/sunburst_templates/main_template.pt
   - Line 134, Column 12
   - Expression: <StringExpr u'plone.belowcontent'>
   - Names:
      {'container': <PloneSite at /Plone>,
       'context': <ATDocument at /Plone/front-page>,
       'default': <object object at 0xb737a690>,
       'here': <ATDocument at /Plone/front-page>,
       'loop': {},
       'nothing': None,
       'options': {'args': ()},
       'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0xd9d0824>,
       'request': <HTTPRequest, URL=http://dev:8080/Plone/front-page/document_view>,
       'root': <Application at >,
       'template': <FSPageTemplate at /Plone/document_view used for /Plone/front-page>,
       'traverse_subpath': [],
       'user': <SpecialUser 'Anonymous User'>}
  Module zope.contentprovider.tales, line 77, in __call__
  Module zope.viewlet.manager, line 112, in update
  Module zope.viewlet.manager, line 118, in _updateViewlets
  Module plone.app.discussion.browser.comments, line 263, in update
  Module plone.z3cform.fieldsets.extensible, line 59, in update
  Module plone.z3cform.patch, line 30, in GroupForm_update
  Module z3c.form.group, line 138, in update
  Module z3c.form.action, line 99, in execute
  Module z3c.form.button, line 311, in __call__
  Module z3c.form.button, line 170, in __call__
  Module plone.app.discussion.browser.comments, line 159, in handleComment
  Module plone.app.discussion.browser.validator, line 53, in validate
  Module zope.component._api, line 109, in getMultiAdapter
ComponentLookupError: ((<ATDocument at /Plone/front-page>, <HTTPRequest, URL=http://dev:8080/Plone/front-page/document_view>), <InterfaceClass zope.interface.Interface>, 'recaptcha')
2011-10-04 10:03:37 ERROR root Exception while rendering an error message
Traceback (most recent call last):
  File "/home/timo/.buildout/eggs/Zope2-2.13.9-py2.6.egg/OFS/SimpleItem.py", line 241, in raise_standardErrorMessage
    v = s(**kwargs)
  File "/home/timo/.buildout/eggs/Products.CMFCore-2.2.4-py2.6.egg/Products/CMFCore/FSPythonScript.py", line 130, in __call__
    return Script.__call__(self, *args, **kw)
  File "/home/timo/.buildout/eggs/Zope2-2.13.9-py2.6.egg/Shared/DC/Scripts/Bindings.py", line 322, in __call__
    return self._bindAndExec(args, kw, None)
  File "/home/timo/.buildout/eggs/Zope2-2.13.9-py2.6.egg/Shared/DC/Scripts/Bindings.py", line 359, in _bindAndExec
    return self._exec(bound_data, args, kw)
  File "/home/timo/.buildout/eggs/Products.PythonScripts-2.13.0-py2.6.egg/Products/PythonScripts/PythonScript.py", line 344, in _exec
    result = f(*args, **kw)
  File "Script (Python)", line 34, in standard_error_message
  File "/home/timo/.buildout/eggs/Zope2-2.13.9-py2.6.egg/Shared/DC/Scripts/Bindings.py", line 322, in __call__
    return self._bindAndExec(args, kw, None)
  File "/home/timo/.buildout/eggs/Zope2-2.13.9-py2.6.egg/Shared/DC/Scripts/Bindings.py", line 359, in _bindAndExec
    return self._exec(bound_data, args, kw)
  File "/home/timo/.buildout/eggs/Products.CMFCore-2.2.4-py2.6.egg/Products/CMFCore/FSPageTemplate.py", line 240, in _exec
    result = self.pt_render(extra_context=bound_names)
  File "/home/timo/.buildout/eggs/Products.CMFCore-2.2.4-py2.6.egg/Products/CMFCore/FSPageTemplate.py", line 180, in pt_render
    self, source, extra_context
  File "/home/timo/.buildout/eggs/Zope2-2.13.9-py2.6.egg/Products/PageTemplates/PageTemplate.py", line 79, in pt_render
    showtal=showtal)
  File "/home/timo/.buildout/eggs/zope.pagetemplate-3.5.2-py2.6.egg/zope/pagetemplate/pagetemplate.py", line 113, in pt_render
    strictinsert=0, sourceAnnotations=sourceAnnotations)()
  File "/home/timo/.buildout/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py", line 271, in __call__
    self.interpret(self.program)
  File "/home/timo/.buildout/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/timo/.buildout/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py", line 888, in do_useMacro
    self.interpret(macro)
  File "/home/timo/.buildout/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/timo/.buildout/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py", line 533, in do_optTag_tal
    self.do_optTag(stuff)
  File "/home/timo/.buildout/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py", line 518, in do_optTag
    return self.no_tag(start, program)
  File "/home/timo/.buildout/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py", line 513, in no_tag
    self.interpret(program)
  File "/home/timo/.buildout/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/timo/.buildout/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py", line 852, in do_condition
    self.interpret(block)
  File "/home/timo/.buildout/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py", line 343, in interpret
    handlers[opcode](self, args)
  File "/home/timo/.buildout/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py", line 742, in do_insertStructure_tal
    structure = self.engine.evaluateStructure(expr)
  File "/home/timo/.buildout/eggs/Zope2-2.13.9-py2.6.egg/Products/PageTemplates/Expressions.py", line 218, in evaluateStructure
    text = super(ZopeContext, self).evaluateStructure(expr)
  File "/home/timo/.buildout/eggs/zope.tales-3.5.1-py2.6.egg/zope/tales/tales.py", line 696, in evaluate
    return expression(self)
  File "/home/timo/.buildout/eggs/zope.contentprovider-3.7.2-py2.6.egg/zope/contentprovider/tales.py", line 77, in __call__
    provider.update()
  File "/home/timo/.buildout/eggs/zope.viewlet-3.7.2-py2.6.egg/zope/viewlet/manager.py", line 112, in update
    self._updateViewlets()
  File "/home/timo/.buildout/eggs/zope.viewlet-3.7.2-py2.6.egg/zope/viewlet/manager.py", line 118, in _updateViewlets
    viewlet.update()
  File "/home/timo/.buildout/eggs/plone.app.discussion-2.1.0-py2.6.egg/plone/app/discussion/browser/comments.py", line 263, in update
    self.form.update()
  File "/home/timo/.buildout/eggs/plone.z3cform-0.7.7-py2.6.egg/plone/z3cform/fieldsets/extensible.py", line 59, in update
    super(ExtensibleForm, self).update()
  File "/home/timo/.buildout/eggs/plone.z3cform-0.7.7-py2.6.egg/plone/z3cform/patch.py", line 30, in GroupForm_update
    _original_GroupForm_update(self)
  File "/home/timo/.buildout/eggs/z3c.form-2.4.3-py2.6.egg/z3c/form/group.py", line 138, in update
    self.actions.execute()
  File "/home/timo/.buildout/eggs/z3c.form-2.4.3-py2.6.egg/z3c/form/action.py", line 99, in execute
    result = handler()
  File "/home/timo/.buildout/eggs/z3c.form-2.4.3-py2.6.egg/z3c/form/button.py", line 311, in __call__
    return handler(self.form, self.action)
  File "/home/timo/.buildout/eggs/z3c.form-2.4.3-py2.6.egg/z3c/form/button.py", line 170, in __call__
    return self.func(form, action)
  File "/home/timo/.buildout/eggs/plone.app.discussion-2.1.0-py2.6.egg/plone/app/discussion/browser/comments.py", line 159, in handleComment
    captcha.validate(data['captcha'])
  File "/home/timo/.buildout/eggs/plone.app.discussion-2.1.0-py2.6.egg/plone/app/discussion/browser/validator.py", line 53, in validate
    name=settings.captcha)
  File "/home/timo/.buildout/eggs/zope.component-3.9.5-py2.6.egg/zope/component/_api.py", line 109, in getMultiAdapter
    raise ComponentLookupError(objects, interface, name)
ComponentLookupError: ((<ATDocument at /Plone/front-page>, <HTTPRequest, URL=http://dev:8080/Plone/front-page/document_view>), <InterfaceClass zope.interface.Interface>, 'recaptcha')

Change History

comment:1 Changed 4 years ago by timo

  • Description modified (diff)

comment:2 Changed 4 years ago by kleist

  • Priority changed from minor to trivial
  • Milestone set to 4.x

comment:3 Changed 4 years ago by kleist

  • Status changed from new to confirmed
  • Version set to 4.1
  • Component changed from Infrastructure to General

comment:4 Changed 3 years ago by maartenkling

  • Component changed from General to Commenting/Discussion

move to discussion component

Note: See TracTickets for help on using tickets.