Open docwhat opened 9 years ago
I tried switching to the NullHandler
and it didn't help any.
Hey @docwhat, I'm sorry, but I don't run windows and have never run diamond on windows, so I'm not sure I can be of much help, but if you come up with a solution (or someone else), I'll happily review and merge.
@mattrobenolt
I took a look at it and it is beyond me. As near as I can tell, it has something to do with the way the multiprocessing is working.
For giggles and grins, I tried adding import dill as pickle
at the top, but it then had problems with a missing ._fmode
attribute on ForkingPickler
... so I suspect a file-handle/file-object is being pickled someplace that probably shouldn't be.
Either way, this is beyond my skills.
If you want to get windows yourself, there are VM images available from Microsoft for free for development work. You can get one of them to try stuff out.
Ciao!
The problem is handlers are created and then passed to the server process. Every handler has logger & lock objects and it is impossible to pickle these guys. The solution is to move handlers creation to the server process and pass around log_name instead of the actual log file.
Thanks for explaining that. That makes sense.
It is quite easy to fix this. Maybe will make a patch later.
Hi Guys, I have ran into the same problem trying to get diamond working on Windows, unfortunately this is also beyond my knowledge, thanks for taking a look.
I'm getting an error about pickling a
thread.lock
object. I'm not sure if this is a deficiency in the default pickler (should diamond usedill
instead?) or if this should never be pickled anyway.Alternatively, something else could be going wrong that I don't understand and the
thread.lock
error is just hiding it. :-/The reason I renamed my
Scripts\diamond
script toScripts\diamond-cli.py
is due to bug #187.My error: