Bugs item #1589839, was opened at 2006-11-03 03:03
Message generated for change (Settings changed) made by pmarcu
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1589839&group_id=105970
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: heat
Group: v3.0
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: RvdEls (rvdels)
>Assigned to: pmarcu (pmarcu)
Summary: heat hangs on particular dll
Initial Comment:
When I do "heat file TestLab3.dll -out TestLab3.wxs"
heat hangs with 100 percent cpu.
The dll doesn't give any problems with tallow that is
why I think this is a problem in heat.
When it hung I attached a debugger and this give me the
following stack:
wixutilextension.dll!Microsoft.Tools.WindowsInstallerXml.Extensions.UtilFinalizeHarvesterMutator.MutateComponents()
+ 0x213a bytes
wixutilextension.dll!Microsoft.Tools.WindowsInstallerXml.Extensions.UtilFinalizeHarvesterMutator.Mutate(Microsoft.Tools.WindowsInstallerXml.Serialize.Wix
wix) + 0x6f bytes
wix.dll!Microsoft.Tools.WindowsInstallerXml.Mutator.Mutate(Microsoft.Tools.WindowsInstallerXml.Serialize.Wix
wix) + 0x7f bytes
heat.exe!Microsoft.Tools.WindowsInstallerXml.Tools.Heat.Run(string[]
args) + 0x5b6 bytes
heat.exe!Microsoft.Tools.WindowsInstallerXml.Tools.Heat.Main(string[]
args) + 0x24 bytes
I have attached the problematic file.
----------------------------------------------------------------------
Comment By: RvdEls (rvdels)
Date: 2006-11-13 07:05
Message:
Logged In: YES
user_id=1636851
After further investigations is discovered it hangs in:
ext\UtilExtension\wixext\UtilFinalizeHarvesterMutator.cs
in the following loop:
// remove the RegistryValue elements which were converted
into COM elements
// that were successfully nested under the Component element
foreach (DictionaryEntry entry in
indexedProcessedRegistryValues)
{
Wix.ISchemaElement element =
(Wix.ISchemaElement)entry.Value;
Wix.RegistryValue registryValue =
(Wix.RegistryValue)entry.Key;
while (null != element)
{
if (element == component)
{
(Wix.IParentElement)registryValue.ParentElement).RemoveChild(registryValue);
break;
}
element = element.ParentElement;
}
}
element.ParentElement seems to be pointing at itself.
After I add the following code at the end of the while loop
(just before element = element.ParentElement) heat
terminates o.k. and the result looks
o.k.
if (element == element.ParentElement)
{
break;
}
I don't know if this is the right fix and why the
ParentElement pointer is pointing to itself.
----------------------------------------------------------------------
Comment By: RvdEls (rvdels)
Date: 2006-11-03 03:09
Message:
Logged In: YES
user_id=1636851
Well I tried to attached the problematic file, but it was
too large...
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1589839&group_id=105970
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs