Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ TheIDE » U++ TheIDE: Other Features Wishlist and/or Bugs » theIDE segmentation fault [FIXED]
theIDE segmentation fault [FIXED] [message #4965] Sun, 27 August 2006 23:35 Go to next message
masu is currently offline  masu
Messages: 378
Registered: February 2006
Senior Member
I get a core dump when doing the following with latest UVS2 sources (608.r21):

1. start theIDE
2. open any package
3. call Help Topics
4. try to open any other package

Matthias


931b81e7ea53320dccc37375b34b38c3

[Updated on: Wed, 01 November 2006 22:20]

Report message to a moderator

Re: theIDE segmentation fault [BUG] [message #4966 is a reply to message #4965] Mon, 28 August 2006 00:12 Go to previous messageGo to next message
masu is currently offline  masu
Messages: 378
Registered: February 2006
Senior Member
It is much worse Sad, it also happens if you don't do step 3.

Matthias


931b81e7ea53320dccc37375b34b38c3
Re: theIDE segmentation fault [BUG] [message #4967 is a reply to message #4966] Mon, 28 August 2006 00:53 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Have you

- rebuild all

- removed theide.cfg

?

Mirek
Re: theIDE segmentation fault [BUG] [message #4971 is a reply to message #4967] Mon, 28 August 2006 20:49 Go to previous messageGo to next message
masu is currently offline  masu
Messages: 378
Registered: February 2006
Senior Member
I rebuilt everything in Blitz mode and deleted cfg dir and theide.cfg.
But now it crashes after ASSIST++ has done its job.

I get the following on the console:
terminate called after throwing an instance of 'Exc'


Matthias

[Updated on: Mon, 28 August 2006 21:02]

Report message to a moderator

Re: theIDE segmentation fault [BUG] [message #4978 is a reply to message #4971] Tue, 29 August 2006 00:40 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
masu wrote on Mon, 28 August 2006 14:49

I rebuilt everything in Blitz mode and deleted cfg dir and theide.cfg.
But now it crashes after ASSIST++ has done its job.

I get the following on the console:
terminate called after throwing an instance of 'Exc'


Matthias



BTW, release compilation should be without blitz (results in smaller .exe). Blitz is for debug...

Mirek
Re: theIDE segmentation fault [BUG] [message #4980 is a reply to message #4978] Tue, 29 August 2006 09:50 Go to previous messageGo to next message
masu is currently offline  masu
Messages: 378
Registered: February 2006
Senior Member
luzr wrote on Tue, 29 August 2006 00:40

BTW, release compilation should be without blitz (results in smaller .exe). Blitz is for debug...


Yes, you are right, I remember having read that before.
But the behavior is the same without Blitz.

Matthias
Re: theIDE segmentation fault [BUG] [message #4996 is a reply to message #4980] Wed, 30 August 2006 00:03 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Strange, just compiled Linux version and everything seems to work OK.

It is possible I have fixed the bug while fixing other stuff? (Actually, that Splitter problem could be likely cause).

Mirek
Re: theIDE segmentation fault [BUG] [message #5016 is a reply to message #4996] Wed, 30 August 2006 22:31 Go to previous messageGo to next message
masu is currently offline  masu
Messages: 378
Registered: February 2006
Senior Member
The problem remains even after updating to current version.
What about the console output? Do you have an idea what that means?

I observered that it crashes when Assist++ indexing takes place (at least I can see the dialog).

Matthias

[Updated on: Wed, 30 August 2006 22:57]

Report message to a moderator

Re: theIDE segmentation fault [BUG] [message #5017 is a reply to message #5016] Wed, 30 August 2006 23:08 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Yes, Exc is "standard" exception, widely used throughout U++ (in fact, String).

There is however Exc handler at the event processing active in release mode, so uncatched Exc is unlikely.

I will try again tomorrow more settings to find out what is going on. (Linux painting and clipboard need fixing too Wink

Mirek
Re: theIDE segmentation fault [BUG] [message #5018 is a reply to message #5017] Wed, 30 August 2006 23:24 Go to previous messageGo to next message
masu is currently offline  masu
Messages: 378
Registered: February 2006
Senior Member
Can I go back to a specific version with uvs2 to track down which version introduced this problem?
Re: theIDE segmentation fault [BUG] [message #5020 is a reply to message #5018] Wed, 30 August 2006 23:34 Go to previous messageGo to next message
masu is currently offline  masu
Messages: 378
Registered: February 2006
Senior Member
Versions 608-dev1 and 608.r20 are functioning and I remember that at least one 608.r21 version was functioning.
I think the error must have been introduced at the weekend (or on Friday) when I created this topic.

Matthias
Re: theIDE segmentation fault [BUG] [message #5094 is a reply to message #5020] Mon, 04 September 2006 21:24 Go to previous messageGo to next message
masu is currently offline  masu
Messages: 378
Registered: February 2006
Senior Member
I have found the problem of the segfault Smile.
The problem is the topic file uppsrc/TCtrlLib/appdoc.tpp/DlgCalc$cs-cz.tpp which when indexed in function SyncRefs (TopicBase.cpp) causes theIDE to crash on startup. After deleting this topic file theIDE starts normally.
Why? I don't know Sad, but at least it points into a direction.

Matthias
Re: theIDE segmentation fault [BUG] [message #5095 is a reply to message #5094] Mon, 04 September 2006 21:38 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
masu wrote on Mon, 04 September 2006 15:24

I have found the problem of the segfault Smile.
The problem is the topic file uppsrc/TCtrlLib/appdoc.tpp/DlgCalc$cs-cz.tpp which when indexed in function SyncRefs (TopicBase.cpp) causes theIDE to crash on startup. After deleting this topic file theIDE starts normally.
Why? I don't know Sad, but at least it points into a direction.

Matthias



Thanks, this is promising. The topic is still in the old uncompressed format (which should work anyway), so perhaps it is conected somehow...

I was working in linux, release mode, latest version during last 3 days without problems, which made me a bit desperate while hunting this bug...

Mirek
Re: theIDE segmentation fault [BUG] [message #5149 is a reply to message #5095] Fri, 08 September 2006 09:58 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Well, I had some other things to do during last days, but I would like to resolve this soon now.

The trouble is that I am still unable to reproduce the problem.

Do you think you could do some debuging efforts? Basically, the most effective way how to debug such release problems is to put RLOGs and RDUMPs into the code to find out which code does the crash, e.g.

void SyncTopicFile(const String& link, const String& path)
{
RLOG(path);
	TopicInfo& ti = topic_info().GetAdd(link);
RLOG("1");
	Time tm = FileGetTime(path);
RLIG("2");
	if(ti.path == ":ide:" || ti.path == path && ti.time == tm)
		return;
	String fn = TopicCacheName(path);
RLOG("3");
	if(FileGetTime(fn) > tm) {
RLOG("4");
		ClearLinkRef(link);
RLOG("5");
....etc


This way you can find witch function does the crash, then repeat the process inside that function body...

Might look a bit tedious, but in fact is usually the fastest way how to debug similar release mode problems.

(BTW, I bet that at the end of process, it will be unitialized member variable Smile

Mirek
Re: theIDE segmentation fault [BUG] [message #5155 is a reply to message #5149] Fri, 08 September 2006 12:27 Go to previous messageGo to next message
masu is currently offline  masu
Messages: 378
Registered: February 2006
Senior Member
I try to track it down ...
... but before I go on holidays Very Happy.

So, I can go for it after the next three weeks.

I am sorry ! Rolling Eyes

Matthias
Re: theIDE segmentation fault [BUG] [message #5254 is a reply to message #5155] Mon, 11 September 2006 16:01 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
I have found it!

This is pretty weird set of circumstances...

The real error is caused by the fact that GCC by default does not allow C++ exception to go through C code (which is what new image formats do).

Now that file

uppsrc/TCtrlLib/appdoc.tpp/DlgCalc$cs-cz.tpp

is in older format which uses PNG to store images. The upgrade path for the format is to try to load all curent image formats - which throws exception (e.g. tests JPG first) through C code.

The reason I have not encountered this problem before is that the file is loaded during indexing - but I have indexing info cached on my machine, so no indexing was needed for me.

OK, the fix is to add "-fexceptions" to the build method - this enables stack unwiding of C code. To prevent further troubles, I am now adding it to the GCC builder too.

Mirek
Re: theIDE segmentation fault [BUG] [message #5431 is a reply to message #5254] Thu, 21 September 2006 15:09 Go to previous messageGo to next message
piotr5 is currently offline  piotr5
Messages: 107
Registered: November 2005
Experienced Member
Putting this -fexceptions as GCC-compiler options into the relevant plugin-projects does cure the abort-signal. why hasn't this solution been put into uvs? as far as I know, -fexceptions does take up more resources (with c-files only of course), and therefore shouldn't be used as a default. am I wrong?
Re: theIDE segmentation fault [BUG] [message #5433 is a reply to message #5431] Thu, 21 September 2006 15:23 Go to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
[quote title=piotr5 wrote on Thu, 21 September 2006 09:09]Putting this -fexceptions as GCC-compiler options into the relevant plugin-projects does cure the abort-signal. why hasn't this solution been put into uvs?
[quote]

Well, at the moment it was put as standard into GCC builder. We do not normally export makefiles for dev versions.

Quote:


as far as I know, -fexceptions does take up more resources (with c-files only of course), and therefore shouldn't be used as a default. am I wrong?


You are right. Anyway, these resources are just in code size, not speed and they are standard for C++ code.

OTOH, I am still deciding whether to use this solution or fix image plugins not to use C++ exceptions for error handling.
Previous Topic: Configurable Layout designer
Next Topic: UPT - Ultimate++ Package Template Documentation available
Goto Forum:
  


Current Time: Sat Apr 20 08:56:03 CEST 2024

Total time taken to generate the page: 0.02000 seconds