http://bugs.winehq.org/show_bug.cgi?id=14226
Summary: Fileplanet Comrade installer can't create app xml file (xpath query result handling) Product: Wine Version: CVS/GIT Platform: PC URL: http://www.fileplanet.com/164906/160000/fileinfo/GameSpy -Comrade-Instant-Messenger OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msxml3 AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net
Hello,
now that the installer's .NET 1.1 download and installation works (http://bugs.winehq.org/show_bug.cgi?id=9723), the next one. The installer fails in msi custom action to create app xml .config file. Obvious msxml3 bug(s) which are fixed by native override.
Relevant trace:
--- snip --- 002c:trace:msi:HANDLE_CustomType1 Calling function L"ISXmlInstall" from L"C:\windows\temp\msifd1f.tmp" .. 0032:trace:msi:ACTION_CallDllFunction calling L"ISXmlInstall" .. 0032:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: Installing 1 XML component(s) 2: ") .. 0032:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: Installing XML Component 'Comrade.exe.config' 2: ") .. 0032:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: Installing XML file 'C:\Program Files\GameSpy\Comrade\Comrade.exe.config' 2: ") .. 0032:trace:msi:MSI_ProcessMessage ((nil) 0 800 L"1: 2 2: 1 3: 0 ") .. 0032:trace:msi:MSI_ProcessMessage ((nil) 0 100 L"Action 21:14:57: Progress Custom Action. Creating XML file C:\Program Files\GameSpy\Comrade\Comrade.exe.config...") .. 0032:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: Setting root element name to 'configuration'. Namepace = '' 2: ") .. 0032:trace:msi:MSI_ProcessMessage ((nil) 0 100 L"Action 21:14:57: Progress Custom Action. Updating XML file C:\Program Files\GameSpy\Comrade\Comrade.exe.config...") .. 0032:trace:msi:MSI_ProcessMessage INSTALLMESSAGE_ACTIONSTART: L"Updating XML file C:\Program Files\GameSpy\Comrade\Comrade.exe.config..." .. 0032:trace:msxml:DOMDocument_create ((nil),0x7ec4a29c) 0032:trace:msxml:xmldoc_add_ref 1 0032:trace:msxml:Internal_QueryInterface 0x716444 {2933bf80-7b36-11d2-b20e-00c04f983e60} 0x7162e4 0032:trace:msxml:domdoc_AddRef 0x7162c0 0032:trace:msxml:domdoc_Release 0x7162c0 0032:trace:msxml:DOMDocument_create returning iface 0x7162c0 0032:trace:msxml:domdoc_QueryInterface 0x7162c0 {2933bf95-7b36-11d2-b20e-00c04f983e60} 0x7ec4a354 0032:trace:msxml:domdoc_AddRef 0x7162c0 0032:trace:msxml:domdoc_Release 0x7162c0 .. 0032:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: Using MSXML version 3 2: ") .. 0032:trace:msxml:domdoc_put_resolveExternals 0 0032:trace:msxml:domdoc_put_validateOnParse 0 0032:trace:msxml:domdoc_AddRef 0x7162c0 0032:trace:msxml:domdoc_Release 0x7162c0 0032:trace:msxml:domdoc_AddRef 0x7162c0 0032:trace:msxml:domdoc_Release 0x7162c0 .. 0032:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: XML file 'C:\Program Files\GameSpy\Comrade\Comrade.exe.config' does not exist. Creating using root element <configuration>... 2: ") .. 0032:trace:msxml:domdoc_loadXML 0x7162c0 L"<?xml version=\"1.0\" encoding=\"UTF-8\"?> \r\n\r\n<configuration></configuration>" 0x7ec4a36c 0032:trace:msxml:xmldoc_release 0 0032:trace:msxml:xmldoc_release freeing docptr 0x7d5bb360 0032:trace:msxml:xmldoc_add_ref 1 0032:trace:msxml:domdoc_get_documentElement 0x7162c0 0x716440 0032:trace:msxml:create_node type 1 0032:trace:msxml:xmldoc_add_ref 2 .. 0032:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: Processing XPath '//appSettings/add[@key="BigBuddies.Subscribe"]' 2: ") .. 0032:trace:msxml:xmlnode_selectNodes 0x716480 L"//appSettings/add[@key="BigBuddies.Subscribe"]" 0x7ec4a314 0032:trace:msxml:queryresult_create (0x7d5c0580, L"//appSettings/add[@key="BigBuddies.Subscribe"]", 0x7ec4a314) 0032:trace:msxml:xmldoc_add_ref 3 0032:trace:seh:raise_exception code=c0000005 flags=0 addr=0x61009fe1 0032:trace:seh:raise_exception info[0]=00000000 0032:trace:seh:raise_exception info[1]=00000000 0032:trace:seh:raise_exception eax=00000000 ebx=6101b36c ecx=00000031 edx=0072e420 esi=7ec4a5c8 edi=7ec4a314 0032:trace:seh:raise_exception ebp=7ec4a240 esp=7ec4a1f8 cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00210202 .. 0032:trace:msxml:xmldoc_release 2 .. 0032:trace:msxml:xmldoc_release 1 0032:trace:msxml:domdoc_Release 0x7162c0 0032:trace:msxml:xmldoc_release 0 0032:trace:msxml:xmldoc_release freeing docptr 0x7d5c0510 .. 0032:err:msi:ACTION_CallDllFunction Custom action (L"C:\windows\temp\msifd1f.tmp":L"ISXmlInstall") caused a page fault: c0000005 --- snip ---
The reason of the crash is that msxml3 doesn't check the node set for NULL (xpath query result) before looking at count of nodes.
"This->result->nodesetval->nodeNr"
Such code is dangerous. The NULL check of 'This->result' isn't enough because the node set can be NULL too. All occurrences should be replaced by 'safe' libxml2 macros.
Regards
http://bugs.winehq.org/show_bug.cgi?id=14226
--- Comment #1 from Anastasius Focht focht@gmx.net 2008-07-01 16:09:47 --- Created an attachment (id=14513) --> (http://bugs.winehq.org/attachment.cgi?id=14513) Patch which wraps nodeset (length) access with 'safe' libxml2 macros
Hello,
proposed patch which gets the installer farther - only to fail again due to unhandled xml node type 2 ;-)
Regards
http://bugs.winehq.org/show_bug.cgi?id=14226
--- Comment #2 from Alistair Leslie-Hughes leslie_alistair@hotmail.com 2008-07-02 00:11:07 --- Can you provide a +msxml tracelog when it fails to create an Attribute (type 2)?
http://bugs.winehq.org/show_bug.cgi?id=14226
--- Comment #3 from Anastasius Focht focht@gmx.net 2008-07-02 01:13:15 --- Created an attachment (id=14519) --> (http://bugs.winehq.org/attachment.cgi?id=14519) +tid,+seh,+msxml,+msi trace log showing attribute node creation failure
Hello,
--- quote --- Can you provide a +msxml tracelog when it fails to create an Attribute (type 2)? --- quote ---
Sure. Attached is relevant trace snippet.
Regards
http://bugs.winehq.org/show_bug.cgi?id=14226
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, patch
http://bugs.winehq.org/show_bug.cgi?id=14226
--- Comment #4 from Alistair Leslie-Hughes leslie_alistair@hotmail.com 2008-07-03 07:38:35 --- The latest git has you length patch, and a createNode to support attributes.
Can you please try again.
http://bugs.winehq.org/show_bug.cgi?id=14226
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #5 from Anastasius Focht focht@gmx.net 2008-07-03 09:39:30 --- Hello,
yes, works as expected. App config xml file 'Comrade.exe.config' is generated.
The other bugs are gdiplus related.
Regards
http://bugs.winehq.org/show_bug.cgi?id=14226
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Alexandre Julliard julliard@winehq.org 2008-07-11 11:10:53 --- Closing bugs fixed in 1.1.1.
http://bugs.winehq.org/show_bug.cgi?id=14226
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |unspecified
http://bugs.winehq.org/show_bug.cgi?id=14226
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Installer Fixed by SHA1| |d659e63d73d7f3dffb263bb0132 | |709533f642cf8 Version|unspecified |1.1.0
--- Comment #7 from Anastasius Focht focht@gmx.net 2011-10-12 03:41:52 CDT --- Hello,
filling/correcting fields ...
Regards
https://bugs.winehq.org/show_bug.cgi?id=14226
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.fileplanet.com/1 |https://web.archive.org/web |64906/160000/fileinfo/GameS |/20071002194529/http://www. |py-Comrade-Instant-Messenge |fileplanet.com/164906/downl |r |oad/GameSpy-Comrade-Instant | |-Messenger