http://bugs.winehq.org/show_bug.cgi?id=35254
Bug ID: 35254 Summary: Freemake Video Converter 4.1 installer complains about running Freemake processes (builtin 'findstr' stub app always returns "match") Product: Wine Version: 1.7.9 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: programs Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Classification: Unclassified
Hello folks,
continuation of bug 32937
Code of extracted batch file 'CheckRunningInstance.cmd':
--- snip --- tasklist | findstr "FreemakeAC | FreemakeVD | FreemakeMB | FreemakeVC | FreemakeYC" --- snip ---
Relevant part of trace log:
--- snip --- 0052:Call KERNEL32.CreateProcessW(00000000,00995cec L""C:\windows\system32\cmd.exe" /C ""C:\users\focht\Temp\is-PQPUK.tmp\CheckRunningInstance.cmd""",00000000,00000000,00000000,04000000,00000000,00966a5c L"C:\users\focht\Temp\is-PQPUK.tmp",0033f9e0,0033f9d0) ret=004ac6a1 ... 005c:Call KERNEL32.__wine_kernel_init() ret=7bc5a036 0052:Ret KERNEL32.CreateProcessW() retval=00000001 ret=004ac6a1 ... 005c:Call KERNEL32.CreateProcessW(00329964 L"C:\windows\system32\tasklist.EXE",00145f28 L"tasklist ",00000000,00000000,00000001,00000000,00000000,00000000,00329920,00329e24) ret=7ed031b2 ... 005e:Call KERNEL32.__wine_kernel_init() ret=7bc5a036 005c:Ret KERNEL32.CreateProcessW() retval=00000001 ret=7ed031b2 ... 005e:Starting process L"C:\windows\system32\tasklist.exe" (entryproc=0x7edfd7b8) 005e:fixme:tasklist:wmain stub: L"tasklist" 005e:Call KERNEL32.ExitProcess(00000000) ret=7edfd846 ... 005c:Ret KERNEL32.WaitForSingleObject() retval=00000000 ret=7ed03270 005c:Call KERNEL32.GetExitCodeProcess(0000004c,7edc7ce0) ret=7ed0328b 005c:Ret KERNEL32.GetExitCodeProcess() retval=00000001 ret=7ed0328b ... 005c:Call KERNEL32.CreateProcessW(00329964 L"C:\windows\system32\findstr.EXE",00145f28 L"findstr "FreemakeAC | FreemakeVD | FreemakeMB | FreemakeVC | FreemakeYC"",00000000,00000000,00000001,00000000,00000000,00000000,00329920,00329e24) ret=7ed031b2 ... 0060:Call KERNEL32.__wine_kernel_init() ret=7bc5a036 005c:Ret KERNEL32.CreateProcessW() retval=00000001 ret=7ed031b2 ... 005c:Call KERNEL32.WaitForSingleObject(0000004c,ffffffff) ret=7ed03270 ... 0060:Starting process L"C:\windows\system32\findstr.exe" (entryproc=0x7edfd7b8) 0060:fixme:findstr:wmain stub: L"findstr" L"FreemakeAC | FreemakeVD | FreemakeMB | FreemakeVC | FreemakeYC" 0060:Call KERNEL32.ExitProcess(00000000) ret=7edfd846 ... 005c:Ret KERNEL32.WaitForSingleObject() retval=00000000 ret=7ed03270 005c:Call KERNEL32.GetExitCodeProcess(0000004c,7edc7ce0) ret=7ed0328b 005c:Ret KERNEL32.GetExitCodeProcess() retval=00000001 ret=7ed0328b ... 005c:Call KERNEL32.ExitProcess(00000000) ret=7ed07262 ... 0052:Ret user32.MsgWaitForMultipleObjects() retval=00000000 ret=004af027
0052:Call KERNEL32.GetExitCodeProcess(0000007c,0033fb8c) ret=004af038 0052:Ret KERNEL32.GetExitCodeProcess() retval=00000001 ret=004af038 ... 0052:Call user32.MessageBoxW(00010196,00644fec L"Setup has detected that one or more of Freemake programs are currently running.\r\n\r\nPlease close all instances of Freemake running programs now, then click OK to continue, or Cancel to exit.",0065b51c L"Setup",00000021) ret=0047c446 ... --- snip ---
Wine builtin 'tasklist' and 'findstr' are stub apps that return exit code 0 - regardless what was passed in (because they do nothing as of now). This gets propagated through cmd.exe exit code to caller (GetExitCodeProcess).
cmd.exe -> 0 findstr.exe -> 0 tasklist.exe -> 0
The problem is that Windows 'findstr' uses inverted logic. Match -> exit code = 0 No match -> exit code = 1
Wine 'findstr' always returns 0 hence the installer takes this a process list match and complains.
Source: http://source.winehq.org/git/wine.git/blob/3ce21826c87434e9aea6fad5e62bd37b3...
--- snip --- 23 int wmain(int argc, WCHAR *argv[]) 24 { 25 int i; 26 27 WINE_FIXME("stub:"); 28 for (i = 0; i < argc; i++) 29 WINE_FIXME(" %s", wine_dbgstr_w(argv[i])); 30 WINE_FIXME("\n"); 31 32 return 0; 33 } --- snip ---
It shouldn't be too hard to implement a minimal string/pattern matching.
Another way is to change the default behaviour to "no match" (return 1). I'm not sure if it breaks apps that currently depend on stub "match" behaviour.
$ sha1sum FreemakeVideoConverterSetup.exe 20cbd93a0041da2eeef6350f6426407df660858d FreemakeVideoConverterSetup.exe
$ du -sh FreemakeVideoConverterSetup.exe 1.3M FreemakeVideoConverterSetup.exe
$ wine --version wine-1.7.9-209-gb231b4b
Regards
http://bugs.winehq.org/show_bug.cgi?id=35254
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer URL| |http://www.freemake.com/fre | |e_video_converter/
http://bugs.winehq.org/show_bug.cgi?id=35254
Bougron Francis.Bougron@free.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |Francis.Bougron@free.fr
--- Comment #1 from Bougron Francis.Bougron@free.fr --- Wine Version 1.7.16 Ubuntu 14.04
This error is always existing..
https://bugs.winehq.org/show_bug.cgi?id=35254
Kaipeng Zeng kaipeng94@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kaipeng94@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=35254
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.wine-staging.c | |om/show_bug.cgi?id=11
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
obviously still present.
Also tracked here: https://bugs.wine-staging.com/show_bug.cgi?id=11
$ wine --version wine-1.7.40-29-gc1c108f
Regards
https://bugs.winehq.org/show_bug.cgi?id=35254
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
--- Comment #3 from super_man@post.com --- seem to help in this case
http://source.winehq.org/patches/data/114084
https://bugs.winehq.org/show_bug.cgi?id=35254
--- Comment #4 from super_man@post.com --- Still valid and the patch still applies cleanly and it helps in this case.
wine 1.9
https://bugs.winehq.org/show_bug.cgi?id=35254
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jack.lovell@ukaea.uk
--- Comment #5 from Austin English austinenglish@gmail.com --- *** Bug 42028 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=35254
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also|https://bugs.wine-staging.c | |om/show_bug.cgi?id=11 |
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, obviously still present.
--- snip --- $ WINEDEBUG=+msgbox wine ./FreemakeVideoConverterSetup.exe ... 003d:fixme:exec:SHELL_execute flags ignored: 0x00000100 004e:fixme:tasklist:wmain stub: L"tasklist" 0050:fixme:findstr:wmain stub: L"findstr" L"FreemakeVD.exe" Error: Could not find process "FreemakeVD.exe". 0058:fixme:tasklist:wmain stub: L"tasklist" 005a:fixme:findstr:wmain stub: L"findstr" L"FreemakeVC.exe" Error: Could not find process "FreemakeVC.exe". 0062:fixme:tasklist:wmain stub: L"tasklist" 0064:fixme:findstr:wmain stub: L"findstr" L"FreemakeAC.exe" Error: Could not find process "FreemakeAC.exe". 006c:fixme:tasklist:wmain stub: L"tasklist" 006e:fixme:findstr:wmain stub: L"findstr" L"FreemakeMB.exe" Error: Could not find process "FreemakeMB.exe". 0076:fixme:tasklist:wmain stub: L"tasklist" 0078:fixme:findstr:wmain stub: L"findstr" L"FreemakeYB.exe" Error: Could not find process "FreemakeYB.exe".
C:\users\focht\Temp\is-KN0NQ.tmp>tasklist | findstr "FreemakeAC | FreemakeVD | FreemakeMB | FreemakeVC | FreemakeYC | FreemakeYB" 0080:fixme:tasklist:wmain stub: L"tasklist" 0082:fixme:findstr:wmain stub: L"findstr" L"FreemakeAC | FreemakeVD | FreemakeMB | FreemakeVC | FreemakeYC | FreemakeYB" 003d:trace:msgbox:MSGBOX_OnInit L"Setup has detected that one or more of Freemake programs are currently running.\r\n\r\nPlease close all instances of Freemake running programs now, then click OK to continue, or Cancel to exit." --- snip ---
https://source.winehq.org/git/wine.git/blob/HEAD:/programs/findstr/main.c#l2...
$ sha1sum FreemakeVideoConverterSetup.exe c9abcf7d26fcaca43adf1790b1af556979db3f34 FreemakeVideoConverterSetup.exe
$ du -sh FreemakeVideoConverterSetup.exe 988K FreemakeVideoConverterSetup.exe
$ wine --version wine-4.3-229-g6d82b2f1ad
Regards
https://bugs.winehq.org/show_bug.cgi?id=35254
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.freemake.com/fre |https://web.archive.org/web |e_video_converter/ |/20190712205321/http://down | |load.freemake.net/FreemakeO | |riginals2/Regular/FreemakeV | |ideoConverterSetup.exe
--- Comment #7 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, obviously still present.
Adding stable download link via Internet Archive.
https://web.archive.org/web/20190712205321/http://download.freemake.net/Free...
$ wine --version wine-5.9-320-gaba27fd5a3
Regards
https://bugs.winehq.org/show_bug.cgi?id=35254
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xerox.xerox2000x@gmail.com
--- Comment #8 from Louis Lenders xerox.xerox2000x@gmail.com --- Created attachment 67830 --> https://bugs.winehq.org/attachment.cgi?id=67830 patch
Attached a patch which is really copy/paste from find.exe. I only added some code to break up search pattern like "foo | bar" into seperate "foo" and "bar", and print fixme for any given option "/*" (Note: this seems to be a bug in find.exe; giving an option is not invalid... afaict)
So with this patch it gives:
wine cmd /c echo "foo bar" | findstr.exe "fo_o | bar" "foo bar"
wine cmd /c echo "foo bar" | findstr.exe "fo_o | ba_r " (no match)
Maybe for the time being could this be added to Staging to see if it does not cause any regressions?
https://bugs.winehq.org/show_bug.cgi?id=35254
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #67830|0 |1 is obsolete| |
--- Comment #9 from Louis Lenders xerox.xerox2000x@gmail.com --- Created attachment 67839 --> https://bugs.winehq.org/attachment.cgi?id=67839 patch, slightly improved
as previous patch but cleaned up a bit, slightly improved
https://bugs.winehq.org/show_bug.cgi?id=35254
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED Keywords| |patch Staged patchset| |https://github.com/wine-sta | |ging/wine-staging/tree/mast | |er/patches/programs-findstr
https://bugs.winehq.org/show_bug.cgi?id=35254
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #67839|0 |1 is obsolete| |
--- Comment #10 from Louis Lenders xerox.xerox2000x@gmail.com --- Created attachment 67892 --> https://bugs.winehq.org/attachment.cgi?id=67892 as previous patch, but + support for literal search
little update patch: Added option to also support literal search (C:/"foo bar") required as in bug 42027
https://bugs.winehq.org/show_bug.cgi?id=35254
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |49704
https://bugs.winehq.org/show_bug.cgi?id=35254
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|wine-bugs@winehq.org |zzhang@codeweavers.com CC| |zzhang@codeweavers.com
--- Comment #11 from Zhiyi Zhang zzhang@codeweavers.com --- Assigning to myself to upstream this.
https://bugs.winehq.org/show_bug.cgi?id=35254
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |f88affa2a188f4cf608900239d8 | |486b649c00353 CC| |infyquest@gmail.com Resolution|--- |FIXED Status|STAGED |RESOLVED
--- Comment #12 from Vijay Kamuju infyquest@gmail.com --- Upstreamed by merge request: https://gitlab.winehq.org/wine/wine/-/merge_requests/2689
commit: f88affa2a188f4cf608900239d8486b649c00353
https://bugs.winehq.org/show_bug.cgi?id=35254
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|zzhang@codeweavers.com |wine-bugs@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=35254
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #13 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.8.
https://bugs.winehq.org/show_bug.cgi?id=35254
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |8.0.x
https://bugs.winehq.org/show_bug.cgi?id=35254
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|8.0.x |---
--- Comment #14 from Michael Stefaniuc mstefani@winehq.org --- Removing the 8.0.x milestone from bug fixes included in 8.0.2.