Always fail in generating student report card

Asked by tom chen

Hi there
We're a high school from China and get to know SCHOOLTOOL from A our foreign teacher. Right now SCHOOLTOOL 2.6.0(system is Ubuntu saucy 13.10) has been installed in our server, and we input all relative information according to the manual from SCHOOLTOOL official website, includes years, students, teachers, groups, timetable, course, section, etc... but when we try to generate students report card, it always failed and show some message like " System failure while generating Roy LIUKAIYU report card. Ticket nr. 214caf4e-e1f5-4159-95be-4ee9f463d336. Please contact your administrator."
We've checked the all information that we input and the setting procedure of report card, and also we tried to find some similar issues in Lauchpad to refer, but it seems everybody's reportcard generation function is quite fine :-(
Can anybody help us with this? We really don't know where is wrong. We like this system at the first sight of it but it becomes quite disappointed now.

Thanks very much

Tom CHEN

Question information

Language:
English Edit question
Status:
Needs information
For:
SchoolTool Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
tom chen (pin-chen) said :
#1

By the way, report card only can be generated if we don't assign any section to student, but there is nothing on it except student name, years, school name and logo. Could be something wrong with our section setting? But we do follow the manual very cautiously.

Revision history for this message
Gediminas Paulauskas (menesis) said :
#2

Hello,

I have to comfort you that whatever you do, system failures should not happen. Report generation infrastructure is quite new and people have similar problems like you.

We need more information to understand the problem, see http://book.schooltool.org/troubleshooting.html for some tips.

It is not written there, but in case report generation fails with "System failure... ticket nr." the manager can see the error in Server > Server Information > Scheduled tasks (on local computer, http://localhost:7080/schooltool.tasks) The interesting information there is Exception and Traceback, post it here.

Please also add the SchoolTool PPA and upgrade (http://book.schooltool.org/install-2_0.html#ppa). There are several bugfixes in 2.6.1 release, although I don't see any related to report cards.

Revision history for this message
tom chen (pin-chen) said :
#3

Thanks for response

Here is the information of the error after I try again this morning

ID 67a25b4f-3de5-4177-a2b2-1df2701c6617
Failed
回溯 Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/celery/execute/trace.py", line 181, in trace_task R = retval = fun(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/schooltool/task/tasks.py", line 231, in __call__ raise failure FormattedTraceback:
Exception
xmlParseEntityRef: no name, line 273, column 45
Traceback
File "/usr/lib/python2.7/dist-packages/schooltool/task/tasks.py", line 184, in runTransaction
  result = callable(*args, **kw)
File "/usr/lib/python2.7/dist-packages/schooltool/report/report.py", line 450, in execute
  report_file = self.renderToFile(renderer, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/schooltool/report/report.py", line 499, in renderToFile
  self.renderReport(renderer, stream, *args, **kw)
File "/usr/lib/python2.7/dist-packages/schooltool/report/report.py", line 543, in renderReport
  pdf = rml2pdf.parseString(rml, filename=filename or None)
File "/usr/lib/python2.7/dist-packages/z3c/rml/rml2pdf.py", line 36, in parseString
  root = etree.fromstring(xml)
File "lxml.etree.pyx", line 2993, in lxml.etree.fromstring (src/lxml/lxml.etree.c:62980)

File "parser.pxi", line 1617, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:92828)

File "parser.pxi", line 1488, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:91572)

File "parser.pxi", line 969, in lxml.etree._BaseParser._parseUnicodeDoc (src/lxml/lxml.etree.c:87962)

File "parser.pxi", line 577, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:84019)

File "parser.pxi", line 676, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:85122)

File "parser.pxi", line 616, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:84445)

Exception
<ExceptionWithTraceback (XMLSyntaxError(u'xmlParseEntityRef: no name, line 273, column 45',))>
Traceback
File "/usr/lib/python2.7/dist-packages/schooltool/task/tasks.py", line 211, in __call__
  result = self.runTransaction('execute', True, self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/schooltool/task/tasks.py", line 201, in runTransaction
  raise failure
Persisted traceback
Exception
xmlParseEntityRef: no name, line 273, column 45
Traceback
File "/usr/lib/python2.7/dist-packages/schooltool/task/tasks.py", line 184, in runTransaction
  result = callable(*args, **kw)
File "/usr/lib/python2.7/dist-packages/schooltool/report/report.py", line 450, in execute
  report_file = self.renderToFile(renderer, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/schooltool/report/report.py", line 499, in renderToFile
  self.renderReport(renderer, stream, *args, **kw)
File "/usr/lib/python2.7/dist-packages/schooltool/report/report.py", line 543, in renderReport
  pdf = rml2pdf.parseString(rml, filename=filename or None)
File "/usr/lib/python2.7/dist-packages/z3c/rml/rml2pdf.py", line 36, in parseString
  root = etree.fromstring(xml)
File "lxml.etree.pyx", line 2993, in lxml.etree.fromstring (src/lxml/lxml.etree.c:62980)

File "parser.pxi", line 1617, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:92828)

File "parser.pxi", line 1488, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:91572)

File "parser.pxi", line 969, in lxml.etree._BaseParser._parseUnicodeDoc (src/lxml/lxml.etree.c:87962)

File "parser.pxi", line 577, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:84019)

File "parser.pxi", line 676, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:85122)

File "parser.pxi", line 616, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:84445)

Exception
<ExceptionWithTraceback (XMLSyntaxError(u'xmlParseEntityRef: no name, line 273, column 45',))>
Traceback
File "/usr/lib/python2.7/dist-packages/schooltool/task/tasks.py", line 211, in __call__
  result = self.runTransaction('execute', True, self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/schooltool/task/tasks.py", line 201, in runTransaction
  raise failure
Internal state FAILURE

----------------------------------------------------------------------------------------------------------------------------------
Also here is the things in error log:

2013-12-31 13:38:07,967 ['/var/run/schooltool/zeo.sock'] ClientStorage (pid=20834) created RW/normal for storage: '1'
2013-12-31 13:38:08,050 created temporary cache file '<fdopen>'
2013-12-31 13:38:08,296 ['/var/run/schooltool/zeo.sock'] Testing connection <ManagedClientConnection /var/run/schooltool/zeo.sock>
2013-12-31 13:38:08,304 (/var/run/schooltool/zeo.sock) received handshake 'Z3101'
2013-12-31 13:38:08,397 ['/var/run/schooltool/zeo.sock'] Server authentication protocol None
2013-12-31 13:38:08,397 ['/var/run/schooltool/zeo.sock'] Connected to storage: /var/run/schooltool/zeo.sock
2013-12-31 13:38:08,398 ['/var/run/schooltool/zeo.sock'] No verification necessary -- empty cache
2013-12-31 13:38:08,559 ['/var/run/schooltool/zeo.sock'] Disconnected from storage: '/var/run/schooltool/zeo.sock'
2013-12-31 13:45:27,757 ['/var/run/schooltool/zeo.sock'] ClientStorage (pid=1717) created RW/normal for storage: '1'
2013-12-31 13:45:27,762 created temporary cache file '<fdopen>'
2013-12-31 13:45:27,794 ['/var/run/schooltool/zeo.sock'] Testing connection <ManagedClientConnection /var/run/schooltool/zeo.sock>
2013-12-31 13:45:27,795 (/var/run/schooltool/zeo.sock) received handshake 'Z3101'
2013-12-31 13:45:27,895 ['/var/run/schooltool/zeo.sock'] Server authentication protocol None
2013-12-31 13:45:27,896 ['/var/run/schooltool/zeo.sock'] Connected to storage: /var/run/schooltool/zeo.sock
2013-12-31 13:45:27,897 ['/var/run/schooltool/zeo.sock'] No verification necessary -- empty cache
2013-12-31 13:45:28,232 main db: evolving in mode EVOLVEMINIMUM
2013-12-31 13:45:28,249 main db/schooltool: running install generation
2013-12-31 13:45:28,269 main db/schooltool.cando: running install generation
2013-12-31 13:45:28,321 main db/schooltool.gradebook: running install generation
2013-12-31 13:45:28,374 main db/schooltool.intervention: running install generation
2013-12-31 13:45:28,389 main db/schooltool.lyceum.journal: running install generation
2013-12-31 13:45:28,433 main db/schooltool.requirement: running install generation
2013-12-31 14:02:44,663 http://218.56.106.67:7080/favicon.ico
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 129, in publish
    obj = request.traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/browser.py", line 540, in traverse
    ob = super(BrowserRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/http.py", line 457, in traverse
    ob = super(HTTPRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/base.py", line 260, in traverse
    obj = publication.traverseName(self, obj, entry_name)
  File "/usr/lib/python2.7/dist-packages/zope/app/publication/zopepublication.py", line 198, in traverseName
    ob2 = adapter.publishTraverse(request, nm)
  File "/usr/lib/python2.7/dist-packages/schooltool/traverser/traverser.py", line 79, in publishTraverse
    raise NotFound(self.context, name, request)
NotFound: Object: <schooltool.app.app.SchoolToolApplication object at 0x99f6500>, name: u'favicon.ico'
2013-12-31 14:02:45,315 http://218.56.106.67:7080/@@/schooltool.skin.flourish-jquery-i18n/jquery.ui.datepicker-zh-cn.js
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 129, in publish
    obj = request.traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/browser.py", line 540, in traverse
    ob = super(BrowserRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/http.py", line 457, in traverse
    ob = super(HTTPRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/base.py", line 260, in traverse
    obj = publication.traverseName(self, obj, entry_name)
  File "/usr/lib/python2.7/dist-packages/zope/app/publication/zopepublication.py", line 192, in traverseName
    ob2 = ob.publishTraverse(request, nm)
  File "/usr/lib/python2.7/dist-packages/zope/browserresource/directory.py", line 61, in publishTraverse
    return self.get(name)
  File "/usr/lib/python2.7/dist-packages/zope/browserresource/directory.py", line 89, in get
    raise NotFound(None, name)
NotFound: Object: None, name: u'jquery.ui.datepicker-zh-cn.js'
2013-12-31 16:41:50,976 ['/var/run/schooltool/zeo.sock'] ClientStorage (pid=30985) created RW/normal for storage: '1'
2013-12-31 16:41:50,976 created temporary cache file '<fdopen>'
2013-12-31 16:41:50,999 ['/var/run/schooltool/zeo.sock'] Testing connection <ManagedClientConnection /var/run/schooltool/zeo.sock>
2013-12-31 16:41:50,999 (/var/run/schooltool/zeo.sock) received handshake 'Z3101'
2013-12-31 16:41:51,100 ['/var/run/schooltool/zeo.sock'] Server authentication protocol None
2013-12-31 16:41:51,100 ['/var/run/schooltool/zeo.sock'] Connected to storage: /var/run/schooltool/zeo.sock
2013-12-31 16:41:51,101 ['/var/run/schooltool/zeo.sock'] No verification necessary -- empty cache
2013-12-31 16:41:51,114 main db: evolving in mode EVOLVEMINIMUM
2013-12-31 16:44:37,785 http://localhost:7080/favicon.ico
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 129, in publish
    obj = request.traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/browser.py", line 540, in traverse
    ob = super(BrowserRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/http.py", line 457, in traverse
    ob = super(HTTPRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/base.py", line 260, in traverse
    obj = publication.traverseName(self, obj, entry_name)
  File "/usr/lib/python2.7/dist-packages/zope/app/publication/zopepublication.py", line 198, in traverseName
    ob2 = adapter.publishTraverse(request, nm)
  File "/usr/lib/python2.7/dist-packages/schooltool/traverser/traverser.py", line 79, in publishTraverse
    raise NotFound(self.context, name, request)
NotFound: Object: <schooltool.app.app.SchoolToolApplication object at 0x9309398>, name: u'favicon.ico'
2014-01-02 09:11:38,484 ['/var/run/schooltool/zeo.sock'] ClientStorage (pid=1947) created RW/normal for storage: '1'
2014-01-02 09:11:38,488 created temporary cache file '<fdopen>'
2014-01-02 09:11:38,533 ['/var/run/schooltool/zeo.sock'] Testing connection <ManagedClientConnection /var/run/schooltool/zeo.sock>
2014-01-02 09:11:38,533 (/var/run/schooltool/zeo.sock) received handshake 'Z3101'
2014-01-02 09:11:38,634 ['/var/run/schooltool/zeo.sock'] Server authentication protocol None
2014-01-02 09:11:38,635 ['/var/run/schooltool/zeo.sock'] Connected to storage: /var/run/schooltool/zeo.sock
2014-01-02 09:11:38,635 ['/var/run/schooltool/zeo.sock'] No verification necessary -- empty cache
2014-01-02 09:11:38,649 main db: evolving in mode EVOLVEMINIMUM
2014-01-02 09:17:17,229 http://localhost:7080/favicon.ico
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/zope/publisher/publish.py", line 129, in publish
    obj = request.traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/browser.py", line 540, in traverse
    ob = super(BrowserRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/http.py", line 457, in traverse
    ob = super(HTTPRequest, self).traverse(obj)
  File "/usr/lib/python2.7/dist-packages/zope/publisher/base.py", line 260, in traverse
    obj = publication.traverseName(self, obj, entry_name)
  File "/usr/lib/python2.7/dist-packages/zope/app/publication/zopepublication.py", line 198, in traverseName
    ob2 = adapter.publishTraverse(request, nm)
  File "/usr/lib/python2.7/dist-packages/schooltool/traverser/traverser.py", line 79, in publishTraverse
    raise NotFound(self.context, name, request)
NotFound: Object: <schooltool.app.app.SchoolToolApplication object at 0xa0e8398>, name: u'favicon.ico'
2014-01-02 09:26:11,957 ['/var/run/schooltool/zeo.sock'] ClientStorage (pid=3016) created RW/normal for storage: '1'
2014-01-02 09:26:11,961 created temporary cache file '<fdopen>'
2014-01-02 09:26:12,004 ['/var/run/schooltool/zeo.sock'] Testing connection <ManagedClientConnection /var/run/schooltool/zeo.sock>
2014-01-02 09:26:12,004 (/var/run/schooltool/zeo.sock) received handshake 'Z3101'
2014-01-02 09:26:12,105 ['/var/run/schooltool/zeo.sock'] Server authentication protocol None
2014-01-02 09:26:12,106 ['/var/run/schooltool/zeo.sock'] Connected to storage: /var/run/schooltool/zeo.sock
2014-01-02 09:26:12,107 ['/var/run/schooltool/zeo.sock'] No verification necessary -- empty cache
2014-01-02 09:26:12,120 main db: evolving in mode EVOLVEMINIMUM
2014-01-02 09:28:25,634 ['/var/run/schooltool/zeo.sock'] ClientStorage (pid=3281) created RW/normal for storage: '1'
2014-01-02 09:28:25,635 created temporary cache file '<fdopen>'
2014-01-02 09:28:25,660 ['/var/run/schooltool/zeo.sock'] Testing connection <ManagedClientConnection /var/run/schooltool/zeo.sock>
2014-01-02 09:28:25,661 (/var/run/schooltool/zeo.sock) received handshake 'Z3101'
2014-01-02 09:28:25,761 ['/var/run/schooltool/zeo.sock'] Server authentication protocol None
2014-01-02 09:28:25,762 ['/var/run/schooltool/zeo.sock'] Connected to storage: /var/run/schooltool/zeo.sock
2014-01-02 09:28:25,763 ['/var/run/schooltool/zeo.sock'] No verification necessary -- empty cache
2014-01-02 09:28:25,776 main db: evolving in mode EVOLVEMINIMUM

Revision history for this message
tom chen (pin-chen) said :
#4

Hello Gediminas?
Is the information helpful? The function is still unworking.... ;-(

Revision history for this message
Gediminas Paulauskas (menesis) said :
#5

Hello,

Sorry, I have not received your information by email.

Yes, it is helpful. Can't tell what to do yet.

I guess that there is a Comment column in one of report sheets? There was a related change between version 2.6.0 and 2.6.1.1 to use html entities or not. After upgrade you would have to edit the comment and save it. Then try report of that student.

But I have to look into code.

Revision history for this message
tom chen (pin-chen) said :
#6

Gediminas, did you receive my email?

Revision history for this message
tom chen (pin-chen) said :
#7

Finally we find the probable reason for this issue after we shorten the name of courses, It might need to be less 20 letters. Also it depends on the name of the instructor. Anyway, the report card can be generated now, wish this information is useful.

However we find another issue when we're scheduling the sections by custom date range function, the schedule is duplicated automatically to other date range, like we have different schedule in September and october, but each schedule is in both periods after setting. we need to delete course event one by one afterwards and it cost much time. By the way, there is not error reported. Is there someone has the similar issue?

Revision history for this message
Tom Hoffman (tom-hoffman) said :
#8

Hi Tom,

Regarding the report card bug, can you give us some examples of problematic strings that we can copy/paste them and reproduce the bug? Presumably this is with non-Latin character sets? We simply don't have many examples to use for our testing.

Could you send us screenshots of the schedule and other views relevant to the calendaring bug? Does this also affect the attendance journal?

Can you help with this problem?

Provide an answer of your own, or ask tom chen for more information if necessary.

To post a message you must log in.