Troubleshooting plug-ins
Troubleshooting plug-ins
I have a problem with a certain aspect of Far (1.70) that I can repeat 100% of the time when I load Far with plug-ins. When I run Far /p the problem goes away, so I need to find out where the problem lies. Unfortunately, I don't know how to go about determining which plug-in is causing the problem.
I've looked over the docs, but I can't find anything that tells me the process to follow in order to find which plug-in is causing trouble. What is the best method to find a bad plug-in?
I've looked over the docs, but I can't find anything that tells me the process to follow in order to find which plug-in is causing trouble. What is the best method to find a bad plug-in?
Well, that was tedious. But it was definitely worth a shot. Unfortunately, I didn't find the offending plugin.
I did each of my plugins, including Far's own, one at a time like this: far /p "plugins\plugin_name". Tried to recreate the error each time (on all 35 of them!). Far worked fine. Tried just using Far without /p again. Boom; I get the error. It's a plugin -- or at least it appears to be one, because Far /p makes it disappear -- but loading the plugins one at a time didn't point out which one it was.
And here's something else; each time Far blows up it leaves an empty directory in my \temp directory called wis*.tmp, where the * is a number starting at 1 and incrementing each time the error occurs, like wis1.tmp, wis2.tmp, wis3.tmp, etc.
I did each of my plugins, including Far's own, one at a time like this: far /p "plugins\plugin_name". Tried to recreate the error each time (on all 35 of them!). Far worked fine. Tried just using Far without /p again. Boom; I get the error. It's a plugin -- or at least it appears to be one, because Far /p makes it disappear -- but loading the plugins one at a time didn't point out which one it was.
And here's something else; each time Far blows up it leaves an empty directory in my \temp directory called wis*.tmp, where the * is a number starting at 1 and incrementing each time the error occurs, like wis1.tmp, wis2.tmp, wis3.tmp, etc.
You were right, the space changed everything. Removing it allowed me to find the offending plugin.HaRT wrote:First of all, you shouldn't have put a space between /p and "plugins. Your way, you seem to have run Far with no plugins each time.
And that was...
Hey, you were right again! InstallExplorer was the culprit. The version on the Plugin Ring is the same one I have now (from 2004), so I may contact the author and see if he has a fix for it.HaRT wrote:Next, the names of the “heritage” folders make me suggest that it's Install Explorer to blame. Check it the very first.
Thanks.
and the easiest way is to use the pluginmanager TheUnderscore by WrapItSelf. it catches any exception that plugins throws without far-crash and you may ignore them. Also you can load/unload/disable/uninstall plugins on the fly, choose the plugin to use if more then one can handle the entered file or prefix (i.e. prefix "ftp:" ->ftp/far navigator) ...HaRT wrote:The best way is to run Far with each single plugin one by one like this: Far /p"Plugins\MultiArc".
Code: Select all
cause the docs are ony in russian here a little howto:
- install TheUnderscore [b]outside [/b]your standard-pluginfolder i.e. "Far\underscore"
- use the /p switch with the choosen Underscore-folder to run far "far /punderscore"
- enter "_:" at commandline to open the underscorepanel
main-keys at the pluginpanel:
- CtrlQ - plugins-infos
- CtrlA - enable/disable/autoload plugins
- ShiftF1 - pluginshelp
- F3 - list pluginsexports
- AltShiftF3 - open pluginsfolder at passive panel
- F4 - pluginsconfiguration
- F8 - unload
- AltShiftF8 - uninstall
Install Explorer is definitely the problem. But it's not when I use the plugin itself, it's doing something else entirely. And I found the problem by accident too.rob wrote:ok, back to the discussion: i can´t believe that Install Explorer itself is the problem. i use version 0.3 and it works fine. so search with Dependency Walker for missing libraries at your system that "6InstExpl.dll" depends on.
There was a file called 123 (no extension) in my \temp directory that's 2 bytes long, and all it contained was a CR/LF pair. Because of it's name that file was the first one listed after all the directories in the file panel (when sorted by name). I was attempting to go into the sub-directory that was just above that file, but I hit the down arrow one too many times so when I hit ENTER I was actually on the 123 file instead. That's when Far crashed.
It took me several minutes to figure out what happened, because I wasn't really paying attention the first time. But after I put it all together I was able to duplicate it 100% of the time; hitting ENTER on that file caused Far to crash. Using the /p option made the crash disappear, so I know it was a plugin. But I wasn't entirely sure how to go about finding which plugin it was, so that's why I posted the original message.
But I have re-thought my original decision to delete Install Explorer because it does what it's supposed to do fine. Unless you happen to hit ENTER on a 2 byte file with no extension that is...
you are right, Install Explorer throws an exception on files smaler then 4 bytes extension doesn´t matter. to avoid that Far also crashs use TheUnderscore.JimWilson wrote:But I have re-thought my original decision to delete Install Explorer because it does what it's supposed to do fine. Unless you happen to hit ENTER on a 2 byte file with no extension that is...