https://bugs.winehq.org/show_bug.cgi?id=37839
Bug ID: 37839 Summary: Unable to license IAR Embedded Workbench Kickstart Edition Product: Wine Version: 1.7.33 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: dave@davehigton.me.uk Distribution: ---
I am unable to license the IAR Embedded Workbench Kickstart Edition. The Licence Manager works until I enter the licence number that IAR assign to me, and click Next. Shortly after I get an error box saying:
LicenseManager Failed to request licenses. Could not get the right locking code. The lock criteria for the specified lock selector is not available.
The version information for Embedded Workbench is:
Product: IAR Embedded Workbencj for ARM, 32K Kickstart Edition Version: 6.70 Locking criteria: System UUID License model: Permanent license Features: IAR C/C++ Compiler for ARM IAR Linker for ARM IAR Debugger for ARM
So it sort-of specifies what locking criterion it's trying to use, but with no more detail.
There are lots of version of Embedded Workbench, obtainable free from the IAR website. I suspect the problem is common to all recent versions.
(Going back a couple of years, I did have Embedded Workbench Kickstart licensed and working fine, but that was several versions ago of both Ubuntu and EW, so I can't give you any sensible regression info. The regression is just as likely to be caused by changes in IAR's code as Wine's.)
Ubuntu 14.04. I don't think there is anything more than a standard installation.
https://bugs.winehq.org/show_bug.cgi?id=37839
Dave Higton dave@davehigton.me.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dave@davehigton.me.uk
--- Comment #1 from Dave Higton dave@davehigton.me.uk --- Created attachment 50405 --> https://bugs.winehq.org/attachment.cgi?id=50405 Debug log
https://bugs.winehq.org/show_bug.cgi?id=37839
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Summary|Unable to license IAR |Unable to license IAR |Embedded Workbench |Embedded Workbench |Kickstart Edition |Kickstart Edition 6.70
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
is the license code for commercial (paid) use or are there demo licenses for reproducing the problem?
Also please add a (direct) download link if possible.
Anyway, having a quick glance at your terminal output I suspect the license manager uses WMI to query for various hardware related properties (disk volume serial, network adapter mac - the usual crap) to generate some hash/unique id.
Generate a trace log as follows:
--- snip --- # make sure lingering processes are gone from current prefix $ wineserver -k
# warm up prefix $ notepad &
# 'cd' to app folder before # remove previous 'log.txt' if present # trace the app $ WINEDEBUG=+tid,+seh,+relay,+wbemprox wine ./foo.exe >>log.txt 2>&1
# when the message box appears execute: $ wineserver -k --- snip ---
For privacy you might want to grep/sed your license code in the resulting 'log.txt' file, if present.
Compress and attach the resulting log.
Regards
https://bugs.winehq.org/show_bug.cgi?id=37839
--- Comment #3 from Dave Higton dave@davehigton.me.uk --- The licenses (either size-limited, as I am trying to use, or time-limited) are free. The site is http://www.iar.com There are various different versions - I'm using ARM with the target manufacturer NXP - but I would expect the license manager code to be common to all versions. You can try as many as you like for no money. All you have to do is register.
I tried your new process a few minutes ago, but it seemed to go nowhere and it's getting late now so I'll try again tomorrow.
https://bugs.winehq.org/show_bug.cgi?id=37839
--- Comment #4 from Dave Higton dave@davehigton.me.uk --- I may have captured more than you want. The log file is about 100MB as plain text and compresses to about 3MB - which is too big to attach, according to Bugzilla.
The executable I run is the license manager, which opens one small window to tell me it's looking for licenses, then a larger window into which I have to type or paste the license key that IAR sent. Since you mentioned that I may want to conceal the key, I assume you want me to go that far. But the terminal window doesn't return to the command prompt within any reasonable time, so I have to type wineserver -k into another window. The original error message that this bug reports only comes after clicking Next (except it doesn't appear with this new logging).
And the process as a whole generates this huge log file.
Do you want me to change what I do in some way, or do you want me to send the log file via another route?
(I haven't actualy tried to attach it - the Bugzilla page says max filesize 1000k.)
https://bugs.winehq.org/show_bug.cgi?id=37839
--- Comment #5 from Anastasius Focht focht@gmx.net --- Hello Dave,
you can upload the compressed tarball to one of the various free file storage sites and send me the link via private email (hover over my handle). You could even password protect/encrypt the tarball before upload if you like to further preserve confidentiality.
--- quote --- The original error message that this bug reports only comes after clicking Next (except it doesn't appear with this new logging). --- quote ---
I got lost here ... do you mean that the error message box is not present with WINEDEBUG channels enabled (after clicking 'next')?
Regards
https://bugs.winehq.org/show_bug.cgi?id=37839
--- Comment #6 from Dave Higton dave@davehigton.me.uk --- Link to the logfile on Dropbox should have been sent via priv-mail.
The normal course of events when running the License Manager is that a small message window opens: "Please wait while the license manager checkes for licenses." Then, seconds later, a bigger window opens up, requesting that I enter the license number that IAR emailed to me. (There are a couple of other options: network lincense, which I think is just for the chargeable version of their code; and Register with them to get a license, which is something you could do if you want to try this directly. We are talking about legally free code here.) After I have entered my license number and clicked Next, it goes off for a few seconds, then comes back telling me "The lock criteria for the specified lock selector is not available."
The same sequence of events happens with the smaller logging that you asked for first.
With the new more detailed logging settings, after I click Next, it doesn't come back within what I would think of as a reasonable time, even allowing for the fact that it is generating a large log file, so eventually I have to kill the process so I can get the log file.
I hope that's a better explanation.
I am entirely happy to do what I can to provide the information you need. There is another option, of course: you could register and download the code and try it for yourself. It just feels like one of those bugs that is systematic, so I would expect you to see it too. I bet the license manager is common to all versions of the code. I'm not trying to get out of making effort; simply, you may wish to do things directly instead of via me. Otherwise we'll carry on as we are.
https://bugs.winehq.org/show_bug.cgi?id=37839
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Status|UNCONFIRMED |NEW URL| |http://supp.iar.com/Downloa | |d/SW/?item=EWARM-EVAL Component|-unknown |wmi&wbemprox Summary|Unable to license IAR |Unable to license IAR |Embedded Workbench |Embedded Workbench |Kickstart Edition 6.70 |Kickstart Edition 6.x/7.x | |(License Manager needs | |'Win32_ComputerSystemProduc | |t' WMI class) Ever confirmed|0 |1
--- Comment #7 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
Thanks for the upload but unfortunately your log didn't contain the information needed (you killed it too early) hence I reproduced it on my own.
As I already suspected: WMI :)
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/IAR Systems/Embedded Workbench 7.0/common/bin
$ WINEDEBUG=+tid,+seh,+relay,+wbemprox wine ./LicenseManager.exe >>log.txt 2>&1 ... 0028:trace:wbemprox:wbem_locator_ConnectServer 0x1d0718, L"ROOT\CIMV2", (null), (null), (null), 0x00000000, (null), (nil), 0x33d284) ... 0028:trace:wbemprox:WbemServices_create (0x33d284) ... 0028:trace:wbemprox:WbemServices_create returning iface 0x1d0540 ... 0028:Call ole32.CoSetProxyBlanket(001d0540,0000000a,00000000,00000000,00000003,00000003,00000000,00000000) ret=00527676 0028:trace:wbemprox:wbem_services_QueryInterface 0x1d0540 {0000013d-0000-0000-c000-000000000046} 0x33d170 0028:fixme:wbemprox:client_security_SetBlanket 0x7d07c52c, 0x1d0540, 10, 0, (null), 3, 3, (nil), 0x00000000 0028:fixme:wbemprox:client_security_Release 0x7d07c52c 0028:Ret ole32.CoSetProxyBlanket() retval=00000000 ret=00527676 ... 0028:trace:wbemprox:wbem_services_ExecQuery 0x1d0540, L"WQL", L"SELECT * FROM Win32_ComputerSystemProduct", 0x00000030, (nil), 0x33d27c ... 0028:trace:wbemprox:parse_query wql_parse returned 0 ... 0028:trace:wbemprox:EnumWbemClassObject_create returning iface 0x1d1950 .... 0028:trace:wbemprox:enum_class_object_Next 0x1d1950, -1, 1, 0x33d270, 0x33d274 0028:trace:wbemprox:wbem_services_Release destroying 0x1d0540 .... 0028:trace:wbemprox:wbem_locator_Release destroying 0x1d0718 ... 0028:trace:wbemprox:enum_class_object_Release destroying 0x1d1950 ... 0028:Call msvcr90.strlen(006fdd38 "The lock criteria for the specified lock selector is not available") ret=7e500412 ... 0028:Call winex11.drv.SetWindowText(00010164,01eb0818 L"Failed to request licenses.\nCould not get the right locking code.\nThe lock criteria for the specified lock selector is not available") ret=7ec58809 --- snip ---
The license manager likely wants some nice UUIDs to uniquely identify the machine for activation mechanism hence queries for 'Win32_ComputerSystemProduct'. It specifically looks at the 'UUID' property.
MSDN: http://msdn.microsoft.com/en-us/library/aa394105%28v=vs.85%29.aspx
$ sha1sum EWARM-CD-7304-8187.exe fd40746be0e5fbcdb93b05e54a8c8f412204e607 EWARM-CD-7304-8187.exe
$ du -sh EWARM-CD-7304-8187.exe 742M EWARM-CD-7304-8187.exe
$ wine --version wine-1.7.33-158-g25f24f2
Regards
https://bugs.winehq.org/show_bug.cgi?id=37839
--- Comment #8 from Dave Higton dave@davehigton.me.uk --- OK, thank you for your efforts!
Where does this leave us? Is that something that Wine supports? Do I have to make a setting somewhere? Do I have to obtain another DLL?
https://bugs.winehq.org/show_bug.cgi?id=37839
--- Comment #9 from Anastasius Focht focht@gmx.net --- Hello Dave,
--- quote --- Where does this leave us? Is that something that Wine supports? Do I have to make a setting somewhere? Do I have to obtain another DLL? --- quote ---
Well, Wine sources need to be modified to support this WMI class, along with some (fake) instance data/properties. Sooner or later one of the devs following my posts picks this up and attaches a patch asking for test or if confident enough sends it directly to wine-patches for review/inclusion.
There is no further action to do for now. Just be patient. ;-)
Regards
https://bugs.winehq.org/show_bug.cgi?id=37839
--- Comment #10 from Dave Higton dave@davehigton.me.uk --- OK, thanks for your efforts!
https://bugs.winehq.org/show_bug.cgi?id=37839
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |c007b5f94c3d430cc0ad414fa72 | |d94e4b7d8255c Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #11 from Anastasius Focht focht@gmx.net --- Hello folks,
this is fixed by commit http://source.winehq.org/git/wine.git/commitdiff/c007b5f94c3d430cc0ad414fa72...
I've tested it, license activation works now.
IDE/IAR License Manager shows it, also the IAR ANSI C/C++ Compiler for ARM on command line doesn't complain anymore.
Thanks Hans, that was a fast and swift response :-)
--- snip --- ... 0023:trace:wbemprox:wbem_services_ExecQuery 0x1d02b0, L"WQL", L"SELECT * FROM Win32_ComputerSystemProduct", 0x00000030, (nil), 0x33d27c ... 0023:trace:wbemprox:create_class_object L"Win32_ComputerSystemProduct", 0x33d270 ... 0023:trace:wbemprox:create_class_object returning iface 0x1eb1c00 0023:trace:wbemprox:class_object_Get 0x1eb1c00, L"UUID", 00000000, 0x33d25c, (nil), (nil) 0023:Call oleaut32.SysAllocString(7d071760 L"00000000-0000-0000-0000-000000000000") ret=7d0650dc --- snip ---
@Dave
The fix will be included in Wine 1.7.34
You'll have to wait until your Linux distro provides Wine 1.7.34 package or if you feel confident, compile from source/GIT.
Regards
https://bugs.winehq.org/show_bug.cgi?id=37839
--- Comment #12 from Dave Higton dave@davehigton.me.uk --- My thanks to all of you for your work. I'm impressed by your response!
I look forward to trying 1.7.34 when it becomes available for download. Judging by the release dates of the last few development versions, I'm sure it will be soon.
https://bugs.winehq.org/show_bug.cgi?id=37839
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #13 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.34.