Illegal storage access...

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Illegal storage access...

Post by yorik »

Hi there,
Since last version I compiled (r1984), when I close FreeCAD, I get a "Illegal storage access..." message on the terminal, repeating forever...
Any idea?
Flolli

Re: Illegal storage access...

Post by Flolli »

Hi,

i think this replaces the segmentation faults, that i got in earlier versions of the program ;)
wmayer
Founder
Posts: 20245
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Illegal storage access...

Post by wmayer »

Hi everybody,

I'm not sure but it sounds that it is this problem: http://sourceforge.net/tracker/index.ph ... tid=455298

This appeared with Ubuntu Intrepid and after digging I came to the conclusion that it must be something with the OpenCV package FreeCAD links to. In order to check this define the default startup workbench other than Image or Complete, restart FreeCAD and load all workbenches manually except for Image and Complete. Then exit FreeCAD, there should be no crash now.

Werner
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Illegal storage access...

Post by yorik »

Hm I tested what you just suggest here, but there is no difference...
Actually by searching on the net, it looks like, as Flolli says, "illegal storage access" is just another description of the sigsegv signal, which is the good old segmentation fault. Maybe in ubuntu intrepid they just updated a basic C library where that description changed...

In fact I have a segfault error on closing the application since the first time I compiled FreeCAD... I deduced, at that time, that it was related to the terrible ATI linux driver, because when I run the same build on another machine with NVIDIA graphics, same ubuntu, there is no error at all...

Flolli, do you also have an ATI card?
wmayer
Founder
Posts: 20245
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Illegal storage access...

Post by wmayer »

Hi,

'Illegal storage access' is a message printed from FreeCAD if a segmentation fault occurs. In C/C++ it's possible to install a so called error handler to the C run-time which invokes the handler if a SIGSEGV or SIGABRT signal is emitted. This allows us to print an error message to the FreeCAD log file so that we know what kind of error occurred if FreeCAD crashed.

You'll find the code in App/Application.cpp in line 827ff. This was done with the revision 1922.

Do you get the messages in an infinite loop? If so, then there seems to be a recursion. Maybe we should close the application inside the handler function, then. What does gdb say?

Werner
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Illegal storage access...

Post by yorik »

hi werner,
yes, it is is an infinite loop.
backtrace says this, I'm not sure it will help much, looks like last call is to libGL (which is indeed an ATI file on my system)... You want me to try something else?

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f1a0c914700 (LWP 20964)]
0x00007f19f67a3cd0 in ?? ()
(gdb) bt
#0 0x00007f19f67a3cd0 in ?? ()
#1 0x00007f1a0c94bacd in ?? () from /usr/lib/libGL.so.1
#2 0x00007f1a0c94d94a in ?? () from /usr/lib/libGL.so.1
#3 0x00007f1a0877f055 in _XFreeExtData () from /usr/lib/libX11.so.6
#4 0x00007f1a0878c531 in _XFreeDisplayStructure () from /usr/lib/libX11.so.6
#5 0x00007f1a08777be2 in XCloseDisplay () from /usr/lib/libX11.so.6
#6 0x00007f1a0a5547cd in ?? () from /usr/lib/libQtGui.so.4
#7 0x00007f1a0a4ff0a8 in QApplication::~QApplication ()
from /usr/lib/libQtGui.so.4
#8 0x00007f1a0c38a387 in Gui::Application::runApplication ()
from /home/yorik/Apps/FreeCAD/lib/libFreeCADGui.so.2
#9 0x0000000000402caa in ?? ()
#10 0x00007f1a05e7b466 in __libc_start_main () from /lib/libc.so.6
#11 0x00000000004022c9 in ?? ()
#12 0x00007fff14ad7088 in ?? ()
#13 0x000000000000001c in ?? ()
#14 0x0000000000000001 in ?? ()
#15 0x00007fff14ad8817 in ?? ()
#16 0x0000000000000000 in ?? ()
wmayer
Founder
Posts: 20245
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Illegal storage access...

Post by wmayer »

Hi Yorik,

I have read somewhere that the default error handler terminates the application with exit(3). With the latest check-in I have fixed this (at least for gcc).
I hope this stops the recursion.

For the actual problem you have I fear we cannot do much unless waiting for a better driver :(

Werner
Flolli

Re: Illegal storage access...

Post by Flolli »

yorikvanhavre wrote:
Flolli, do you also have an ATI card?
No, Yorik, i dont have an ATI card installed.

BTW: the build 2006 has some compilation errors for my intrepid ibex.

TopoShape.cpp:706 error: aggregate ‘TopTools_ListIteratorOfListOfShape it’ has incomplete type and cannot be defined

Cheers,
Florian
wmayer
Founder
Posts: 20245
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Illegal storage access...

Post by wmayer »

With revision number 2007 thus issue is fixed...
The segfault that I was talking about doesn't seem to appear under Jaunty. Thus, it's apparenty only a bug with Intrepid/OpenCV

Werner
flolli
Posts: 20
Joined: Wed Mar 18, 2009 3:18 pm
Location: Stuttgart,Germany

Re: Illegal storage access...

Post by flolli »

another issue, talking about illegal storage access...

i am now trying to compile FreeCAD on another machine, a 64-bit AMD with OpenSuse 11.
After installing all the libraries compilation showed no errors.
But when i construct something, say a line,circle or 3D objects like cylinder i get the following error:

"Cannot compute Inventor representation for the shape of ...(<- insert command here)".

Can you help me? I think its a problem with the 64 bit, isn't it?
Greetings
Post Reply