kdevgit caused crash when trying to commit 1 file

Andreas Pakulat apaku at gmx.de
Tue Dec 2 10:16:13 UTC 2008


On 02.12.08 00:38:55, Evgeniy Ivanov wrote:
> Andreas Pakulat wrote:
> > On 25.11.08 23:01:19, Evgeniy Ivanov wrote:
> >> Hi,
> >> I will try to have a look this weekend. Can you please provide more
> >> information about what you have done? Last 2 times the reason was in Qt
> >> (QFileInfo) and in KDE (deadlock) libs, but of course there were some my
> >> bugs before.
> > 
> > Well, I modified core.cpp, right-click in the editor, chose Version
> > Control->commit... Then put a commit-message into the textedit and hit
> > Ctrl+Enter (which is a shortcut for the Ok button). Then kdev crashed.
> > 
> 
> Sorry for late reaction on this. Looks like it is caused by trolls:
> 
> kdevelop(20710)/kdevplatform (vcs) DVCSjob::start: Working directory:
> "/home/kde-devel/kdevelop-projects/git2/src/main.cppgit2.pro"
> kdevelop(20710)/kdevplatform (vcs) DVCSjob::start: Execute dvcs command:
> "git rev-parse --is-inside-work-tree"
> 
> QString workDir = repository; //Repo is
> //"/home/kde-devel/kdevelop-projects/git2/src/main.cppgit2.pro"
> QFileInfo fsObject(workDir);
> if (fsObject.isFile())
>     workDir = fsObject.path();
> //should be "/home/kde-devel/kdevelop-projects/git2/src/" now.

It probably won't include the trailing slash.
 
> You might remember, that there was a bug with QFileInfo.path() and I
> filed it to trolls.

I vaguely remember you talking about a bug, but I can't recall any details.
Can you elaborate, especially what the above call of .path() actually
returns?

> Maybe they fixed it in the way our code doesn't like.

For that to happen you would've needed to file the bugreport a year ago (so
it would get into 4.4.1 or 4.4.2). Did you get a task tracker number?

qt-copy/patches also has no

Looking through the unix-implementation for QFileInfo::path() I can't see
any bug, it will:

- return "." if there's no "/" in the given path
- return "/" if the given path consists of only a starting "/"
- return everything up to the last "/" in the given path in all other
  cases, excluding the slash itself.

So if your code needs a trailing slash after that call it needs to add it
itself.

Andreas

-- 
Your business will assume vast proportions.




More information about the KDevelop-devel mailing list