Summary: | Kdevelop crashes when a type a single character in the CTags plugin's lookup text box | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Vadym Krevs <vkrevs> |
Component: | CTags | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED FIXED | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | ctags index file |
Description
Vadym Krevs
2005-03-21 15:45:53 UTC
Hmm.. Does it work at all and the crash is a special case? Do you have any hits from the lowercase 's'? Is the problem specific to this project, or does the same problem occur on all projects? Can you look up the "ServerProcess" string via the context menu without crashing? What exuberant-ctags version are you using? Are you using a custom tags database creation command? Hi Jens. Thanks for the prompt response. It works most of the time. The crash seems to be a special case - thought I've only checked about 10 letters of the English alphabet :-) The project gives 1570 hits for the lowercase 's'. The crash occurs in all projects that I've got - represent 3 successive releases of the same applications, and are thus roughly the same in size/structure (~10K files). Looking up "ServerProcess" via the context menu works like a treat. And I do not use a custom tags database creation command - - just whatever is the default for Kdevelop 3.2.0. $ ctags --version Exuberant Ctags 5.5.4, Copyright (C) 1996-2003 Darren Hiebert Compiled: Oct 2 2004, 02:56:44 Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net Optional compiled features: +wildcards, +regex Created attachment 11649 [details]
ctags index file
Hi. I confirme a bug with ctags, but it depends on content of index file generated by ctags rather than number of tags. I have a project with 17k files, ctags index file has 700k rows. I see a crash only which letters: T, C, M. Other words work well. I attache a ctag index with only one tag (started with T letter) that cause kdeveloper to crash. The problem is with two backslashes ("\\") in the tag row. If I remove them kdevelop works well. Wow, a perfect testcase! :) Debugging through the crash confirms what would be suspected from the posted backtrace: The bug is in the readtags.c file supplied by Exuberant Ctags which we use to read its database. It should be easy to stop the bug from crashing us now, but it will leave the lookup algorithm "lossy". The real problem here is that Exuberant Ctags creates a database that it itself finds to contain "invalid patterns". Maciej, could you please paste full source line that results in that entry in the ctags database? I'm curious to see what causes ctags to generate faulty entries. Fixed (workaround) with SVN commit 437861 in trunk. |