|
List Info
Thread: More crashes
|
|
| More crashes |
  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-devel kdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel
|
|
| Re: More crashes |
  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-devel kdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel
|
|
| Re: More crashes |
  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-devel kdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel
|
|
[1-3]
|
|