[Qgis-developer] QGIS Server - GetPrint with a composer containing HTML block causes segfault

kimaidou kimaidou at gmail.com
Thu May 23 06:00:57 PDT 2013


I report my progress here

I managed to get a PDF via the GetPrint request by following these steps

1/ Create a fake X server
Xvfb :99 -ac -noreset &

2/ Add the option in the fastcgi , for example
  FastCgiConfig -idle-timeout 70 -maxClassProcesses 50 -minProcesses 3
-init-start-delay 3 -restart-delay 20 -startDelay 15 -initial-env
DISPLAY=:99  LD_LIBRARY_PATH=/home/kimaidou/src/qgis/build/lib/

3/ Restart Apache
service apache2 restart


After this, I tried the GetPrint request from my QGIS project with a
composer containing a HTML item. The request get a PDF as an answer, but
the HTML item is empty.

I will try with another composer, etc., and report here.

By the way, is there a way to pass an HTML string via a parameter to the
getPrint request for HTML items, as it is possible for text item ? This
would rock !

Michael


2013/5/23 kimaidou <kimaidou at gmail.com>

> Hi Tim and Marco
>
> I come back to this subject after helping to solve the performance problem
> with Mathias.
> So, I am first runnning my tests on my ubuntu laptop. Since it is my
> computer, it is not ubuntu server but the classical Ubuntu with an X server
> running.
>
> I tried in my terminal
> echo $DISPLAY
> :0
>
> So it seems (but I am far from being a X server guru !) that this is the
> DISPLAY value I should pass to QGIS Server.
> This is why I added the following configurartion in my virtual host (and
> in the fastcgi config file):
>
> In the virtual host
>         ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
>         <Directory "/usr/lib/cgi-bin">
>                 AllowOverride None
>                 Options +ExecCGI -MultiViews FollowSymLinks
>                 Order allow,deny
>                 Allow from all
>                 SetEnv LD_LIBRARY_PATH "/home/kimaidou/src/qgis/build/lib"
>                 SetEnv DISPLAY :0
>         </Directory>
>
>
> In /etc/apache2/mods-available/fastcgi.conf
>
> <IfModule mod_fastcgi.c>
>   AddHandler fastcgi-script .fcgi
>   #FastCgiWrapper /usr/lib/apache2/suexec
>   FastCgiIpcDir /var/lib/apache2/fastcgi
>   FastCgiConfig -idle-timeout 70 -maxClassProcesses 50 -minProcesses 3
> -init-start-delay 3 -restart-delay 20 -startDelay 15 -initial-env
> DISPLAY=:0 -initial-env LD_LIBRARY_PATH=/home/kimaidou/src/qgis/build/lib/
> </IfModule>
>
> I am pretty confident the default configuration is not used but I doubled
> it just in case
>
> After restarting my Apache Server, QGIS Server just hangs with the very
> simple URL
> http://localhost/cgi-bin/qgis_mapserv.fcgi
> which should reply with an error in XML format.
> So it seems Apache/QGIServer do not like my DISPLAY parameter.
>
> Any hint ?
> Would it be simplier to test this in a real server with no existing X
> Server by using Xfvb ?
>
> Michael
>
>
> 2013/5/22 Tim Sutton <lists at linfiniti.com>
>
>> Hi
>>
>> You might also want to consider using Xfvb as a 'fake' xserver.
>>
>> Regards
>>
>> Tim
>>
>> On Wed, May 22, 2013 at 10:19 AM, kimaidou <kimaidou at gmail.com> wrote:
>> > Thanks for your answer Marco. I will try to use the workaround you
>> described
>> > and report progress here.
>> >
>> > Michael
>> >
>> >
>> > 2013/5/22 Marco Hugentobler <marco.hugentobler at sourcepole.ch>
>> >>
>> >> Hi Michael
>> >>
>> >> I also encountered that problem. Unfortunately, it seems that QWebKit
>> >> requires a running x-server. So it won't be possible to use html items
>> in
>> >> server projects (or you can run an x-server and set the DISPLAY
>> variable in
>> >> the fcgi conf).
>> >>
>> >> Regards,
>> >> Marco
>> >>
>> >> On 22.05.2013 09:43, kimaidou wrote:
>> >>
>> >> Hi list
>> >>
>> >> I have tried it with today's qgis master.
>> >>
>> >> I have a very simple project with one shapefile containing 3
>> polygones. I
>> >> created a composer with a map. GetPrint request works fine with it. If
>> I add
>> >> an HTML block in the composer (refering to one HTML file or not), the
>> >> getPrint request raises a segfault.
>> >>
>> >> Apache error log is the well-known :
>> >> "Premature end of script headers: qgis_mapserv2.fcgi"
>> >>
>> >> By the way, I compiled QGIS with -DCMAKE_BUILD_TYPE=debug , but I do
>> not
>> >> know where I can find complet log for QGIS Server. Is there a file
>> where I
>> >> can get complete log for QGIS Server ?
>> >>
>> >> I can provide a sample project if needed. I have not found a ticket in
>> the
>> >> hub, so I will fill one, but I would prefer to do so with a
>> self-explaining
>> >> log.
>> >>
>> >> Michael
>> >>
>> >>
>> >> _______________________________________________
>> >> Qgis-developer mailing list
>> >> Qgis-developer at lists.osgeo.org
>> >> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>> >>
>> >>
>> >>
>> >> --
>> >> Dr. Marco Hugentobler
>> >> Sourcepole -  Linux & Open Source Solutions
>> >> Weberstrasse 5, CH-8004 Zürich, Switzerland
>> >> marco.hugentobler at sourcepole.ch http://www.sourcepole.ch
>> >> Technical Advisor QGIS Project Steering Committee
>> >>
>> >>
>> >> _______________________________________________
>> >> Qgis-developer mailing list
>> >> Qgis-developer at lists.osgeo.org
>> >> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>> >>
>> >
>> >
>> > _______________________________________________
>> > Qgis-developer mailing list
>> > Qgis-developer at lists.osgeo.org
>> > http://lists.osgeo.org/mailman/listinfo/qgis-developer
>> >
>>
>>
>>
>> --
>> Tim Sutton - QGIS Project Steering Committee Member (Release  Manager)
>> ==============================================
>> Please do not email me off-list with technical
>> support questions. Using the lists will gain
>> more exposure for your issues and the knowledge
>> surrounding your issue will be shared with all.
>>
>> Visit http://linfiniti.com to find out about:
>>  * QGIS programming and support services
>>  * Mapserver and PostGIS based hosting plans
>>  * FOSS Consulting Services
>> Skype: timlinux
>> Irc: timlinux on #qgis at freenode.net
>> ==============================================
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20130523/a4caa5b1/attachment.html>


More information about the Qgis-developer mailing list