Help - Search - Members - Calendar
Full Version: 0.7.5 crashes unexpectedly
Hydrogenaudio Forums > Hosted Forums > foobar2000 > Support - (fb2k)
robenroute
Hi there,

I've just encountered a few crashes with foobar's latest:

QUOTE
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 77C43830h
Access violation, operation: read, address: 05851000h
Call path:
WinMain=>app_mainloop=>playback_format_title_ex
This is the first crash logged by this instance.
Code bytes (77C43830h):
77C437F0h:  F3 8B 75 08 83 C9 FF 90 41 8A 06 0A C0 74 07 46
77C43800h:  0F A3 04 24 73 F2 8B C1 83 C4 20 5E C9 C3 CC CC
77C43810h:  8B 4C 24 04 F7 C1 03 00 00 00 74 14 8A 01 41 84
77C43820h:  C0 74 40 F7 C1 03 00 00 00 75 F1 05 00 00 00 00
77C43830h:  8B 01 BA FF FE FE 7E 03 D0 83 F0 FF 33 C2 83 C1
77C43840h:  04 A9 00 01 01 81 74 E8 8B 41 FC 84 C0 74 32 84
77C43850h:  E4 74 24 A9 00 00 FF 00 74 13 A9 00 00 00 FF 74
77C43860h:  02 EB CD 8D 41 FF 8B 4C 24 04 2B C1 C3 8D 41 FE
Stack (0012F9E0h):
0012F9C0h:  D4 F8 CA 00 F0 88 FA 77 E0 21 F5 77 5C 00 00 00
0012F9D0h:  78 D0 CA 00 05 00 00 C0 54 D0 CA 00 64 D0 CA 00
0012F9E0h:  D8 94 42 00 FE 0F 85 05 2C 7C 43 00 1C 22 3A 03
0012F9F0h:  01 0F 85 05 7D 0E 41 00 80 0F 85 05 46 AC C2 77
0012FA00h:  98 FA 12 00 80 0F 85 05 B0 44 06 04 00 01 00 00
0012FA10h:  8E 00 00 00 02 00 00 00 8D 00 00 00 15 00 00 00
0012FA20h:  B8 7E 43 00 3C FA 12 00 18 FA D4 03 83 0D 41 00
0012FA30h:  00 00 00 00 98 FA 12 00 18 FA D4 03 80 0F 85 05
0012FA40h:  01 00 00 00 01 00 00 00 10 00 00 00 30 F7 EC 00
0012FA50h:  98 FA 12 00 18 FA D4 03 80 0F 85 05 00 33 B7 03
0012FA60h:  48 00 B7 03 DF 02 00 00 00 00 00 00 30 89 C2 77
0012FA70h:  18 FA D4 03 48 00 B7 03 1C 22 3A 03 00 00 00 00
0012FA80h:  A4 24 77 A5 8A BD 5E 40 77 00 00 00 00 00 00 00
0012FA90h:  00 00 00 00 00 00 00 00 58 55 EF 00 00 00 00 00
0012FAA0h:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0012FAB0h:  44 FC 12 00 27 26 EF 00 08 00 00 00 C4 DB ED 00
0012FAC0h:  24 FC 12 00 80 0F 85 05 62 68 F8 03 00 B0 D6 03
0012FAD0h:  00 00 00 00 00 00 00 00 00 00 00 00 13 01 00 00
0012FAE0h:  00 00 00 00 48 00 B7 03 1E 14 00 00 04 00 00 01
0012FAF0h:  00 00 00 00 B0 3E C3 77 33 00 00 00 FF FF FF FF
Registers:
EAX: 05850F03, EBX: 05850F80, ECX: 05851000, EDX: 82D3FFF7
ESI: 0012FA08, EDI: 0000007E, EBP: 0012FA28, ESP: 0012F9E0
Crash location: "msvcrt", loaded at 77C10000h - 77C63000h
Symbol: "strlen" (+00000020h)
Loaded modules:
foobar2000                       loaded at 00400000h - 00440000h
ntdll                            loaded at 77F50000h - 77FF7000h
kernel32                         loaded at 77E60000h - 77F46000h
USER32                           loaded at 77D40000h - 77DCC000h
GDI32                            loaded at 77C70000h - 77CB0000h
ADVAPI32                         loaded at 77DD0000h - 77E5D000h
RPCRT4                           loaded at 78000000h - 78086000h
COMCTL32                         loaded at 71950000h - 71A34000h
msvcrt                           loaded at 77C10000h - 77C63000h
SHLWAPI                          loaded at 70A70000h - 70AD5000h
utf8api                          loaded at 10000000h - 1000B000h
comdlg32                         loaded at 763B0000h - 763F5000h
SHELL32                          loaded at 773D0000h - 77BC2000h
IMM32                            loaded at 76390000h - 763AC000h
LPK                              loaded at 629C0000h - 629C8000h
USP10                            loaded at 72FA0000h - 72FFA000h
apitrap                          loaded at 00880000h - 0089A000h
psapi                            loaded at 76BF0000h - 76BFB000h
foo_abx                          loaded at 009F0000h - 009FA000h
foo_ac3                          loaded at 00A00000h - 00A13000h
foo_albumlist                    loaded at 00A20000h - 00A29000h
foo_ape                          loaded at 00A30000h - 00A4F000h
foo_apl                          loaded at 00A50000h - 00A5E000h
foo_bitcompare                   loaded at 00A60000h - 00A6B000h
foo_burninate                    loaded at 00A70000h - 00A7F000h
VERSION                          loaded at 77C00000h - 77C07000h
foo_cdda                         loaded at 00A80000h - 00A8E000h
foo_cdinfo_editor                loaded at 00AA0000h - 00AB5000h
foo_clienc                       loaded at 00AC0000h - 00AD4000h
foo_console                      loaded at 00AE0000h - 00AE8000h
foo_convolve                     loaded at 00AF0000h - 00B20000h
foo_diskwriter                   loaded at 00B20000h - 00B2B000h
foo_dsp_crossfade                loaded at 00B30000h - 00B37000h
foo_dsp_crossfeed                loaded at 00B40000h - 00B46000h
foo_dsp_extra                    loaded at 00B50000h - 00B65000h
foo_dsp_nogaps                   loaded at 00B70000h - 00B77000h
foo_dsp_pause                    loaded at 00B80000h - 00B87000h
foo_dsp_skip_silence             loaded at 00B90000h - 00B97000h
foo_dsp_soundtouch               loaded at 00BA0000h - 00BAE000h
MSVCP60                          loaded at 55900000h - 55961000h
foo_dsp_wider                    loaded at 00BB0000h - 00BB7000h
foo_dynamics                     loaded at 00BC0000h - 00BC7000h
foo_faac                         loaded at 00BD0000h - 00C03000h
foo_festalon                     loaded at 00C10000h - 00D17000h
foo_flac                         loaded at 00D20000h - 00D36000h
foo_flaccer                      loaded at 00D40000h - 00D56000h
foo_freedb                       loaded at 00D60000h - 00D8E000h
WS2_32                           loaded at 71AB0000h - 71AC4000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_id3v2                        loaded at 00D90000h - 00DB7000h
foo_infobox                      loaded at 00DC0000h - 00DD0000h
foo_input_std                    loaded at 00DD0000h - 00E2A000h
MSACM32                          loaded at 77BE0000h - 77BF4000h
WINMM                            loaded at 76B40000h - 76B6C000h
foo_lame                         loaded at 00EB0000h - 00EB9000h
foo_looks                        loaded at 00EC0000h - 00F06000h
gdiplus                          loaded at 70D00000h - 70EA1000h
ole32                            loaded at 771B0000h - 772D1000h
foo_masstag                      loaded at 00F20000h - 00F2E000h
BASS                             loaded at 00F40000h - 00F86000h
DSOUND                           loaded at 51080000h - 510D6000h
wdmaud                           loaded at 72D20000h - 72D29000h
msacm32                          loaded at 72D10000h - 72D18000h
midimap                          loaded at 77BD0000h - 77BD7000h
foo_monkey                       loaded at 01100000h - 0111E000h
foo_mp4                          loaded at 01120000h - 01178000h
foo_mpcenc                       loaded at 00F30000h - 00F38000h
foo_null                         loaded at 01180000h - 01187000h
foo_osd                          loaded at 01190000h - 0119D000h
foo_output_std                   loaded at 011A0000h - 011A9000h
foo_out_dsound_ex                loaded at 011B0000h - 011B9000h
foo_out_ks                       loaded at 011C0000h - 011CE000h
SETUPAPI                         loaded at 76670000h - 76757000h
foo_read_http                    loaded at 011D0000h - 011DA000h
foo_rgscan                       loaded at 011E0000h - 011EB000h
foo_search_ex                    loaded at 011F0000h - 011FB000h
foo_shn                          loaded at 01200000h - 01211000h
foo_shuffle                      loaded at 01220000h - 0122D000h
foo_speex                        loaded at 01230000h - 01248000h
foo_stfu                         loaded at 01250000h - 01257000h
foo_syfm                         loaded at 01260000h - 0126A000h
MSVCR70                          loaded at 5D000000h - 5D04C000h
foo_tfmx                         loaded at 01280000h - 0128C000h
foo_timer_0.7.3                  loaded at 01290000h - 01298000h
foo_toolame                      loaded at 012A0000h - 012B3000h
foo_ui_std                       loaded at 012C0000h - 012D8000h
foo_unpack                       loaded at 012E0000h - 012FA000h
foo_vis_bubbla                   loaded at 01300000h - 01314000h
OPENGL32                         loaded at 5ED00000h - 5EDC6000h
GLU32                            loaded at 68B20000h - 68B3E000h
DDRAW                            loaded at 51000000h - 51047000h
DCIMAN32                         loaded at 73BC0000h - 73BC6000h
foo_vis_manager                  loaded at 03420000h - 03428000h
foo_vis_simple_spectrum          loaded at 03430000h - 0343A000h
foo_vis_vu_meter                 loaded at 03440000h - 03448000h
foo_vorbisenc                    loaded at 03450000h - 0354B000h
foo_vorbisenc_gt3                loaded at 03550000h - 03649000h
foo_wavpack                      loaded at 03650000h - 0365B000h
uxtheme                          loaded at 5AD70000h - 5ADA4000h
MSCTF                            loaded at 74720000h - 74764000h
SynTPFcs                         loaded at 63000000h - 63014000h
msctfime                         loaded at 03B40000h - 03B6B000h
Msimtf                           loaded at 746F0000h - 74716000h
OLEAUT32                         loaded at 77120000h - 771AB000h
appHelp                          loaded at 75F40000h - 75F5F000h
CLBCATQ                          loaded at 76FD0000h - 77048000h
COMRes                           loaded at 77050000h - 77115000h
cscui                            loaded at 76620000h - 7666E000h
CSCDLL                           loaded at 76600000h - 7661B000h
netapi32                         loaded at 71C20000h - 71C6E000h
MPR                              loaded at 71B20000h - 71B31000h
drprov                           loaded at 75F60000h - 75F66000h
ntlanman                         loaded at 71C10000h - 71C1D000h
NETUI0                           loaded at 71CD0000h - 71CE6000h
NETUI1                           loaded at 71C90000h - 71CCC000h
NETRAP                           loaded at 71C80000h - 71C86000h
SAMLIB                           loaded at 71BF0000h - 71C01000h
davclnt                          loaded at 75F70000h - 75F79000h
shgina                           loaded at 73D70000h - 73D82000h
MSGINA                           loaded at 75970000h - 75A61000h
USERENV                          loaded at 75A70000h - 75B15000h
WINSTA                           loaded at 76360000h - 7636F000h
ODBC32                           loaded at 048D0000h - 04902000h
odbcint                          loaded at 1F850000h - 1F866000h
Secur32                          loaded at 76F90000h - 76FA0000h
wiashext                         loaded at 5A500000h - 5A58D000h
WININET                          loaded at 76200000h - 76298000h
CRYPT32                          loaded at 762C0000h - 76348000h
MSASN1                           loaded at 762A0000h - 762AF000h
sti                              loaded at 73BA0000h - 73BB2000h
CFGMGR32                         loaded at 74AE0000h - 74AE7000h
mswsock                          loaded at 71A50000h - 71A8B000h
wshtcpip                         loaded at 71A90000h - 71A98000h
DNSAPI                           loaded at 76F20000h - 76F45000h
winrnr                           loaded at 76FB0000h - 76FB7000h
WLDAP32                          loaded at 76F60000h - 76F8C000h
rasadhlp                         loaded at 76FC0000h - 76FC5000h
browseui                         loaded at 75F80000h - 7607C000h
ntshrui                          loaded at 76990000h - 769B4000h
ATL                              loaded at 76B20000h - 76B35000h
shdocvw                          loaded at 71700000h - 71849000h
KsUser                           loaded at 5EF80000h - 5EF84000h
imagehlp                         loaded at 76C90000h - 76CB2000h
DBGHELP                          loaded at 6D510000h - 6D58D000h

Version info:
foobar2000 v0.7.5


Does anybody have a clue what's wrong? As far as I can tell, it's a "strlen" instruction somewhere that goes astray. Yeah, right, like I know what I'm talking about laugh.gif

Thanks in advance, Rob
Peter
- remove foo_looks.dll
- point danZ to this post
danZ
QUOTE(zZzZzZz @ Dec 8 2003, 09:54 AM)
- remove foo_looks.dll
- point danZ to this post

Hum, I thought I was doing extra items correctly. I haven't touched that code since version .666 of the SDK.

Here's a sample of what I'm doing

CODE
String v;
v.Format(_T("volumedb=%.2f dB\0"),float(vl)/100.f);
m_ExtraItems += v;

after all custom tags are processed

CODE
if (!m_ExtraItems.IsEmpty())
    m_ExtraItems += _T("\0");


and finally...

CODE
if (!m_ExtraItems.IsEmpty())
    play_control::get()->playback_format_title(str,string_utf8_from_os(spec),string_utf8_from_os(m_ExtraItems));
else
    play_control::get()->playback_format_title(str,string_utf8_from_os(spec),NULL);



+ m_ExtraItems {0x010a567a "volumedb=-16.66 dB"}

010A567A 76 00 6F 00 6C 00 75 00 6D 00 v.o.l.u.m.
010A5684 65 00 64 00 62 00 3D 00 2D 00 e.d.b.=.-.
010A568E 31 00 36 00 2E 00 36 00 36 00 1.6...6.6.
010A5698 20 00 64 00 42 00 00 00 CD CD .d.B...ออ

Is this incorrect? I haven't been getting crashes and the extra items seem to be formatting correctly since version .6 as I mentioned.

Any help is appreciated.
Peter
CODE
play_control::get()->playback_format_title(str,string_utf8_from_os(spec),string_utf8_from_os(m_ExtraItems));
Duh, string_utf8_from_os does a single null-terminated string, and does not append second null, causing the code parsing extra_items it to get random garbage.
danZ
QUOTE(zZzZzZz @ Dec 8 2003, 03:38 PM)
CODE
play_control::get()->playback_format_title(str,string_utf8_from_os(spec),string_utf8_from_os(m_ExtraItems));
Duh, string_utf8_from_os does a single null-terminated string, and does not append second null, causing the code parsing extra_items it to get random garbage.

So m_ExtraItems was correct up until I converted it to utf8?

so I just need to convert to utf8 and add the last null back on the end?
foosion
QUOTE(danZ @ Dec 9 2003, 12:49 AM)
So m_ExtraItems was correct up until I converted it to utf8?

so I just need to convert to utf8 and add the last null back on the end?

That won't work, if you have multiple key/value pairs. string* classes from pfc cannot contain embedded zeroes. Build the extra_items parameter in UTF-8 using either the new string_list_nulldelimited helper or another mem_block_t<char> based solution.
danZ
QUOTE(foosion @ Dec 8 2003, 04:53 PM)
QUOTE(danZ @ Dec 9 2003, 12:49 AM)
So m_ExtraItems was correct up until I converted it to utf8?

so I just need to convert to utf8 and add the last null back on the end?

That won't work, if you have multiple key/value pairs. string* classes from pfc cannot contain embedded zeroes. Build the extra_items parameter in UTF-8 using either the new string_list_nulldelimited helper or another mem_block_t<char> based solution.

foosion thanks for the tip but it seems like it would be easier to just use some other delimiter or pass in an array of strings.
foosion
QUOTE
[01:05:59] <DEATH> i understand that extra_items snafu wouldnt have happened if i used some high-level cross-dll-safe class (i have a bunch of those) for passing a list of strings instead
[01:06:13] <DEATH> if i had to redo that api now, i would have changed it
[01:06:19] <DEATH> i will probably do so next time i bump api
[01:06:53] <DEATH> then again
[01:07:07] <DEATH> those "idiotproof" classes have overhead
robenroute
Hi there,

Peter, I followed your advise (to remove foo_looks.dll). Seemed to work for a few hours, until just a few minutes ago.... same crash, same output in failure.txt.

Hmmmmm, any other things I could try? Thanks.


Rob
danZ
QUOTE(robenroute @ Dec 9 2003, 07:29 AM)
Hi there,

Peter, I followed your advise (to remove foo_looks.dll). Seemed to work for a few hours, until just a few minutes ago.... same crash, same output in failure.txt.

Hmmmmm, any other things I could try? Thanks.


Rob

Must be another third party component that isn't idiot proof wink.gif

I coverted my code over to use the extra_items_helper from the the dbsearch component so once I release the next version of foo_looks you should be able to add it back if you are still interested in using it.
robenroute
Interested in using it? Are you kidding me? I think foo_looks is the best thing since sliced bread (and I'm not kidding you, now).

Thanks for a fantastic add-on to foobar, Dan.


Rob
Canar
QUOTE(robenroute @ Dec 9 2003, 07:29 AM)
Peter, I followed your advise (to remove foo_looks.dll). Seemed to work for a few hours, until just a few minutes ago.... same crash, same output in failure.txt.

The crash log will be different this time; posting the new one will likely help.
Peter
QUOTE(robenroute @ Dec 9 2003, 06:29 PM)
Hi there,

Peter, I followed your advise (to remove foo_looks.dll). Seemed to work for a few hours, until just a few minutes ago.... same crash, same output in failure.txt.

Hmmmmm, any other things I could try? Thanks.


Rob

How can failure.txt output be the same if it contains list of loaded DLLs (while you claim that you removed foo_looks.dll), and original crash stack dump indicates that foo_looks.dll made the call that crashed ? Please get serious.
danZ
After you post the new crash log w/o foo_looks you may try adding foo_looks back as I have fixed the extra items issue.

foo_looks 1.11 RC1

I hope this takes care of the problem wrt to my component.

Thanks z^6 for deciphering the crash logs and pointing out my buggy code and the dbsearch author for the extra_items_helper.
foosion
QUOTE(danZ @ Dec 9 2003, 08:52 PM)
and the dbsearch author for the extra_items_helper.

np, after all that is what I release source code for. Btw, if you insist on using the z^n form for referencing Peter, n should be 7. Note that PP is even shorter. tongue.gif
tk32
i prefer 2z^3-z



edit: lower case z's smile.gif
robenroute
QUOTE(zZzZzZz @ Dec 9 2003, 11:51 AM)
QUOTE(robenroute @ Dec 9 2003, 06:29 PM)
Hi there,

Peter, I followed your advise (to remove foo_looks.dll). Seemed to work for a few hours, until just a few minutes ago.... same crash, same output in failure.txt.

Hmmmmm, any other things I could try? Thanks.


Rob

How can failure.txt output be the same if it contains list of loaded DLLs (while you claim that you removed foo_looks.dll), and original crash stack dump indicates that foo_looks.dll made the call that crashed ? Please get serious.

blink.gif blink.gif blink.gif from my side. I thought disabling foo_looks would have taken care of it. Yes, admittedly, a bit silly. It did show up in the failure.txt output. I've renamed foo_looks.dll to foo_looks.dll.crashes, and guess what? No more crashes.

Sorry again. And thanks for the feedback.

I'm about to try DanZ's new foo_looks version....


Rob
robenroute
Hmmm, just tried danZ's latest (1.11RC1) foo_looks, but when starting foobar, there's a message saying it couldn't find LUA.dll (and then, foo_looks.dll couldn't be loaded). I tried reinstalling foobar (as suggested in the message) but that didn't resolve the issue. Anybody an idea of what I'm doing wrong?

Thanks, Rob
robenroute
Don't worry! I just found the lua.zip through the search facility (I asked to search for lau.dll the first time and it came up with nothing (now why would that be?)).

Thanks again,

Rob
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.