Closed egelmex closed 9 years ago
errr no idea
Might have missed some of the error, tmux copy paste fail. Will reproduce tonight.
PRIVMSG #bunix:PicklingError: Can't pickle <class '_json.Scanner'>: it's n
ot found as _json.Scanner
*** print_tb:
File "piperbot.py", line 373, in handle_command
pipe.send(None)
File "piperbot.py", line 539, in argpass
target.send(None)
File "/home/me92/documents/projects/piperbot/wrappers.py", line 87, in inner
target.send(x)
File "/home/me92/documents/projects/piperbot/plugins/seval.py", line 470, in calc
for response in eval_(arg.text.strip(), env):
File "/home/me92/documents/projects/piperbot/plugins/seval.py", line 239, in eval_
env = eval_assign(stmt_or_expr, env)
File "/home/me92/documents/projects/piperbot/plugins/seval.py", line 248, in eval_assign
val = timed(eval_expr, args=(node.value, env))
File "/home/me92/documents/projects/piperbot/wrappers.py", line 256, in timed
result = pool.apply_async(run_dill_encoded, (dill.dumps((func, args, kwargs)),))
File "/home/me92/.virtualenvs/piper/lib/python3.4/site-packages/dill/dill.py", line 192, in dumps
dump(obj, file, protocol, byref, fmode)#, strictio)
File "/home/me92/.virtualenvs/piper/lib/python3.4/site-packages/dill/dill.py", line 182, in dump
pik.dump(obj)
File "/usr/lib64/python3.4/pickle.py", line 412, in dump
self.save(obj)
File "/usr/lib64/python3.4/pickle.py", line 479, in save
f(self, obj) # Call unbound method with explicit self
File "/usr/lib64/python3.4/pickle.py", line 729, in save_tuple
save(element)
File "/usr/lib64/python3.4/pickle.py", line 479, in save
f(self, obj) # Call unbound method with explicit self
File "/usr/lib64/python3.4/pickle.py", line 729, in save_tuple
save(element)
File "/usr/lib64/python3.4/pickle.py", line 479, in save
f(self, obj) # Call unbound method with explicit self
File "/home/me92/.virtualenvs/piper/lib/python3.4/site-packages/dill/dill.py", line 658, in save_module_dict
StockPickler.save_dict(pickler, obj)
File "/usr/lib64/python3.4/pickle.py", line 814, in save_dict
self._batch_setitems(obj.items())
File "/usr/lib64/python3.4/pickle.py", line 840, in _batch_setitems
save(v)
File "/usr/lib64/python3.4/pickle.py", line 479, in save
f(self, obj) # Call unbound method with explicit self
File "/home/me92/.virtualenvs/piper/lib/python3.4/site-packages/dill/dill.py", line 949, in save_module
state=_main_dict)
File "/usr/lib64/python3.4/pickle.py", line 627, in save_reduce
save(state)
File "/usr/lib64/python3.4/pickle.py", line 479, in save
f(self, obj) # Call unbound method with explicit self
File "/home/me92/.virtualenvs/piper/lib/python3.4/site-packages/dill/dill.py", line 658, in save_module_dict
StockPickler.save_dict(pickler, obj)
File "/usr/lib64/python3.4/pickle.py", line 814, in save_dict
self._batch_setitems(obj.items())
File "/usr/lib64/python3.4/pickle.py", line 840, in _batch_setitems
save(v)
File "/usr/lib64/python3.4/pickle.py", line 524, in save
self.save_reduce(obj=obj, *rv)
File "/usr/lib64/python3.4/pickle.py", line 627, in save_reduce
save(state)
File "/usr/lib64/python3.4/pickle.py", line 479, in save
f(self, obj) # Call unbound method with explicit self
File "/home/me92/.virtualenvs/piper/lib/python3.4/site-packages/dill/dill.py", line 658, in save_module_dict
StockPickler.save_dict(pickler, obj)
File "/usr/lib64/python3.4/pickle.py", line 814, in save_dict
self._batch_setitems(obj.items())
File "/usr/lib64/python3.4/pickle.py", line 840, in _batch_setitems
save(v)
File "/usr/lib64/python3.4/pickle.py", line 524, in save
self.save_reduce(obj=obj, *rv)
File "/usr/lib64/python3.4/pickle.py", line 598, in save_reduce
save(cls)
File "/usr/lib64/python3.4/pickle.py", line 479, in save
f(self, obj) # Call unbound method with explicit self
File "/home/me92/.virtualenvs/piper/lib/python3.4/site-packages/dill/dill.py", line 993, in save_type
StockPickler.save_global(pickler, obj)
File "/usr/lib64/python3.4/pickle.py", line 915, in save_global
(obj, module_name, name))
that might not be the same error
this is the error you are looking for.
pickle.py
makes me suspicious - I thought you were using dill?
pickle is still used by multiprocess stuff, if you could work out from where this starts that would be helpful, is this on startup or is it from a certain command etc
Judging from the pytb it's in the command wrapper on seval
*** print_tb:
File "piperbot.py", line 373, in handle_command
pipe.send(None)
File "piperbot.py", line 539, in argpass
target.send(None)
File "/home/me92/documents/projects/piperbot/wrappers.py", line 87, in inner
target.send(x)
File "/home/me92/documents/projects/piperbot/plugins/seval.py", line 470, in calc
for response in eval_(arg.text.strip(), env):
File "/home/me92/documents/projects/piperbot/plugins/seval.py", line 239, in eval_
env = eval_assign(stmt_or_expr, env)
File "/home/me92/documents/projects/piperbot/plugins/seval.py", line 248, in eval_assign
val = timed(eval_expr, args=(node.value, env))
File "/home/me92/documents/projects/piperbot/wrappers.py", line 256, in timed
result = pool.apply_async(run_dill_encoded, (dill.dumps((func, args, kwargs)),))
# ...
after a #ning
On Wed, 8 Apr 2015 at 12:52 Simon Cooksey notifications@github.com wrote:
Judging from the pytb it's in the command wrapper on seval
*\ print_tb: File "piperbot.py", line 373, in handlecommand pipe.send(None) File "piperbot.py", line 539, in argpass target.send(None) File "/home/me92/documents/projects/piperbot/wrappers.py", line 87, in inner target.send(x) File "/home/me92/documents/projects/piperbot/plugins/seval.py", line 470, in calc for response in eval(arg.text.strip(), env): File "/home/me92/documents/projects/piperbot/plugins/seval.py", line 239, in eval_ env = eval_assign(stmt_or_expr, env) File "/home/me92/documents/projects/piperbot/plugins/seval.py", line 248, in eval_assign val = timed(eval_expr, args=(node.value, env)) File "/home/me92/documents/projects/piperbot/wrappers.py", line 256, in timed result = pool.apply_async(run_dill_encoded, (dill.dumps((func, args, kwargs)),))
...
— Reply to this email directly or view it on GitHub https://github.com/ellxc/piperbot/issues/58#issuecomment-90890094.
does a normal seval call cause the same issue?
What would I do to test?
On Wed, 8 Apr 2015 at 13:27 ellxc notifications@github.com wrote:
does a normal seval call cause the same issue?
— Reply to this email directly or view it on GitHub https://github.com/ellxc/piperbot/issues/58#issuecomment-90899331.
> hour = datetime.now().hour;
causes the issue.
this might have been fixed in the latest commit to seval.py
seems to work.