几何尺寸与公差论坛

 找回密码
 注册
查看: 57|回复: 0

PR 256556 pcdmis crash and pp destroyed

[复制链接]
发表于 2009-5-4 15:17:23 | 显示全部楼层 |阅读模式
pcdmis crash and pp destroyed
<< Jean Wang  --  08/18/08  16:14:13>>
pcdmis crash and pp destroyed when I change the contructed sphere from BF into BFRE and immediately save the pp.Please see the file serialization.rar on the server.
Steps to reproduce:
1,open Ac1700-ln-21.09.prg
2,find the contructed sphere called sph_face
3, change the calculation mode from BF to BFRE
4,find the contruceted sphere called sph_track
5,change the calculation mode from BF to BFRE
6, click the "save" button to save the pp
7,pc-dmis display an error  message and crash
8,  start pc-dmis and try to open this pp again, but the serialization error dispaly and this pp destroyed.
<<END>>

<< Jerry Naylor  --  09/23/08  15:47:21>>
wasaddedtoreadme42RMR2
<<END>>
<< Jean Wang  --  09/11/08  23:16:46>>
It has been fixed.Thanks.
<<END>>
<< Changes made by Jean Wang -- 09/11/08  23:16:50>>
Status:  REVIEW to CLOSED
<<END>>
<< Dan Zwick  --  08/26/08  18:15:36>>
I uploaded a fix for the memory leak that Steve found. Files uploaded:
V42\CONSFEAT\CURVE.CPP
V42\CONSFEAT\INT_POIN.CPP
V42\INCLUDE\CURVE.H
V42R\CONSFEAT\CURVE.CPP
V42R\CONSFEAT\INT_POIN.CPP
V42R\INCLUDE\CURVE.H
V431\CONSFEAT\CURVE.CPP
V431\CONSFEAT\INT_POIN.CPP
V431\INCLUDE\CURVE.H
V43B\CONSFEAT\CURVE.CPP
V43B\CONSFEAT\INT_POIN.CPP
V43B\INCLUDE\CURVE.H
V44B\CONSFEAT\CURVE.CPP
V44B\CONSFEAT\INT_POIN.CPP
V44B\INCLUDE\CURVE.H
<<END>>
<< Steve Barber  --  08/26/08  14:53:16>>
Some tweeking was needed:
V42\EDITORS\EditWin.CPP
V42\INCLUDE\COMMAND.H
V42\SOURCE\COMMAND.CPP
V42R\EDITORS\EditWin.CPP
V42R\INCLUDE\COMMAND.H
V42R\SOURCE\COMMAND.CPP
V431\EDITORS\EditWin.CPP
V431\INCLUDE\COMMAND.H
V431\SOURCE\COMMAND.CPP
V43B\EDITORS\EditWin.CPP
V43B\INCLUDE\COMMAND.H
V43B\SOURCE\COMMAND.CPP
V44B\EDITORS\EditWin.CPP
V44B\INCLUDE\COMMAND.H
V44B\SOURCE\COMMAND.CPP
<<END>>
<< Changes made by Steve Barber -- 08/26/08  14:53:33>>
Status:  OPEN to REVIEW
<<END>>
<< Steve Barber  --  08/25/08  22:47:14>>
Uploaded:
V42\EDITORS\EditWin.CPP
V42\INCLUDE\COMMAND.H
V42\SOURCE\COMMAND.CPP
V42R\EDITORS\EditWin.CPP
V42R\INCLUDE\COMMAND.H
V42R\SOURCE\COMMAND.CPP
V431\EDITORS\EditWin.CPP
V431\INCLUDE\COMMAND.H
V431\SOURCE\COMMAND.CPP
V43B\EDITORS\EditWin.CPP
V43B\INCLUDE\COMMAND.H
V43B\SOURCE\COMMAND.CPP
V44B\EDITORS\EditWin.CPP
V44B\INCLUDE\COMMAND.H
V44B\SOURCE\COMMAND.CPP
Someone more familiar with the edit window side of the code should also take a look. I do not think I broke anything.
<<END>>
<< Changes made by Steve Barber -- 08/25/08  22:47:32>>
Action:  Dan Zwick to David Petrizze
<<END>>
<< Steve Barber  --  08/25/08  18:50:30>>
This is being caused by the logic to keep the command instances. TEM3 points to SPH_TRACK - all 6 instances of them. We only perform replace_ptr() on the first instance. This leaves the other 5 pointing to deleted memory. There are other multiple instance objects which also have the problem. I am adding code to EditWin.cpp & adding a command method ReplacePtr() which will call all the PrevInstances of the object.
I initially did not have any problems since I had  SavePreviousInstances turned off in my registry.
<<END>>
<< Dan Zwick  --  08/22/08  15:30:25>>
The problem seems to be in the rotate_circle alignment in TEM3, which is inside a loop. TEM3 uses sph_track. After changing sph_track from BF to BFRE, in one of the iterations, sph_track has changed to a point info object, which is not a valid input. I suspect that memory is being overwritten and have asked Steve B to give it a try and see if he can detect a memory overrun.
<<END>>
<< Dan Zwick  --  08/20/08  09:06:37>>
Changing BF to BFRE and saving causes a subsequent rotate circle alignment to serialize, but for some reason the first input is a point info object rather than a feature. This apparently triggers an assertion failure and corrupts the part program. I'm still trying to figure out why this is happening. At any rate, it doesn't seem to be directly related to the sphere construction.  
<<END>>
<< Changes made by Tim Wernicke -- 08/19/08  13:38:47>>
Action:  Jean Wang to Dan Zwick, Status:  MOREINFO to OPEN
<<END>>
<< Jean Wang  --  08/20/08  01:41:29>>
I have forwarded him another pp which can be opened.
<<END>>
<< Dan Zwick  --  08/19/08  10:19:33>>
I'll try to reproduce this behavior with a part program of my own.
<<END>>
<< Dan Zwick  --  08/19/08  10:17:44>>
I can't open the new part program either.
<<END>>
<< Changes made by Dan Zwick -- 08/19/08  10:17:58>>
Status:  OPEN to MOREINFO
<<END>>
<< Changes made by Dan Zwick -- 08/19/08  08:54:20>>
Status:  MOREINFO to OPEN
<<END>>
<< Jean Wang  --  08/19/08  08:34:57>>
Dan, I have uploaded the ac1700-ln-21.1.prg, this is the backup before it crashes.
<<END>>
<< Dan Zwick  --  08/18/08  10:14:03>>
Jean, I get the error message as soon as I open this part program in 4.3B. Could you send me a part program that has not yet been corrupted?
<<END>>
<< Changes made by Dan Zwick -- 08/18/08  10:14:13>>
Action:  Dan Zwick to Jean Wang, Status:  OPEN to MOREINFO
<<END>>
<< Changes made by Tim Wernicke -- 08/18/08  08:39:50>>
Category:  application to constructions, Action:  Tim Wernicke to Dan Zwick, Assigned:   to Dan Zwick, Priority:  to Stop Rel.
<<END>>
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-12-22 12:46 , Processed in 0.036341 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表