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: Spider Monkey Panel (foo_spider_monkey_panel) (Read 348947 times) previous topic - next topic
0 Members and 4 Guests are viewing this topic.

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #275
I've got an questions. I'm trying to make a theme selector that would changes the whole colour scheme of foobar.
I was wondering if it's possible to change the default colours in Columns UI, as shown in the attached picture, this ofcourse with the SpiderMonkeyPanel.

My apologies If I'm asking this question in the wrong place.
AFAIK, CUI/DUI does not provide such API, so SMP can't do much about it :\

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #276
@AndreaT, does it fail always in the same place (i.e. OrderByRelativePath)? If not, does it produce the same error message ("allocation overflow") ?

@TheQwertiest : I am sorry, I cannot be of help about, I didn't take care of that.
As soon as a new version with improved debugging will be available, I will reinstall the component and I will take care to update you more precisely.
Many thanks.
Kind regards, Andrea


Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #278
@TheQwertiest

SMP crash on Windows 10 Pro 32bit. But working perfectly on Windows 7 Ultimate 32bit

Hello, I don't know if this is a SMP problem or a problem of Biography 1.1.1, but this happens with FB 1.5 beta 17 and 18 on Windows 10 Pro 32bit ITA version.

To be noted that I am running exactly the same configuration also on Windows 7 Ultimate 32bit ITA without any significant problems.

Thanks and regards,
Andrea

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #279
@TheQwertiest

SMP crash on Windows 10 Pro 32bit. But working perfectly on Windows 7 Ultimate 32bit

Hello, I don't know if this is a SMP problem or a problem of Biography 1.1.1, but this happens with FB 1.5 beta 17 and 18 on Windows 10 Pro 32bit ITA version.

To be noted that I am running exactly the same configuration also on Windows 7 Ultimate 32bit ITA without any significant problems.

Well, you are out of memory =)
This error usually happens when there are too many images loaded (or the images are too big).
The difference between Win7 and Win10 might be caused by the difference in RAM/VRAM consumption by OS (i.e. Win10 consumes more memory than Win7).
PS: How much RAM and VRAM do you have?

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #280
@TheQwertiest

I was not out of memory, I had over 1GB available.
I have 4GB total (the max for a 32bit OS).

And also I do not agree on Windows 10 consuming more memory of Win7, it is the contrary.

Foobar (exactly the same configuration) uses 1100MB on Win7 and only 950MB on Win10.

And, question, why you point to the memory while the error is speaking about an "image/window resize error"?

Regarding the image size and the like, Biography 1.1.1 is fetching images from internet. Usually are small, a matter of kB.

Regards,
Andrea

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #281
why you point to the memory while the error is speaking about an "image/window resize error"?
Because `Resize` does not modify the current image, but creates a new resized image from the old one.

It might be something else though: it seems that GdiPlus might return `OutOfMemory` error even if the error has nothing to do with memory...
Another thing you could check is the amount of GDI handles used: open Task Manager (CTRL-SHIFT-ESC) > Details > Right-Mouse-Button on column header > Select columns > Check `GDI objects`. This will display the current number of GDI objects used by process.

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #282
@TheQwertiest

Hi, I checked the system and everything was within the normal limits.
So, I decided to remove the Biography script, delete all the sub-folders related to Biography, but not its install where the config files are.
Then I run Foobar again and reloaded the Biography script.
Doing so, it is finally working fine.
Probably there was something corrupted in the subfolders structure or in the ACL.
I think the real error was related to some disk write error / access denied in writing.
Regards, Andrea

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #283
@TheQwertiest
Hello TheQwertiest, I am just reminding you that I am still having this blocking error with Library Tree:

Error: Spider Monkey Panel v1.2.2-preview+0db3c6a4 (Library Tree v2.1.2 by WilB)
OrderByRelativePath failed:
allocation size overflow

File: <main>
Line: 542, Column: 61

Stack trace:
  Panel/this.sort@<main>:542:61
  rootNames@<main>:1205:48
  Library/this.getLibrary@<main>:1190:119
  Timers/this.lib/<@<main>:2911:115



I contacted WilB once more and he gave me this reply:

Reply #255 – 2019-10-17 18:54:23
As far as I am aware this seems to be a bug in spider monkey panel and outside of my control, but I am open to suggestions. I just tried again with a 642K test library & all was OK here. That particular error seems to be occurring on panel initialisation and is explicitly related to view by folder structure. So you could try a different view (if the error is locking you out you could open panel properties and find SYSTEM.View By [it's probably the last entry] and change it to 1 to set a different view).

I thought you were debugging the issue with @TheQwertiest? It sounds as though the issue is reproducible and so it ought to be possible to resolve the cause.

HTH
Last Edit: 2019-10-17 19:08:22 by WilB


Can you help me solving this issue?
Many thanks and kind regards, Andrea

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #284
@AndreaT , regretfully, I couldn't make the debug SMP build work (yet).
... The lack of free time doesn't help either ...

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #285
@TheQwertiest, no problem and thanks for having let me know.
If/when you will make it, kindly let me know and I will test it.
Many thanks and kind regards, Andrea.

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #286
@AndreaT , here is the debug build for diagnosing `OrderByRelativePath` issue:
https://ci.appveyor.com/api/buildjobs/4fnfte0b2r6h8906/artifacts/_result%2FWin32_Release%2Ffoo_spider_monkey_panel.fb2k-component
https://ci.appveyor.com/api/buildjobs/4fnfte0b2r6h8906/artifacts/_result%2FWin32_Release%2Ffoo_spider_monkey_panel_pdb.zip

To turn on diagnostics you need:
1. Install *.fb2k-component as usual.
2. Unpack *_pdb.zip into the SMP component folder (e.g. `user-components/foo_spider_monkey_panel`).
3. Launch fb2k.
4. Preferences > Advanced > Tools > Spider Monkey Panel > C++ exception stack trace > Enable (tick).
5. Load WilB's Library Tree and reproduce the error.
6. Check fb2k console output for the stack trace.
7. Post console output here.

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #287
@TheQwertiest : Many thanks! I will update you as soon as possible. Kind regards, Andrea

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #288
@TheQwertiest :
Hello TheQwerties, herein attached the log collected.
It should contains 3 or 4 "runs" in attempt to have the script running, but it always failed just at the initialization.
Looking forward
Kind regards, Andrea

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #289
Welp, I was right - you were out of memory =)
Good news though, I have an idea how to reduce memory usage here, which might fix your issue.

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #290
Hi @TheQwertiest : I do not have the knowledge to question you, but I have to kindly notify you that I am having 1.5GB of physical free memory plus other 2 or 3GB of virtual memory available...
I do not understand how I can be out-of-memory...
Thanks and warm regards, Andrea

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #291
Virtual memory does not let you allocate more memory to a single process than can fit in its own memory space. For 32 bit applications, this is 2GB of user address space*. Even then, allocating more memory than is available can only force so much to page out to disk, and if those background processes are actively running, they cannot really be paged out so easily, without incurring a heavy load as they continue to access their own memory.

* Even with Large Address Aware, the limit is only 3GB.


Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #293
Memory limits are exactly why I hesitate to try this. JavaScript virtual machines - like SpiderMonkey - have been proven to be not really low on resource usage. You pay a high price for having a non-native user interface.
audiophile // flac & wavpack, mostly // using too many audio players

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #294
@tuxman , well each programming language has it's niche. I mean, SMP itself was written in C++, because performance and memory consumption matters for it's intended usage. But making a program in a compiled language requires much more effort than making it in a scripting language (especially for a casual user).

Regarding SMP: creating a panel component for fb2k in C++ requires quite a bit of code and a machine with configured IDE, but when using SMP (or JSP/WSH) you get that panel handling code for free and you don't need any IDE nor even a Notepad. SMP/JSP/WSH can be considered a higher level API wrapper around fb2k API, i.e. it might be not as flexible and performant, but it's much easier to use and requires much less insight in fb2k and/or Windows internals.

 

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #295
I don't think that a casual user should be able to write code. It is a profession for a good reason.
If resource usage would not matter, I'd dive deeper into Dopamine and similar players.
audiophile // flac & wavpack, mostly // using too many audio players

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #296
@AndreaT , I've made a test SMP version, which has a revamped `OrderByRelativePath` implementation called `OrderByRelativePathV2`. To test it, you need to replace OrderByRelativePath with OrderByRelativePathV2 in WilB LibraryTree script.
Link to test version: https://ci.appveyor.com/api/buildjobs/pegl4h5tg2ms6noh/artifacts/_result%2FWin32_Release%2Ffoo_spider_monkey_panel.fb2k-component

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #297
@tuxman , I don't agree with you, but I don't think we can have a productive discussion on this topic, so I'll just drop it.

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #298
@AndreaT , I've made a test SMP version, which has a revamped `OrderByRelativePath` implementation called `OrderByRelativePathV2`. To test it, you need to replace OrderByRelativePath with OrderByRelativePathV2 in WilB LibraryTree script.
Link to test version: https://ci.appveyor.com/api/buildjobs/pegl4h5tg2ms6noh/artifacts/_result%2FWin32_Release%2Ffoo_spider_monkey_panel.fb2k-component

@TheQwertiest : Many Thanks! I am going to do that. I will update you asap. Kind regards, Andrea

Re: Spider Monkey Panel (foo_spider_monkey_panel)

Reply #299
I don't think that a casual user should be able to write code. It is a profession for a good reason.
If resource usage would not matter, I'd dive deeper into Dopamine and similar players.
Thanks for being the gatekeeper to all things known as creative expression. Casual users should also stay away from composing music and crafting artwork as well. If it isn't a paying job, it isn't worth doing, right?

Oh, how could I be so stupid! Some kind soul has alerted me to my mistake. I have forgotten to include the fine profession of word craft. Lest we forget that you have not been paid for writing the above quoted post, so I should assume that it is not of your best quality. Do be sure to share something more akin to the writings of a professional author next time!