QCAD Bugtracker

  • Status Closed
  • Percent Complete
    100%
  • Task Type Bug Report
  • Category QCAD (main)
  • Assigned To
    Andrew
  • Operating System Ubuntu Linux
  • Severity Medium
  • Priority Very Low
  • Reported Version 3.4.5
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: QCAD Bugtracker
Opened by Stijn Verholen - 04.02.2014
Last edited by Andrew - 13.02.2014

FS#1017 - crash when saving file with block attributes

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

Closed by  Andrew
13.02.2014 16:40
Reason for closing:  Fixed
Additional comments about closing:  

fixed in QCAD 3.4.6 by bundling QCAD with an older version of Freetype.

Admin
Andrew commented on 04.02.2014 08:53

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.

Stijn Verholen commented on 05.02.2014 11:16

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

Admin
Andrew commented on 05.02.2014 11:19

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.

Stijn Verholen commented on 05.02.2014 11:19

Nope :)

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

Best regards,

Stijn

Stijn Verholen commented on 05.02.2014 11:20

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

Stijn Verholen commented on 05.02.2014 11:24

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

Tamas TEVESZ commented on 05.02.2014 18:07

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).

Tamas TEVESZ commented on 05.02.2014 18:08

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).

Stijn Verholen commented on 06.02.2014 00:19

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

Admin
Andrew commented on 06.02.2014 09:55

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.

Stijn Verholen commented on 06.02.2014 10:30

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

Admin
Andrew commented on 06.02.2014 10:36

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

Stijn Verholen commented on 06.02.2014 13:03

Hey,

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

Best regards,

Stijn

Admin
Andrew commented on 06.02.2014 14:29

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).

Stijn Verholen commented on 06.02.2014 16:03

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

Admin
Andrew commented on 06.02.2014 16:19
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
Stijn Verholen commented on 06.02.2014 17:41

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

Admin
Andrew commented on 11.02.2014 08:42

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.

Stijn Verholen commented on 13.02.2014 14:24

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...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing