Ticket #6 (closed defect: fixed)
InitNew call not logged
Reported by: | michelpons | Owned by: | michaelhalloran |
---|---|---|---|
Priority: | major | Milestone: | 2.0 No dependency/Viewer/New installer |
Component: | COLoggers | Version: | 1.08.2 |
Keywords: | Cc: | technologyofficer@… |
Description
A defect had been raised a while ago with SimSci-Esscor about the fact that InitNew was not called by PRO/II on a a new CAPE-OPEN UO being inserted in a flowsheet. According to SimSci-Esscor secondary support, the bug LFPE#25122 (InitNew not called) got fixed and working fine. However the log I can make of a COUSCOUS UO in PRO/II 8.3 does not show InitNew being called (see proii_090909_194007.log). SimSci-Esscor thinks that COLLT is not reporting InitNew call when the persistence type is IPersistPropertyBag.
They have tested the behavior with their internal CAPE-OPEN test units (COSESPersistB100.dll, COSESPersistC100.dll and COSESPersistD100.dll in zipped archive). The COLTT log file (proiid_PKM.log) shows that InitNew is called for persistence types IPersistStreamInit and IPersistStorage (they made their run with COLTT 1.07). However, the COLTT log file does not show the call to InitNew when the persistence type is IPersistPropertyBag. SimSci-Esscor has debugged the code and noticed that InitNew is called for IPersistPropertyBag also. So there is a good chance that COLTT has not implemented IPersistPropertyBag and that leads to an improper report on InitNew being called.
Attachments
Change History
Changed 15 years ago by michelpons
- Attachment proiid_PKM.log added
COLTT log file obtained with v1.07 by SimSci-Esscor
Changed 15 years ago by michelpons
- Attachment proii_090909_194007.log added
Log file obtained with V1.08.02 for COUSCOUS UO in PRO/II 8.3
comment:1 Changed 15 years ago by michaelhalloran
- Cc technologyofficer@… added
- Owner changed from Michael Halloran to michaelhalloran
- Status changed from new to assigned
The problem is that COLTT doesn't support logging IPersistPropertyBag (or for that matter IPersistMemory and IPersistMoniker), it only supports IPersistStream, IPersistStreamInit and IPersistStorage. To be honest I have never come across the three unsupported ones, although they are mentioned in the Persistence Common Interface.pdf document.
In 1.07 COLTT would return E_NOINTERFACE to any request for these unsupported interfaces which means that the PME cannot call any of their methods (so no InitNew call, unless the PME requested and the unit also supported IPersistStreamInit or IPeristStorage). This is wrong because it changes the behaviour of a run. In 1.08 we changed COLTT so that even if it didn't recognize an interface it would forward the request for the interface to the PMC. That way even though method calls on that interface would not be logged, the behaviour of the run would not be changed.
The fact that COLTT doesn't support IPersistPropertyBag is logged on line 13 of the log you attached for the Simsci test unit. The second log using 1.08 is for a couscous UO so the comparison isn't very useful unless we know that couscous also supports IPersistPropertyBag. Does it?
I'm a bit confused by the statement that Simsci see the InitNew call being made even though it isn't logged. My prediction is that using 1.07 they wouldn't see the call (unless it was via one of the supported persistence interfaces) but with 1.08 they would see the call but it wouldn't be logged.
The fix is to add support for IPersistPropertyBag, IPersistMemory and IPersistMoniker to 1.08.
comment:2 Changed 15 years ago by michaelhalloran
- Owner changed from michaelhalloran to ahsanakhtar
Ahsan,
can you take this one? I think that adding support for the three new interfaces is quite a lot of work and I don't think it is necessary for 1.08.3 since the interfaces will get called anyway, they are just not logged. So although I am assigning it to you, I think the fix should wait until after 1.08.3 is released at the end of October.
Regards
Michael
comment:3 Changed 15 years ago by michelpons
I would need this defect resolved as soon as possible. I have a case where InitNew on a PMC is called by a PME and the fact that InitNew raises an error is not taken into consideration by the PME. Nothing appears in the COLTT log about this InitNew call so this lessens the usefulness of COLTT to document an issue between a PMC and a PME.
comment:4 Changed 15 years ago by anonymous
Currently, I am working on documenting what the install procedure does. I will be able to complete this today evening and will send it to Michael. Michael also advised me in one of his email to work in the following order:
- Document what the install procedure does
- TRAC Issue #41 add a build number
- TRAC Issue #6 support extra persistence interfaces
- TRAC Issue #28 add calls to MakeErrorLog for failed calls
Now according to your advice, I will start work on issue #6 instead of #41 and after this will take up the remaining issues, hope it will be OK?
At this moment, I would also like to bring in your kind notice that to complete this work on issue #6, it will take 35-40 man hours(4 interfaces with 18 functions) whereas I have left with only 2 hours from the approved 50 hours. Do you think I should start work immediately or wait for its approval from CO-LaN. Please advise.
Michael
Can you please advise that I need also to code IPersistPropertyBag2 interface along with IPersistPropertyBag or this is not required?
comment:6 Changed 15 years ago by anonymous
- Owner changed from ahsanakhtar to michaelhalloran
- Status changed from accepted to assigned
comment:7 Changed 15 years ago by ahsanakhtar
I have implemented IPersistPropertyBag,IPersistMemory and IPersistMoniker here at SHMA two months ago but couldn't test the code on CO-LaN laptop. I can send you the code that can save some your time.
comment:8 Changed 13 years ago by michaelhalloran
Logging of IPersistPropertyBag, IPersistMemory and IPersistMoniker is supported in 1.08.5. Michel. could you retest this issue?
comment:9 Changed 13 years ago by michelpons
I am presently without a PRO/II license. Will ask for one to SimSci-Esscor.
comment:11 Changed 13 years ago by SamoaeQ05
- Summary changed from InitNew call not logged to Storehouse introe
Hi!
I comprise been infuriating to assemble this, but all i got is 3 errors everytime when i adjudicate it. Could someone relief me with theese?
[http://www.joannejacobs.com/2003/05/achievement-rap-when-i-was/
nettipokeri]
[http://www.joannejacobs.com/2004/07/a-teaching-job-for-life-and-beyond/
pikavippi]
[ http://www.joannejacobs.com/2003/12/hot-charters-in-colorado/
nettikasinot]
comment:12 Changed 13 years ago by SamoaeQ70
- Summary changed from Storehouse introe to Lode introe
Hi!
I set up been distressing to gather this, but all i got is 3 errors everytime when i examine it. Could someone support me with theese?
nettikasinot
comment:13 Changed 13 years ago by michelpons
- Summary changed from Lode introe to InitNew call not logged
comment:14 Changed 12 years ago by michelpons
- Status changed from assigned to closed
- Resolution set to fixed
I have installed COLTT 2.1 Build July 16, 2012 and I have logged a Unit Operation in PRO/II 8.3. The UO, made with the FORTRAN UO WIzard, is using IPerSistStreamInit as persistence mechanism. So the InitNew method is available and indeed, with PRO/II 8.3 it is called as shown in the log file attached, starting from a case file where only streams have been defined and inserting the UO into the flowsheet.
So this issue can be closed.
Changed 12 years ago by michelpons
- Attachment proii_061912_203845.zip added
Zipped log file obtained with COLTT 2.1 Build June 16, 2012