Closed kubalav closed 3 years ago
Could You please upload the log so that it will be easier to debug? Maybe try reindex in program plugin setting?
I tried reindex. 2020-11-16.txt
2020-11-16 07:38:48.5187|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-16 07:38:48.5187|ERROR||
Exception full name: System.Runtime.InteropServices.COMException
Error status: KNOWN
Class name: Win32
Calling method: LnkProgram
Program path: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Windows Media Player.lnk
InnerException number: 1
Exception message: Error HRESULT E_FAIL has been returned from a call to a COM component.
Exception error type: HResult -2147467259
Exception thrown in called method: Void GetDescription(System.Text.StringBuilder, Int32)
Possible interpretation of the error: Error caused likely due to trying to get the description of the program
Possible resolution: Can be ignored and Flow Launcher should still continue, however the program may not be loaded
2020-11-16 07:38:48.5187|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
Let me take a look, but I think if there is only two program that is unable to load, other programs should be loaded successfully.
It doesn't work at all.
Would you try open Flow with Administer Authorization? One of the log suggests Access denied. I have just checked the win32 indexing and it works for me. By the way, is any UWP app can be loaded?
I runs Flow with Admin access. I see UWP app only, not win32.
Let's try clicking this button and see what we get.
UWP only from C: drive
Hey @kubalav how's it going, can you see if previous flow version has the same problem for plugin?
Also are you able to boot into windows sandbox and try?
I am away from comp most of the day, will take a look at your log later.
2020-11-16 07:38:48.6752|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-16 07:38:48.6752|ERROR||
Exception full name: System.AggregateException
Error status: UNKNOWN
Class name: Win32
Calling method: All
Program path: Not available
InnerException number: 1
Exception message: One or more errors occurred. (One or more errors occurred. (Access to the path 'E:\System Volume Information' is denied.)) (Access to the path 'E:\System Volume Information' is denied.)
Exception error type: HResult -2146233088
Exception thrown in called method: Void QueryEnd(Boolean)
Possible interpretation of the error: An unexpected error occurred
Possible resolution: Not yet known
2020-11-16 07:38:48.6752|ERROR||
Exception full name: System.UnauthorizedAccessException
Error status: KNOWN
Class name: Win32
Calling method: All
Program path: Not available
InnerException number: 2
Exception message: Access to the path 'E:\System Volume Information' is denied.
Exception error type: HResult -2147024891
Exception thrown in called method: IntPtr CreateRelativeDirectoryHandle(System.ReadOnlySpan`1[System.Char], System.String)
Possible interpretation of the error: An unexpected error occurred
Possible resolution: Can be ignored and Flow Launcher should still continue, however the program may not be loaded
2020-11-16 07:38:48.6752|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
@kubalav I think this error block the All function to create index. So,maybe try to remove E:\
from program file source and reindex?
But why does that throw?
Hey @kubalav how's it going, can you see if previous flow version has the same problem for plugin?
Also are you able to boot into windows sandbox and try?
I am away from comp most of the day, will take a look at your log later.
I tried Window Sandbox a few times. I tried new WS config (without shared folders) and Program plugin works. I copied this portable version to normal computer and changed index path to Program Files. Not working.
@taooceros I kept Program files only, no success.
I copied this portable version to normal computer and changed index path to Program Files. Not working.
Well, I don't think the program plugin need to include index path to Program Files for working. I have tried portable mode in my computer, and it seems working correctly.
Sorry for the troubles, but could you please update the logs without E:\
I think I found the potential reason of why one single exception may block the whole index from creation. It maybe cause by the use of IEnumerable, which contains the characteristics of lazy processing, so the try catch within each sub index method doesn't catch the processing error elsewhere?
Let me change the indexing contruction of program plugin a few, and check whether it is because of that.
The latest log: 2020-11-16.log
Other partition like C: doesn't work. I trie E: on other computer, C: drive works only.
@kubalav Flow.Launcher.Plugin.Program.zip Could you please replace the program plugin in the current FlowLaucher Plugin folder with this one and try?
@kubalav Flow.Launcher.Plugin.Program.zip Could you please replace the program plugin in the current FlowLaucher Plugin folder with this one and try?
No change.
Have you reindexed? If you have done it, please paste the log.
Sorry for the troubles.😖
Reindexed, restarted Flow. 2020-11-16.log
Sorry there is some error on the log, Let me take a look on it.
But I haven't seen the exception of Aggregate exception, is there any win32 program exist on the result view now?
I see some win32 apps now (stored in C: drive).
Nice! Let's try E:
After adding E: drive
2020-11-16 15:13:50.5523|ERROR||fail to log exception in program logger, parts length is too small: 1, message: Permission denied E:\
2020-11-16 15:13:50.5920|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-16 15:13:50.5920|ERROR||
Exception full name: System.AggregateException
Error status: UNKNOWN
Class name: Win32
Calling method: All
Program path: Not available
InnerException number: 1
Exception message: One or more errors occurred. (One or more errors occurred. (Index was outside the bounds of the array.)) (Index was outside the bounds of the array.)
Exception error type: HResult -2146233088
Exception thrown in called method: Void QueryEnd(Boolean)
Possible interpretation of the error: An unexpected error occurred
Possible resolution: Not yet known
2020-11-16 15:13:50.5920|ERROR||
Exception full name: System.IndexOutOfRangeException
Error status: UNKNOWN
Class name: Win32
Calling method: All
Program path: Not available
InnerException number: 2
Exception message: Index was outside the bounds of the array.
Exception error type: HResult -2146233080
Exception thrown in called method: Void LogException(System.String, System.Exception)
Possible interpretation of the error: An unexpected error occurred
Possible resolution: Not yet known
2020-11-16 15:13:50.5988|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
2020-11-16 15:13:52.8489|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-16 15:13:52.8489|ERROR||
Exception full name: System.IO.FileNotFoundException
Error status: KNOWN
Class name: UWP
Calling method: LogoPathFromUri
Program path: C:\Windows\SystemApps\Microsoft.Windows.SecHealthUI_cw5n1h2txyewy
InnerException number: 1
Exception message: Unable to find the specified file.
Exception error type: HResult -2147024894
Exception thrown in called method: Not available
Possible interpretation of the error: Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI can't find logo uri for Assets\Square44x44Logo.png in package location: C:\Windows\SystemApps\Microsoft.Windows.SecHealthUI_cw5n1h2txyewy
Possible resolution: Can be ignored and Flow Launcher should still continue, however the program may not be loaded
2020-11-16 15:13:52.8489|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
var parts = message.Split('|');
if (parts.Length < 4)
{
var logger = LogManager.GetLogger("");
logger.Error(e, $"fail to log exception in program logger, parts length is too small: {parts.Length}, message: {message}");
}
var classname = parts[1];
var callingMethodName = parts[2];
var loadingProgramPath = parts[3];
var interpretationMessage = parts[4];
LogException(classname, callingMethodName, loadingProgramPath, interpretationMessage, e);
Don't understand why only change the log way when length only less than 4, but actually need to be 5 to be accessed with [4]. Let me change this and could you please use that one to log again?
2020-11-16 19:02:01.3712|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-16 19:02:01.4007|ERROR||
Exception full name: System.Runtime.InteropServices.COMException
Error status: KNOWN
Class name: Win32
Calling method: LnkProgram
Program path: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Windows Media Player.lnk
InnerException number: 1
Exception message: Error HRESULT E_FAIL has been returned from a call to a COM component.
Exception error type: HResult -2147467259
Exception thrown in called method: Void GetDescription(System.Text.StringBuilder, Int32)
Possible interpretation of the error: Error caused likely due to trying to get the description of the program
Possible resolution: Can be ignored and Flow Launcher should still continue, however the program may not be loaded
2020-11-16 19:02:01.4007|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
2020-11-16 19:02:03.5663|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-16 19:02:03.5663|ERROR||
Exception full name: System.IO.FileNotFoundException
Error status: KNOWN
Class name: UWP
Calling method: LogoPathFromUri
Program path: C:\Windows\SystemApps\Microsoft.Windows.SecHealthUI_cw5n1h2txyewy
InnerException number: 1
Exception message: Unable to find the specified file.
Exception error type: HResult -2147024894
Exception thrown in called method: Not available
Possible interpretation of the error: Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI can't find logo uri for Assets\Square44x44Logo.png in package location: C:\Windows\SystemApps\Microsoft.Windows.SecHealthUI_cw5n1h2txyewy
Possible resolution: Can be ignored and Flow Launcher should still continue, however the program may not be loaded
2020-11-16 19:02:03.5663|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
2020-11-16 19:02:03.9378|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-16 19:02:03.9378|ERROR||
Exception full name: System.Runtime.InteropServices.COMException
Error status: KNOWN
Class name: Win32
Calling method: LnkProgram
Program path: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\ODBC Data Sources (32-bit).lnk
InnerException number: 1
Exception message: Error HRESULT E_FAIL has been returned from a call to a COM component.
Exception error type: HResult -2147467259
Exception thrown in called method: Void GetDescription(System.Text.StringBuilder, Int32)
Possible interpretation of the error: Error caused likely due to trying to get the description of the program
Possible resolution: Can be ignored and Flow Launcher should still continue, however the program may not be loaded
2020-11-16 19:02:03.9378|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
2020-11-16 19:02:05.3538|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-16 19:02:05.3538|ERROR||
Exception full name: System.AggregateException
Error status: UNKNOWN
Class name: Win32
Calling method: All
Program path: Not available
InnerException number: 1
Exception message: One or more errors occurred. (One or more errors occurred. (Access to the path 'E:\System Volume Information' is denied.)) (Access to the path 'E:\System Volume Information' is denied.)
Exception error type: HResult -2146233088
Exception thrown in called method: Void QueryEnd(Boolean)
Possible interpretation of the error: An unexpected error occurred
Possible resolution: Not yet known
2020-11-16 19:02:05.3538|ERROR||
Exception full name: System.UnauthorizedAccessException
Error status: KNOWN
Class name: Win32
Calling method: All
Program path: Not available
InnerException number: 2
Exception message: Access to the path 'E:\System Volume Information' is denied.
Exception error type: HResult -2147024891
Exception thrown in called method: IntPtr CreateRelativeDirectoryHandle(System.ReadOnlySpan`1[System.Char], System.String)
Possible interpretation of the error: An unexpected error occurred
Possible resolution: Can be ignored and Flow Launcher should still continue, however the program may not be loaded
2020-11-16 19:02:05.3538|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
2020-11-16 19:02:19.9772|ERROR||fail to log exception in program logger, parts length is too small: 3, message: |UWP|ImageFromPath||Unable to get logo for Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI from and located in C:\Windows\SystemApps\Microsoft.Windows.SecHealthUI_cw5n1h2txyewy
2020-11-16 19:02:19.9882|ERROR|ResultViewModel.Image|-------------------------- Begin exception --------------------------
2020-11-16 19:02:19.9882|ERROR|ResultViewModel.Image|IcoPath is empty and exception when calling Icon() for result <Windows Zabezpečenie> of plugin <E:\Programy\Nástroje\Súbory\FlowLauncher\app-1.4.0\Plugins\Flow.Launcher.Plugin.Program>
2020-11-16 19:02:19.9882|ERROR|ResultViewModel.Image|Exception full name:
<System.IndexOutOfRangeException>
2020-11-16 19:02:19.9882|ERROR|ResultViewModel.Image|Exception message:
<Index was outside the bounds of the array.>
2020-11-16 19:02:20.0049|ERROR|ResultViewModel.Image|Exception stack trace:
< at Flow.Launcher.Plugin.Program.Logger.ProgramLogger.LogException(String message, Exception e) in D:\Document\Dotnet\Flow.Launcher\Plugins\Flow.Launcher.Plugin.Program\Logger\ProgramLogger.cs:line 101
at Flow.Launcher.Plugin.Program.Programs.UWP.Application.ImageFromPath(String path) in D:\Document\Dotnet\Flow.Launcher\Plugins\Flow.Launcher.Plugin.Program\Programs\UWP.cs:line 533
at Flow.Launcher.Plugin.Program.Programs.UWP.Application.Logo() in D:\Document\Dotnet\Flow.Launcher\Plugins\Flow.Launcher.Plugin.Program\Programs\UWP.cs:line 512
at Flow.Launcher.ViewModel.ResultViewModel.get_Image() in C:\Workbench\Git\Flow.Launcher\Flow.Launcher\ViewModel\ResultViewModel.cs:line 60>
2020-11-16 19:02:20.0049|ERROR|ResultViewModel.Image|Exception source:
<Flow.Launcher.Plugin.Program>
2020-11-16 19:02:20.0049|ERROR|ResultViewModel.Image|Exception target site:
<Void LogException(System.String, System.Exception)>
2020-11-16 19:02:20.0049|ERROR|ResultViewModel.Image|Exception HResult:
<-2146233080>
2020-11-16 19:02:20.0049|ERROR|ResultViewModel.Image|-------------------------- End exception --------------------------
2020-11-16 19:02:20.1551|ERROR||fail to log exception in program logger, parts length is too small: 3, message: |UWP|ImageFromPath||Unable to get logo for Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI from and located in C:\Windows\SystemApps\Microsoft.Windows.SecHealthUI_cw5n1h2txyewy
2020-11-16 19:02:20.1563|ERROR|ResultViewModel.Image|-------------------------- Begin exception --------------------------
2020-11-16 19:02:20.1563|ERROR|ResultViewModel.Image|IcoPath is empty and exception when calling Icon() for result <Windows Zabezpečenie> of plugin <E:\Programy\Nástroje\Súbory\FlowLauncher\app-1.4.0\Plugins\Flow.Launcher.Plugin.Program>
2020-11-16 19:02:20.1563|ERROR|ResultViewModel.Image|Exception full name:
<System.IndexOutOfRangeException>
2020-11-16 19:02:20.1563|ERROR|ResultViewModel.Image|Exception message:
<Index was outside the bounds of the array.>
2020-11-16 19:02:20.1563|ERROR|ResultViewModel.Image|Exception stack trace:
< at Flow.Launcher.Plugin.Program.Logger.ProgramLogger.LogException(String message, Exception e) in D:\Document\Dotnet\Flow.Launcher\Plugins\Flow.Launcher.Plugin.Program\Logger\ProgramLogger.cs:line 101
at Flow.Launcher.Plugin.Program.Programs.UWP.Application.ImageFromPath(String path) in D:\Document\Dotnet\Flow.Launcher\Plugins\Flow.Launcher.Plugin.Program\Programs\UWP.cs:line 533
at Flow.Launcher.Plugin.Program.Programs.UWP.Application.Logo() in D:\Document\Dotnet\Flow.Launcher\Plugins\Flow.Launcher.Plugin.Program\Programs\UWP.cs:line 512
at Flow.Launcher.ViewModel.ResultViewModel.get_Image() in C:\Workbench\Git\Flow.Launcher\Flow.Launcher\ViewModel\ResultViewModel.cs:line 60>
2020-11-16 19:02:20.1563|ERROR|ResultViewModel.Image|Exception source:
<Flow.Launcher.Plugin.Program>
2020-11-16 19:02:20.1563|ERROR|ResultViewModel.Image|Exception target site:
<Void LogException(System.String, System.Exception)>
2020-11-16 19:02:20.1563|ERROR|ResultViewModel.Image|Exception HResult:
<-2146233080>
2020-11-16 19:02:20.1563|ERROR|ResultViewModel.Image|-------------------------- End exception --------------------------
Flow.Launcher.Plugin.Program.zip
Can you give this version a shot and upload logs if still erroring
Hey @kubalav , after rechecking the code, I found out the last version I give you unintended restore a change that I want to make to catch result separately instead of aggregate exception. My bad, sorry for that.
I think in 1.4.0, I have made the directory enumeration in one single call, which will lead to if one exception has been called, the whole program source folder won't be indexed. Therefore, would you please change the E:\
to maybe a subfolder which won't lead to unauthorize exception? For example, I have made all my programs in D:\
lies into D:\Program Files
and enumerate that one, and that works fine.
I have checked my log that the GetDescription
Error seems to also behave in my computer, but that seems an acceptable error and doesn't affect the indexing.
Flow.Launcher.Plugin.Program.zip
Sorry for all the inconvenience.
2020-11-17 09:59:37.1896|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:37.1896|ERROR||
Exception full name: System.Runtime.InteropServices.COMException
Error status: KNOWN
Class name: Win32
Calling method: LnkProgram
Program path: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Windows Media Player.lnk
InnerException number: 1
Exception message: Error HRESULT E_FAIL has been returned from a call to a COM component.
Exception error type: HResult -2147467259
Exception thrown in called method: Void GetDescription(System.Text.StringBuilder, Int32)
Possible interpretation of the error: Error caused likely due to trying to get the description of the program
Possible resolution: Can be ignored and Flow Launcher should still continue, however the program may not be loaded
2020-11-17 09:59:37.1896|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:37.2132|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:37.2132|ERROR||
Exception full name: System.Runtime.InteropServices.COMException
Error status: KNOWN
Class name: Win32
Calling method: LnkProgram
Program path: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\ODBC Data Sources (32-bit).lnk
InnerException number: 1
Exception message: Error HRESULT E_FAIL has been returned from a call to a COM component.
Exception error type: HResult -2147467259
Exception thrown in called method: Void GetDescription(System.Text.StringBuilder, Int32)
Possible interpretation of the error: Error caused likely due to trying to get the description of the program
Possible resolution: Can be ignored and Flow Launcher should still continue, however the program may not be loaded
2020-11-17 09:59:37.2132|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:37.2825|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:37.2825|ERROR||
Exception full name: System.Runtime.InteropServices.COMException
Error status: KNOWN
Class name: Win32
Calling method: LnkProgram
Program path: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Windows Media Player.lnk
InnerException number: 1
Exception message: Error HRESULT E_FAIL has been returned from a call to a COM component.
Exception error type: HResult -2147467259
Exception thrown in called method: Void GetDescription(System.Text.StringBuilder, Int32)
Possible interpretation of the error: Error caused likely due to trying to get the description of the program
Possible resolution: Can be ignored and Flow Launcher should still continue, however the program may not be loaded
2020-11-17 09:59:37.2825|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:37.2983|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:37.2983|ERROR||
Exception full name: System.Runtime.InteropServices.COMException
Error status: KNOWN
Class name: Win32
Calling method: LnkProgram
Program path: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\ODBC Data Sources (32-bit).lnk
InnerException number: 1
Exception message: Error HRESULT E_FAIL has been returned from a call to a COM component.
Exception error type: HResult -2147467259
Exception thrown in called method: Void GetDescription(System.Text.StringBuilder, Int32)
Possible interpretation of the error: Error caused likely due to trying to get the description of the program
Possible resolution: Can be ignored and Flow Launcher should still continue, however the program may not be loaded
2020-11-17 09:59:37.2983|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:42.4995|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:42.4995|ERROR||
Exception full name: System.Runtime.InteropServices.COMException
Error status: KNOWN
Class name: Win32
Calling method: LnkProgram
Program path: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Windows Media Player.lnk
InnerException number: 1
Exception message: Unspecified error
'Microsoft Edge' violates pattern constraint of '\bms-resource:.{1,256}'.
Exception error type: HResult -2147467259
Exception thrown in called method: Void GetDescription(System.Text.StringBuilder, Int32)
Possible interpretation of the error: Error caused likely due to trying to get the description of the program
Possible resolution: Can be ignored and Flow Launcher should still continue, however the program may not be loaded
2020-11-17 09:59:42.4995|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:42.5184|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:42.5184|ERROR||
Exception full name: System.Runtime.InteropServices.COMException
Error status: KNOWN
Class name: Win32
Calling method: LnkProgram
Program path: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\ODBC Data Sources (32-bit).lnk
InnerException number: 1
Exception message: Error HRESULT E_FAIL has been returned from a call to a COM component.
Exception error type: HResult -2147467259
Exception thrown in called method: Void GetDescription(System.Text.StringBuilder, Int32)
Possible interpretation of the error: Error caused likely due to trying to get the description of the program
Possible resolution: Can be ignored and Flow Launcher should still continue, however the program may not be loaded
2020-11-17 09:59:42.5184|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:42.7856|ERROR||fail to log exception in program logger, parts length is too small: 1, message: Permission denied E:\Programy
2020-11-17 09:59:42.7856|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:42.7856|ERROR||
Exception full name: System.AggregateException
Error status: UNKNOWN
Class name: Win32
Calling method: All
Program path: Not available
InnerException number: 1
Exception message: One or more errors occurred. (One or more errors occurred. (Index was outside the bounds of the array.)) (Index was outside the bounds of the array.)
Exception error type: HResult -2146233088
Exception thrown in called method: Void QueryEnd(Boolean)
Possible interpretation of the error: An unexpected error occurred
Possible resolution: Not yet known
2020-11-17 09:59:42.7856|ERROR||
Exception full name: System.IndexOutOfRangeException
Error status: UNKNOWN
Class name: Win32
Calling method: All
Program path: Not available
InnerException number: 2
Exception message: Index was outside the bounds of the array.
Exception error type: HResult -2146233080
Exception thrown in called method: Void LogException(System.String, System.Exception)
Possible interpretation of the error: An unexpected error occurred
Possible resolution: Not yet known
2020-11-17 09:59:42.7856|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:43.8777|ERROR||------------- BEGIN Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:43.8777|ERROR||
Exception full name: System.IO.FileNotFoundException
Error status: KNOWN
Class name: UWP
Calling method: LogoPathFromUri
Program path: C:\Windows\SystemApps\Microsoft.Windows.SecHealthUI_cw5n1h2txyewy
InnerException number: 1
Exception message: Unable to find the specified file.
Exception error type: HResult -2147024894
Exception thrown in called method: Not available
Possible interpretation of the error: Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI can't find logo uri for Assets\Square44x44Logo.png in package location: C:\Windows\SystemApps\Microsoft.Windows.SecHealthUI_cw5n1h2txyewy
Possible resolution: Can be ignored and Flow Launcher should still continue, however the program may not be loaded
2020-11-17 09:59:43.8777|ERROR||------------- END Flow.Launcher.Plugin.Program exception -------------
2020-11-17 09:59:56.4726|ERROR||fail to log exception in program logger, parts length is too small: 3, message: |UWP|ImageFromPath||Unable to get logo for Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI from and located in C:\Windows\SystemApps\Microsoft.Windows.SecHealthUI_cw5n1h2txyewy
2020-11-17 09:59:56.4751|ERROR|ResultViewModel.Image|-------------------------- Begin exception --------------------------
2020-11-17 09:59:56.4772|ERROR|ResultViewModel.Image|IcoPath is empty and exception when calling Icon() for result <Windows ZabezpeÄŤenie> of plugin <E:\Download\TEST\FlowLauncher\app-1.4.0\Plugins\Flow.Launcher.Plugin.Program>
2020-11-17 09:59:56.4772|ERROR|ResultViewModel.Image|Exception full name:
<System.IndexOutOfRangeException>
2020-11-17 09:59:56.4772|ERROR|ResultViewModel.Image|Exception message:
<Index was outside the bounds of the array.>
2020-11-17 09:59:56.4772|ERROR|ResultViewModel.Image|Exception stack trace:
< at Flow.Launcher.Plugin.Program.Logger.ProgramLogger.LogException(String message, Exception e) in D:\Document\Dotnet\Flow.Launcher\Plugins\Flow.Launcher.Plugin.Program\Logger\ProgramLogger.cs:line 101
at Flow.Launcher.Plugin.Program.Programs.UWP.Application.ImageFromPath(String path) in D:\Document\Dotnet\Flow.Launcher\Plugins\Flow.Launcher.Plugin.Program\Programs\UWP.cs:line 533
at Flow.Launcher.Plugin.Program.Programs.UWP.Application.Logo() in D:\Document\Dotnet\Flow.Launcher\Plugins\Flow.Launcher.Plugin.Program\Programs\UWP.cs:line 517
at Flow.Launcher.ViewModel.ResultViewModel.get_Image() in C:\Workbench\Git\Flow.Launcher\Flow.Launcher\ViewModel\ResultViewModel.cs:line 60>
2020-11-17 09:59:56.4772|ERROR|ResultViewModel.Image|Exception source:
<Flow.Launcher.Plugin.Program>
2020-11-17 09:59:56.4772|ERROR|ResultViewModel.Image|Exception target site:
<Void LogException(System.String, System.Exception)>
2020-11-17 09:59:56.4772|ERROR|ResultViewModel.Image|Exception HResult:
<-2146233080>
2020-11-17 09:59:56.4772|ERROR|ResultViewModel.Image|-------------------------- End exception --------------------------
@taooceros ignore the GetDescription error, those are common ones that has no impact.
Do we know where the error is thrown from? it seems an unhandled exception caught finally by the try catch in 'Win32.All' method.
It's a custom location so assuming it's coming somewhere inside 'UnregisteredPrograms()' call?
2020-11-17 09:59:42.7856|ERROR||fail to log exception in program logger, parts length is too small: 1, message: Permission denied E:\Programy
https://github.com/Flow-Launcher/Flow.Launcher/blob/98630d1af58998e76b24bf8f5c2423d1b1f747a0/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs#L264-L285
Here, so the issue is that we don't have permission to E:\
Exception message: One or more errors occurred. (One or more errors occurred. (Index was outside the bounds of the array.)) (Index was outside the bounds of the array.)
Weird, I think at the version I provided, this error has been fixed. It is from the LogException Method in ProgramLogger.cs.
2020-11-17 09:59:42.7856|ERROR||fail to log exception in program logger, parts length is too small: 1, message: Permission denied E:\Programy
https://github.com/Flow-Launcher/Flow.Launcher/blob/98630d1af58998e76b24bf8f5c2423d1b1f747a0/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs#L264-L285Here, so the issue is that we don't have permission to E:\
Exception message: One or more errors occurred. (One or more errors occurred. (Index was outside the bounds of the array.)) (Index was outside the bounds of the array.)
Weird, I think at the version I provided, this error has been fixed. It is from the LogException Method in ProgramLogger.cs.
logging should be written out to the app's user data directory, if it's thrown from logging his app would terminate and not able to log.
The original error is unauthorised access to 'E:\System Volume Information'
@kubalav have you tried my build? Flow.Launcher.Plugin.Program.zip
logging should be written out to the app's user data directory, if it's thrown from logging his app would terminate and not able to log.
I think since ProgramLogger is not the Global Logger, maybe even though ProgramLogger throws an error, the application won't be terminated since the Global Logger will catch that general error. However, I think this error may terminate the index process and the log process to write to the file. So maybe there is another error that hasn't been logged successfully to the file?
Reason is unauthorized access to 'E:\System Volume Information' and one other files with restricted access. It would be fine to add exclude list like in Wox.
@jjw24 Your build doesn't help.
It would be fine to add exclude list like in Wox.
Well, the exclude list does exist in Flow. However, the enumeration way doesn't allow that to work. Maybe it may be better to not use the ToList()
method simply from enumeration, but enumerate manually and catch result if fail and continue other enumeration. Let me take a try.
I found out the method to solve this. Let me finish that and I will post the fix. https://stackoverflow.com/questions/172544/ignore-folders-files-when-directory-getfiles-is-denied-access
Flow.Launcher.Plugin.Program.zip Take a try, and I think this one will skip all inaccessible folder.
var paths = Directory.EnumerateFiles(directory, "*", new EnumerationOptions
{
IgnoreInaccessible = true,
RecurseSubdirectories = true
})
.Where(x => suffixes.Contains(Extension(x)));
return paths;
Fix that by using EnumerationOptions
with IgnoreInaccessible
instead of SearchOptions.AllDirectory
. I have tested it in my computer with an unaccessable folder.
Not works yet. It still throws:
Exception message: One or more errors occurred. (One or more errors occurred. (Access to the path 'E:\System Volume Information' is denied.)) (Access to the path 'E:\System Volume Information' is denied.)
Hey @kubalav , sorry I build the wrong version.... I am afk now about 15 minutes, I will upload that again after I get to computer.
Let's try Flow.Launcher.Plugin.Program.zip
It seems to work fine.
Nice! Sorry for all the bothering and troubles and thank you so much for testing @kubalav ! I will create a PR to add the fix.
Thank you for fixing. 👌
Hey @taooceros thank you for the great work :) This is a good find and fix
Thank you for your patience while this bug gets dug up as well @kubalav
Program plugin doesn't show result in latest version. I tried clean installation.