[Kde-perl] PerlQt-3.004-RC1

Germain Garand kde-perl@mail.kde.org
Mon, 9 Dec 2002 02:22:16 +0000


Le Dimanche 08 D=E9cembre 2002 14:02, Richard Dale a =E9crit :
> Hello Qt/KDE bindings world again..

Good to see you again Richard ! :)

>
> On Saturday 07 December 2002 5:58 pm, Germain Garand wrote:
> > Le Samedi 07 D=E9cembre 2002 17:15, Germain Garand a =E9crit :
> > >(testing of 5.8.1 is planned)
> >
> > mmmh... sure it can be planned... however, it seems 5.8.1 doesn't exi=
st.
> > I probably dreamed of Perl last night :o)
> >
> > Anyway, while I'm on embarrassing things...
> >
> > The dreadful KDE theming-related segfault is still there. I've tried
> > countless hours to get rid of it by all means but no luck.
> > Thus people wanting to distribute there PerlQt application should che=
ck
> > the "style=3D" line in ~/.qt/qtrc on the user's system.
> > If it's /marble|system(alt)?|riscos/ they should call setStyle("defau=
lt")
> > on their Qt::app object before any call to show (one could also do it
> > through a shell script and exec your_program.pl -style=3Ddefault).
>
> The java bindings are crashing when using hotspot like this:
>
> gertjan@linux:~/kde/kdebindings/kdejava/koala/test/ksystemtray> java Te=
st
> 1
> kdecore (KIconLoader): Theme tree: (Conectiva Crystal - SVG 0.6)
> 2
> kdecore (KAction): KActionCollection::KActionCollection( [KSystemTray
> pointer (0x815cf08) to widget test, geometry=3D700x420+350+315],  ): th=
is =3D
> 0x815d268 kdecore (KAccel): KAccel( watch =3D [KSystemTray pointer
> (0x815cf08) to widget test, geometry=3D700x420+350+315], pParent =3D 0x=
815d268,
> psName =3D
> KActionCollection-KAccel ): this =3D 0x815d4a0
> kdecore (KAccel): KAccelActions( KAccelBase =3D 0x815dac0 ): this =3D 0=
x815dac4
> kdecore (KAccel): KAccelBase(): this =3D 0x815dac0
> kdecore (KAccel): KStdAction::create( 11=3Dfile_quit, 0x815d268,  )
> --crash--
>
> Is it the same as the your PertQt crash? I had a problem before with a
> dynamic_cast in the KStyle code - I changed it to another sort of cast =
and
> it worked. The same app/library worked in C++, but not java. It might b=
e a
> good idea if the KStyle code checked the replies from the dynamic_casts=
 and
> logged an error. Otherwise it's very difficult to track down.
>

No, it doesn't look related... from the debugger, crashes always happen i=
nside=20
KDE's malloc, in the free() of a localy scoped QStringList within=20
KStandardDirs so that's likely to be a malloc conflict.
Argument in this favor is Valgrind, which I think uses always its own=20
malloc(?), doesn't see anything wrong and runs PerlQt with kthemestyles=20
flawlessly.
Also, kthemestyle.so is the only theme (engine, alas) linked to kdecore, =
and=20
that's the only faulty themes.
I've tried to link smoke to kdecore, and then to its own copy of Doug Lea=
's=20
malloc, but then it segfaults in Xim, within glibc's malloc ! (running wi=
th=20
-noxim is fine)

So...  is there any way to enforce the use of a given malloc, as valgrind=
=20
seems to do ? Or should I look elsewhere ? I really dont know.

Germain
(I paste the bt below  -already posted it on kde-core-devel sometimes ago=
)
=20

> -- Richard
>
> _______________________________________________
> Kde-perl mailing list
> Kde-perl@mail.kde.org
> http://mail.kde.org/mailman/listinfo/kde-perl



Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 10897)]
0x41a00d2b in fREe (mem=3D0x83a0cf8) at malloc.c:3070
3070            fwd->bk =3D p;
(gdb) bt
#0  0x41a00d2b in fREe (mem=3D0x83a0cf8) at malloc.c:3070
#1  0x419ffc71 in free (m=3D0x83a0cf8) at malloc.c:5525
#2  0x419ffcc0 in free (m=3D0x83a0cf8) at malloc.c:5537
#3  0x4134de24 in __builtin_delete () from /usr/lib/libstdc++-libc6.2-2.s=
o.3
#4  0x418cf7bb in QValueListPrivate<QString>::~QValueListPrivate=20
(this=3D0x83a4b90, __in_chrg=3D3)
    at /home/germain/cvs/KDE/qt-copy/include/qvaluelist.h:280
#5  0x418cf37a in QValueListPrivate<QString>::derefAndDelete (this=3D0x83=
a4b90)
    at /home/germain/cvs/KDE/qt-copy/include/qvaluelist.h:235
#6  0x418cf091 in QValueList<QString>::~QValueList (this=3D0xbfffec50,=20
__in_chrg=3D0)
    at /home/germain/cvs/KDE/qt-copy/include/qvaluelist.h:444
#7  0x418cdc01 in QStringList::~QStringList (this=3D0xbfffec50, __in_chrg=
=3D2)
    at /home/germain/cvs/KDE/qt-copy/include/qsettings.h:98
#8  0x4197e5d3 in KStandardDirs::addKDEDefaults (this=3D0x83a6f60) at=20
kstandarddirs.cpp:1052
#9  0x41978b97 in KStandardDirs::KStandardDirs (this=3D0x83a6f60) at=20
kstandarddirs.cpp:83
#10 0x418cb011 in KStyleDirs::KStyleDirs (this=3D0x83a6f60) at kstyledirs=
=2Ecpp:31
#11 0x418cddee in KStyleDirs::dirs () at kstyledirs.h:48
#12 0x418d11fe in KThemeStylePlugin::keys (this=3D0x83a8450) at=20
kthemestyle.cpp:133
#13 0x407f1931 in QStylePluginPrivate::featureList (this=3D0x83a8488) at=20
styles/qstyleplugin.cpp:135
#14 0x407bd0e5 in QGPluginManager::addLibrary (this=3D0x83a08a8, lib=3D0x=
83a4be8)=20
at tools/qgpluginmanager.cpp:474
#15 0x407bc730 in QGPluginManager::library (this=3D0x83a08a8,=20
feature=3D@0xbffff030) at tools/qgpluginmanager.cpp:386
#16 0x407bd628 in QGPluginManager::queryUnknownInterface (this=3D0x83a08a=
8,=20
feature=3D@0xbffff030, iface=3D0xbffff020)
    at tools/qgpluginmanager.cpp:540
#17 0x408fdc97 in QPluginManager<QStyleFactoryInterface>::queryInterface=20
(this=3D0x83a08a8, feature=3D@0xbffff030, iface=3D0xbffff020)
    at ../include/private/qpluginmanager_p.h:67
#18 0x407f1289 in QStyleFactory::create (key=3D@0xbffff130) at=20
styles/qstylefactory.cpp:176
#19 0x40536fb4 in QApplication::style () at kernel/qapplication.cpp:1148
#20 0x405b19f1 in QWidget::style (this=3D0x839ff08) at kernel/qwidget.cpp=
:1212
#21 0x408bc4eb in QHideDock::QHideDock (this=3D0x839ff08, parent=3D0x839d=
cd8) at=20
widgets/qmainwindow.cpp:304
#22 0x4064e255 in QMainWindow::QMainWindow (this=3D0x839dcd8, parent=3D0x=
0,=20
name=3D0x0, f=3D0) at widgets/qmainwindow.cpp:909
#23 0x4107cf96 in x_QMainWindow::x_QMainWindow (this=3D0x839dcd8, x1=3D0x=
0,=20
x2=3D0x0, x3=3D0) at x_QMainWindow.cpp:73
#24 0x4107b513 in x_QMainWindow::x_10 (x=3D0x839dc30) at x_QMainWindow.cp=
p:70
#25 0x40ece78b in xcall_QMainWindow (xi=3D10, obj=3D0x0, args=3D0x839dc30=
) at=20
x_QMainWindow.cpp:1422
#26 0x402e87b3 in XS_AUTOLOAD () from=20
/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/Qt/Qt.so
#27 0x40089fcc in Perl_pp_entersub () from=20
/usr/lib/perl5/5.6.1/i386-linux/CORE/libperl.so
#28 0x00000001 in ?? ()
(gdb)