Edge case bug.
I've a number of track titles associated with live shows that may carry a slightly different name. For example Saint of Circumstance vs Saint of Circumstance >. The > denoting that it leads into a following track as part of a medley. I save all lyrics to a single user defined folder. Over time, this folder will have lyrics saved twice. One under the simple track name and one under trackname_.txt. The _ being windows automatic change of the > character.
This has not caused any issue with previous versions of lyric show but now there is an issue. Lyrics3 is not picking up that the tracks ending with a > already have a local lyric file and will go to the internet. Regardless of the 'save' setting. If I delete the file name lyric file of the medley track, lyrics3 will save the track lyric_.txt file appropriately. With a subsequent playing of the track, the lyric file with the _ .txt name will again not be found and lyrics3 will go to the net.
EDIT: In working through this I have been able to generate a couple of Foobar2000 crashes. One of the crash reports is below.
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 7C918FEAh
Access violation, operation: write, address: 00000010h
Last win32 error: 6
Call path:
lyric_searcher::SearchProc=>lyric_loader::ReadThread
Code bytes (7C918FEAh):
7C918FAAh: 0B 64 A1 18 00 00 00 0F B6 4D 0B 89 88 84 0F 00
7C918FBAh: 00 38 1D 30 C0 97 7C 0F 85 CC 04 00 00 A0 48 C1
7C918FCAh: 97 7C F6 D8 57 1B C0 F7 D0 25 40 C1 97 7C 8B F8
7C918FDAh: 8B 46 10 3B C3 89 45 FC 0F 84 9E 00 00 00 8B 06
7C918FEAh: FF 40 10 8B 45 FC 83 E0 01 89 45 E8 8B 06 FF 40
7C918FFAh: 14 F6 05 F0 02 FE 7F 01 0F 85 E6 92 02 00 39 5D
7C91900Ah: E8 57 53 0F 85 AC DE 01 00 FF 75 FC E8 99 59 FF
7C91901Ah: FF 3D 02 01 00 00 0F 84 53 93 02 00 3B C3 0F 8C
Stack (05ABFD98h):
05ABFD78h: 00000000 00000000 00000000 00000000
05ABFD88h: 00000000 00000000 00000000 00000000
05ABFD98h: 00000001 01DCEF50 7C901005 05ABFD90
05ABFDA8h: 05ABFF34 01D5F770 FFFFFFFF 05ABFDD8
05ABFDB8h: 01CF96C0 00000001 05ABFE10 00000001
05ABFDC8h: 00000001 00000000 05ABFE00 01CF9D74
05ABFDD8h: 05ABFE00 01CF9DDD 00000000 01DCE758
05ABFDE8h: 01DCE758 01CF9DEA 01D98018 FFFFFFFF
05ABFDF8h: 00000000 D12BBA70 05ABFE18 00000000
05ABFE08h: 000005A8 05ABFE34 7C90104B 00DCF020
05ABFE18h: 01D044E1 01DCF020 00000001 01DCEF50
05ABFE28h: 01D9802C 01DCF020 01D9C280 05ABFF40
05ABFE38h: 01D04C21 01DCEF50 3F088801 D12BBB30
05ABFE48h: 003D0000 01DCF7D8 06140710 00000001
05ABFE58h: 0000001A 01D9C280 FFC00000 3F088801
05ABFE68h: 00000001 000000BC 01000001 F1B55B6C
05ABFE78h: 85BBF100 8054AB38 05ABFE90 00000000
05ABFE88h: 7C9105C8 06140708 05ABFF5C 7C910551
05ABFE98h: 01DC1348 7C91056D 01D9AAE8 06140710
05ABFEA8h: 06140710 00000000 F1B55BAC 804E46B5
Registers:
EAX: 00000000, EBX: 00000000, ECX: 000005A8, EDX: 01DCF030
ESI: 01DCF020, EDI: 00000000, EBP: 05ABFE0C, ESP: 05ABFD98
Crash location:
Module: ntdll
Offset: 18FEAh
Symbol: "RtlpWaitForCriticalSection" (+5Bh)
Loaded modules:
foobar2000 loaded at 00400000h - 005F3000h
ntdll loaded at 7C900000h - 7C9B0000h
kernel32 loaded at 7C800000h - 7C8F5000h
COMCTL32 loaded at 773D0000h - 774D3000h
msvcrt loaded at 77C10000h - 77C68000h
ADVAPI32 loaded at 77DD0000h - 77E6B000h
RPCRT4 loaded at 77E70000h - 77F02000h
Secur32 loaded at 77FE0000h - 77FF1000h
GDI32 loaded at 77F10000h - 77F57000h
USER32 loaded at 7E410000h - 7E4A0000h
SHLWAPI loaded at 77F60000h - 77FD6000h
DSOUND loaded at 73F10000h - 73F6C000h
ole32 loaded at 774E0000h - 7761D000h
WINMM loaded at 76B40000h - 76B6D000h
VERSION loaded at 77C00000h - 77C08000h
UxTheme loaded at 5AD70000h - 5ADA8000h
dbghelp loaded at 59A60000h - 59B01000h
SHELL32 loaded at 7C9C0000h - 7D1D5000h
zlib1 loaded at 5A4C0000h - 5A4D4000h
shared loaded at 10000000h - 1002B000h
imagehlp loaded at 76C90000h - 76CB8000h
COMDLG32 loaded at 763B0000h - 763F9000h
CRYPT32 loaded at 77A80000h - 77B14000h
MSASN1 loaded at 77B20000h - 77B32000h
gdiplus loaded at 4EC50000h - 4EDF3000h
MSCTF loaded at 74720000h - 7476B000h
WINTRUST loaded at 76C30000h - 76C5E000h
wdmaud loaded at 72D20000h - 72D29000h
msacm32 loaded at 72D10000h - 72D18000h
MSACM32 loaded at 77BE0000h - 77BF5000h
midimap loaded at 77BD0000h - 77BD7000h
mslbui loaded at 605D0000h - 605D9000h
OLEAUT32 loaded at 77120000h - 771AB000h
foo_skip loaded at 00FB0000h - 00FDD000h
foo_autoupdate loaded at 00FF0000h - 01030000h
POWRPROF loaded at 74AD0000h - 74AD8000h
foo_dsp_delta loaded at 01040000h - 0105F000h
foo_fileops loaded at 01080000h - 010C7000h
foo_run loaded at 010F0000h - 0114F000h
foo_dynfil loaded at 01170000h - 01197000h
foo_input_std loaded at 012C0000h - 01429000h
foo_facets loaded at 01450000h - 01605000h
MSIMG32 loaded at 76380000h - 76385000h
foo_playlist_manager loaded at 01630000h - 01674000h
foo_queuecontents loaded at 016A0000h - 0170D000h
foo_whatsnew loaded at 01730000h - 01770000h
foo_dbsearch loaded at 01790000h - 01800000h
foo_scheduler loaded at 01820000h - 018FC000h
foo_rgscan loaded at 01920000h - 0196B000h
foo_uie_tagger_mod loaded at 01990000h - 019DE000h
foo_cdda loaded at 01A00000h - 01A4E000h
foo_utils loaded at 01A70000h - 01AB4000h
foo_random_pools loaded at 01AE0000h - 01B0F000h
foo_preview loaded at 01B30000h - 01B52000h
foo_quicksearch loaded at 01B70000h - 01BC7000h
WindowsCodecs loaded at 53000000h - 530B4000h
foo_dsp_xgeq loaded at 01BF0000h - 01C1D000h
foo_verifier loaded at 01C40000h - 01C83000h
foo_uie_lyrics3 loaded at 01CB0000h - 01DB0000h
WININET loaded at 771B0000h - 77256000h
foo_simplaylist loaded at 01E80000h - 01FCC000h
foo_playcount loaded at 01DF0000h - 01E2E000h
foo_albumlist loaded at 01FD0000h - 0202D000h
foo_texttools loaded at 02030000h - 02064000h
foo_osd loaded at 02090000h - 020C1000h
foo_simplaylist_manager loaded at 020F0000h - 021C8000h
foo_jesus loaded at 021F0000h - 0220A000h
foo_dsp_std loaded at 02220000h - 02268000h
foo_abx loaded at 02290000h - 022C2000h
foo_converter loaded at 022F0000h - 0236B000h
foo_playlists_sort loaded at 02390000h - 023A0000h
MSVCR90 loaded at 78520000h - 785C3000h
foo_masstag loaded at 023C0000h - 02414000h
foo_playlist_attributes loaded at 02440000h - 02494000h
foo_ui_columns loaded at 024C0000h - 02650000h
urlmon loaded at 7E1E0000h - 7E280000h
USP10 loaded at 74D90000h - 74DFB000h
foo_ui_std loaded at 02720000h - 02839000h
foo_textdisplay loaded at 026B0000h - 026FB000h
CLBCATQ loaded at 76FD0000h - 7704F000h
COMRes loaded at 77050000h - 77115000h
browseui loaded at 75F80000h - 7607D000h
xpsp2res loaded at 20000000h - 202C5000h
KsUser loaded at 73EE0000h - 73EE4000h
wsock32 loaded at 71AD0000h - 71AD9000h
WS2_32 loaded at 71AB0000h - 71AC7000h
WS2HELP loaded at 71AA0000h - 71AA8000h
RASAPI32 loaded at 76EE0000h - 76F1C000h
rasman loaded at 76E90000h - 76EA2000h
NETAPI32 loaded at 5B860000h - 5B8B4000h
TAPI32 loaded at 76EB0000h - 76EDF000h
rtutils loaded at 76E80000h - 76E8E000h
sensapi loaded at 722B0000h - 722B5000h
USERENV loaded at 769C0000h - 76A73000h
mswsock loaded at 71A50000h - 71A8F000h
hnetcfg loaded at 662B0000h - 66308000h
wship6 loaded at 58D40000h - 58D47000h
DNSAPI loaded at 76F20000h - 76F47000h
iphlpapi loaded at 76D60000h - 76D79000h
winrnr loaded at 76FB0000h - 76FB8000h
WLDAP32 loaded at 76F60000h - 76F8C000h
wshtcpip loaded at 71A90000h - 71A98000h
rasadhlp loaded at 76FC0000h - 76FC6000h
Stack dump analysis:
Address: 7C901005h (ntdll+1005h), symbol: "RtlEnterCriticalSection" (+0h)
Address: 01D5F770h (foo_uie_lyrics3+AF770h)
Address: 01CF96C0h (foo_uie_lyrics3+496C0h)
Address: 01CF9D74h (foo_uie_lyrics3+49D74h)
Address: 01CF9DDDh (foo_uie_lyrics3+49DDDh)
Address: 01CF9DEAh (foo_uie_lyrics3+49DEAh)
Address: 01D98018h (foo_uie_lyrics3+E8018h)
Address: 7C90104Bh (ntdll+104Bh), symbol: "RtlEnterCriticalSection" (+46h)
Address: 01D044E1h (foo_uie_lyrics3+544E1h)
Address: 01D9802Ch (foo_uie_lyrics3+E802Ch)
Address: 01D9C280h (foo_uie_lyrics3+EC280h)
Address: 01D04C21h (foo_uie_lyrics3+54C21h)
Address: 01D9C280h (foo_uie_lyrics3+EC280h)
Address: 01000001h (foo_autoupdate+10001h)
Address: 7C9105C8h (ntdll+105C8h), symbol: "RtlFreeHeap" (+18Bh)
Address: 7C910551h (ntdll+10551h), symbol: "RtlFreeHeap" (+114h)
Address: 7C91056Dh (ntdll+1056Dh), symbol: "RtlFreeHeap" (+130h)
Address: 01D9AAE8h (foo_uie_lyrics3+EAAE8h)
Address: 100027D8h (shared+27D8h), symbol: "uPrintCrashInfo_OnEvent" (+B1h)
Address: 01D71750h (foo_uie_lyrics3+C1750h)
Address: 01D60DDCh (foo_uie_lyrics3+B0DDCh)
Address: 01D04CE6h (foo_uie_lyrics3+54CE6h)
Address: 01D60E19h (foo_uie_lyrics3+B0E19h)
Address: 01D36362h (foo_uie_lyrics3+86362h)
Address: 01D3E7B0h (foo_uie_lyrics3+8E7B0h)
Address: 01D363ECh (foo_uie_lyrics3+863ECh)
Address: 7C80B683h (kernel32+B683h), symbol: "GetModuleFileNameA" (+1B4h)
Address: 7C839AA8h (kernel32+39AA8h), symbol: "ValidateLocale" (+2B0h)
Address: 7C80B690h (kernel32+B690h), symbol: "GetModuleFileNameA" (+1C1h)
Address: 01D36388h (foo_uie_lyrics3+86388h)
Environment:
App: foobar2000 v1.1.8 beta 4
OS: Windows 5.1.2600 Service Pack 2 x86
CPU: Intel® Celeron® CPU 2.50GHz, features: MMX SSE SSE2
Audio: Realtek AC97 Audio
UI: Default User Interface 0.9.5
Components:
Core (2011-08-07 07:01:02 UTC)
foobar2000 core 1.1.8 beta 4
foo_abx.dll (2009-06-07 12:25:26 UTC)
ABX Comparator 1.3.4
foo_albumlist.dll (2011-08-07 06:59:30 UTC)
Album List 4.5
foo_autoupdate.dll (2010-09-23 09:03:58 UTC)
Automatic Updater 2 beta
foo_cdda.dll (2011-08-07 06:59:24 UTC)
CD Audio Decoder 3.0
foo_converter.dll (2011-08-07 06:59:08 UTC)
Converter 1.5
foo_dbsearch.dll (2007-01-26 03:58:48 UTC)
Database Search 1.4
foo_dsp_delta.dll (2008-10-24 20:57:16 UTC)
Noise Sharpening DSP 1.0.0
foo_dsp_std.dll (2011-08-07 06:59:34 UTC)
Standard DSP Array 1.0
foo_dsp_xgeq.dll (2011-05-07 23:10:35 UTC)
Graphic Equalizer 0.1.0
foo_dynfil.dll (2011-02-20 23:34:15 UTC)
Dynamic Fields 1 beta 4
foo_facets.dll (2011-08-18 18:56:32 UTC)
Facets 1.0
foo_fileops.dll (2011-08-07 06:58:34 UTC)
File Operations 2.1.3
foo_input_std.dll (2011-08-07 06:59:14 UTC)
Standard Input Array 1.0
foo_jesus.dll (2010-09-23 09:53:56 UTC)
Autosave & Autobackup 10
foo_masstag.dll (2009-09-18 15:01:36 UTC)
Masstagger 1.8.4
foo_osd.dll (2010-11-26 16:23:54 UTC)
On-Screen Display GDI+ 1.68
foo_playcount.dll (2011-07-13 21:03:45 UTC)
Playback Statistics 3.0.2
foo_playlist_attributes.dll (2010-05-23 19:22:21 UTC)
Playlist Attributes 0.3.0
foo_playlist_manager.dll (2011-05-23 13:28:55 UTC)
Playlist Manager 1.0.2
foo_playlists_sort.dll (2009-06-13 21:57:33 UTC)
Playlist Sorter 0.1.9
foo_preview.dll (2011-07-14 16:25:57 UTC)
Preview 1.4
foo_queuecontents.dll (2011-08-10 12:28:15 UTC)
Queue Contents Editor 0.4.4
foo_quicksearch.dll (2011-05-29 16:35:49 UTC)
Quick Search Toolbar 3.2
foo_random_pools.dll (2011-03-28 19:56:44 UTC)
Random Pools 0.0.2.3
foo_rgscan.dll (2011-08-07 06:59:14 UTC)
ReplayGain Scanner 2.1.2
foo_run.dll (2009-06-07 21:15:18 UTC)
Run services 0.3.7
foo_scheduler.dll (2011-08-21 20:16:35 UTC)
Scheduler 4.07
foo_simplaylist.dll (2011-08-18 18:56:32 UTC)
SimPlaylist 1.0
foo_simplaylist_manager.dll (2011-08-18 18:56:32 UTC)
SimPlaylist Manager 1.0
foo_skip.dll (2011-07-04 20:13:53 UTC)
Skip Track 1.7.4
foo_textdisplay.dll (2011-05-29 16:35:39 UTC)
Text Display UI Element 1.1 beta 1
foo_texttools.dll (2011-03-30 02:55:47 UTC)
Text Tools 1.0.5
foo_ui_columns.dll (2011-04-26 21:39:17 UTC)
Columns UI 0.3.8.8
foo_ui_std.dll (2011-08-07 06:59:36 UTC)
Default User Interface 0.9.5
foo_uie_lyrics3.dll (2011-08-21 20:46:34 UTC)
Lyric Show Panel 3 0.1.2
foo_uie_tagger_mod.dll (2010-11-19 21:33:08 UTC)
Tagger Panel 1.2.4
foo_utils.dll (2008-02-09 04:26:58 UTC)
Playlist Tools 0.6.2 beta 6
foo_verifier.dll (2009-10-05 17:39:20 UTC)
File Integrity Verifier 1.1
foo_whatsnew.dll (2008-08-30 20:45:00 UTC)
Feature Watcher 1.0.6
Recent events:
"*X Played" : 0:00.505493
"*XD XRate" : 0:00.274692
"Recent" : 0:00.698217
Startup time : 0:10.193112
Opening track for playback: "T:\@Music\Dead\1982-04-06 The Spectrum\203-Saint Of Circumstance-.mp3"
[foo_dynfil] Calculation took 26.01835 s
Opening track for playback: "T:\@Music\Dead\1982-04-06 The Spectrum\304-Sugar Magnolia.mp3"
Opening track for playback: "T:\@Music\Dead\1982-04-06 The Spectrum\203-Saint Of Circumstance-.mp3"
Opening track for playback: "T:\@Music\Dead\1982-04-06 The Spectrum\202-Lost Sailor-.mp3"
Opening track for playback: "T:\@Music\Dead\1982-04-06 The Spectrum\203-Saint Of Circumstance-.mp3"