List Info

Thread: Hang when loading a project




Hang when loading a project
user name
2006-11-28 14:25:19
Hi,

 It was a long time since I worked with Kdevelop, but today
I updated my 
kde svn checkout, including KDevelop 3.4 and run into a
problem not 
present before: my KDevelop starts up with loading a project

automatically. That's fine, but when I try to open another
project it 
just hangs. Attached is the backtrace from this period. The
problem 
seems to be with the project itself, as I can safely reopen
the current 
one. It is the Quanta project from the 3.5 branch:
/home/kde/branches/KDE/3.5/kdewebdev/quanta/quanta.kdevelop

Can some try to open it and see if it works there?

Andras



#0  0x00002b61d0f88302 in __select_nocancel () from
/lib64/libc.so.6
#1  0x00002b61cbdf35dc in KProcess::commClose
(this=0x7fffe3820680) 
at
/data/development/sources/kde-3.5/kdelibs/kdecore/kprocess.c
pp:1078
#2  0x00002b61cbdf4480 in KProcess::start
(this=0x7fffe3820680, 
runmode=Block, comm=NoCommunication)
    
at
/data/development/sources/kde-3.5/kdelibs/kdecore/kprocess.c
pp:453
#3  0x00002b61cbdf12ab in KPty::logout (this=<value
optimized out>) 
at
/data/development/sources/kde-3.5/kdelibs/kdecore/kpty.cpp:4
48
#4  0x00002b61cbdf34a3 in KProcess::closePty
(this=0x10f8d10) 
at
/data/development/sources/kde-3.5/kdelibs/kdecore/kprocess.c
pp:707
#5  0x00002b61cbdf36a1 in KProcess::commClose
(this=0x10f8d10) 
at
/data/development/sources/kde-3.5/kdelibs/kdecore/kprocess.c
pp:1103
#6  0x00002b61cbdf3c4d in ~KProcess (this=0x10f8d10) 
at
/data/development/sources/kde-3.5/kdelibs/kdecore/kprocess.c
pp:229
#7  0x00002b61d638c09b in TEPty::~TEPty () 
from /opt/kde-35/lib64/kde3/libkonsolepart.so
#8  0x00002b61d639d7a7 in TESession::~TESession () 
from /opt/kde-35/lib64/kde3/libkonsolepart.so
#9  0x00002b61d6390d93 in konsolePart::~konsolePart () 
from /opt/kde-35/lib64/kde3/libkonsolepart.so
#10 0x00002b61cd1ab718 in ~QWidget (this=0xff6a50) at 
kernel/qwidget.cpp:973
#11 0x00002b61c7a1937f in ~KDevShellWidget (this=0xff6a50) 
at
/data/development/sources/kde-3.5/kdevelop-3.4/lib/util/kdev
shellwidget.cpp:31
#12 0x00002b61d614eea7 in ~KonsoleViewPart (this=0xfdd300)
    
at
/data/development/sources/kde-3.5/kdevelop-3.4/parts/konsole
/konsoleviewpart.cpp:60
#13 0x00002b61c7524a9f in PluginController::unloadPlugins 
(this=0x84f8d0, unloadParts=<value optimized out>)
    
at
/data/development/sources/kde-3.5/kdevelop-3.4/src/plugincon
troller.cpp:195
#14 0x00002b61c7527afc in ProjectManager::loadLocalParts
(this=0x841b50)
    
at
/data/development/sources/kde-3.5/kdevelop-3.4/src/projectma
nager.cpp:574
#15 0x00002b61c7529e39 in ProjectManager::slotLoadProject 
(this=0x841b50)
    
at
/data/development/sources/kde-3.5/kdevelop-3.4/src/projectma
nager.cpp:282
#16 0x00002b61c752a0ca in ProjectManager::qt_invoke
(this=0x841b50, 
_id=8, _o=0x7fffe3820b80) at ./src/projectmanager.moc:119
#17 0x00002b61cd177adc in QObject::activate_signal
(this=0x85fa40, 
clist=<value optimized out>, o=0x7fffe3820b80) at 
kernel/qobject.cpp:2356
#18 0x00002b61cd45be82 in QSignal::signal (this=<value
optimized out>, 
t0=0x85fa90) at
.moc/release-shared-mt/moc_qsignal.cpp:100
#19 0x00002b61cd190555 in QSignal::activate (this=0x85fa40)
at 
kernel/qsignal.cpp:212
#20 0x00002b61cd196b68 in QSingleShotTimer::event
(this=0x85f9f0) at 
kernel/qtimer.cpp:286
#21 0x00002b61cd120eb5 in QApplication::internalNotify
(this=<value 
optimized out>, receiver=0x85f9f0, e=0x7fffe3820ea0)
    at kernel/qapplication.cpp:2636
#22 0x00002b61cd121c40 in QApplication::notify
(this=0x7fffe3821120, 
receiver=0x85f9f0, e=0x7fffe3820ea0) at
kernel/qapplication.cpp:2359
#23 0x00002b61cbdc3d82 in KApplication::notify
(this=0x7fffe3821120, 
receiver=0x85f9f0, event=0x7fffe3820ea0)
    
at
/data/development/sources/kde-3.5/kdelibs/kdecore/kapplicati
on.cpp:550
#24 0x00002b61cd11750f in QEventLoop::activateTimers
(this=<value 
optimized out>) at kernel/qapplication.h:520
#25 0x00002b61cd0d769d in QEventLoop::processEvents
(this=0x66dbf0, 
flags=2) at kernel/qeventloop_x11.cpp:389
#26 0x00002b61cd135963 in QEventLoop::enterLoop (this=0xd)
at 
kernel/qeventloop.cpp:198
#27 0x00002b61cd135812 in QEventLoop::exec (this=0xd) at 
kernel/qeventloop.cpp:145
#28 0x00000000004086de in main (argc=<value optimized
out>, argv=<value 
optimized out>)
    at
/data/development/sources/kde-3.5/kdevelop-3.4/src/main.cpp:
149



-- 
Quanta Plus developer - http://quanta.kdewebdev.o
rg
K Desktop Environment - http://www.kde.org
_______________________________________________
KDevelop-devel mailing list
KDevelop-develbarney.cs.uni-potsdam.de
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel
Hang when loading a project
user name
2006-11-28 18:01:19
On 28.11.06 16:25:19, Andras Mantia wrote:
>  It was a long time since I worked with Kdevelop, but
today I updated my 
> kde svn checkout, including KDevelop 3.4 and run into a
problem not 
> present before: my KDevelop starts up with loading a
project 
> automatically. That's fine, but when I try to open
another project it 
> just hangs. Attached is the backtrace from this period.
The problem 
> seems to be with the project itself, as I can safely
reopen the current 
> one. It is the Quanta project from the 3.5 branch:
>
/home/kde/branches/KDE/3.5/kdewebdev/quanta/quanta.kdevelop
> 
> Can some try to open it and see if it works there?

I can open Quanta and as well an open another project after
that and the
other way around too.

Andreas

-- 
You will be winged by an anti-aircraft battery.

_______________________________________________
KDevelop-devel mailing list
KDevelop-develbarney.cs.uni-potsdam.de
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel
Hang when loading a project
user name
2006-11-28 18:10:17
On Tuesday 28 November 2006 20:01, Andreas Pakulat wrote:
> On 28.11.06 16:25:19, Andras Mantia wrote:
> >  It was a long time since I worked with Kdevelop,
but today I
> > updated my kde svn checkout, including KDevelop
3.4 and run into a
> > problem not present before: my KDevelop starts up
with loading a
> > project automatically. That's fine, but when I try
to open another
> > project it just hangs. Attached is the backtrace
from this period.
> > The problem seems to be with the project itself,
as I can safely
> > reopen the current one. It is the Quanta project
from the 3.5
> > branch:
> >
/home/kde/branches/KDE/3.5/kdewebdev/quanta/quanta.kdevelop
> >
> > Can some try to open it and see if it works there?
>
> I can open Quanta and as well an open another project
after that and
> the other way around too.

Thanks for testing. Can you test some more:
- make sure Konsole plugin is loaded (enable it, restart
KDevelop)
- make sure the quanta.kdevelop file has the following
lines:
    <ignoreparts>
      <part>kdevkonsoleview</part>
      <part>kdevvalgrind</part>
    </ignoreparts>

The <part>kdevkonsoleview</part> makes a
difference between working and 
not working.

Andras

-- 
Quanta Plus developer - http://quanta.kdewebdev.o
rg
K Desktop Environment - http://www.kde.org
_______________________________________________
KDevelop-devel mailing list
KDevelop-develbarney.cs.uni-potsdam.de
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel
Hang when loading a project
user name
2006-11-28 18:34:26
On Tuesday 28 November 2006 20:10, Andras Mantia wrote:
> Thanks for testing. Can you test some more:
> - make sure Konsole plugin is loaded (enable it,
restart KDevelop)
> - make sure the quanta.kdevelop file has the following
lines:
>     <ignoreparts>
>       <part>kdevkonsoleview</part>
>       <part>kdevvalgrind</part>
>     </ignoreparts>
>
> The <part>kdevkonsoleview</part> makes a
difference between working
> and not working.

Yeah, here is how I can reproduce with another project:

- make sure embedded konsole plugin is enabled
- load a project
- disable the konsole plugin
- close the project (adds the above line)
- enable the konsole plugin again
- load the project  - hangs for me

Andras
-- 
Quanta Plus developer - http://quanta.kdewebdev.o
rg
K Desktop Environment - http://www.kde.org

_______________________________________________
KDevelop-devel mailing list
KDevelop-develbarney.cs.uni-potsdam.de
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel
Hang when loading a project
user name
2006-11-28 19:57:42
On 28.11.06 20:34:26, Andras Mantia wrote:
> On Tuesday 28 November 2006 20:10, Andras Mantia wrote:
> > Thanks for testing. Can you test some more:
> > - make sure Konsole plugin is loaded (enable it,
restart KDevelop)
> > - make sure the quanta.kdevelop file has the
following lines:
> >     <ignoreparts>
> >       <part>kdevkonsoleview</part>
> >       <part>kdevvalgrind</part>
> >     </ignoreparts>
> >
> > The <part>kdevkonsoleview</part> makes
a difference between working
> > and not working.
> 
> Yeah, here is how I can reproduce with another project:
> 
> - make sure embedded konsole plugin is enabled
> - load a project
> - disable the konsole plugin
> - close the project (adds the above line)
> - enable the konsole plugin again
> - load the project  - hangs for me

Works here too, sorry :(

Andreas

-- 
You will give someone a piece of your mind, which you can
ill afford.

_______________________________________________
KDevelop-devel mailing list
KDevelop-develbarney.cs.uni-potsdam.de
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel
Hang when loading a project
user name
2006-11-28 23:17:06
On Tuesday 28 November 2006 20:10, Andras Mantia wrote:
> Thanks for testing. Can you test some more:
> - make sure Konsole plugin is loaded (enable it,
restart KDevelop)
> - make sure the quanta.kdevelop file has the following
lines:
>     <ignoreparts>
>       <part>kdevkonsoleview</part>
>       <part>kdevvalgrind</part>
>     </ignoreparts>
>
> The <part>kdevkonsoleview</part> makes a
difference between working and
> not working.

Yeah, indeed disabled konsole makes KDevelop loop forever.
Jens (teatime)
might  have some insight on why that happens.

_______________________________________________
KDevelop-devel mailing list
KDevelop-develbarney.cs.uni-potsdam.de
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel
Hang when loading a project
user name
2006-11-29 01:21:15
On Wednesday 29 November 2006 00:17, Alexander Dymo wrote:
> On Tuesday 28 November 2006 20:10, Andras Mantia wrote:
> > Thanks for testing. Can you test some more:
> > - make sure Konsole plugin is loaded (enable it,
restart KDevelop)
> > - make sure the quanta.kdevelop file has the
following lines:
> >     <ignoreparts>
> >       <part>kdevkonsoleview</part>
> >       <part>kdevvalgrind</part>
> >     </ignoreparts>
> >
> > The <part>kdevkonsoleview</part> makes
a difference between working and
> > not working.
>
> Yeah, indeed disabled konsole makes KDevelop loop
forever. Jens (teatime)
> might  have some insight on why that happens.

No insight to speak of why it happens, but it does sound
like the issue I ran 
into recently too. IIRC, adymo managed to reproduce it, but
not apaku. 

A hunch says it's somehow related to the KProcess running
inside konsolepart. 
IIRC, I noticed it did not happen if I loaded a non-c++
project, which might 
suggest it's a similar problem as the one apaku ran into
recently with the 
qmake manager, where the use of QProcess and KProcess in the
same program 
made one trample the signal handler of the other.

C++ language support uses QProcess with header file
preprocessing these days, 
and konsolepart uses KProcess. I suspect it's a bad idea to
mix them.


// jens

_______________________________________________
KDevelop-devel mailing list
KDevelop-develbarney.cs.uni-potsdam.de
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel
Hang when loading a project
user name
2006-11-29 09:12:22
On Wednesday 29 November 2006 03:21, Jens Dagerbo wrote:
> C++ language support uses QProcess with header file
preprocessing
> these days, and konsolepart uses KProcess. I suspect
it's a bad idea
> to mix them.

Good catch, the problem is in kdevdriver.cpp,
KDevDriver::setup(). Read 
the funny part:
#if KDE_VERSION <= 305
		return; /// FIXME Roberto, please review! 
	// If the QProcess from below is executed,
	// it somehow breaks the gcc call in 
parts/outputviews/makewidget.cpp. :-(
	// It then has the effect that KProcess will never exit, at
least on 
KDE-3.0
#endif // KDE_VERSION
		QProcess proc;
		proc.addArgument( "gcc" );
		proc.addArgument( "-print-file-name=include" );
		if ( !proc.start() ) {
			qWarning( "Couldn't start gcc" );
			return;
		}
		while ( proc.isRunning() )
			usleep( 1 );


So the problem is known but the check is for KDe <= 3.0.5
! I have a 
SUSE build of KDE 3.5.5 and KDevelop 3.3.5 and there is no
problem, but 
there is with my self compiled KDE 3.5.5 and KDevelop 3.4.
Enabling the 
#if for my version  "fixes" the hang. I think I
have to rewrite that 
QProcess stuff to use KProcess or something else instead.

Andras


-- 
Quanta Plus developer - http://quanta.kdewebdev.o
rg
K Desktop Environment - http://www.kde.org
_______________________________________________
KDevelop-devel mailing list
KDevelop-develbarney.cs.uni-potsdam.de
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel
Hang when loading a project
user name
2006-11-29 09:23:23
On 11/29/06, Andras Mantia <amantiakde.org> wrote:
> On Wednesday 29 November 2006 03:21, Jens Dagerbo
wrote:
> > C++ language support uses QProcess with header
file preprocessing
> > these days, and konsolepart uses KProcess. I
suspect it's a bad idea
> > to mix them.
>
> Good catch, the problem is in kdevdriver.cpp,
KDevDriver::setup(). Read
> the funny part:
> #if KDE_VERSION <= 305
>                 return; /// FIXME Roberto, please
review! 
>         // If the QProcess from below is executed,
>         // it somehow breaks the gcc call in
> parts/outputviews/makewidget.cpp. :-(
>         // It then has the effect that KProcess will
never exit, at least on
> KDE-3.0
> #endif // KDE_VERSION
>                 QProcess proc;
>                 proc.addArgument( "gcc" );
>                 proc.addArgument(
"-print-file-name=include" );
>                 if ( !proc.start() ) {
>                         qWarning( "Couldn't start
gcc" );
>                         return;
>                 }
>                 while ( proc.isRunning() )
>                         usleep( 1 );
>
>
> So the problem is known but the check is for KDe <=
3.0.5 ! I have a
> SUSE build of KDE 3.5.5 and KDevelop 3.3.5 and there is
no problem, but
> there is with my self compiled KDE 3.5.5 and KDevelop
3.4. Enabling the
> #if for my version  "fixes" the hang. I think
I have to rewrite that
> QProcess stuff to use KProcess or something else
instead.

The difference between your 3.4 build and the old 3.3 is
that this
code wasn't used until David Nolden enabled it in 3.4. The
code is
several years old, but it hasn't been in any codepath until
now...


// jens

_______________________________________________
KDevelop-devel mailing list
KDevelop-develbarney.cs.uni-potsdam.de
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel
Hang when loading a project
user name
2006-11-29 09:51:57
On Wednesday 29 November 2006 11:23, Jens Dagerbo wrote:
> The difference between your 3.4 build and the old 3.3
is that this
> code wasn't used until David Nolden enabled it in 3.4.
The code is
> several years old, but it hasn't been in any codepath
until now...


I see. I have a preliminary patch that uses KProcess (but
the evil 
processEvents as wel...), but I will rework and post for
testing later.

Andras
-- 
Quanta Plus developer - http://quanta.kdewebdev.o
rg
K Desktop Environment - http://www.kde.org
_______________________________________________
KDevelop-devel mailing list
KDevelop-develbarney.cs.uni-potsdam.de
https://barney.cs.uni-potsdam.de/mailman/listinf
o/kdevelop-devel
[1-10]

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