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

kimaidou kimaidou at gmail.com
Thu May 23 06:20:41 PDT 2013


Ok, new report here :

* Instead of using an HTML item which forces to load an external html file,
I just use a classical Text item. I have checked the "Display in HTML"
checkbox

* I setup an ID for this text box, for example "myid"

* I can request the getPrint and add the parameter and content, for example
...&LAYERS=commune&myid=<h1>a small test</h1><br/><br/><p>lorem ipsum
blablabl</p>

* It seems to work, but I get a tiny tiny box with some unreadble text in
it.

I think I must pass some extra parameters to the fake X Server, like the
screen size, etc.

I will report further attempts

Cheers
Michael


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

> 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/870ea54f/attachment-0001.html>


More information about the Qgis-developer mailing list