Ticket #16 (closed defect: fixed)

Opened 14 years ago

Last modified 12 years ago

GetCompoundConstant logging

Reported by: michelpons Owned by: michaelhalloran
Priority: major Milestone: 2.1
Component: COLoggers Version: Development
Keywords: Cc: michaelhalloran

Description

While re-testing case 09-008 (also known as TRAC ticket #15), I have reviewed the log obtained (see attached). I am not satisfied with the logging of the GetCompoundConstant call:

PropertyPackage <Anonymous> : Call to GetCompoundConstant

GetCompoundConstant takes Input Arguments:

Property Compounds

GetCompoundConstant returns:

Property Compounds ValueReturned

PropertyPackage <Anonymous> : Return from GetCompoundConstant - Succeeded

I can't tell from the log if there is no property listed and/or no compound listed. May be there is nothing in both arguments but this is not obvious from the message. It should be more explicit.

Attachments

hysys_102209_220211.log (30.8 KB) - added by michelpons 14 years ago.
Log file obtained with COLTT 1.08.03
hysys_121010_142705.log (112.0 KB) - added by michelpons 13 years ago.
Log file obtained with 1.08.5
hysys_052411_101909.log (31.6 KB) - added by michelpons 13 years ago.
Log file obtained with COLTT 1.08.05 Build May 11, 2011
hysys_091311_114348.log (108.1 KB) - added by michelpons 13 years ago.
Log file obtained with COLTT v2.0 Build Sep 11, 2011
hysys_061412_100637.log (31.2 KB) - added by michelpons 12 years ago.
Log file obtained with COLTT 2.1 Build June 5, 2012

Change History

Changed 14 years ago by michelpons

Log file obtained with COLTT 1.08.03

comment:1 Changed 14 years ago by michaelhalloran

  • Owner changed from Michael Halloran to michaelhalloran
  • Status changed from new to assigned

The problem is that GetCompoundList returns an error immediately before the GetCompoundConstant call in the log. In fact the GetCompoundList call is made by the logger in order to provide the Compound list for GetComponentConstant. The logic in GetComponentConstant is such that an empty compound list means that it prints nothing. This is an error but something has also gone wrong with the PropertyPackage, which was returning the Compound list correctly earlier in the log. The logger can be updated to protect against GetCompoundList returning an error.

comment:2 Changed 13 years ago by michelpons

  • Version changed from 1.08.3 to Development

I have made another test with the latest development build of COLTT. The issue is still there:

PropertyPackage <Anonymous> : Call to GetCompoundList
PropertyPackage <Anonymous> : Error returned from GetCompoundList - 0x80040501
PropertyPackage <Anonymous> : Call to GetCompoundConstant

GetCompoundConstant takes Input Arguments:

Property Compounds

GetCompoundConstant returns:

Property Compounds ValueReturned

PropertyPackage <Anonymous> : Return from GetCompoundConstant - Succeeded

GetCompoundList fails for some reason. Fine with me. This may be a bug in the Property Package. Still COLTT should be able to display the string naming the property and then, if the compound list is not available, write \"n.a.\" or \"non available\" for the compounds and then, at least, I would get the name of the property called as well as its value. See attached a new log file obtained with 1.08.05.

Changed 13 years ago by michelpons

Log file obtained with 1.08.5

comment:3 Changed 13 years ago by michelpons

I have made a test with COLTT 1.08.05 build May 11. The problem still exists (see new attachement). The fact that GetCompoundList launched by the logger on the PP fails, should not prevent from logging whatever communication goes through GetComponentConstant. Also COLTT is meant to show the communication between a PME and a PMC. Whatever communication created by COLTT on top of the communication between PME and PMC should be at best flagged and better should be clearable from the log shown.

Changed 13 years ago by michelpons

Log file obtained with COLTT 1.08.05 Build May 11, 2011

comment:4 Changed 13 years ago by michelpons

  • Priority changed from minor to major
  • Milestone set to 2.1

I have used COLTT v2.0 Build Sep 11, 2011 on the same case. Analyzing the log obtained I am still puzzled. I thought previously that COLTT was unable to get the list of compounds from the PP. It appears it is the PME which is not able to get GetCompoundList to work suddenly. Then the display of information on GetComponentConstant does not work fine because there is no list of compounds. Still I wonder why there is no property listed as input for GetCompoundConstant. That there is no compound listed, I understand because the PME has not obtained it so it may be void. But the property value should exist and should be reported by COLTT. If the property value is void it should somehow appear as such. I am attaching the new log file obtained.

I am moving the priority to \"major\" because I would like to understand what goes on on the PME side. Is it sending an empty property value and then I would need to report that to the PME developers because it should not be so.

Changed 13 years ago by michelpons

Log file obtained with COLTT v2.0 Build Sep 11, 2011

comment:5 Changed 12 years ago by michelpons

This ticket is the same as ticket 68. I am posting here the same comment I made for ticket 68.

I have tested the case with COLTT 2.1 Build June 5, 2012. I see a difference in the log file where now the following lines are showing up within the logging of a GetCompoundConstant:

PropertyPackage <Anonymous> : Call to GetCompoundConstant

GetCompoundConstant takes Input Arguments:

COLTT <Anonymous> : Call to GetCompoundList COLTT <Anonymous> : Error returned from GetCompoundList - 0x80040501

Warning - compIds argument is empty

GetCompoundConstant returns:

Property Compounds ValueReturned

PropertyPackage <Anonymous> : Return from GetCompoundConstant - Succeeded

There is now a warning message about the compIds argument being empty. I still don't agree with the way it is handled. Before making the call to GetCompoundList, why isn't there a print at least of the property name?
Same following \"getCompoundConstant returns:\", could we have the property name printed, something like \"EMPTY\" or \"UNDEFINED\" under \"Compounds\" and the vector of returned values printed?

Changed 12 years ago by michelpons

Log file obtained with COLTT 2.1 Build June 5, 2012

comment:6 Changed 12 years ago by michaelhalloran

  • Status changed from assigned to closed
  • Resolution set to fixed

Log will now contain output like this:

PropertyPackage <Anonymous> : Call to GetCompoundConstant

GetCompoundConstant takes Input Arguments:

Components

Hydrogen
Methane
Benzene
Toluene
Biphenyl

Properties

criticalTemperature
criticalPressure
criticalVolume
acentricFactor

GetCompoundConstant returns:

Property Compounds Value Returned
criticalTemperature Hydrogen 33.19

Methane 190.56
Benzene 562.05
Toluene 591.75
Biphenyl 789.26

criticalPressure Hydrogen 1.313e+006

Methane 4.599e+006
Benzene 4.895e+006
Toluene 4.108e+006
Biphenyl 3.84727e+006

criticalVolume Hydrogen 6.4147e-005

Methane 9.86e-005
Benzene 0.000256
Toluene 0.000316
Biphenyl 0.000491118

acentricFactor Hydrogen -0.215993

Methane 0.011
Benzene 0.209
Toluene 0.264
Biphenyl 0.3643

If components can't be logged the output is the same but contains UNDEFINED for the component name.

Fix available in builds after 21 July 2012.


Note: See TracTickets for help on using tickets.