PDA

View Full Version : Logging Issue - End/Start tag mismatch


VbpSixUser
05-22-2007, 01:11 PM
I searched this forum for this issue and came across a couple different examples of where other users have reported the same issue.

One suggestion was to check the delete log file for each build box....this was done....still getting the error.

Another suggestion was to disable McAfee On Access Scanning. I have done this as well....still getting the error.

In the xml log file that is created during the build, the program seems to be forgetting to log the following lines (the times will obviously change for each run, but this is one specific example):

<step action='Group' type='0' start='5/22/2007 10:18:15 AM'>
<name>Build Finished</name>
<status code='0'>Completed</status>
</step>
<status finish='5/22/2007 10:18:15 AM' elapsed='00:00:00' code='0'>Completed</status>
</build>


It is opening the build step, but not comfirming that it is completed. When I add a breakpoint at the Transform XML step, manually insert those lines, and continue building, the log is successfully generated.

What could be causing the program to not log those lines?


Here is how the error looks in the VBP output window:


Building project step 'Transform XML Log'...
Closing any open log tags...
Loading XML input document...
Error at line 247, position 3 loading 'C:\DOCUME~1\build\LOCALS~1\Temp\bldBD.tmp': End tag 'step' does not match the start tag 'build'.

Step 'Transform XML Log' failed
Build ended.

kinook
05-22-2007, 01:33 PM
I'm not sure. Please ZIP and send or post:
1) The info from Help | About | Install Info
2) The .bld file(s)
3) A build log file

Thanks.

VbpSixUser
05-22-2007, 01:56 PM
Thanks for the quick reply....I have attached a ZIP file with all 3 files. Since the build log was unable to be generated (due to this error), I have included the malformed xml log file.

kinook
05-22-2007, 04:21 PM
Can you send E:\qa-builds\cocoon-apps-rfq\cocoon-apps\module.bld? It appears to be changing the log format to text or something.

VbpSixUser
05-22-2007, 04:54 PM
I have built the same project on Version 5.7 successfully. The only difference in the release.xml built with version 6.3 is that it was missing those lines (mentioned in the first post).

kinook
05-22-2007, 06:01 PM
Is there anything from VBP in the Windows Event Viewer?

VbpSixUser
05-23-2007, 09:17 AM
Actually, there is. I found the following error repeating itself in the Event Viewer under the Application section:


Event Type: Error
Event Source: Visual Build Professional
Event Category: None
Event ID: 1
Date: 5/2/2007
Time: 4:42:29 PM
User: N/A
Computer: BUILD_MACHINE
Description:
Error opening log file: Failed to open '<object>': The filename, directory name, or volume label syntax is incorrect.


Could this just be due to the fact that the end tag doesn't match the start tag?




As a temporary workaround, I have added a step before Transform XML which inserts the missing build tag in the log file.

Is this a known bug with VBP?

kinook
05-23-2007, 09:55 AM
The problem has to do with the fact that in v6, VBP macros can contain objects (actually a COM Variant), while in v5 they were limited to only holding strings. The vbld_StepStarting script event in the 'cocoon-apps Build' step does this:

Application.Macros(vbldMacroProject).Add "LOGFILE", Application.Macros(vbldMacroTemporary).Item("LOGFILE")

which assigns the temporary LOGFILE macro *object* to the project LOGFILE macro value (in v5, this stored the temp macro's value to the project macro's value since a v5 macro holds only string values).

The next step assigns an empty string to the temp LOGFILE macro (disabling file logging), and the last step of the project deletes the temp LOGFILE macro, causing the project LOGFILE macro (holding an object reference to the deleted temp macro, not a string value) to be used for the rest of that step, and converting that object to a string results in the literal value <object> used as the log filename, which fails.

The fix is to assign the string value of the temp macro (rather than the macro object itself) to the project macro:

Application.Macros(vbldMacroProject).Add "LOGFILE", Application.Macros(vbldMacroTemporary).Item("LOGFILE").Value

VbpSixUser
05-23-2007, 12:27 PM
That was exactly the problem. I appended .value to the line you mentioned and the html is now successfully generated. Thanks for your time.