Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Multiple random components fails with fb2k v1.4 (Read 2574 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Multiple random components fails with fb2k v1.4

Failed to load DLL: <some_name>.dll
Reason: A dynamic link library (DLL) initialization routine failed.

This error message has been appearing since v1.4.  The error occurs for random components.  A component may fail load on one app startup, load and work ok on the next, fail a 3rd, etc., and it is always different components, not the same component.  How do determine the cause?

Re: Multiple random components fails with fb2k v1.4

Reply #1
How many components do you have?

Re: Multiple random components fails with fb2k v1.4

Reply #2
The problem description sure sounds like you are hitting the FLS slot limit with components, but with 1.4 it should be more difficult. You didn't add new components at the same time you updated to 1.4?

If you have any of my components in use make sure you update to 1.4 versions. They use dynamic C runtime linking and help reduce the FLS slot usage.

Re: Multiple random components fails with fb2k v1.4

Reply #3
I tried to replicate issue and found that something goes wrong.
I have 1.3.17 with 90 additional components. None of components is updated to 1.4 SDK version. Everything is OK.
List of components:
Code: [Select]
Core (2017-11-24 08:00:06 UTC)
    foobar2000 core 1.3.17
foo_abx.dll (2017-10-15 11:39:12 UTC)
    ABX Comparator 2.0.4
foo_ac3.dll (2017-02-05 09:17:19 UTC)
    AC3 decoder 0.9.8
foo_adpcm.dll (2017-02-05 09:17:19 UTC)
    kode54's ADPCM decoders 1.12
foo_albumlist.dll (2017-11-24 07:58:40 UTC)
    Album List 4.5
foo_asap.dll (2014-07-04 14:24:08 UTC)
    ASAP 3.2.0
foo_audio_stats.dll (2014-01-08 12:58:52 UTC)
    Audio Statistics 0.7.1
foo_benchmark.dll (2013-08-25 12:27:49 UTC)
    Decoding Speed Test 1.2.3
foo_biometric.dll (2012-07-29 12:01:55 UTC)
    Fingerprint tools 0.3
foo_bitcompare.dll (2017-06-01 15:04:56 UTC)
    Binary Comparator 2.1.1
foo_burninate.dll (2011-02-26 14:51:56 UTC)
    Audio CD Writer 3.0.3
foo_cdda.dll (2017-11-24 07:58:36 UTC)
    CD Audio Decoder 3.0
foo_channel_mixer.dll (2013-11-01 14:29:43 UTC)
    Channel Mixer 0.9.6.7
foo_converter.dll (2017-11-24 07:58:34 UTC)
    Converter 1.5
foo_discogs.dll (2017-02-24 18:04:06 UTC)
    Discogs Tagger 2.13
foo_dsp_convolver.dll (2013-11-01 14:31:36 UTC)
    Convolver (gapless) 0.4.7
foo_dsp_downmix.dll (2013-11-01 15:38:17 UTC)
    Downmix AC3/DTS to PL2 0.2
foo_dsp_effect.dll (2017-11-04 16:33:52 UTC)
    Effect DSP 0.22
foo_dsp_eq.dll (2017-11-24 07:58:56 UTC)
    Equalizer 1.2
foo_dsp_fsurround.dll (2013-11-01 14:30:32 UTC)
    FreeSurround 0.9.0
foo_dsp_lowpass.dll (2012-03-14 13:40:06 UTC)
    SoX Lowpass filter 0.0.4
foo_dsp_mm.dll (2016-08-28 11:04:13 UTC)
    Matrix Mixer 0.3
foo_dsp_noise.dll (2014-01-07 14:09:14 UTC)
    Add Noise DSP 0.0.4
foo_dsp_pl2.dll (2012-08-05 12:20:21 UTC)
    Dolby ProLogic II Wrapper 0.1
foo_dsp_pregap.dll (2017-07-01 10:39:56 UTC)
    Pregap DSP 1.0
foo_dsp_resampler.dll (2013-11-01 14:20:55 UTC)
    SoX Resampler 0.8.3
foo_dsp_resampler_mod.dll (2013-11-01 14:20:56 UTC)
    SoX Resampler mod 0.8.3 mod
foo_dsp_resampler_mod2.dll (2013-11-01 14:20:58 UTC)
    SoX Resampler mod2 0.8.3 mod2
foo_dsp_span.dll (2013-11-12 14:34:16 UTC)
    Surround Pan 1.3
foo_dsp_std.dll (2017-11-24 07:58:42 UTC)
    Standard DSP Array 1.3.1
foo_dsp_upmix.dll (2013-11-01 14:31:15 UTC)
    2ch to 6ch 1.1
foo_dsp_vlevel.dll (2015-07-28 15:11:43 UTC)
    VLevel 20080302.0
foo_dsp_xgeq.dll (2013-11-01 14:41:42 UTC)
    Graphic Equalizer 0.3.7
foo_dsp_xover.dll (2015-08-13 19:42:20 UTC)
    Crossover 0.42
foo_dumb.dll (2017-10-15 11:39:12 UTC)
    DUMB module decoder 2.0.2
foo_dynamic_range.dll (2011-11-22 13:54:32 UTC)
    Dynamic Range Meter 1.1.1
foo_dynamicdsp.dll (2013-11-01 14:31:27 UTC)
    Dynamic DSP 1.0
foo_fileops.dll (2017-11-24 07:57:40 UTC)
    File Operations 2.2.2
foo_flv.dll (2013-11-01 14:34:00 UTC)
    Flash Video Decoder 0.9.6
foo_freedb2.dll (2017-11-24 07:57:34 UTC)
    Online Tagger 0.7
foo_game.dll (2013-11-01 14:34:02 UTC)
    Game Audio Decoder 1.10
foo_gep.dll (2017-08-20 09:39:20 UTC)
    Game Emu Player 1.211
foo_input_adplug.dll (2017-02-05 09:17:19 UTC)
    AdPlug 1.48
foo_input_apt-x100.dll (2015-09-23 13:43:43 UTC)
    APT-x100 Decoder 0.1.1
foo_input_avs.dll (2017-06-01 15:04:56 UTC)
    AVS input 0.5
foo_input_dts.dll (2017-02-04 15:28:24 UTC)
    DTS decoder 0.5.3
foo_input_dvda.dll (2013-11-20 13:57:46 UTC)
    DVD-Audio Decoder and Watermark Detector 0.4.11
foo_input_exe.dll (2017-12-01 19:25:27 UTC)
    Command-Line Decoder Wrapper 0.5.2
foo_input_ffmpeg.dll (2017-12-01 19:25:28 UTC)
    FFmpeg Decoder Wrapper 0.4.3
foo_input_fmpmd.dll (2015-09-19 16:39:54 UTC)
    FMP/PMD Music Objects Decoder 0.8.0.15
foo_input_gsf.dll (2017-10-15 11:39:12 UTC)
    GSF Decoder 3.0.4
foo_input_ht.dll (2017-02-05 09:17:19 UTC)
    Highly Theoretical 2.0.49
foo_input_hvl.dll (2017-02-05 09:17:19 UTC)
    Hively Tracker decoder 1.18
foo_input_kdm.dll (2017-02-05 09:17:19 UTC)
    KDM Decoder 1.2
foo_input_mdx.dll (2015-06-04 21:39:41 UTC)
    MDC input 1.1.1
    MDX input 1.3.2
foo_input_monkey.dll (2017-12-01 19:25:28 UTC)
    Monkey's Audio Decoder 2.1.9
foo_input_ncsf.dll (2017-02-05 09:17:20 UTC)
    NCSF Decoder 1.12
foo_input_ofr.dll (2013-11-01 14:34:35 UTC)
    OptimFROG Lossless/DualStream Decoder 1.31
foo_input_orch.dll (2013-11-01 14:34:38 UTC)
    Orch-90 decoder 0.1
foo_input_org.dll (2017-02-05 09:17:20 UTC)
    Organya decoder 1.10
foo_input_qsf.dll (2017-02-05 09:17:20 UTC)
    Highly Quixotic 2.0.29
foo_input_s98.dll (2013-11-01 14:32:04 UTC)
    S98 input 1.11
foo_input_shorten.dll (2014-01-04 09:37:27 UTC)
    Shorten decoder 0.4.2.3
foo_input_snsf9x.dll (2015-09-19 17:09:49 UTC)
    SNSF decoder / Snes9x v1.53 0.04.12
foo_input_spu.dll (2013-11-01 14:34:42 UTC)
    SPU log decoder 1.1
foo_input_std.dll (2017-11-24 08:23:10 UTC)
    FFmpeg Decoders 3.2.4
    Standard Input Array 1.0
foo_input_tak.dll (2013-11-01 14:52:05 UTC)
    TAK Decoder 0.4.7
foo_input_tfmx.dll (2013-11-01 14:52:05 UTC)
    TFMX decoder 0.10
foo_input_tta.dll (2017-01-06 17:54:10 UTC)
    TTA Audio Decoder 3.4
foo_input_usf.dll (2017-11-04 16:33:52 UTC)
    LazyUSF 2.2.41
foo_input_v2m.dll (2014-07-16 15:04:21 UTC)
    V2M Decoder 0.2.1
foo_input_vgmstream.dll (2017-12-01 19:25:28 UTC)
    vgmstream plugin r1050-806-gd84dd03
foo_input_vio2sf.dll (2017-02-05 09:17:20 UTC)
    2SF Decoder 0.24.13
foo_input_zxtune.dll (2017-08-20 09:39:21 UTC)
    ZXTune Player 0.0.7
foo_lnk.dll (2013-11-01 14:35:17 UTC)
    Shell Link Resolver 1.3.1
foo_lrc_metalarchives.dll (2015-01-27 23:26:31 UTC)
    Lyrics from metal-archives.com 0.2
foo_lunar2.dll (2017-02-05 09:17:20 UTC)
    Lunar 2 PCM decoder 0.8
foo_masstag.dll (2010-09-14 15:22:47 UTC)
    Masstagger 1.8.4
foo_midi.dll (2017-12-01 19:25:28 UTC)
    MIDI Player 2.0.20
foo_musical_spectrum.dll (2012-11-23 14:35:46 UTC)
    Musical Spectrum 0.9.1
foo_musicbrainz.dll (2017-03-18 14:41:48 UTC)
    MusicBrainz Tagger 0.3.9
foo_out_asio.dll (2014-01-20 17:01:05 UTC)
    ASIO support 2.1.2
foo_out_ks.dll (2015-08-29 17:27:10 UTC)
    Kernel Streaming Output 1.2.2
foo_out_wasapi.dll (2017-06-23 10:15:28 UTC)
    WASAPI output support 3.3
foo_psf.dll (2017-07-01 10:47:22 UTC)
    Highly Experimental 2.2.2
foo_ramdisk.dll (2012-02-04 12:03:51 UTC)
    RAM-Disk 1.0
foo_rgscan.dll (2017-11-24 08:03:34 UTC)
    ReplayGain Scanner 2.2.2
foo_run.dll (2010-07-24 12:29:07 UTC)
    Run services 0.3.7
foo_runcmd.dll (2012-03-14 13:46:18 UTC)
    Run Command 1.1
foo_sid.dll (2017-02-05 09:17:20 UTC)
    sidplay2 1.36
foo_texttools.dll (2010-09-19 10:43:34 UTC)
    Text Tools 1.0.5
foo_ui_std.dll (2017-11-24 07:58:50 UTC)
    Default User Interface 0.9.5
foo_uie_lyrics3.dll (2016-03-31 14:15:43 UTC)
    Lyric Show Panel 3 0.5
foo_unpack.dll (2017-11-24 07:58:40 UTC)
    ZIP/GZIP/RAR Reader 1.8
foo_unpack_7z.dll (2017-02-05 09:17:20 UTC)
    7-ZIP Reader 1.12
foo_unpack_jma.dll (2013-11-01 14:35:28 UTC)
    JMA reader 1.7
foo_unpack_lha.dll (2017-02-05 09:17:20 UTC)
    LHA reader 1.13
foo_unpack_unix.dll (2017-02-05 09:17:20 UTC)
    Unix archive reader 1.10
foo_verifier.dll (2017-12-01 19:25:28 UTC)
    File Integrity Verifier 1.2.1
foo_vst.dll (2014-01-03 11:55:07 UTC)
    VST 2.4 adapter 0.9.0.3
foo_whatsnew.dll (2014-08-30 15:52:26 UTC)
    Feature Watcher 1.1.1
foo_xspf_1.dll (2016-04-02 09:32:41 UTC)
    XSPF Playlist 2.6.3
Then i updated fb2k to 1.4. Components are not updated yet. Everything is OK.
Then i updated all components which are presented on official site to latest version, using automatic update. So, this should decrease usage of FLS slots, right?
And now 5-8 random components are not loaded on every start of fb2k. Note that total quantity of dlls in user-components folder even decreased after update: 114 before update and 113 after update.

Re: Multiple random components fails with fb2k v1.4

Reply #4
Then i updated all components which are presented on official site to latest version, using automatic update. So, this should decrease usage of FLS slots, right?
No, the update didn't change anything as not one of the listed components is compiled for version 1.4.

Re: Multiple random components fails with fb2k v1.4

Reply #5
not one of the listed components is compiled for version 1.4.
AFAIK most of kode54 components' new versions are compiled with 1.4 SDK

Re: Multiple random components fails with fb2k v1.4

Reply #6
AFAIK most of kode54 components' new versions are compiled with 1.4 SDK
Yes, but they are not included in your list. For example, your list shows:

foo_gep.dll (2017-08-20 09:39:20 UTC) Game Emu Player 1.211

while the latest version in the component repository is 1.213, released on 2018-01-08.

But even this version is too old to have been compiled for foobar2000 1.4 (at least, if @kode54 didn't have access to the relevant SDK in advance).

(But maybe I'm completely wrong, if it's only necessary to recompile the components with dynamic binding and the version of the SDK doesn't matter in this case)

Re: Multiple random components fails with fb2k v1.4

Reply #7
It's a matter of using dynamic C runtime. As far as I know I'm the only one who has been doing that since 1.4 beta came out.

Re: Multiple random components fails with fb2k v1.4

Reply #8
Yes, but they are not included in your list. For example, your list shows:

foo_gep.dll (2017-08-20 09:39:20 UTC) Game Emu Player 1.211

while the latest version in the component repository is 1.213, released on 2018-01-08.

But even this version is too old to have been compiled for foobar2000 1.4 (at least, if @kode54 didn't have access to the relevant SDK in advance).
My list shows components before update.
Changelog for foo_gep says that it was updated to 1.4 API 31 Dec, 2017 - https://gitlab.kode54.net/kode54/foo_gep/commits/vgmplay

It's a matter of using dynamic C runtime. As far as I know I'm the only one who has been doing that since 1.4 beta came out.
I.e. compiling component with 1.4 SDK doesn't automatically makes it use dynamic linking?

Re: Multiple random components fails with fb2k v1.4

Reply #9
No, default settings are compatibility with foobar2000 v1.3 and static runtime linking so they work on said version without extra dependencies.

Re: Multiple random components fails with fb2k v1.4

Reply #10
So, it would be understandable if nothing changed after update. But it seems that updated components use even more FLS slots, than old versions.

Re: Multiple random components fails with fb2k v1.4

Reply #11
Components that used very old compiler used one FLS slot, Visual Studio 2015 and 2017 compiled components use two. Replace some of the dlls in your test setup with my 1.4 versions and you should see loading problems disappear.

Re: Multiple random components fails with fb2k v1.4

Reply #12
I had access to the SDK in advance, but I'm not using the latest, only an older beta. I'll probably recompile everything with a newer SDK again, but I'm not sure I want to roll out v1.4 with dynamic runtime targets as well, as that'll mean rolling out twice as many updates.

In fact, when I first started using this new SDK, I already switched to dynamic, but then was scolded for it, due to people still using 1.3, which doesn't bundle the MSVC Universal CRT.