Bug 1111293

Summary: Librecad crashes when trying to open a file created with the previous version.
Product: [Fedora] Fedora Reporter: Robin <robin.laing>
Component: librecadAssignee: Tom "spot" Callaway <tcallawa>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 20CC: hobbes1069, mesat, tcallawa, terry1
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-28 01:28:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
One of the files that crashes LibreCAD
none
Another file that crashes Librecad none

Description Robin 2014-06-19 16:15:39 UTC
Description of problem:  
Librecad crashes with a coredump when trying to open files created and/or editted with the previous version of LibreCAD.

Version-Release number of selected component (if applicable):
   librecad-2.0.4-1.fc20.x86_64

How reproducible:
  All the time.  Ever file I have tried to open.

Steps to Reproduce:
1.  Open LibreCAD 
2.  open a previously created file.
3.  wath application crash.

Actual results:
When running librecad in a terminal window, I get a crash with a  "Segmentation fault (core dumped)" message.  I have tried mulitple files created and edited over dates ranging from 2010 to 2014-06-09 just before I updated.  I have tried to open various files in sizes as well with the same result.


Expected results:
Files are opened so I can work with them as expected.  Allo me to edit the files as I need too.

Additional info:
I cannot use ABRT due to network restrictions where I work.  I have all the abrt files.  If asked, I may be able to upload individual files as needed.


This is a partial copy of an strace when the crash occurs while trying to open the file.

recvfrom(6, 0x29a32f4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=6, revents=POLLOUT}])
writev(6, [{"+\3\1\0", 4}, {NULL, 0}, {"", 0}], 3) = 4
poll([{fd=6, events=POLLIN}], 1, 4294967295) = 1 ([{fd=6, revents=POLLIN}])
recvfrom(6, "\1\1\322\317\0\0\0\0\16\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(6, 0x29a32f4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(6, 0x29a32f4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=6, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=6, revents=POLLOUT}])
writev(6, [{"\202\3\n\0\16\0\0\4\20\0\0\4y\4\241\3\231\3\234\0\330\0\4\1\231\3\234\0\30\2\0\0"..., 80}, {NULL, 0}, {"", 0}], 3) = 80
recvfrom(6, 0x29a32f4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=6, events=POLLIN}], 4, 0) = 0 (Timeout)
read(3, 0x7fffad87b3b0, 16)             = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(6, 0x29a32f4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
write(3, "\1\0\0\0\0\0\0\0", 8)         = 8
open("/home/rlaing/Data/Projects/XXXXX/Drawings/Cable_Extension_Keyboard.dxf", O_RDONLY) = 12
read(12, "999\ndxflib 2.0.4.8\n  0\nSECTION\n "..., 8191) = 8191
close(12)                               = 0
open("/home/rlaing/Data/Projects/XXXXX/Drawings/Cable_Extension_Keyboard.dxf", O_RDONLY) = 12
read(12, "999\ndxflib 2.0.4.8\n  0\nSECTION\n "..., 8191) = 8191
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x1} ---
+++ killed by SIGSEGV (core dumped) +++

Comment 1 Robin Laing 2014-06-21 22:16:47 UTC
Created attachment 911084 [details]
One of the files that crashes LibreCAD

This file was edited/created in March with a previous version of LibreCAD.

Comment 2 Robin Laing 2014-06-21 22:59:38 UTC
I have just tested LibreCAD on my F19 machine and it is also crashing when trying to open files created earlier.  I know that some of the files were created with LibreCAD.

At present, I cannot get the abrt to work due to a couple of missing files.  I will work on this and try later with a crash report based on the attached file.

Comment 3 Terry Barnaby 2014-06-26 07:14:06 UTC
Same here latest librecad crashes on opening files created with previous version all our files all of the time. This is on a fully updated Fedora 19 system.
I have tried to upload a core dump via abrt, but this failed with the
error:
INFO:root:Preparing environment for backtrace generation
INFO:root:Generating backtrace
ERROR:root:The appropriate package set could not be installed

Attached is another example file that fails.

Comment 4 Terry Barnaby 2014-06-26 07:15:52 UTC
Created attachment 912361 [details]
Another file that crashes Librecad

Comment 5 Terry Barnaby 2014-06-26 08:10:36 UTC
While trying to rebuild the librecad package from source, I think I have found the reason. It appears to be a packaging problem.
The version of librecad we were using, librecad-2.0.0beta2, had pulled in the package libdxfrw0. This supplies the library libdxfrw.so.0.
When librecad was updated to librecad-2.0.4 this carried on using this same library. However there is a new package: libdxfrw that the new librecad needs.
I presume the libdxfrw package should have the appropriate SPEC info to obsolete the older libdxfrw0 package...

Anyway the following fixed it here:
rpm -e libdxfrw0 --nodeps
yum install libdxfrw

Comment 6 Robin 2014-06-26 15:30:48 UTC
Thank you Terry.  

I tried your approach and I can now open my files on the F20 machine.  I will have to try on the F19 machine later.  

Good work.

Comment 7 Tom "spot" Callaway 2014-06-26 19:07:56 UTC
Fedora has never had a "libdxfrw0" package.... so I'm not sure where that came from. We only have the libdxfrw package. If you have that libpackage, can you tell me where it came from? (If you don't know, rpm -qip foo.rpm will tell you.)

Comment 8 Terry Barnaby 2014-06-27 16:13:12 UTC
Hi,

Ah the librecad-2.0.0beta2-1.1 and libdxfrw0-0.5.7-1.1 packages are from:

Name        : librecad
Vendor      : obs://build.opensuse.org/home:Rallaz
URL         : http://www.librecad.org/

Name        : libdxfrw0
Vendor      : obs://build.opensuse.org/home:Rallaz
URL         : http://sourceforge.net/projects/libdxfrw/

I suspect that Fedora19 shipped without librecad originally and so I had installed these from the http://www.librecad.org/ site.

That would explain things.

Comment 9 Robin Laing 2014-06-28 00:42:46 UTC
I would say that my situation is the same for me.  I had been using QCad and found that librecad worked much better.  To get it working, I had to install the necessary libraries.  Same on the F20 machine I bet.

I just tested with libdxfrw and it works on my F19 machine.  Installing the correct library from Fedora works.  Shouldn't reoccur with F21.

Thank you.

This bug can be closed.