[Qgis-developer] [QGIS-Server] Segfault malloc on master

rldhont rldhont at gmail.com
Fri Nov 29 02:38:35 PST 2013


Thanks Matthias,

I'm arriving at the same conclusion...

I thought that it's when QGIS clean up layers and providers.

Regards


Le 29/11/2013 11:28, Matthias Kuhn a écrit :
> On Fre 29 Nov 2013 09:40:03 CET, rldhont wrote:
>> Hi Marco,
>>
>> More information with valgrind :
>> </WFS_Capabilities>
>> ==26940== Invalid read of size 4
>> ==26940==    at 0x43EE67: QBasicAtomicInt::deref() (qatomic_x86_64.h:133)
>> ==26940==    by 0x43F054: QString::~QString() (in
>> /home/dhont/3liz_dev/QGIS-Compil/qgis_rldhont/build/bin/qgis_mapserv.fcgi)
>>
>> ==26940==    by 0x889B529: __cxa_finalize (cxa_finalize.c:55)
>> ==26940==    by 0x50234D2: ??? (in
>> /home/dhont/3liz_dev/QGIS-Compil/qgis_rldhont/build/lib/libqgis_core.so.2.1.0)
>>
>> ==26940==    by 0x400FF46: _dl_fini (dl-fini.c:253)
>> ==26940==    by 0x889B120: __run_exit_handlers (exit.c:77)
>> ==26940==    by 0x889B1A4: exit (exit.c:99)
>> ==26940==    by 0x8880EAB: (below main) (libc-start.c:294)
>> ==26940==  Address 0x29aeb390 is 0 bytes inside a block of size 40 free'd
>> ==26940==    at 0x4C2BA6C: free (in
>> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
>> ==26940==    by 0x6741487: QString::free(QString::Data*) (in
>> /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.4)
>> ==26940==    by 0x43F06A: QString::~QString() (in
>> /home/dhont/3liz_dev/QGIS-Compil/qgis_rldhont/build/bin/qgis_mapserv.fcgi)
>>
>> ==26940==    by 0x889B120: __run_exit_handlers (exit.c:77)
>> ==26940==    by 0x889B1A4: exit (exit.c:99)
>> ==26940==    by 0x8880EAB: (below main) (libc-start.c:294)
>> But I don't have the file and line.
>>
>> Regardes,
>> René-Luc
>>
>>
>> Le 29/11/2013 07:54, Marco Hugentobler a écrit :
>>> Hi René-Luc
>>>
>>> I don't have a segfault with GetCapabilities here. Maybe it happens
>>> not with all projects?
>>>
>>> Regards,
>>> Marco
>>>
>>> On 28.11.2013 15:59, rldhont wrote:
>>>> Hi Marco,
>>>>
>>>> I found time to test QGIS-Server master on gdb.
>>>>
>>>> I'm testing GetCapabilities, and QGIS-Server segfaults after sending
>>>> the document.
>>>> </WMS_Capabilities>
>>>> [Thread 0x7fffc6b49700 (LWP 1477) exited]
>>>> [Thread 0x7fffc73d7700 (LWP 1475) exited]
>>>> [Thread 0x7fffc7bd8700 (LWP 1474) exited]
>>>>
>>>> Program received signal SIGSEGV, Segmentation fault.
>>>> 0x00007ffff4029cdb in malloc_consolidate (
>>>>      av=av at entry=0x7ffff436c740 <main_arena>) at malloc.c:4094
>>>> 4094    malloc.c: Aucun fichier ou dossier de ce type.
>>>>
>>>> If the segfault arriving before the client receiving all the
>>>> document, the connexion is closed and the document is incomplet.
>>>>
>>>> The GetCapabilities request is not the only one to generate a segfault.
>>>>
>>>> Do you have an idea ?
>>>>
>>>> Regards,
>>>> René-Luc D'Hont
>>>>
>>>>
>>>
>> _______________________________________________
>> Qgis-developer mailing list
>> Qgis-developer at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/qgis-developer
> I know the same problem from my desktop QGIS as well. The problem seems
> to be, that when exiting qgis and doing the cleanup it's trying to
> delete a QString that has been already been cleaned up and deleted
> before. Unfortunately I was not able to track it down yet. It looks
> like we have several of these "segfault on close" issues.
>
> Matthias



More information about the Qgis-developer mailing list