http://bugs.winehq.org/show_bug.cgi?id=10122
Summary: "MSVCRT___RTDynamicCast Unknown parameter is non-zero: please report" error in Adobe PSA 2.0 Product: Wine Version: CVS/GIT Platform: PC URL: http://download.adobe.com/pub/adobe/magic/photoshopalbum /win/2.x/psa2se_nl.zip OS/Version: Linux Status: NEW Keywords: download Severity: normal Priority: P2 Component: wine-msvcrt AssignedTo: wine-bugs@winehq.org ReportedBy: xerox_xerox2000@yahoo.co.uk
I get the error from the summary while trying to launch Adobe Photoshop Album 2.0. The application doesn't start due to this bug. With native msvcrt it gets a bit further
http://bugs.winehq.org/show_bug.cgi?id=10122
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com Summary|"MSVCRT___RTDynamicCast |Adobe Photoshop Album 2 |Unknown parameter is non- |crashes with |zero: please report" error |"MSVCRT___RTDynamicCast |in Adobe PSA 2.0 |Unknown parameter is non- | |zero: please report" error | |in Adobe PSA 2.0
http://bugs.winehq.org/show_bug.cgi?id=10122
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Adobe Photoshop Album 2 |Adobe Photoshop Album 2 |crashes with |crashes with |"MSVCRT___RTDynamicCast |"MSVCRT___RTDynamicCast |Unknown parameter is non- |Unknown parameter is non- |zero: please report" error |zero: please report" |in Adobe PSA 2.0 |
--- Comment #1 from Dan Kegel dank@kegel.com 2007-10-23 18:24:55 --- fixed summary, sorry
http://bugs.winehq.org/show_bug.cgi?id=10122
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Priority|P2 |P3
http://bugs.winehq.org/show_bug.cgi?id=10122
Mikolaj Zalewski mikolaj.zalewski@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mikolaj.zalewski@gmail.com
--- Comment #2 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-24 15:39:40 --- Adobe CS installer have the same problem.
http://bugs.winehq.org/show_bug.cgi?id=10122
--- Comment #3 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-26 14:09:31 --- In CS setup there are two types of casts that repeats:
trace:msvcrt:MSVCRT___RTDynamicCast obj: 0x33f7a0 unknown: 92 src: 0x4d2f58 {vtable=0x4b7084 name=.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@ ()} dst: 0x4d2f98 {vtable=0x4b7084 name=.?AV?$basic_ifstream@DU?$char_traits@D@std@@@devtech@@ ()} do_throw: 0) fixme:msvcrt:MSVCRT___RTDynamicCast Unknown parameter is non-zero: please report trace:msvcrt:dump_obj_locator 0x780ecea0: sig=00000000 base_offset=0000005c flags=00000000 type=0x7811bd30 {vtable=0x780eb1a0 name=.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@ ()} hierarchy=0x780ece90 trace:msvcrt:dump_obj_locator hierarchy: sig=00000000 attr=00000000 len=4 base classes=0x780ece78 trace:msvcrt:dump_obj_locator base class 0x780ece60: num 3 off 0,-1,0 attr 00000000 type 0x7811bd30 {vtable=0x780eb1a0 name=.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb2b8: num 2 off 0,-1,0 attr 00000000 type 0x7811b260 {vtable=0x780eb1a0 name=.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb2a0: num 1 off 0,0,4 attr 00000010 type 0x7811b228 {vtable=0x780eb1a0 name=.?AV?$basic_ios@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb288: num 0 off 0,0,4 attr 00000000 type 0x7811b208 {vtable=0x780eb1a0 name=.?AVios_base@std@@ ()} trace:msvcrt:MSVCRT___RTDynamicCast obj: 0x33f7a0 unknown: 92 src: 0x4d2f58 {vtable=0x4b7084 name=.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@ ()} dst: 0x4d2f18 {vtable=0x4b7084 name=.?AV?$basic_irstream@DU?$char_traits@D@std@@@devtech@@ ()} do_throw: 0) fixme:msvcrt:MSVCRT___RTDynamicCast Unknown parameter is non-zero: please report trace:msvcrt:dump_obj_locator 0x780ecea0: sig=00000000 base_offset=0000005c flags=00000000 type=0x7811bd30 {vtable=0x780eb1a0 name=.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@ ()} hierarchy=0x780ece90 trace:msvcrt:dump_obj_locator hierarchy: sig=00000000 attr=00000000 len=4 base classes=0x780ece78 trace:msvcrt:dump_obj_locator base class 0x780ece60: num 3 off 0,-1,0 attr 00000000 type 0x7811bd30 {vtable=0x780eb1a0 name=.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb2b8: num 2 off 0,-1,0 attr 00000000 type 0x7811b260 {vtable=0x780eb1a0 name=.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb2a0: num 1 off 0,0,4 attr 00000010 type 0x7811b228 {vtable=0x780eb1a0 name=.?AV?$basic_ios@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb288: num 0 off 0,0,4 attr 00000000 type 0x7811b208 {vtable=0x780eb1a0 name=.?AVios_base@std@@ ()} trace:msvcrt:MSVCRT___RTDynamicCast obj: 0x33f7a0 unknown: 92 src: 0x4d2f58 {vtable=0x4b7084 name=.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@ ()} dst: 0x4d2f58 {vtable=0x4b7084 name=.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@ ()} do_throw: 0) fixme:msvcrt:MSVCRT___RTDynamicCast Unknown parameter is non-zero: please report trace:msvcrt:dump_obj_locator 0x780ecea0: sig=00000000 base_offset=0000005c flags=00000000 type=0x7811bd30 {vtable=0x780eb1a0 name=.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@ ()} hierarchy=0x780ece90 trace:msvcrt:dump_obj_locator hierarchy: sig=00000000 attr=00000000 len=4 base classes=0x780ece78 trace:msvcrt:dump_obj_locator base class 0x780ece60: num 3 off 0,-1,0 attr 00000000 type 0x7811bd30 {vtable=0x780eb1a0 name=.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb2b8: num 2 off 0,-1,0 attr 00000000 type 0x7811b260 {vtable=0x780eb1a0 name=.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb2a0: num 1 off 0,0,4 attr 00000010 type 0x7811b228 {vtable=0x780eb1a0 name=.?AV?$basic_ios@DU?$char_traits@D@std@@@std@@ ()} trace:msvcrt:dump_obj_locator base class 0x780eb288: num 0 off 0,0,4 attr 00000000 type 0x7811b208 {vtable=0x780eb1a0 name=.?AVios_base@std@@ ()}
Thus it uses namespaces, templates and virtual inheritance but so far I was unable to recreate it and force Visual Studio to generate me a RTDynamicCast with a non-zero parameter.
http://bugs.winehq.org/show_bug.cgi?id=10122
--- Comment #4 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-26 14:10:08 --- I also should mention that despite these messages the CS installer does work.
http://bugs.winehq.org/show_bug.cgi?id=10122
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #5 from Anastasius Focht focht@gmx.net 2007-10-26 18:03:28 --- Hello,
that dynamic_cast/__RTDynamicCast "unknown" parameter looks like some virtual function table offset/delta when downcasting virtual base classes. I wrote some sample, though the downcast itself is not really useful in that case.
--- snip sample --- struct vbase { virtual int get_num() const = 0; };
struct base : virtual vbase { int get_num() const { return 1; } };
struct derived : virtual base { int get_num() const { return 2; } };
int main () { base b; derived* d = dynamic_cast<derived*>(&b); return 0; } --- snip sample ---
__RTDynamicCast "unknown" -> virtual function table offset is 4
object memory layout for "b":
ofs+0: pointer to virtual base class table of "derived" ofs+4: pointer to virtual function table of "base"
Regards
http://bugs.winehq.org/show_bug.cgi?id=10122
--- Comment #6 from Anastasius Focht focht@gmx.net 2007-10-26 18:50:17 --- Hello,
could you actually show the result of dynamic_cast in case of unknown/vtable offset != 0?
As addendum .. MSVCRT___RTDynamicCast's "do_throw" parameter naming is somewhat misleading. Its only purpose is to indicate if result/lvalue is a reference type (which cannot return NULL). Should be named either "is_ref" or "is_reference" for clearity.
Regards
http://bugs.winehq.org/show_bug.cgi?id=10122
--- Comment #7 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-26 19:12:42 --- The program in comment #5 generates code with unknown != 0 so this is a good example. For a few days I won't be able to test what that Adobe program returns but later I will try to provide some more data.
http://bugs.winehq.org/show_bug.cgi?id=10122
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME
--- Comment #8 from Alexandre Julliard julliard@winehq.org 2007-10-30 14:24:04 --- I see no evidence that the parameter is used for anything in that test case, changing the value before calling native msvcrt doesn't have any effect, and both native and builtin behave the same way.
I also don't see any difference in the behavior of Photoshop Album between native and builtin, apart from the FIXME spam.
http://bugs.winehq.org/show_bug.cgi?id=10122
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Dan Kegel dank@kegel.com 2008-01-28 05:50:55 --- Closing all RESOLVED WORKSFORME bugs older than four weeks.
http://bugs.winehq.org/show_bug.cgi?id=10122
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |unspecified