http://bugs.winehq.org/show_bug.cgi?id=8170
Summary: __unDNameEx gives up on nested template expression
(debug symbols)
Product: Wine
Version: 0.9.35.
Platform: Other
OS/Version: All
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-msvcrt
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Hello,
while resolving some symbols using UnDecorateSymbolName(), wine
msvcrt.__unDNameEx gives up on nested template expressions.
Micro$oft undname output:
--- snip undname.exe ---
Undecoration of :-
"??0CParameterizationDlg@@QAE@V?$_com_ptr_t@V?$_com_IIID@UIObjectRack@@$1?_GUID_a44d3311_9d60_11d1_9aaa_0080c82a2a88@@3U__s_GUID@@A@@@@PAG1FPAVCWnd@@@Z"
is :- "public: __thiscall CParameterizationDlg::CParameterizationDlg(class _com_
ptr_t<class _com_IIID<struct IObjectRack,&struct __s_GUID _GUID_a44d3311_9d60_11
d1_9aaa_0080c82a2a88> >,unsigned short *,unsigned short *,short,class CWnd *)"
--- snip undname.exe ---
Wine trace (attachment) follows.
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=8157
------- Additional Comments From silsor(a)gmail.com 2007-25-04 10:03 -------
This is not a duplicate. This memory leak appeared with 0.9.34 -> 0.9.35, the
bug it was closed as a duplicate of was a different memory leak that appeared
and was fixed around the time of 0.9.31.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=8169
vitaliy(a)kievinfo.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #5931|application/octet-stream |text/plain
mime type| |
Attachment #5931|test |test.txt
filename| |
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=8091
------- Additional Comments From fonseca(a)cs.umd.edu 2007-25-04 07:12 -------
DVDShrink also worked perfectly for me with 0.9.34, but does not even open a
window on 0.9.35, giving a stack overflow. I use fedora core 6, and the binary
rpm from extras.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=7949
------- Additional Comments From andrey.turkin(a)gmail.com 2007-25-04 06:57 -------
So, I will participate as describer then.
First DWORD of stream is ATL version (0x800 or such). pMap array describe
meaning of stream remainder.
pMap element with NULL pclsidPropPage marks end of array; elements with NULL
szDesc must be ignored. Rest elements are either:
1) raw data – dwSizeData bytes must be read from stream to an object pointed by
pThis at offset dwOffsetData. However, if this entry describe BSTR, when in the
stream there are DWORD - string length in bytes, followed by string itself. In
this case pointer to SysAllocString-allocated BSTR must be written to the object.
2) Property – if dwSizeData is zero. In this case serialized VARIANT property is
read from stream (CComVariant::ReadFromString way, IÂ’ll describe it later);
variant type must be equal to pMapÂ’s vt, unless it is VT_EMPTY. piidDispatch is
IID of interface (which must derive from IDispatch) to put property to, and
dispid is obviously property id.
Implementation does not care for endianness.
VARIANT serialized as follows:
1) VARTYPE
2) Raw data for simple types (1, 2, 4 or 8 bytes); prepared for
OleLoadFromStream data in case of VT_UNKNOWN or VT_DISPATCH; or BSTR serialized
as described earlier.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are on the CC list for the bug, or are watching someone who is.
http://bugs.winehq.org/show_bug.cgi?id=8169
Summary: test fails in comctl32
Product: Wine
Version: CVS
Platform: Other
OS/Version: other
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: test
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: jeremielapuree(a)yahoo.fr
When I do make test, a test fails in comctl32
I attached a log file
Joaopa
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=5486
------- Additional Comments From gagnon.kevin(a)gmail.com 2007-25-04 06:33 -------
Seems like this issue is still present for Dark Age of Camelot with wine 0.9.35.
Bug 6432 was open for this issue but was marked as duplicated bug because of
this one. I can read that it seems to be fixed for Guild Wars but the problem
persists on DAoC.
Can barely see the cursor blinking when playing...
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=7949
------- Additional Comments From focht(a)gmx.net 2007-25-04 06:06 -------
Hello,
next one ...
--- snip ---
wine: Call from 0x7b840750 to unimplemented function atl.dll.AtlComQIPtrAssign,
aborting
--- snip ---
Add/modify the following:
--- snip dlls/atl/atl.spec ---
31 stdcall AtlComQIPtrAssign(ptr ptr ptr)
--- snip dlls/atl/atl.spec ---
and (below AtlComPtrAssign()):
--- snip dlls/atl/atl_main.c ---
IUnknown* WINAPI AtlComQIPtrAssign(IUnknown** pp, IUnknown* p, REFIID riid)
{
TRACE("(%p, %p, %p)\n", pp, p, riid);
*pp = NULL;
if (p) IUnknown_QueryInterface( p, riid, pp);
if (*pp) IUnknown_Release(*pp);
return *pp;
}
--- snip dlls/atl/atl_main.c ---
That should fix this error.
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are on the CC list for the bug, or are watching someone who is.
http://bugs.winehq.org/show_bug.cgi?id=7949
------- Additional Comments From focht(a)gmx.net 2007-25-04 05:54 -------
Hello,
ah i was about to post that bug in AtlModuleGetClassObject() too (i had done
same modification earlier).
After i cleaned up my source tree, i realized both patches are necessary to work
around :)
For the AtlIPersistStreamInit_Load() issue you might just provide stubs.
That ATL PersistStream stuff should belong in its own module ...
--- snip dlls/atl/atl_main.c ---
HRESULT WINAPI AtlIPersistStreamInit_Load( LPSTREAM pStm, void* pMap,
void* pThis, IUnknown* pUnk)
{
FIXME("(%p, %p, %p, %p)\n", pStm, pMap, pThis, pUnk);
/* NOTE: pMap is ATL_PROPMAP_ENTRY */
return S_OK;
}
HRESULT WINAPI AtlIPersistStreamInit_Save(LPSTREAM pStm, BOOL fClearDirty,
void* pMap, void* pThis, IUnknown* pUnk)
{
FIXME("(%p, %d, %p, %p, %p)\n", pStm, fClearDirty, pMap, pThis, pUnk);
/* NOTE: pMap is ATL_PROPMAP_ENTRY */
return S_OK;
}
--- snip dlls/atl/atl_main.c ---
and
--- snip dlls/atl/atl.spec ---
50 stdcall AtlIPersistStreamInit_Load(ptr ptr ptr ptr)
51 stdcall AtlIPersistStreamInit_Save(ptr long ptr ptr ptr)
--- snip dlls/atl/atl.spec ---
Returning S_OK should do it for now. If you return E_FAIL, the app just exists.
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are on the CC list for the bug, or are watching someone who is.
http://bugs.winehq.org/show_bug.cgi?id=7949
------- Additional Comments From rob(a)codeweavers.com 2007-25-04 05:52 -------
No. We shouldn't really look at the Microsoft source. Clean-room engineering practice is for one person to
describe what the original code does and another person to code their interpretation of the described
code.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are on the CC list for the bug, or are watching someone who is.
http://bugs.winehq.org/show_bug.cgi?id=7949
------- Additional Comments From andrey.turkin(a)gmail.com 2007-25-04 05:45 -------
There are sources available, but we cannot port them, do we?
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are on the CC list for the bug, or are watching someone who is.
http://bugs.winehq.org/show_bug.cgi?id=7949
rob(a)codeweavers.com changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|rob(a)codeweavers.com |wine-bugs(a)winehq.org
Status|ASSIGNED |NEW
Component|wine-misc |wine-atl
------- Additional Comments From rob(a)codeweavers.com 2007-25-04 05:39 -------
Patches sent for the strange crashes:
http://www.winehq.org/pipermail/wine-patches/2007-April/038549.html
and
http://www.winehq.org/pipermail/wine-patches/2007-April/038551.html
Now the application crashes with this:
wine: Unimplemented function atl.dll.AtlIPersistStreamInit_Load called at address...
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are on the CC list for the bug, or are watching someone who is.
http://bugs.winehq.org/show_bug.cgi?id=4362
truiken(a)gmail.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |julliard(a)codeweavers.com
------- Additional Comments From truiken(a)gmail.com 2007-25-04 05:24 -------
Thanks for doing the regression test.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=4362
------- Additional Comments From karllinuxtest.relton(a)ntlworld.com 2007-25-04 05:18 -------
patch 3e2f2a5265f11e7a8cee57dab90558be1f90b3b7 introduced this regression:
Allow nested hardware message processing by storing a unique id in
every message and using it to manage the current queue position.
Better filtering of hardware messages to avoid returning messages that
have no chance to match the filter.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=7949
------- Additional Comments From focht(a)gmx.net 2007-25-04 04:56 -------
Hello,
--- quote ---
Could you please provide +relay,+atl log?
--- quote ---
Not necessary, already found it.
Caused by a bug in wine ATL AtlInternalQueryInterface() implementation.
Getting a patch from following information into git is left to you :)
--- snip dlls/atl/atl_main.c ---
HRESULT WINAPI AtlInternalQueryInterface(void* this, const _ATL_INTMAP_ENTRY*
pEntries, REFIID iid, void** ppvObject)
{
int i = 0;
HRESULT rc = E_NOINTERFACE;
TRACE("(%p, %p, %p, %p)\n",this, pEntries, iid, ppvObject);
if (IsEqualGUID(iid,&IID_IUnknown))
{
TRACE("Returning IUnknown\n");
*ppvObject = this;
IUnknown_AddRef((IUnknown*)this);
return S_OK;
}
....
--- snip dlls/atl/atl_main.c ---
The code to get the first interface (e.g. client says "give me IUnknown") is wrong.
And you should really validate [out] param...
--- snip dlls/atl/atl_main.c ---
HRESULT WINAPI AtlInternalQueryInterface(void* this, const _ATL_INTMAP_ENTRY*
pEntries, REFIID iid, void** ppvObject)
{
int i = 0;
HRESULT rc = E_NOINTERFACE;
TRACE("(%p, %p, %p, %p)\n",this, pEntries, iid, ppvObject);
if (ppvObject == NULL)
return E_POINTER;
*ppvObject = NULL;
/* first interface (IUnknown) requested by client? */
if (IsEqualGUID(iid,&IID_IUnknown))
{
TRACE("Returning IUnknown\n");
*ppvObject = (IUnknown*)((int)this+pEntries->dw);
IUnknown_AddRef((IUnknown*)*ppvObject);
return S_OK;
}
...
--- snip dlls/atl/atl_main.c ---
Now it works as expected.
Though the software crashes later (due to other issues).
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
http://bugs.winehq.org/show_bug.cgi?id=7949
------- Additional Comments From andrey.turkin(a)gmail.com 2007-25-04 04:48 -------
Anastasius,
Could you please provide +relay,+atl log?
Thanks!
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
http://bugs.winehq.org/show_bug.cgi?id=7949
------- Additional Comments From focht(a)gmx.net 2007-25-04 04:39 -------
Created an attachment (id=5930)
--> (http://bugs.winehq.org/attachment.cgi?id=5930&action=view)
test client which mimics application code to reproduce crash
Hello,
debugged this thing down...
Attached is a test client which mimics the application code before the crash.
The wrappers used are autogenerated from application dll typelib (using
#import)
windows: fine, prints out product id
wine (native ATL): fine, prints out product id
wine (builtin ATL): crash
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
http://bugs.winehq.org/show_bug.cgi?id=7094
blin(a)gmx.net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |CLOSED
------- Additional Comments From blin(a)gmx.net 2007-25-04 02:27 -------
Sorry, should have changed it before.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=7094
blin(a)gmx.net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |WORKSFORME
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=7094
blin(a)gmx.net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|CLOSED |UNCONFIRMED
Resolution|DUPLICATE |
------- Additional Comments From blin(a)gmx.net 2007-25-04 02:26 -------
Actually it's not a duplicate..
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=5358
------- Additional Comments From truiken(a)gmail.com 2007-25-04 01:09 -------
A patch was committed before mine that conflicts with this patch. I'm resending
it tonight.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
http://bugs.winehq.org/show_bug.cgi?id=5358
------- Additional Comments From tk_fhd_aui(a)yahoo.de 2007-25-04 01:06 -------
If've tried to send the log, but even bzip2 compressed it's nearly 2MB. Are
there parts I can remove, which you don't need?
To the second patch: Doesn't apply for me in table.c. For what revision has it
been made?
Another thing: Why doesn't anyone use the git patch posting?
Regards
Torsten
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.