[Interest] Debian packaging problem

Thiago Macieira thiago.macieira at intel.com
Mon Aug 5 18:02:28 CEST 2013


On segunda-feira, 5 de agosto de 2013 06:34:33, hfsamb-cel at yahoo.com.br wrote:
> Hello,
> 
> I built a Qt5.0.2 application on one machine and packaged it as a deb file.
> This application consists basically of one libVLC widget alone in a frame
> and one QWebView widget in another frame. I need that the QWebView is
> transparent on top of the video. I can achieve that using two separate
> frames in a compositing window manager like Compiz in Ubuntu 12.04.
> 
> When I run this application in another machine I have a realloc error inside
> Qt when calling libVLC init function. If I compile the source code in this
> machine I have no error at all. This application is meant to be distributed
> as debian package.
> 
> Please see below the log error and a valgrind log as attachment. Any help is
> appreciated.

Looks like it Qt tried to reallocate the shared_null in QListData:
==2449== Invalid free() / delete / delete[] / realloc()
==2449==    at 0x402BF52: realloc (in /usr/lib/valgrind/vgpreload_memcheck-
x86-linux.so)
==2449==    by 0x69B6656: QListData::realloc(int) (in 
/opt/Qt5.0.2/5.0.2/gcc/lib/libQt5Core.so.5.0.2)
==2449==    by 0x69B673B: QListData::append(int) (in 
/opt/Qt5.0.2/5.0.2/gcc/lib/libQt5Core.so.5.0.2)
==2449==    by 0x69B67C2: QListData::append() (in 
/opt/Qt5.0.2/5.0.2/gcc/lib/libQt5Core.so.5.0.2)
==2449==    by 0x697BBB7: ??? (in 
/opt/Qt5.0.2/5.0.2/gcc/lib/libQt5Core.so.5.0.2)
==2449==  Address 0x6d4dd1c is 0 bytes inside data symbol 
"_ZN9QListData11shared_nullE"

Looking at the source code for QListData::append(int), it has this at the 
beginning:
    Q_ASSERT(d->ref == 1);

Now, your Qt is compiled in release mode, which means the assertion isn't 
there. We have two possibitilies:

1) d->ref != 1, and the bug is in a caller
2) d->ref == 1 and somehow you managed to trigger a bug in 8-year-old code

Turns out that the second case is more likely, because the shared_null is 
initialised to refcount 1. It's extremely unlikely, but it can happen. I'll 
try to reproduce this.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20130805/d1a02bb1/attachment.sig>


More information about the Interest mailing list