[reportlab-users] Intermittent failure to find font, followed by IOError
Stevens, Ian
IStevens at globeandmail.com
Wed Nov 4 14:17:55 EST 2009
I'll see if I can replicate this by creating two Apache sites, each with a different ServerName, and hitting them both. If so, I'll set the same PythonInterpreter for both and see if the error goes away. It's a long-shot, but it's a quick enough test.
Ian.
> -----Original Message-----
> From: Stevens, Ian
> Sent: November 4, 2009 2:10 PM
> To: 'For users of Reportlab open source software'
> Subject: RE: [reportlab-users] Intermittent failure to find
> font, followed by IOError
>
> Thanks Robin. This link may shed some light:
>
> http://www.modpython.org/live/current/doc-html/pyapi-interps.html
>
> Specifically,
>
> "Note that if any third party module is being used which has
> a C code component that uses the simplified API for access to
> the Global Interpreter Lock (GIL) for Python extension
> modules, then the interpreter name must be forcibly set to be
> 'main_interpreter'. This is necessary as such a module will
> only work correctly if run within the context of the first
> Python interpreter created by the process. If not forced to
> run under the 'main_interpreter', a range of Python errors
> can arise, each typically referring to code being run in
> restricted mode."
>
> Also:
>
> "Default behaviour is to name interpreters using the Apache
> virtual server name (ServerName directive). This means that
> all scripts in the same virtual server execute in the same
> subinterpreter, but scripts in different virtual servers
> execute in different subinterpreters with completely separate
> namespaces."
>
> We are using the same codebase for several different domain
> names. I suppose it is possible that some objects are being
> shared across domains, and subsequently over interpreters as
> well. It might be a coincidence, but over 95% of the URLs
> which generate these errors are on the same subdomain even
> though they account for nowhere near 95% of the traffic.
>
> Ian.
>
> > -----Original Message-----
> > From: reportlab-users-bounces at lists2.reportlab.com
> > [mailto:reportlab-users-bounces at lists2.reportlab.com] On Behalf Of
> > Robin Becker
> > Sent: November 4, 2009 5:37 AM
> > To: For users of Reportlab open source software
> > Subject: Re: [reportlab-users] Intermittent failure to find font,
> > followed by IOError
> >
> > Stevens, Ian wrote:
> > > Hi Robin. Thanks for the patch. It's been applied, and now
> > we get the following:
> > >
> > > File
> > "/usr/lib/python2.5/site-packages/reportlab/pdfbase/pdfmetrics
> > .py", line 79, in parseAFMFile
> > > lines = open_and_readlines(afmFileName, 'r')
> > >
> > > File
> > "/usr/lib/python2.5/site-packages/reportlab/lib/utils.py",
> > line 462, in open_and_readlines
> > > return open_and_read(name,mode).split('\n')
> > >
> > > File
> > "/usr/lib/python2.5/site-packages/reportlab/lib/utils.py",
> > line 459, in open_and_read
> > > return open_for_read(name,mode).read()
> > >
> > > File
> > "/usr/lib/python2.5/site-packages/reportlab/lib/utils.py",
> > line 454, in open_for_read
> > > dbg.dump()
> > >
> > > File
> > "/usr/lib/python2.5/site-packages/reportlab/lib/utils.py",
> > line 810, in dump
> > > f = open(self.fn,'wb')
> > >
> > > IOError: file() constructor not accessible in
> > restricted mode, while looking for faceName='AGFScalaSansBold'
> > >
> > > The faceName matches one which is registered before any
> > other PDF work is done. The IOError is the DebugMemo.dump()
> failing.
> > I've never seen that error before. Could it be another
> symptom of the
> > same issue? The original open() for the font could be raising this
> > error. Could it be a side-effect of a mod_python configuration?
> > >
> > I think you're right; if open (ie alias of file) is not availble in
> > the dump then it might well be the problem in the original open.
> >
> > Googling for the error message "IOError: file() constructor not
> > accessible in restricted mode" seems to indicate that it might be
> > related to rexec/mod_python.
> >
> > This link seems to bear out my opinion that Python restricted mode
> > ought to be considered useless
> >
> > http://www.dalkescientific.com/writings/diary/archive/2008/03/
> > 03/restricted_python.html
> >
> > this email
> >
> > http://www.modpython.org/pipermail/mod_python/2004-April/015476.html
> >
> > seems to imply this has been seen in mod_python land before.
> > I think the implication of the latter is that code is being
> executed
> > in the wrong thread. I will try asking about this on clp.
> >
> >
> >
> > > FYI, we're running Python 2.5.2 and mod_python 3.3.1.
> > >
> > > Thanks,
> > > Ian.
> > >
> > >.......
> > --
> > Robin Becker
> > _______________________________________________
> > reportlab-users mailing list
> > reportlab-users at lists2.reportlab.com
> > http://two.pairlist.net/mailman/listinfo/reportlab-users
> >
More information about the reportlab-users
mailing list