TheQwertiest / foo_spider_monkey_panel

foobar2000 component that allows to use JavaScript to create CUI/DUI panels
https://theqwertiest.github.io/foo_spider_monkey_panel/
MIT License
272 stars 21 forks source link

Panels getting reloaded arbitrarily in the background #119

Closed shadeMe closed 3 years ago

shadeMe commented 4 years ago

I'm using the Eole theme which is built using foo_spider_monkey_panel. I've been trying to debug an issue for a long time now that manifests as seemingly random reloading of all loaded panels. To the best of my knowledge, this is not being triggered by the panels' code itself (traced every call to `window.Reload()'). I'm wondering if it might have to do with my particular component config (see below) that somehow triggers this behaviour.

I know this isn't a whole lot to go on, but can you think of any corner-cases where panels can spontaneously get reloaded?

My config:

Core (2019-11-28 12:47:26 UTC)
    foobar2000 core 1.5
foo_albumlist.dll (2019-11-28 12:46:52 UTC)
    Album List 4.7
foo_audioscrobbler.dll (2012-06-23 16:23:05 UTC)
    Audioscrobbler 1.4.7
foo_cad.dll (2020-05-27 09:02:11 UTC)
    CD Art Display 1.0.2
foo_cdda.dll (2019-11-28 12:46:48 UTC)
    CD Audio Decoder 3.0
foo_chacon.dll (2014-02-09 06:41:30 UTC)
    Chacon 3
foo_comserver2.dll (2006-07-31 19:13:20 UTC)
    COM Automation server 0.7 alpha 6
foo_converter.dll (2019-11-28 12:46:44 UTC)
    Converter 1.5.4
foo_convolve.dll (2019-12-23 13:40:47 UTC)
    Impulse Response Convolver 0.3.3
foo_customdb.dll (2013-07-20 15:38:40 UTC)
    Custom Database 0.0.9a
foo_discogs.dll (2020-05-06 17:05:09 UTC)
    Discogs Tagger 2.23
foo_dsp_eq.dll (2019-11-28 12:46:46 UTC)
    Equalizer 1.2.1
foo_dsp_std.dll (2019-11-28 12:46:34 UTC)
    Standard DSP Array 1.3.2
foo_dynamic_range.dll (2013-01-22 18:49:33 UTC)
    Dynamic Range Meter 1.1.1
foo_exvar.dll (2008-06-13 17:12:56 UTC)
    Extended Variables 0.3.1
foo_facets.dll (2012-05-25 12:26:43 UTC)
    Facets 1.0
foo_fileops.dll (2019-11-28 12:46:42 UTC)
    File Operations 2.4
foo_foobarCon.dll (2014-05-05 12:31:50 UTC)
    HTTP Control for FoobarCon 0.97.28-fc
foo_freedb2.dll (2019-11-28 12:46:52 UTC)
    Online Tagger 0.7
foo_input_monkey.dll (2019-11-29 20:20:15 UTC)
    Monkey's Audio Decoder 2.3.1
foo_input_std.dll (2019-11-28 12:47:14 UTC)
    FFmpeg Decoders 3.4.6-0ac9001
    Standard Input Array 1.5
foo_masstag.dll (2019-11-29 20:27:15 UTC)
    Masstagger 1.8.5
foo_musicbrainz.dll (2020-05-27 09:06:36 UTC)
    MusicBrainz Tagger 0.4.6
foo_nds.dll (2018-11-02 23:53:45 UTC)
    No Display Standby 1.1.2
foo_play_next.dll (2019-11-29 20:31:06 UTC)
    Play Next 0.2.1
foo_playcount.dll (2020-09-03 09:17:27 UTC)
    Playback Statistics 3.0.4
foo_playlist_attributes.dll (2019-11-29 20:29:19 UTC)
    Playlist Attributes 0.5.5
foo_pqview.dll (2012-12-01 19:08:19 UTC)
    Playback Queue Viewer 0.2
foo_queuecontents.dll (2012-12-20 12:37:18 UTC)
    Queue Contents Editor 0.5.1
foo_quicktag.dll (2012-06-07 14:40:49 UTC)
    Quick Tagger 1.0.3
foo_rgscan.dll (2019-11-28 12:46:46 UTC)
    ReplayGain Scanner 2.3
foo_sanitizer.dll (2019-11-29 20:28:10 UTC)
    Tag Sanitizer 1.2.1
foo_scheduler.dll (2020-05-06 17:05:09 UTC)
    Scheduler 4.19
foo_spider_monkey_panel.dll (2020-08-23 17:20:45 UTC)
    Spider Monkey Panel 1.3.1
foo_stop_after_queue.dll (2018-11-02 23:53:45 UTC)
    Stop After Queue 1.1.1
foo_stopafteralbum.dll (2013-03-23 15:44:52 UTC)
    Stop after album 3.5
foo_tagbox.dll (2011-03-11 06:53:00 UTC)
    TagBox 0.212
foo_ui_columns.dll (2020-09-03 09:18:04 UTC)
    Columns UI 1.5.0
foo_ui_hacks.dll (2020-08-23 17:20:45 UTC)
    UI Hacks 2013-02-14
foo_ui_std.dll (2019-11-28 12:47:06 UTC)
    Default User Interface 1.5
foo_uie_elplaylist.dll (2020-08-23 17:20:45 UTC)
    ELPlaylist 0.6.9.1.2(beta)
foo_uie_eslyric.dll (2019-11-01 22:16:18 UTC)
    ESLyric 0.3.6 
foo_uie_panel_splitter.dll (2020-08-23 17:20:45 UTC)
    Panel Stack Splitter 0.3.8.3(alpha)
foo_unpack.dll (2019-11-28 12:46:44 UTC)
    ZIP/GZIP/RAR Reader 1.8
foo_utils.dll (2010-07-20 19:09:44 UTC)
    Playlist Tools 0.6.2 beta 6
foo_vis_shpeck.dll (2020-08-23 17:20:45 UTC)
    Shpeck - Winamp vis plugins wrapper 0.3.7
foo_vis_vumeter.dll (2020-08-23 17:20:45 UTC)
    VU Meter 2013-02-16
foo_vst.dll (2011-03-05 06:19:04 UTC)
    VST 2.4 adapter 0.9.0.3
TheQwertiest commented 4 years ago

Don't know what's the reason behind the problem is - SMP does not provide any other means for script reloading other than window.Reload(). If you are willing to work on diagnosing this issue, I can create a special SMP build for you that will trace all panel reloads (i.e. reloads triggered by fb2k as well). That way we can understand what's causing it.

shadeMe commented 4 years ago

Sure thing! Let me know how I can help.

TheQwertiest commented 4 years ago

Sorry for the lack of activity, I will try to send you a debug build this weekend.

shadeMe commented 4 years ago

Sorry, clicked on the wrong button. No worries, there's no rush.

TheQwertiest commented 3 years ago

Uhm... So... I've finally got around to working on this component again... Do you still need help? >_<

shadeMe commented 3 years ago

It's been a while since I saw this bug as I've changed my usage habits a bit, but a quick look at the console seems to suggest that it does keep happening. If the debug DLL is still on the table, I can try to debug the issue when I get the time.

TheQwertiest commented 3 years ago

Ok, on it!

TheQwertiest commented 3 years ago

Can you try the following version? (based on v1.3.1) https://ci.appveyor.com/api/buildjobs/fm7tg66nnyy2icmi/artifacts/_result%2FWin32_Release%2Ffoo_spider_monkey_panel.fb2k-component

It should log some info into console. Please attach console output once you experience the same issue again.

shadeMe commented 3 years ago

Will give it a shot, thanks!

TheQwertiest commented 3 years ago

Closing the issue, since there is no activity here. Fell free to reopen if needed.