This is because the fileid module might take very long in some cases. In this case, this seem to be because on MacOSX, it might try to mount another network volume to search for some resources and the timeout is high.
Multiple things to make better:
The search should take place in another thread anyway. Further typing would start new searches right away and cancel any old ones.
It would probably be better if we could somehow set a smaller timeout for fileid stuff. This is probably not possible - but it might be possible to disallow mounts.
Current thread 0x00007fff72a08180:
File "/Users/az/Programmierung/music-player/mac/build/Release/MusicPlayer.app/Contents/Resources/Python/fi...", line 38 in getPathByNativeId
File "/Users/az/Programmierung/music-player/mac/build/Release/MusicPlayer.app/Contents/Resources/Python/ut...", line 1185 in decoratedFunc
File "/Users/az/Programmierung/music-player/mac/build/Release/MusicPlayer.app/Contents/Resources/Python/ut...", line 1044 in decoratedFunc
File "/Users/az/Programmierung/music-player/mac/build/Release/MusicPlayer.app/Contents/Resources/Python/so...", line 438 in remapFilename
File "/Users/az/Programmierung/music-player/mac/build/Release/MusicPlayer.app/Contents/Resources/Python/so...", line 441 in getBestSongFileFromDict
File "/Users/az/Programmierung/music-player/mac/build/Release/MusicPlayer.app/Contents/Resources/Python/so...", line 473 in getSongSummaryDictById
File "/Users/az/Programmierung/music-player/mac/build/Release/MusicPlayer.app/Contents/Resources/Python/so...", line 208 in decorated
File "/Users/az/Programmierung/music-player/mac/build/Release/MusicPlayer.app/Contents/Resources/Python/so...", line 796 in search
File "/Users/az/Programmierung/music-player/mac/build/Release/MusicPlayer.app/Contents/Resources/Python/so...", line 208 in decorated
File "/Users/az/Programmierung/music-player/mac/build/Release/MusicPlayer.app/Contents/Resources/Python/Se...", line 21 in searchText
File "/Users/az/Programmierung/music-player/mac/build/Release/MusicPlayer.app/Contents/Resources/Python/gu...", line 320 in onTextChange
File "/Users/az/Programmierung/music-player/mac/build/Release/MusicPlayer.app/Contents/Resources/Python/gu...", line 111 in textDidChange_
File "/Users/az/Programmierung/music-player/mac/build/Release/MusicPlayer.app/Contents/Resources/Python/gu...", line 1155 in main
File "main.py", line 37 in <module>
The fileid mount block is fixed in commit 6a5a5fe66d8b.
The async search is implemented in commit 21007ed758 (and following which remove the async interrupt because of issues - see comments in source).
This is because the
fileid
module might take very long in some cases. In this case, this seem to be because on MacOSX, it might try to mount another network volume to search for some resources and the timeout is high.Multiple things to make better:
fileid
stuff. This is probably not possible - but it might be possible to disallow mounts.The C backtrace:
And Python backtrace: