PartDesign Mirrored crash

About the development of the Part Design module/workbench. PLEASE DO NOT POST HELP REQUESTS HERE!
tempr
Posts: 24
Joined: Wed Apr 23, 2014 12:03 am

PartDesign Mirrored crash

Postby tempr » Wed Apr 23, 2014 12:47 am

Hi,
I was experimenting with FreeCAD, trying to learn new tools and commands when I noticed this bug. Using PartDesign Mirrored on the Groove item from the list (as it is) crashes (actually hangs) my FreeCAD.

If I change the Groove parameter axis to vertical sketch axis and then try to mirror it nothing happens (no hang or crash) and (I believe) mirror then works as intended.
When I do that and try to use mirror and switch the mirror plane option back and forth from vertical to horizontal sketch axis - on vertical axis it produces no result and error (or warning) message - "One transformed shape does not intersect support" in orange colored text and below that "Transformation succeeded" in green (transformed feature messages in tasks tab), on horizontal axis it produces a proper result and just the "Transformation succeeded" message.

IMO, the bug has something to do with resolving (failing to resolve) overlapping geometry. It hangs for some reason while it should report an error/warning message like the one mentioned above.

I have attached the file so you can try to reproduce it.
Is this reported already? Or maybe fixed? I tried to search for it in mantis but didn't find it.

Btw, I am using Win7 Ultimate SP1
FreeCAD is 0.13, rev 1828
Attachments
groovetest.FCStd
(9.13 KiB) Downloaded 52 times
triplus
Posts: 4833
Joined: Mon Dec 12, 2011 4:45 pm

Re: PartDesign Mirrored crash

Postby triplus » Wed Apr 23, 2014 2:24 am

It works on Ubuntu + latest Development Release. Selecting Groove feature in tree view and using create a mirrored feature tool works fine with default settings.

You are using latest Production Release and i would suggest you should try out latest available Development Release for Windows:

http://sourceforge.net/projects/free-ca ... 0unstable/
tempr
Posts: 24
Joined: Wed Apr 23, 2014 12:03 am

Re: PartDesign Mirrored crash

Postby tempr » Wed Apr 23, 2014 4:42 pm

Well, I installed the FreeCAD 0.14, rev 3389 and i got the same result (hang). Btw, I noticed that the warning text that appeared when I tried to vertical mirror the groove on the vertical groove sketch axis in 0.13 rev. 1828 is now gone.
Should i report it as a bug? Can someone reproduce the hang on win 7?


Here is what Win 7 reports on 0.14 hang:

Description:
A problem caused this program to stop interacting with Windows.

Problem signature:
Problem Event Name: AppHangB1
Application Name: FreeCAD.exe
Application Version: 0.0.0.0
Application Timestamp: 533fdf5a
Hang Signature: 692c
Hang Type: 0
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1050
Additional Hang Signature 1: 692c1013307f452fb09c431a9390dbfc
Additional Hang Signature 2: 9ecf
Additional Hang Signature 3: 9ecf14e22eada0d5e90b4cd0028d6357
Additional Hang Signature 4: 692c
Additional Hang Signature 5: 692c1013307f452fb09c431a9390dbfc
Additional Hang Signature 6: 9ecf
Additional Hang Signature 7: 9ecf14e22eada0d5e90b4cd0028d6357



And this on 0.13 hang:

Description:
A problem caused this program to stop interacting with Windows.

Problem signature:
Problem Event Name: AppHangB1
Application Name: FreeCAD.exe
Application Version: 0.0.0.0
Application Timestamp: 5106b7a0
Hang Signature: cb39
Hang Type: 0
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1050
Additional Hang Signature 1: cb396e5a1ad6fb54ce29323cae01eae4
Additional Hang Signature 2: d288
Additional Hang Signature 3: d2883650e16dfcafe4c2875c7ddbca8e
Additional Hang Signature 4: cb39
Additional Hang Signature 5: cb396e5a1ad6fb54ce29323cae01eae4
Additional Hang Signature 6: d288
Additional Hang Signature 7: d2883650e16dfcafe4c2875c7ddbca8e
jmaustpc
Posts: 8074
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: PartDesign Mirrored crash

Postby jmaustpc » Thu Apr 24, 2014 4:11 pm

Hi tempr

I had a look at your file...vertical axis mirrored feature works as this is a valid operation

however if you switch to horizontal sketch axis, in this specific example, you are telling FreeCAD to perform an invalid operation.... which is what this error message is telling you

tempr wrote:"One transformed shape does not intersect support"


In the version of FreeCAD I have I did not get the error message when I switched to horizontal sketch axis.
OS: Ubuntu 14.04 LTS
Platform: 64-bit
Version: 0.14.Unknown
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
SoQt version: 1.6.0a
OCC version: 6.7.0

bugs in the now rather old version 0.13 are not likely to ever be fixed however bugs in 0.14 are...

The fact that changing the axis does not work is not a bug...its an invalid operation...however not getting an appropriate error message might be a bug.

In making, posting bug reports or asking about potential bugs, please go to either the Part or PartDesign work bench and then go to the Help menu and copy and paste the Help about FreeCAD Data, as it give us more complete and appropriate data, rather than you just writing out a version number (which only gives us half the information).
tempr
Posts: 24
Joined: Wed Apr 23, 2014 12:03 am

Re: PartDesign Mirrored crash

Postby tempr » Thu Apr 24, 2014 7:18 pm

@jmaustpc

I had a look at your file...vertical axis mirrored feature works as this is a valid operation

however if you switch to horizontal sketch axis, in this specific example, you are telling FreeCAD to perform an invalid operation.... which is what this error message is telling you


Well, either you misunderstood my post or everything works as it should on your version. Problem is that when i try to run the mirror command on the item groove from the list AS IT IS it just hangs the program indefinitely with no warning message.

I thought that describing the problem just with words would be cumbersome and easily misinterpreted but I was too lazy to add pictures when I posted about the problem. I will fix that now ;)

I will use the original text with the pictures so you can see what I was trying to say:

"Using PartDesign Mirrored on the Groove item from the list (as it is) crashes (actually hangs) my FreeCAD."


So - just picking the groove item from the list and trying to use mirror hangs on both versions, SS (0.14) just before the hang:

Image

"If I change the Groove parameter axis to vertical sketch axis and then try to mirror it nothing happens (no hang or crash) and (I believe) mirror then works as intended."


Ok, so I double-click the groove item change to vertical sketch axis, SS taken after the change (still in edit mode - 0.14):

Image

"When I do that and try to use mirror and switch the mirror plane option back and forth from vertical to horizontal sketch axis - on vertical axis it produces no result and error (or warning) message - "One transformed shape does not intersect support" in orange colored text and below that "Transformation succeeded" in green (transformed feature messages in tasks tab), on horizontal axis it produces a proper result and just the "Transformation succeeded" message."


Error message on 0.13, missing in 0.14 (mirror with vertical sketch axis):

Image

No error message on both versions (SS on 0.13), everything works fine (mirror with horizontal sketch axis):

Image

Btw, I have noticed that the warning message is missing when the command has just "started". I believe that the hang (bug) occurs because program fails with some calculation when you start the command for the first time - for example it tries to execute the mirror on the item on first run with default settings which would probably be what is displayed in the following SS (if that is the case, warning message should be displayed then as well).

SS taken right after pressing the mirror button, before changing options (0.13):

Image

In making, posting bug reports or asking about potential bugs, please go to either the Part or PartDesign work bench and then go to the Help menu and copy and paste the Help about FreeCAD Data, as it give us more complete and appropriate data, rather than you just writing out a version number (which only gives us half the information).


Ah I see now, I thought that what I saw there was all there is so I didn't bother to use the copy to clipboard option, here is the data from both versions:

0.13:

OS: Windows 7
Platform: 32-bit
Version: 0.13.1828
Python version: 2.6.2
Qt version: 4.5.2
Coin version: 3.1.0
SoQt version: 1.4.1
OCC version: 6.3.0

0.14:

OS: Windows 7
Platform: 32-bit
Version: 0.14.3389
Python version: 2.6.2
Qt version: 4.5.2
Coin version: 3.1.0
SoQt version: 1.4.1
OCC version: 6.5.1

Comparing my data to yours it seems that I have several obsolete modules. I did use the latest production and development versions available for windows though.

I tried to fiddle with the sketch to see if I can get it to hang again or get some other unexpected result and I encountered more bugs, but I will add that a bit later (going to watch a football game now ;D) so check back later to see the update.

P.S. I see that the forum resized my full size images to fit the format, right click and choose view image to see it in full detail (works on mozilla).
triplus
Posts: 4833
Joined: Mon Dec 12, 2011 4:45 pm

Re: PartDesign Mirrored crash

Postby triplus » Thu Apr 24, 2014 8:19 pm

Yes this is OCC/OCE related issue and it was fixed in newer version. The problem you are having is related to the way Groove and Revolution geometry is made. You probably used snap mode to create sketches and it was easy to get result where Groove is created in a way older version of OCC/OCE can not handle. For example make inner hole of Revolution slightly smaller/bigger and it will work fine.

I do not know what is the best way for you to get newer OCC/OCE on Windows but if you are not after compiling it yourself i guess you could always try out Ubuntu.
tempr
Posts: 24
Joined: Wed Apr 23, 2014 12:03 am

Re: PartDesign Mirrored crash

Postby tempr » Thu Apr 24, 2014 10:22 pm

The problem you are having is related to the way Groove and Revolution geometry is made. You probably used snap mode to create sketches and it was easy to get result where Groove is created in a way older version of OCC/OCE can not handle. For example make inner hole of Revolution slightly smaller/bigger and it will work fine.


Yea I used snap mode to make both the revolution shapes and the base rectangle shape for groove and I figured that it could be the source of the problem when I noticed the deformation in the display in the place where groove meets the inner hole:

Image

Edges of the inner hole and one side of the groove feature clearly on the same coordinates:

Image

Weird thing is, when I tried to relocate the groove to the "mirrored location" on the other side:

Image

and use mirror on that, nothing happened, no hang on either version (even with switching the plane option back and forth from vertical to horizontal sketch axis):

Image

Anyway, glad to hear that it is fixed.


As promised - here is that other bug I encountered while fiddling with this scene (It is not that severe and idk if it is fixed already, also it didn't happen all the time):

Image

When moving the sketch points around (one that was used to make the groove feature, check the selected point in the picture), groove feature which was supposed to auto-refresh (right?) sometimes got stuck like that. Keep in mind that the SS was taken AFTER the mouse button was depressed - sketch changed but groove didn't follow. Not only that - but that selected sketch point became unresponsive, couldn't do anything more with it. I could however "fix" the situation by moving some other point and then moving that unresponsive point again (I could also "unstuck" the point by adding a constraint and then deleting it). This happened in both versions I have installed.

I do not know what is the best way for you to get newer OCC/OCE on Windows but if you are not after compiling it yourself i guess you could always try out Ubuntu.


I may try and install Ubuntu or some other linux distro as i was planning to try it again (and probably switch to it) for so long now, but in the meantime - could some good soul compile a newer windows version for me and probably many other users not that experienced in programming or compiling. :)
User avatar
NormandC
Posts: 12022
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: PartDesign Mirrored crash

Postby NormandC » Thu Apr 24, 2014 11:12 pm

tempr wrote:could some good soul compile a newer windows version for me and probably many other users not that experienced in programming or compiling. :)

In this topic you'll find a version that is about 40 commits behind 0.14.3389, but it has updated libraries including OCC 6.7.0: viewtopic.php?f=4&t=6091

This is not an installer, you simply extract the archive, and launch the FreeCAD.exe executable that is in the "bin" folder.
tempr
Posts: 24
Joined: Wed Apr 23, 2014 12:03 am

Re: PartDesign Mirrored crash

Postby tempr » Fri Apr 25, 2014 12:03 am

In this topic you'll find a version that is about 40 commits behind 0.14.3389, but it has updated libraries including OCC 6.7.0: viewtopic.php?f=4&t=6091

This is not an installer, you simply extract the archive, and launch the FreeCAD.exe executable that is in the "bin" folder.


Thx, after some initial trouble (DL stopping randomly because of "network error") i managed to DL it.
triplus
Posts: 4833
Joined: Mon Dec 12, 2011 4:45 pm

Re: PartDesign Mirrored crash

Postby triplus » Fri Apr 25, 2014 1:35 am

Weird thing is, when I tried to relocate the groove to the "mirrored location" on the other side:


and use mirror on that, nothing happened, no hang on either version (even with switching the plane option back and forth from vertical to horizontal sketch axis):


Yes i agree it is s bit strange you are able to create both horizontal/vertical mirror for Groove feature this way. Maybe that does indicate i is not just the OCC/OCE fault but i guess what ever is the cause got fixed in newer version of FreeCAD or OCC/OCE. At least for the crashing part.

When moving the sketch points around (one that was used to make the groove feature, check the selected point in the picture), groove feature which was supposed to auto-refresh (right?) sometimes got stuck like that. Keep in mind that the SS was taken AFTER the mouse button was depressed - sketch changed but groove didn't follow. Not only that - but that selected sketch point became unresponsive, couldn't do anything more with it. I could however "fix" the situation by moving some other point and then moving that unresponsive point again (I could also "unstuck" the point by adding a constraint and then deleting it).


I guess it failed because you used snap mode again and when entering that corner case scenario as seen on image that causes the issue with refreshing the groove feature. Try on newer version as it was suggested and if it will be still there maybe this is something for bug tracker. But i guess that crashing part should be gone.