[Bug 35149] New: RSA SecurID token v411 installer hangs during processing of EULA (large RTF passed twice: window text and richedit streamin callback)
http://bugs.winehq.org/show_bug.cgi?id=35149 Bug ID: 35149 Summary: RSA SecurID token v411 installer hangs during processing of EULA (large RTF passed twice: window text and richedit streamin callback) Product: Wine Version: 1.7.8 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: msi Assignee: wine-bugs(a)winehq.org Reporter: focht(a)gmx.net Classification: Unclassified Hello folks, as mentioned here http://bugs.winehq.org/show_bug.cgi?id=35145#c2 --- quote --- What version of the RSA client? I've never been able to install it, the msi installer hangs. --- quote --- After choosing the location which decides if domestic or export EULA should be displayed, the installer seems hang. Actually it churns on one CPU with 100% trying to break up the complex RTF passed in as one chunk with window text and the same content added a _second_ time using richedit streamin callback. Source: http://source.winehq.org/git/wine.git/blob/3271b982632e7730d6cee373f4c9a4af3... --- snip --- 1295 static UINT msi_dialog_scrolltext_control( msi_dialog *dialog, MSIRECORD *rec ) 1296 { ... 1308 hRichedit = LoadLibraryA("riched20"); 1309 1310 style = WS_BORDER | ES_MULTILINE | WS_VSCROLL | 1311 ES_READONLY | ES_AUTOVSCROLL | WS_TABSTOP; 1312 control = msi_dialog_add_control( dialog, rec, szRichEdit20W, style ); ... --- snip --- The large RTF content will be loaded from column 10 and passed as one chunk to dialog_create_window(). Additionally MSI_RecordGetString() runs deformat_string() on that RTF which also takes some time. --- snip --- 781 /* everything except radio buttons */ 782 static msi_control *msi_dialog_add_control( msi_dialog *dialog, 783 MSIRECORD *rec, LPCWSTR szCls, DWORD style ) 784 { 785 DWORD attributes; 786 LPCWSTR text, name; 787 DWORD exstyle = 0; 788 789 name = MSI_RecordGetString( rec, 2 ); 790 attributes = MSI_RecordGetInteger( rec, 8 ); 791 ext = MSI_RecordGetString( rec, 10 ); 792 793 TRACE("%s, %s, %08x, %s, %08x\n", debugstr_w(szCls), debugstr_w(name), 794 attributes, debugstr_w(text), style); 795 796 if( attributes & msidbControlAttributesVisible ) 797 style |= WS_VISIBLE; 798 if( ~attributes & msidbControlAttributesEnabled ) 799 style |= WS_DISABLED; 800 if( attributes & msidbControlAttributesSunken ) 801 exstyle |= WS_EX_CLIENTEDGE; 802 803 dialog_map_events( dialog, name ); 804 805 return dialog_create_window( dialog, rec, exstyle, szCls, name, text, style, dialog->hwnd ); 806 } --- snip --- All these things seem kind of redundant and inefficient because some lines later the same content is added again, now with more efficient richedit streamin callback mechanism (see msi_scrolltext_add_text()): --- snip --- 1295 static UINT msi_dialog_scrolltext_control( msi_dialog *dialog, MSIRECORD *rec ) 1296 { ... 1325 /* subclass the static control */ 1326 info->oldproc = (WNDPROC) SetWindowLongPtrW( control->hwnd, GWLP_WNDPROC, 1327 (LONG_PTR)MSIScrollText_WndProc ); 1328 SetPropW( control->hwnd, szButtonData, info ); 1329 1330 /* add the text into the richedit */ 1331 text = MSI_RecordGetString( rec, 10 ); 1332 if (text) 1333 msi_scrolltext_add_text( control, text ); 1334 1335 return ERROR_SUCCESS; 1336 } --- snip --- If you avoid the first load via window text in scrolltext control case, the EULA is displayed almost instantly. === The 'hickup' when adding the content twice - through window text and richedit streamin callback could be also subject to some bug. With 'winetricks -q riched20' it still takes an awful lot time: ~25 seconds with i5 2.60 GHz machine - but at least it finishes unlike Wine builtin (maybe it does ... after 1 hour?) $ sha1sum RSASecurIDToken411.zip e0e98c04bd8e1ba52fcf73e058703ccbb85d3252 RSASecurIDToken411.zip $ du -sh RSASecurIDToken411.zip 20M RSASecurIDToken411.zip $ wine --version wine-1.7.8-232-g3bad812 Regards -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=35149 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer URL| |ftp://ftp.rsasecurity.com/p | |ub/agents/RSASecurIDToken41 | |1.zip -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=35149 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |35145 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=35149 --- Comment #1 from Austin English <austinenglish(a)gmail.com> --- (In reply to comment #0)
With 'winetricks -q riched20' it still takes an awful lot time: ~25 seconds with i5 2.60 GHz machine - but at least it finishes unlike Wine builtin (maybe it does ... after 1 hour?)
FWIW, with dual i7's @ 3.20 GHZ, it took about 5 minutes austin(a)aw25 ~/r $ WINEDEBUG=timestamp msiexec /i RSASecurIDToken411.msi 499977.416:fixme:storage:create_storagefile Storage share mode not implemented. 500070.680:err:richedit:ReadStyleSheet skipping optional destination 500070.680:err:richedit:ReadStyleSheet skipping optional destination 500070.680:err:richedit:ReadStyleSheet skipping optional destination 500070.680:err:richedit:ReadStyleSheet skipping optional destination 500070.680:err:richedit:ReadStyleSheet skipping optional destination 500070.685:fixme:richedit:ME_RTFReadPictGroup 13 13 500151.987:err:richedit:ReadStyleSheet skipping optional destination 500151.987:err:richedit:ReadStyleSheet skipping optional destination 500151.987:err:richedit:ReadStyleSheet skipping optional destination 500151.987:err:richedit:ReadStyleSheet skipping optional destination 500151.987:err:richedit:ReadStyleSheet skipping optional destination 500151.993:fixme:richedit:ME_RTFReadPictGroup 13 13 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=35149 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |f222582af6806bdd0aaab954bc8 | |7457b297647db Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Anastasius Focht <focht(a)gmx.net> --- Hello folks, this is fixed by commit http://source.winehq.org/git/wine.git/commitdiff/f222582af6806bdd0aaab954bc8... Thanks Hans Regards -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=35149 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #3 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 1.7.9. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=35149 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.6.x -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=35149 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.6.x |--- --- Comment #4 from Alexandre Julliard <julliard(a)winehq.org> --- Removing 1.6.x milestone from bugs included in 1.6.2. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
wine-bugs@winehq.org