QCAD

QCAD - 2D CAD System.

Click here for a documentation of the DokuWiki formatting syntax that can be used in reports

Please search for existing tasks (also closed ones) before opening a new task.

Please make sure that you are using the latest Version of QCAD before posting a bug (menu Help - Check for Updates)

Tasklist

FS#1017 - crash when saving file with block attributes

Attached to Project: QCAD
Opened by Stijn Verholen (sverholen) - Tuesday, 04 February 2014, 08:57 GMT+2
Last edited by Andrew (andrew) - Thursday, 13 February 2014, 17:40 GMT+2
Task Type Bug Report
Category Main
Status Closed
Assigned To Andrew (andrew)
Operating System Ubuntu Linux
Severity Medium
Priority Normal
Reported Version 3.4.5
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Hey,

QCAD crashes when saving a drawing that has a block attribute added.
This happens both with a block and the exploded version of the block.

Please find attached the system info, as well as an example drawing.
In this drawing, there are three boxes. The lower 2 boxes are intended to contain text attributes.

Output from the command line:
metastable@metastable:~/opt/qcad-3.4.5-pro-linux-x86_32$ ./qcad
Debug: RDxfPlugin::init
Debug: RHelpPlugin::init
Debug: RProScriptsPlugin::init
Debug: TIMER: 90 ms - “loading add-ons”
Debug: TIMER: 781 ms - “initializing add-ons”
Debug: checking for updates...
Warning: QSslSocket: cannot resolve SSLv2_client_method
Warning: QSslSocket: cannot resolve SSLv2_server_method
Debug: no updates available
Debug: checking for updates...
Debug: no updates available
Debug: RPluginBase: postInit: “DWG”
Debug: RPluginBase: postInit: “Pro Tools”
Debug: code page: 30
Debug: autosave skipped [08:54:14]: no modifications
./qcad: line 18: 3850 Segmentation fault (core dumped) LD_LIBRARY_PATH=”$DIR” “$binary” -style plastique “$@”

Kind regards,

Stijn

This task depends upon

Closed by  Andrew (andrew)
Thursday, 13 February 2014, 17:40 GMT+2
Reason for closing:  Fixed
Additional comments about closing:  fixed in QCAD 3.4.6 by bundling QCAD with an older version of Freetype.
Comment by Andrew (andrew) - Tuesday, 04 February 2014, 09:53 GMT+2

Thanks for your report.
If I'm not mistaken, you are running the 32bit QCAD package on a 64bit Linux system.
You can check if you are running a 64bit system with the command:

uname -m
x86_64

If so, please download the 64bit package instead from your download section:
http://qcad.org/en/customer-area

Please let me know if that does not solve the problem.

Comment by Stijn Verholen (sverholen) - Wednesday, 05 February 2014, 12:16 GMT+2

Hello Andrew,

I'm running 32-bit linux on a 64-bit processor. I switched to the 32-bit distribution some releases ago (as recommended by Ubuntu), because of too many compilation problems and instability.

# uname -m
i686
# file /sbin/init
/sbin/init: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xc0d86a25a7abb14cad4a65a1f7d03605bcbd41f6, stripped

I will try the 64-bit QCAD in case you've made certain optimisations that bypass the distribution and let you know.

Best regards,

Stijn

Comment by Andrew (andrew) - Wednesday, 05 February 2014, 12:19 GMT+2

In that case, the 32bit package is the correct one. The QCAD package has to match the operating system, not the hardware platform.

I cannot reproduce the crash here at the moment with your drawing after adding a block attribute. I will try again later today.

Comment by Stijn Verholen (sverholen) - Wednesday, 05 February 2014, 12:19 GMT+2

Nope :)

# ~/opt/qcad-3.4.5-pro-linux-x86_64$ ./qcad
./qcad: line 18: ./qcad-bin: cannot execute binary file

Best regards,

Stijn

Comment by Stijn Verholen (sverholen) - Wednesday, 05 February 2014, 12:20 GMT+2

My post aand yours seem to have crossed.

Ok, Andrew. Thanks in advance.

If there's any more testing to be done on my part, please let me know.

Best regards,

Stijn

Comment by Stijn Verholen (sverholen) - Wednesday, 05 February 2014, 12:24 GMT+2

A quick update.

To be sure that some libraries that may be shared between the 32 and 64 bit version of QCAd were not removed, I just reinstalled the 32-bit version.

The error still occurs, but with the segmentation fault info is different:
./qcad: line 18: 7663 Segmentation fault (core dumped) LD_LIBRARY_PATH="$DIR" "$binary" -style plastique "$@"

–> 7663 Segmentation fault (instead of 3850)

I have no idea if this is significant, and it probably isn't.

I'll stop spamming your bugtracker now :)

Best regards,

Stijn

Comment by Tamas TEVESZ (kazmer) - Wednesday, 05 February 2014, 19:07 GMT+2

Please try the following: from a terminal window, issue
"ulimit -c unlimited", then start QCAD with "./qcad" (from the same shell).

If the crash produces a file named "core" (or "core.something" or "something.core") which should be indicated by a message along the lines of "core dumped" in your terminal, post that file somewhere.

If the crash happens in one of the libs, we may get lucky to be able to snarf some usable info (AFAICT the QCAD binary itself is stripped, but at least some libs are not, so there's a faint chance).

Comment by Tamas TEVESZ (kazmer) - Wednesday, 05 February 2014, 19:08 GMT+2

Oh, wait, you already have a core. Put that up some place then, along with the drawing that triggers it (if it's different from the one attached to the post).

Comment by Stijn Verholen (sverholen) - Thursday, 06 February 2014, 01:19 GMT+2

Hey,

Sorry, but I've tried three filesharing sites and none of them worked. I'll try to find a decent service tomorrow.

Best regards,

Stijn

Comment by Andrew (andrew) - Thursday, 06 February 2014, 10:55 GMT+2

I still cannot reproduce the problem here (32bit Ubuntu Linux).

Can you please add a bit more information:

  • What are the chosen values for "Tag", "Prompt" and "Default Value"?
  • What file format are you saving in?

Thanks.

Comment by Stijn Verholen (sverholen) - Thursday, 06 February 2014, 11:30 GMT+2

Hey,

TAMAS –>
URL to the core dump: http:// rapidshare.com / share/7A96F872C37D78A40792AD2F84C06EFA
The drawing that triggers the crash is already attached to this task, but I don't think it matters. The crash occurs in any drawing, whenever I try to add and save an attribute.
(Originally, the attached drawing was part of a file with several other blocks that I was copy/pasting into the main drawing. I just recreated the drawing as a separate block into the attached file, thinking that it would solve the crash.)

ANDREW –>
The upper attribute has the following values:
Tag: stroomsterkte
Prompt: stroomsterkte
Default value: 4 A

The lower attribute has the following values:
Tag: nummer
Prompt: nummer
Default value: 1

File format is: R27 (2013) DXF Drawing (Teigha) (*.dxf)
I just tried to save as a R27 dwg, with the same results (as I would expect).

Best regards,

Stijn

Comment by Andrew (andrew) - Thursday, 06 February 2014, 11:36 GMT+2

Thanks.
I still cannot reproduce the problem.
What Ubuntu distribution are you using?
Thanks.

Comment by Stijn Verholen (sverholen) - Thursday, 06 February 2014, 14:03 GMT+2

Hey,

# cat /etc/issue
Ubuntu 13.10 \n \l

Best regards,

Stijn

Comment by Andrew (andrew) - Thursday, 06 February 2014, 15:29 GMT+2

Thanks. I can now reproduce the problem on Ubuntu 13.10.
It appears to be a bug or incompatibility in the freetype 2.5.1 / 2.5.2 library that comes with that version of Ubuntu:

Program received signal SIGSEGV, Segmentation fault.
0xb3230d35 in FT_Add_Module () from /usr/lib/i386-linux-gnu/libfreetype.so.6
(gdb) bt
#0  0xb3230d35 in FT_Add_Module () from /usr/lib/i386-linux-gnu/libfreetype.so.6
#1  0xb3227ae7 in FT_Add_Default_Modules () from /usr/lib/i386-linux-gnu/libfreetype.so.6

I will try to bundle a previous version of FreeType (2.5.0) which does not have that problem with the next release of QCAD (3.4.6).

If you are comfortable with compiling source code, you can download FreeType 2.5.0 yourself and copy the library files (freetype.so.6.10.2, freetype.so.6, freetype.so) into the QCAD installation directory. This should fix the problem.

Another workaround is to use a CAD font for your attributes for now (not a TrueType font).

Comment by Stijn Verholen (sverholen) - Thursday, 06 February 2014, 17:03 GMT+2

No such luck overriding the ubuntu freetype libs.

I downloaded freetype 2.5.0, ran .configure, make and make install (with a –prefix in $HOME) without problems, copied the libfreetype* files to the QCAD installation directory and tried again.
Same result. I have not found a way to compile freetype into freetype.so* libraries, but I assume the library name is not important when the lib is located in the installation directory.

Using CourierCAD, everything works fine !!

I'll use that as a workaround for now. The fonttype doesn't matter to me.

On a sidenote: Who could've guessed that something trivial like the type of font could cause a problem. Another example of where ubuntu went wrong in the last couple of release, imho.

If you want me to do further testing, let me know.

Best regards,

Stijn

Comment by Andrew (andrew) - Thursday, 06 February 2014, 17:19 GMT+2
Using CourierCAD, everything works fine !!
I'll use that as a workaround for now. The fonttype doesn't matter to me.

OK, great!

Here's what I did for the Freetype 2.5.0 compilation and installation:

tar xfvz freetype-2.5.0.tar.gz
cd freetype-2.5.0
./configure
make
cd objs/.libs/
cp libfreetype.so* /path/to/qcad/installation
Comment by Stijn Verholen (sverholen) - Thursday, 06 February 2014, 18:41 GMT+2

Hey Andrew,

FYI, these are the steps I previously followed:

cd $HOME/Downloads/freetype
tar xfvz freetype-2.5.0.tar.gz
cd freetype-2.5.0
./configure --prefix=$HOME/Downloads/freetype/build
make
make install
cd ../build/lib/
cp libfreetype.so* $HOME/opt/qcad-3.4.5-pro-linux-x83_32/

And then removed and recreated the symlinks (because they pointed to nowhere)

Using your code, I get the same result.

Best regards,

Stijn

Comment by Andrew (andrew) - Tuesday, 11 February 2014, 09:42 GMT+2

Stijn: Could you check if this problem persists in QCAD 3.4.6 (released yesterday).
QCAD 3.4.6 is bundled with an older version of Freetype which seems to solve the problem on my Ubuntu 13.10 installations.
Thanks.

Comment by Stijn Verholen (sverholen) - Thursday, 13 February 2014, 15:24 GMT+2

Hey Andrew,

Sorry for not responding. My ISP decided to disconnect me last week due to lack of oxygen to the brain.

I just downloaded and tested the block attribute with QCAD 3.4.6 and it works, without resorting to CAD fonts or non-distro freetype !

Thanks again for your excellent support. If you need further testing, I'd be glad to assist.

Best regards,

Stijn

Loading...