Exception generating report on server accessed through https

Bug #1185418 reported by Gediminas Paulauskas
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SchoolTool
Fix Released
Critical
Gediminas Paulauskas

Bug Description

Trying to generating a report, exception occurs.

Server running Ubuntu 12.04 LTS
SchoolTool 2.4.0
Accessed through Apache VirtualHost configured to use SSL (as documented on cando.cteresource.org).

Exception

IOError: [Errno socket error] [Errno 1] _ssl.c:504: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
   handle_pageBegin args=()

Traceback

File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 132, in publish
  result = publication.callObject(request, obj)
File "/usr/lib/python2.7/dist-packages/zope/app/publication/zopepublication.py", line 207, in callObject
  return mapply(ob, request.getPositionalArguments(), request)
File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 107, in mapply
  return debug_call(obj, args)
Extra information: <schooltool.skin.flourish.zcml_content.StudentCompetencySectionReportPDFView_student_competency_section_report.pdf object at 0x7f3ae25c2950>
File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 113, in debug_call
  return obj(*args)
File "/usr/lib/python2.7/dist-packages/schooltool/skin/flourish/report.py", line 161, in __call__
  data = self.renderPDF(rml)
File "/usr/lib/python2.7/dist-packages/schooltool/skin/flourish/report.py", line 110, in renderPDF
  stream = rml2pdf.parseString(xml, filename=filename or None)
File "/usr/lib/python2.7/dist-packages/z3c/rml/rml2pdf.py", line 41, in parseString
  doc.process(output)
File "/usr/lib/python2.7/dist-packages/z3c/rml/document.py", line 286, in process
  self.doc.multiBuild(self.flowables)
File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 960, in multiBuild
  self.build(tempStory, **buildKwds)
File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 877, in build
  self.clean_hanging()
File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 510, in clean_hanging
  self.handle_flowable(self._hanging)
File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 757, in handle_flowable
  f.apply(self)
File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 140, in apply
  getattr(doc,arn)(*args)
File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 535, in handle_pageBegin
  self.pageTemplate.onPage(self.canv,self)
File "/usr/lib/python2.7/dist-packages/z3c/rml/template.py", line 146, in drawOnCanvas
  drawing.process()
File "/usr/lib/python2.7/dist-packages/z3c/rml/directive.py", line 109, in process
  self.processSubDirectives()
File "/usr/lib/python2.7/dist-packages/z3c/rml/directive.py", line 102, in processSubDirectives
  directive.process()
File "/usr/lib/python2.7/dist-packages/z3c/rml/canvas.py", line 304, in process
  kwargs = dict(self.getAttributeValues(attrMapping=self.attrMapping))
File "/usr/lib/python2.7/dist-packages/z3c/rml/directive.py", line 59, in getAttributeValues
  value = attr.bind(self).get()
File "/usr/lib/python2.7/dist-packages/z3c/rml/attr.py", line 100, in get
  return self.fromUnicode(value)
File "/usr/lib/python2.7/dist-packages/z3c/rml/attr.py", line 308, in fromUnicode
  fileObj = super(Image, self).fromUnicode(value)
File "/usr/lib/python2.7/dist-packages/z3c/rml/attr.py", line 292, in fromUnicode
  fileObj = self.open(value)
File "/usr/lib/python2.7/urllib.py", line 86, in urlopen
  return opener.open(url)
File "/usr/lib/python2.7/urllib.py", line 207, in open
  return getattr(self, name)(url)
File "/usr/lib/python2.7/urllib.py", line 436, in open_https
  h.endheaders(data)
File "/usr/lib/python2.7/httplib.py", line 954, in endheaders
  self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 814, in _send_output
  self.send(msg)
File "/usr/lib/python2.7/httplib.py", line 776, in send
  self.connect()
File "/usr/lib/python2.7/httplib.py", line 1161, in connect
  self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file)
File "/usr/lib/python2.7/ssl.py", line 381, in wrap_socket
  ciphers=ciphers)
File "/usr/lib/python2.7/ssl.py", line 143, in __init__
  self.do_handshake()
File "/usr/lib/python2.7/ssl.py", line 305, in do_handshake
  self._sslobj.do_handshake()

Changed in schooltool:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.