pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: x11/qt4-libs fails to build on NetBSD sparc64



On Thursday 12 June 2008 00:20:32 Martin Husemann wrote:
> On Wed, Jun 11, 2008 at 11:52:27PM +0100, raymond.meyer%rambler.ru@localhost 
> wrote:
> > template <typename T>
> > QVector<T> &QVector<T>::operator=(const QVector<T> &v)
> > {
> >     typename QVector::Data *x = v.d;
> >     x->ref.ref();
> >     x = qAtomicSetPtr(&d, x);
> >     if (!x->ref.deref())
> >         free(x);
> >     if (!d->sharable)
> >         detach_helper();
> >     return *this;
> > }
> >
> > I'm not sure how the line 'if (!d->sharable)' can cause 'Bus error'. Any
> > ideas? Where does symbol 'd' come from? It's not declared as variable or
> > anything?
>
> It is a member in the QVector<T> class, as you can see in the v.d access
> in the *x declaration. Check the stacktrace, this kind of problem typically
> happens (a) after memory corruption of the vector, or (b) after a bogus
> cast (i.e. *this is not realy a QVector<T>).
>
> Martin

I get the following trace from gdb, but I don't know what it all means...

Core was generated by `rcc'.
Program terminated with signal 10, Bus error.
#0  0x000000000019db08 in QVector<QXmlSimpleReaderPrivate::XmlRef>::operator= 
(
    this=0x41032828, v=<value optimized out>)
    at ../../../include/QtCore/../../src/corelib/tools/qvector.h:355
355         if (!d->sharable)
(gdb) where
#0  0x000000000019db08 in QVector<QXmlSimpleReaderPrivate::XmlRef>::operator= 
(
    this=0x41032828, v=<value optimized out>)
    at ../../../include/QtCore/../../src/corelib/tools/qvector.h:355
#1  0x000000000019db6c in QVector<QXmlSimpleReaderPrivate::XmlRef>::clear (
    this=0x41032828)
    at ../../../include/QtCore/../../src/corelib/tools/qvector.h:306
#2  0x0000000000193244 in QXmlSimpleReaderPrivate::initData (this=0x41032800)
    at ../../xml/qxml.cpp:7965
#3  0x0000000000193274 in QXmlSimpleReaderPrivate::init (this=0x41032800,
    i=0xffffffffffff9ac0) at ../../xml/qxml.cpp:7942
#4  0x000000000019b7d8 in QXmlSimpleReader::parse (this=0x0,
    input=0xffffffffffff9ac0, incremental=false) at ../../xml/qxml.cpp:3387
#5  0x000000000018fe70 in QXmlSimpleReader::parse (this=0xffffffffffff99c0,
    input=0xffffffffffff9ac0) at ../../xml/qxml.cpp:3349
#6  0x000000000018c484 in QDomDocumentPrivate::setContent (
    this=<value optimized out>, source=0xffffffffffff9ac0,
    reader=0xffffffffffff99c0, errorMsg=0xffffffffffff9d48,
    errorLine=0xffffffffffffa00c, errorColumn=0xffffffffffffa010)
    at ../../xml/qdom.cpp:6248
#7  0x000000000018c5b4 in QDomDocumentPrivate::setContent (this=0x4101a100,
    source=0xffffffffffff9ac0, namespaceProcessing=<value optimized out>,
    errorMsg=0xffffffffffff9d48, errorLine=0xffffffffffffa00c,
    errorColumn=0xffffffffffffa010) at ../../xml/qdom.cpp:6229
#8  0x000000000018cdbc in QDomDocument::setContent (this=0xffffffffffff9da8,
    dev=0xffffffffffffa0e8, namespaceProcessing=false,
    errorMsg=0xffffffffffff9d48, errorLine=0xffffffffffffa00c,
    errorColumn=0xffffffffffffa010) at ../../xml/qdom.cpp:6795
#9  0x000000000018cdf0 in QDomDocument::setContent (this=0xffffffffffff9da8,
    dev=0xffffffffffffa0e8, errorMsg=0xffffffffffff9d48,
    errorLine=0xffffffffffffa00c, errorColumn=0xffffffffffffa010)
    at ../../xml/qdom.cpp:6837
#10 0x000000000012837c in RCCResourceLibrary::interpretResourceFile (
    this=0xffffffffffffa220, inputDevice=0xffffffffffffa0e8,
    fname=@0xffffffffffffa108, currentPath=@0xffffffffffffa100,
    ignoreErrors=false) at rcc.cpp:243
#11 0x00000000001296dc in RCCResourceLibrary::readFiles (
    this=0xffffffffffffa220, ignoreErrors=false) at rcc.cpp:417
#12 0x000000000012608c in processResourceFile (
    filenamesIn=<value optimized out>, filenameOut=@0xffffffffffffa3a0,
    list=false) at main.cpp:65
#13 0x0000000000126be0 in main (argc=6, argv=<value optimized out>)
    at main.cpp:192
(gdb) q


Home | Main Index | Thread Index | Old Index