List Info

Thread: More crashes




More crashes
country flaguser name
Australia
2007-12-18 08:03:48
Hi,

Here are a few more issues:
1) I'm seeing tons of DeclarationBuilder::openDeclaration:
Range collapsed, 
was there a regression?

And some crashes..:

This happens 44% of the way through kdevplatform +
kdevelop:
ASSERT: "previousOfSameName ||
!m_definedMacroNames.contains(macro.name)" in 
file
/opt/kde4/src/kdevelop/languages/cpp/cppduchain/environmentm
anager.cpp, 
line 259

And the following two backtraces look like QUrl threading
issues:

==5675== Thread 4:
==5675== Invalid read of size 1
==5675==    at 0x4EEFBDF: _char(char**, char, ErrorInfo*)
(qurl.cpp:282)
==5675==    by 0x4EEFCC4: _pctEncoded(char**, char*,
ErrorInfo*) 
(qurl.cpp:309)
==5675==    by 0x4EF2204: _regName(char**, QByteArray*,
ErrorInfo*) 
(qurl.cpp:744)
==5675==    by 0x4EF446A: _host(char**, QByteArray*,
ErrorInfo*) 
(qurl.cpp:758)
==5675==    by 0x4EF44FE: _authority(char**, QByteArray*,
QByteArray*, int*, 
ErrorInfo*) (qurl.cpp:820)
==5675==    by 0x4EF4654: _hierPart(char**, QByteArray*,
QByteArray*, int*, 
QByteArray*, ErrorInfo*) (qurl.cpp:1016)
==5675==    by 0x4EF570F:
QUrlPrivate::parse(QUrlPrivate::ParseOptions) const 
(qurl.cpp:3362)
==5675==    by 0x4EF9263: QUrlPrivate::validate() const
(qurl.cpp:3303)
==5675==    by 0x4EF9551: QUrl::port() const
(qurl.cpp:4059)
==5675==    by 0x62CC500:
KUrl::prettyUrl(KUrl::AdjustPathOption) const 
(kurl.cpp:937)
==5675==    by 0x1ED0AE7D: convertFromUrls(QList<KUrl>
const&) 
(preprocessjob.cpp:59)
==5675==    by 0x1ED0B027: PreprocessJob::run()
(preprocessjob.cpp:93)
==5675==  Address 0x2c633567 is 31 bytes inside a block of
size 128 free'd
==5675==    at 0x4C21F3B: free (vg_replace_malloc.c:323)
==5675==    by 0x4E738F0: qFree(void*) (qglobal.cpp:1965)
==5675==    by 0x4E7E32E: QByteArray::operator=(QByteArray
const&) 
(qbytearray.cpp:811)
==5675==    by 0x4EF9246: QUrlPrivate::validate() const
(qurl.cpp:3302)
==5675==    by 0x4EF9551: QUrl::port() const
(qurl.cpp:4059)
==5675==    by 0x62CC500:
KUrl::prettyUrl(KUrl::AdjustPathOption) const 
(kurl.cpp:937)
==5675==    by 0x1ED0AE7D: convertFromUrls(QList<KUrl>
const&) 
(preprocessjob.cpp:59)
==5675==    by 0x1ED0B027: PreprocessJob::run()
(preprocessjob.cpp:93)
==5675==    by 0x1ED05238: CPPParseJob::parseForeground() 
(cppparsejob.cpp:101)
==5675==    by 0x1ED0A4EC:
PreprocessJob::sourceNeeded(QString&, 
rpp::Preprocessor::IncludeType, int, bool)
(preprocessjob.cpp:354)
==5675==    by 0x1F23F55A: rpp::pp::handle_include(bool,
rpp::Stream&, 
rpp::Stream&) (pp-engine.cpp:306)
==5675==    by 0x1F23F67A: rpp::pp::handle_directive(QString
const&, 
rpp::Stream&, rpp::Stream&) (pp-engine.cpp:240)

==8011== Thread 5:
==8011== Invalid read of size 1
==8011==    at 0x4EEFBDF: _char(char**, char, ErrorInfo*)
(qurl.cpp:282)
==8011==    by 0x4EEFCC4: _pctEncoded(char**, char*,
ErrorInfo*) 
(qurl.cpp:309)
==8011==    by 0x4EF2204: _regName(char**, QByteArray*,
ErrorInfo*) 
(qurl.cpp:744)
==8011==    by 0x4EF446A: _host(char**, QByteArray*,
ErrorInfo*) 
(qurl.cpp:758)
==8011==    by 0x4EF44FE: _authority(char**, QByteArray*,
QByteArray*, int*, 
ErrorInfo*) (qurl.cpp:820)
==8011==    by 0x4EF4654: _hierPart(char**, QByteArray*,
QByteArray*, int*, 
QByteArray*, ErrorInfo*) (qurl.cpp:1016)
==8011==    by 0x4EF570F:
QUrlPrivate::parse(QUrlPrivate::ParseOptions) const 
(qurl.cpp:3362)
==8011==    by 0x4EF9263: QUrlPrivate::validate() const
(qurl.cpp:3303)
==8011==    by 0x4EF95AB: QUrl::isValid() const
(qurl.cpp:3656)
==8011==    by 0x62CD803: KUrl::equals(KUrl const&,
QFlags<KUrl::EqualsOption> 
const&) const (kurl.cpp:517)
==8011==    by 0x62CDC37: KUrl::isParentOf(KUrl const&)
const (kurl.cpp:1700)
==8011==    by 0x6668DEB: KDevelop::Project::fileForUrl(KUrl
const&) const 
(project.cpp:352)
==8011==  Address 0xf2b1df7 is 31 bytes inside a block of
size 128 free'd
==8011==    at 0x4C21F3B: free (vg_replace_malloc.c:323)
==8011==    by 0x4E738F0: qFree(void*) (qglobal.cpp:1965)
==8011==    by 0x4E7E32E: QByteArray::operator=(QByteArray
const&) 
(qbytearray.cpp:811)
==8011==    by 0x4EF9246: QUrlPrivate::validate() const
(qurl.cpp:3302)
==8011==    by 0x4EF95AB: QUrl::isValid() const
(qurl.cpp:3656)
==8011==    by 0x62CD803: KUrl::equals(KUrl const&,
QFlags<KUrl::EqualsOption> 
const&) const (kurl.cpp:517)
==8011==    by 0x62CDC37: KUrl::isParentOf(KUrl const&)
const (kurl.cpp:1700)
==8011==    by 0x6668DEB: KDevelop::Project::fileForUrl(KUrl
const&) const 
(project.cpp:352)
==8011==    by 0x1ECFFF08:
CppLanguageSupport::findIncludePaths(KUrl const&) 
const (cpplanguagesupport.cpp:257)
==8011==    by 0x1ED070D0: CPPParseJob::includePaths() const

(cppparsejob.cpp:121)
==8011==    by 0x1ED0D018: PreprocessJob::run()
(preprocessjob.cpp:93)
==8011==    by 0x96D8498: 
ThreadWeaver::JobRunHelper::runTheJob(ThreadWeaver::Thread*,

ThreadWeaver::Job*) (Job.cpp:106)

Cheers,
Hamish.

_______________________________________________
KDevelop-devel mailing list
KDevelop-develkdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel

Re: More crashes
country flaguser name
Germany
2007-12-18 08:59:15
On Tuesday 18 December 2007 15:03:48 Hamish Rodda wrote:
> Hi,
>
> Here are a few more issues:
> 1) I'm seeing tons of
DeclarationBuilder::openDeclaration: Range collapsed,
> was there a regression?

See my last commit. 

> And some crashes..:
>
> This happens 44% of the way through kdevplatform +
kdevelop:
> ASSERT: "previousOfSameName ||
!m_definedMacroNames.contains(macro.name)"
> in file
>
/opt/kde4/src/kdevelop/languages/cpp/cppduchain/environmentm
anager.cpp,
> line 259
I will look into this now.

> And the following two backtraces look like QUrl
threading issues:
>
> ==5675== Thread 4:
> ==5675== Invalid read of size 1
> ==5675==    at 0x4EEFBDF: _char(char**, char,
ErrorInfo*) (qurl.cpp:282)
> ==5675==    by 0x4EEFCC4: _pctEncoded(char**, char*,
ErrorInfo*)
> (qurl.cpp:309)
> ==5675==    by 0x4EF2204: _regName(char**, QByteArray*,
ErrorInfo*)
> (qurl.cpp:744)
> ==5675==    by 0x4EF446A: _host(char**, QByteArray*,
ErrorInfo*)
> (qurl.cpp:758)
> ==5675==    by 0x4EF44FE: _authority(char**,
QByteArray*, QByteArray*,
> int*, ErrorInfo*) (qurl.cpp:820)
> ==5675==    by 0x4EF4654: _hierPart(char**,
QByteArray*, QByteArray*, int*,
> QByteArray*, ErrorInfo*) (qurl.cpp:1016)
> ==5675==    by 0x4EF570F:
QUrlPrivate::parse(QUrlPrivate::ParseOptions)
> const (qurl.cpp:3362)
> ==5675==    by 0x4EF9263: QUrlPrivate::validate() const
(qurl.cpp:3303)
> ==5675==    by 0x4EF9551: QUrl::port() const
(qurl.cpp:4059)
> ==5675==    by 0x62CC500:
KUrl::prettyUrl(KUrl::AdjustPathOption) const
> (kurl.cpp:937)
> ==5675==    by 0x1ED0AE7D:
convertFromUrls(QList<KUrl> const&)
> (preprocessjob.cpp:59)
> ==5675==    by 0x1ED0B027: PreprocessJob::run()
(preprocessjob.cpp:93)
> ==5675==  Address 0x2c633567 is 31 bytes inside a block
of size 128 free'd
> ==5675==    at 0x4C21F3B: free
(vg_replace_malloc.c:323)
> ==5675==    by 0x4E738F0: qFree(void*)
(qglobal.cpp:1965)
> ==5675==    by 0x4E7E32E:
QByteArray::operator=(QByteArray const&)
> (qbytearray.cpp:811)
> ==5675==    by 0x4EF9246: QUrlPrivate::validate() const
(qurl.cpp:3302)
> ==5675==    by 0x4EF9551: QUrl::port() const
(qurl.cpp:4059)
> ==5675==    by 0x62CC500:
KUrl::prettyUrl(KUrl::AdjustPathOption) const
> (kurl.cpp:937)
> ==5675==    by 0x1ED0AE7D:
convertFromUrls(QList<KUrl> const&)
> (preprocessjob.cpp:59)
> ==5675==    by 0x1ED0B027: PreprocessJob::run()
(preprocessjob.cpp:93)
> ==5675==    by 0x1ED05238:
CPPParseJob::parseForeground()
> (cppparsejob.cpp:101)
> ==5675==    by 0x1ED0A4EC:
PreprocessJob::sourceNeeded(QString&,
> rpp::Preprocessor::IncludeType, int, bool)
(preprocessjob.cpp:354)
> ==5675==    by 0x1F23F55A:
rpp::pp::handle_include(bool, rpp::Stream&,
> rpp::Stream&) (pp-engine.cpp:306)
> ==5675==    by 0x1F23F67A:
rpp::pp::handle_directive(QString const&,
> rpp::Stream&, rpp::Stream&)
(pp-engine.cpp:240)
>
> ==8011== Thread 5:
> ==8011== Invalid read of size 1
> ==8011==    at 0x4EEFBDF: _char(char**, char,
ErrorInfo*) (qurl.cpp:282)
> ==8011==    by 0x4EEFCC4: _pctEncoded(char**, char*,
ErrorInfo*)
> (qurl.cpp:309)
> ==8011==    by 0x4EF2204: _regName(char**, QByteArray*,
ErrorInfo*)
> (qurl.cpp:744)
> ==8011==    by 0x4EF446A: _host(char**, QByteArray*,
ErrorInfo*)
> (qurl.cpp:758)
> ==8011==    by 0x4EF44FE: _authority(char**,
QByteArray*, QByteArray*,
> int*, ErrorInfo*) (qurl.cpp:820)
> ==8011==    by 0x4EF4654: _hierPart(char**,
QByteArray*, QByteArray*, int*,
> QByteArray*, ErrorInfo*) (qurl.cpp:1016)
> ==8011==    by 0x4EF570F:
QUrlPrivate::parse(QUrlPrivate::ParseOptions)
> const (qurl.cpp:3362)
> ==8011==    by 0x4EF9263: QUrlPrivate::validate() const
(qurl.cpp:3303)
> ==8011==    by 0x4EF95AB: QUrl::isValid() const
(qurl.cpp:3656)
> ==8011==    by 0x62CD803: KUrl::equals(KUrl
const&,
> QFlags<KUrl::EqualsOption> const&) const
(kurl.cpp:517)
> ==8011==    by 0x62CDC37: KUrl::isParentOf(KUrl
const&) const
> (kurl.cpp:1700) ==8011==    by 0x6668DEB:
> KDevelop::Project::fileForUrl(KUrl const&) const
(project.cpp:352)
> ==8011==  Address 0xf2b1df7 is 31 bytes inside a block
of size 128 free'd
> ==8011==    at 0x4C21F3B: free
(vg_replace_malloc.c:323)
> ==8011==    by 0x4E738F0: qFree(void*)
(qglobal.cpp:1965)
> ==8011==    by 0x4E7E32E:
QByteArray::operator=(QByteArray const&)
> (qbytearray.cpp:811)
> ==8011==    by 0x4EF9246: QUrlPrivate::validate() const
(qurl.cpp:3302)
> ==8011==    by 0x4EF95AB: QUrl::isValid() const
(qurl.cpp:3656)
> ==8011==    by 0x62CD803: KUrl::equals(KUrl
const&,
> QFlags<KUrl::EqualsOption> const&) const
(kurl.cpp:517)
> ==8011==    by 0x62CDC37: KUrl::isParentOf(KUrl
const&) const
> (kurl.cpp:1700) ==8011==    by 0x6668DEB:
> KDevelop::Project::fileForUrl(KUrl const&) const
(project.cpp:352)
> ==8011==    by 0x1ECFFF08:
CppLanguageSupport::findIncludePaths(KUrl
> const&) const (cpplanguagesupport.cpp:257)
> ==8011==    by 0x1ED070D0: CPPParseJob::includePaths()
const
> (cppparsejob.cpp:121)
> ==8011==    by 0x1ED0D018: PreprocessJob::run()
(preprocessjob.cpp:93)
> ==8011==    by 0x96D8498:
>
ThreadWeaver::JobRunHelper::runTheJob(ThreadWeaver::Thread*,

> ThreadWeaver::Job*) (Job.cpp:106)

These aren't really crashes, just valgrind warnings, right?

greetings, David

_______________________________________________
KDevelop-devel mailing list
KDevelop-develkdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel

Re: More crashes
country flaguser name
Australia
2007-12-18 16:22:02
On Wed, 19 Dec 2007 01:59:15 am David Nolden wrote:
> On Tuesday 18 December 2007 15:03:48 Hamish Rodda
wrote:
> > Hi,
> >
> > Here are a few more issues:
> > 1) I'm seeing tons of
DeclarationBuilder::openDeclaration: Range
> > collapsed, was there a regression?
>
> See my last commit. 
>
> > And some crashes..:
> >
> > This happens 44% of the way through kdevplatform +
kdevelop:
> > ASSERT: "previousOfSameName ||
!m_definedMacroNames.contains(macro.name)"
> > in file
> >
/opt/kde4/src/kdevelop/languages/cpp/cppduchain/environmentm
anager.cpp,
> > line 259
>
> I will look into this now.

Thanks for the fixes ;)

> > And the following two backtraces look like QUrl
threading issues:
> >
> > ==5675== Thread 4:
> > ==5675== Invalid read of size 1
> > ==5675==    at 0x4EEFBDF: _char(char**, char,
ErrorInfo*) (qurl.cpp:282)
> > ==5675==    by 0x4EEFCC4: _pctEncoded(char**,
char*, ErrorInfo*)
> > (qurl.cpp:309)
> > ==5675==    by 0x4EF2204: _regName(char**,
QByteArray*, ErrorInfo*)
> > (qurl.cpp:744)
> > ==5675==    by 0x4EF446A: _host(char**,
QByteArray*, ErrorInfo*)
> > (qurl.cpp:758)
> > ==5675==    by 0x4EF44FE: _authority(char**,
QByteArray*, QByteArray*,
> > int*, ErrorInfo*) (qurl.cpp:820)
> > ==5675==    by 0x4EF4654: _hierPart(char**,
QByteArray*, QByteArray*,
> > int*, QByteArray*, ErrorInfo*) (qurl.cpp:1016)
> > ==5675==    by 0x4EF570F:
QUrlPrivate::parse(QUrlPrivate::ParseOptions)
> > const (qurl.cpp:3362)
> > ==5675==    by 0x4EF9263: QUrlPrivate::validate()
const (qurl.cpp:3303)
> > ==5675==    by 0x4EF9551: QUrl::port() const
(qurl.cpp:4059)
> > ==5675==    by 0x62CC500:
KUrl::prettyUrl(KUrl::AdjustPathOption) const
> > (kurl.cpp:937)
> > ==5675==    by 0x1ED0AE7D:
convertFromUrls(QList<KUrl> const&)
> > (preprocessjob.cpp:59)
> > ==5675==    by 0x1ED0B027: PreprocessJob::run()
(preprocessjob.cpp:93)
> > ==5675==  Address 0x2c633567 is 31 bytes inside a
block of size 128
> > free'd ==5675==    at 0x4C21F3B: free
(vg_replace_malloc.c:323)
> > ==5675==    by 0x4E738F0: qFree(void*)
(qglobal.cpp:1965)
> > ==5675==    by 0x4E7E32E:
QByteArray::operator=(QByteArray const&)
> > (qbytearray.cpp:811)
> > ==5675==    by 0x4EF9246: QUrlPrivate::validate()
const (qurl.cpp:3302)
> > ==5675==    by 0x4EF9551: QUrl::port() const
(qurl.cpp:4059)
> > ==5675==    by 0x62CC500:
KUrl::prettyUrl(KUrl::AdjustPathOption) const
> > (kurl.cpp:937)
> > ==5675==    by 0x1ED0AE7D:
convertFromUrls(QList<KUrl> const&)
> > (preprocessjob.cpp:59)
> > ==5675==    by 0x1ED0B027: PreprocessJob::run()
(preprocessjob.cpp:93)
> > ==5675==    by 0x1ED05238:
CPPParseJob::parseForeground()
> > (cppparsejob.cpp:101)
> > ==5675==    by 0x1ED0A4EC:
PreprocessJob::sourceNeeded(QString&,
> > rpp::Preprocessor::IncludeType, int, bool)
(preprocessjob.cpp:354)
> > ==5675==    by 0x1F23F55A:
rpp::pp::handle_include(bool, rpp::Stream&,
> > rpp::Stream&) (pp-engine.cpp:306)
> > ==5675==    by 0x1F23F67A:
rpp::pp::handle_directive(QString const&,
> > rpp::Stream&, rpp::Stream&)
(pp-engine.cpp:240)
> >
> > ==8011== Thread 5:
> > ==8011== Invalid read of size 1
> > ==8011==    at 0x4EEFBDF: _char(char**, char,
ErrorInfo*) (qurl.cpp:282)
> > ==8011==    by 0x4EEFCC4: _pctEncoded(char**,
char*, ErrorInfo*)
> > (qurl.cpp:309)
> > ==8011==    by 0x4EF2204: _regName(char**,
QByteArray*, ErrorInfo*)
> > (qurl.cpp:744)
> > ==8011==    by 0x4EF446A: _host(char**,
QByteArray*, ErrorInfo*)
> > (qurl.cpp:758)
> > ==8011==    by 0x4EF44FE: _authority(char**,
QByteArray*, QByteArray*,
> > int*, ErrorInfo*) (qurl.cpp:820)
> > ==8011==    by 0x4EF4654: _hierPart(char**,
QByteArray*, QByteArray*,
> > int*, QByteArray*, ErrorInfo*) (qurl.cpp:1016)
> > ==8011==    by 0x4EF570F:
QUrlPrivate::parse(QUrlPrivate::ParseOptions)
> > const (qurl.cpp:3362)
> > ==8011==    by 0x4EF9263: QUrlPrivate::validate()
const (qurl.cpp:3303)
> > ==8011==    by 0x4EF95AB: QUrl::isValid() const
(qurl.cpp:3656)
> > ==8011==    by 0x62CD803: KUrl::equals(KUrl
const&,
> > QFlags<KUrl::EqualsOption> const&) const
(kurl.cpp:517)
> > ==8011==    by 0x62CDC37: KUrl::isParentOf(KUrl
const&) const
> > (kurl.cpp:1700) ==8011==    by 0x6668DEB:
> > KDevelop::Project::fileForUrl(KUrl const&)
const (project.cpp:352)
> > ==8011==  Address 0xf2b1df7 is 31 bytes inside a
block of size 128 free'd
> > ==8011==    at 0x4C21F3B: free
(vg_replace_malloc.c:323)
> > ==8011==    by 0x4E738F0: qFree(void*)
(qglobal.cpp:1965)
> > ==8011==    by 0x4E7E32E:
QByteArray::operator=(QByteArray const&)
> > (qbytearray.cpp:811)
> > ==8011==    by 0x4EF9246: QUrlPrivate::validate()
const (qurl.cpp:3302)
> > ==8011==    by 0x4EF95AB: QUrl::isValid() const
(qurl.cpp:3656)
> > ==8011==    by 0x62CD803: KUrl::equals(KUrl
const&,
> > QFlags<KUrl::EqualsOption> const&) const
(kurl.cpp:517)
> > ==8011==    by 0x62CDC37: KUrl::isParentOf(KUrl
const&) const
> > (kurl.cpp:1700) ==8011==    by 0x6668DEB:
> > KDevelop::Project::fileForUrl(KUrl const&)
const (project.cpp:352)
> > ==8011==    by 0x1ECFFF08:
CppLanguageSupport::findIncludePaths(KUrl
> > const&) const (cpplanguagesupport.cpp:257)
> > ==8011==    by 0x1ED070D0:
CPPParseJob::includePaths() const
> > (cppparsejob.cpp:121)
> > ==8011==    by 0x1ED0D018: PreprocessJob::run()
(preprocessjob.cpp:93)
> > ==8011==    by 0x96D8498:
> >
ThreadWeaver::JobRunHelper::runTheJob(ThreadWeaver::Thread*,

> > ThreadWeaver::Job*) (Job.cpp:106)
>
> These aren't really crashes, just valgrind warnings,
right?

They can sometimes result in a crash, i guess depending on
the location of the 
invalid read + how easily the system detects it (whether
it's a segmentation 
violation or not)

Cheers,
Hamish.

_______________________________________________
KDevelop-devel mailing list
KDevelop-develkdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel

[1-3]

about | contact  Other archives ( Real Estate discussion Medical topics )