SRL Archive - Instructions & Tutorials S.M.A.R.T.

Howto run multiple SMARTs with 1 plugin/scar


Markus

2008-03-30 07:41:56

Got the solution I think: the reason SMART crashes when running multiple with the same plugin, is because DLLs share memory. This will cause the JVM to get confused and thus crashing (according to Ben).
The solution is to load every DLL separately in the memory, that's what you do when running multiple SCARs, but there's another way to accomplish this:
Some of you might've heard of the packer UPX, which compresses EXEs, DLLs, etc. One of the cons about UPX is that, when it compresses the DLL, it disables the memory sharing part of DLLs, making it (for normal applications), pretty inefficient. But here's the trick: If we use UPX at SMART, it'll load the plugin again every time we load SCAR. This means that all SMARTs don't share their memory, thus not causing any conflicts. I've been running 7 for around 2 hours now, so I think this works :)

Summary: Using UPX at the SMART DLL will solve the problem of crashing when using same SCAR+Plugin.

Bobarkinator

2008-03-30 16:15:18

I'll try it right now

Smartzkid

2008-03-31 23:59:30

Very nice solution, I like. If I get time to set up SMART, I'll try it out! Could you post the packed dll?

Bobarkinator

2008-04-01 08:10:56

From: Smartzkid
Very nice solution, I like. If I get time to set up SMART, I'll try it out! Could you post the packed dll?


Is it that hard ? :p

Freddy1990

2008-04-01 11:08:23

From: Smartzkid
Very nice solution, I like. If I get time to set up SMART, I'll try it out! Could you post the packed dll?


If you're too lazy to write a 1 line batch file, you can even just drop the dll onto the UPX executable :p

Markus

2008-04-01 11:09:50

lol, I just used the commandline ftw :p

Bobarkinator

2008-04-01 16:22:31

From: Markus
lol, I just used the commandline ftw :p


Me to lol

Smartzkid

2008-04-02 23:01:54

From: Freddy1990
If you're too lazy to write a 1 line batch file, you can even just drop the dll onto the UPX executable :p


Aah, you underestimate the amount of work I'd have to do - I don't yet have the original smart.dll file, so I'd have to download it first :D