IDE hangs while typing

Jens Dagerbo jens.dagerbo at swipnet.se
Thu Jan 4 20:49:19 GMT 2007


On Thursday 04 January 2007 08:26, Leon Pollak wrote:
> On Wednesday 03 January 2007 20:23, Jens Dagerbo wrote:
> > Well.. simply pasting that code into a class here, did nothing.. probably
> > the definitions of those types referenced is relevant too.
> >
> > If you're using 3.3.94, you must have compiled it yourself, right? If
> > that's the case, run kdevelop from a konsole and see if the debug output
> > tells you anything when the hang happens. (Run 'kdebugdialog' and make
> > sure all the relevant channels are on, at least 0 and everything in the
> > 9000 range)
>
> OK, did as required. Below is the output from the point I think to be
> relevant:
>
> kdevelop (cpp support): /Development/Common/include/uart_on_cpm.h---> file
> added to background-parser by problem-reporter kdevelop (cpp support):
> lexing file /Development/Common/include/uart_on_cpm.h kdevelop (cpp
> support): lexing file /Development/Common/Common/cli.cpp kdevelop (cpp
> support): CppSupportPart::customEvent(2000)
> kdevelop (cpp support):
> ProblemReporter::removeAllProblems()common/uart_on_cpm.h kdevelop (cpp
> support): CppSupportPart::customEvent(2000)
> kdevelop (cpp support): ProblemReporter::removeAllProblems()common/cli.cpp
> kdevelop (cpp support): remove with references:
> /Development/Common/Common/cli.cpp kdevelop (cpp support): remove with
> references: /Development/Common/include/uart_on_cpm.h kdevelop: item
> UARTonCPM taking template-parameters , default=
> kdevelop: item UARTonCPM taking template-parameters , default=
> kdevelop: item cUART_Task taking template-parameters , default=
> kdevelop: item cUART_Task taking template-parameters , default=
> kdevelop: item cUART_Task taking template-parameters , default=
> kdevelop: item cUART_Task taking template-parameters , default=
> kdevelop (class view): [void Navigator::addFile(const QString&)] file:
> /Development/Common/include/uart_on_cpm.h kdevelop (class view): [void
> Navigator::addFile(const QString&)] processing active file kdevelop (class
> view): [void Navigator::refreshNavBars(const QString&, bool)] kdevelop:
> addding "UARTonCPM::CheckSignal()" as "CheckSignal 
> "UARTonCPM::CheckSignal()"" kdevelop: addding "UARTonCPM::GetChannelN()" as
> "GetChannelN  "UARTonCPM::GetChannelN()"" kdevelop: addding
> "UARTonCPM::GetDCR(int N)" as "GetDCR  "UARTonCPM::GetDCR(int N)""
> kdevelop: addding "UARTonCPM::ReSetAddr()" as "ReSetAddr 
> "UARTonCPM::ReSetAddr()"" kdevelop: addding
> "UARTonCPM::Wait4Signal(time_unit TO)" as "Wait4Signal 
> "UARTonCPM::Wait4Signal(time_unit TO)"" kdevelop: addding
> "cUART_Task::AddMsg(int Msg)" as "AddMsg  "cUART_Task::AddMsg(int Msg)""
> kdevelop: addding "cUART_Task::Body(rtems_task_argument)" as "Body 
> "cUART_Task::Body(rtems_task_argument)"" kdevelop: addding
> "cUART_Task::Create()" as "Create  "cUART_Task::Create()"" kdevelop:
> addding "cUART_Task::IOCTL(ioctl_codes Code)" as "IOCTL 
> "cUART_Task::IOCTL(ioctl_codes Code)"" kdevelop: addding
> "cUART_Task::RegisterChnlMsgs()" as "RegisterChnlMsgs 
> "cUART_Task::RegisterChnlMsgs()"" kdevelop: addding
> "cUART_Task::SetupHW(int ChnlID)" as "SetupHW  "cUART_Task::SetupHW(int
> ChnlID)"" kdevelop: addding "cUART_Task::cUART_Task(int Chnl, char* NameT)"
> as "cUART_Task  "cUART_Task::cUART_Task(int Chnl, char* NameT)"" kdevelop
> (class view): [void Navigator::refreshNavBars(const QString&, bool)] leave
> list:
> (UARTonCPM::CPM_InitParam(),UARTonCPM::CheckSignal(),UARTonCPM::ConnectBRG(
>unsigned
> int),UARTonCPM::ConnectPins(),UARTonCPM::FillControlChars(),UARTonCPM::Fill
>IdleCounter(unsigned int),UARTonCPM::GetChannelN(),UARTonCPM::GetDCR(int
> N),UARTonCPM::ISR_UART_SCC(int),UARTonCPM::ISR_UART_SMC(int),UARTonCPM::Ind
>ependentInitials(bool
> AllowInterrupts),UARTonCPM::ReSetAddr(),UARTonCPM::SetAddressMode(unsigned
> int),UARTonCPM::SetDataBits(unsigned
> int),UARTonCPM::SetErrorBit(),UARTonCPM::SetMaxBufLen(unsigned
> int),UARTonCPM::SetMsg4HDFields(short
> Index),UARTonCPM::SetParity(char),UARTonCPM::SetStopBits(unsigned
> int),UARTonCPM::SetupHW(int),UARTonCPM::Start(),UARTonCPM::Stop(),UARTonCPM
>::UARTonCPM(int Chnl),UARTonCPM::Wait4Signal(time_unit
> TO),cUART_Task::AddMsg(int
> Msg),cUART_Task::Body(rtems_task_argument),cUART_Task::Create(),cUART_Task:
>:Create(),cUART_Task::IOCTL(ioctl_codes
> Code),cUART_Task::RegisterChnlMsgs(),cUART_Task::SetupHW(int
> ChnlID),cUART_Task::cUART_Task(int Chnl, char*
> NameT),ISR_UART_SCC(int),ISR_UART_SCC_On(const
> __rtems_irq_connect_data__*),ISR_UART_SMC(int),ISR_UART_SMC_On(const
> __rtems_irq_connect_data__*)) kdevelop (class view): [void
> Navigator::refreshNavBars(const QString&, bool)] leave list:
> (UARTonCPM::CheckSignal(),UARTonCPM::GetChannelN(),UARTonCPM::GetDCR(int
> N),UARTonCPM::ReSetAddr(),UARTonCPM::Wait4Signal(time_unit
> TO),cUART_Task::AddMsg(int
> Msg),cUART_Task::Body(rtems_task_argument),cUART_Task::Create(),cUART_Task:
>:Create(),cUART_Task::IOCTL(ioctl_codes
> Code),cUART_Task::RegisterChnlMsgs(),cUART_Task::SetupHW(int
> ChnlID),cUART_Task::cUART_Task(int Chnl, char* NameT)) kdevelop (class
> view): [void Navigator::addFile(const QString&)] file:
> /Development/Common/Common/cli.cpp kdevelop (cpp support): files in
> code-model after parseEmit: 66 before: 66 QString::arg(): Argument missing:
> Current file parsed, /Development/Common/include/uart_on_cpm.h kdevelop
> (cpp support): completion-cache emptied
> kdevelop (cpp support): 0types in type-store before destruction
> kdevelop (cpp support): CppCodeCompletion::computeRecoveryPoints
> kdevelop (cpp support): found 15 recovery points
> kdevelop (cpp support): CppCodeCompletion::completeText()
> kdevelop (cpp support): no global namespace was set, clearing cache
> kdevelop (cpp support): completion-cache emptied
> kdevelop (cpp support): 0types in type-store before destruction
> kdevelop (cpp support): using code-model for completion
> kdevelop (cpp support): startLine =     virtual void Create()              
>             {Autoexec.CopyStr(InitStr,sizeof(InitStr));
> cChnlTask::Create();} kdevelop (cpp support): -------------> reparse text
> kdevelop (cpp support): virtual void Create()                          
> {Autoexec.CopyStr(InitStr,sizeof(InitStr)); cChnlTask::Create kdevelop (cpp
> support): -------------------------------------------- kdevelop (cpp
> support): is function definition= true
> kdevelop (cpp support): endLine = 0, endColumn 86
> kdevelop (cpp support): [int CppCodeCompletion::expressionAt(const
> QString&, int)] kdevelop (cpp support): CppCodeCompletion::computeContext()
> -- main kdevelop (cpp support): ===========================> type is:
> [function] Create (resolved) kdevelop (cpp support):
> ===========================> word is:
> kdevelop (cpp support): WARNING: Safety-counter reached count > 40000,
> operation stopped kdevelop (cpp support):
> kdevelop (cpp support): [
> 0: /usr/lib64/libkdecore.so.4(_Z11kdBacktracei+0x49) [0x399e93bc99]
> 1: /usr/lib64/libkdecore.so.4(_Z11kdBacktracev+0xe) [0x399e93bf2e]
> 2: /usr/lib64/kde3/libkdevcppsupport.so(_ZN13SafetyCountercvbEv+0xa1)
> [0x2aaaafc5ecd1] 3:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x5c) [0x2aaaafccf91c] 4:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 5:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 6:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 7:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 8:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 9:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 10:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 11:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 12:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 13:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 14:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 15:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 16:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 17:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 18:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 19:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 20:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 21:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 22:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 23:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 24:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 25:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 26:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 27:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 28:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 29:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 30:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 31:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypeFunctionInterface18appe
>ndNextFunctionE10SimpleType+0x15f) [0x2aaaafccfa1f] 32:
> /usr/lib64/kde3/libkdevcppsupport.so(_ZN27SimpleTypekdevelop (cpp support):
> Killed
>
> Does it help?

Well.. not really. That there is a known bug in the current Code Completion 
implementation, but you seem to crash even though the "safety counter" has 
detected that something is amiss.. I've only seen that bug under rather 
particular circumstances, but you say you get it whenever you type?? 
Hopefully David can have a guess what's wrong..

In the meantime, you might want to turn off automatic code completion in 
Project -> Project Options -> C++ support -> Code Completion


// jens




More information about the KDevelop mailing list