-
Notifications
You must be signed in to change notification settings - Fork 124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uncaught 'TimerItem' object has no attribute 'json' exception sometimes stops Depicted #65
Comments
Thanks for the report. This indicates some kind of issue in the core workers library about which pending task to reinject into a generator. I'll look into it. |
I haven't heard any reports of this since, so I'm going to close for now. Please reopen if you see it again! |
Hi Brett, First of all, thanks for this great testing tool, I've been trying it out for a couple projects and am really liking it so far. A very similar error has popped up for me a number of times, the log messages are pasted below. Any recommendations on things I can try to fix this? Thanks! INFO queue_worker.py:205] Fetching 5 tasks from queue_url='http://localhost:5000/api/work_queue/capture' for workflow=<class 'dpxdt.client.capture_worker.DoCaptureQueueWorkflow'> |
Thanks for more info |
I love the idea of this project and am excited about trying to use where I work. During my evaluation though, I'm also receiving the first error mentioned in this issue. The issue happens to me after leaving the server running overnight (after about 16 hours of uptime, and no usage of the server at all during that time). It is just using the sql lite db, and while running in a docker container I created. If you want to import it into a docker instance, I have it my dropbox account: https://www.dropbox.com/s/vmfjo2rgpxbgtl1/dpxdt.tar?dl=0
The exception I am getting is here: |
Thanks for the report. Sounds like it's a fundamental bug in the Workflow module. I haven't been able to write a test to reproduce it yet. |
Same here after dpxdt server being idle for a number of hours. Traceback:
Seems that a
I think a way to reproduce the error would be to inject a TimerItem in the generator. Haven't had time to do that yet. |
I'm also getting this issue regularly after the server has been running for a few hours:
|
I wasn't able to reproduce this in tests, unfortunately. But I think it may have been caused by the looping nature of the old barrier handling code and some timing-dependent race conditions. I think the cause is a barrier gets triggered to finish twice, causing an old result to be returned back to a workflow when it shouldn't have been. In the old loop the dequeue_barrier() call doesn't happen at the bottom of the loop, which could lead to this problem. I've updated this flow in these changes and gotten rid of the inner loop: Now dequeueing barriers should always be consistent. I hope this causes the problem to go away. Please reopen if you see it again! |
I'm still getting what looks like the same error after having left the server running overnight. I have updated and the last commit I have is 1f40122.
|
Same here. Is there any way we can help you find the problem? |
I've been getting it consistently as well, but interestingly, only after I changed the flags.cfg to be more aggressive. |
What do you mean by "more aggressive"? Is there any configuration I can change to avoid this error? |
After running for some time, our depicted installation stops throwing the following exception:
INFO queue_worker.py:205] Fetching 1 tasks from queue_url='http://localhost:5000/api/work_queue/capture' for workflow=<class 'dpxdt.client.capture_worker.DoCaptureQueueWorkflow'>
INFO _internal.py:119] 127.0.0.1 - - [31/Oct/2013 05:58:42] "POST /api/work_queue/capture/lease HTTP/1.1" 200 -
ERROR workers.py:436] WorkflowThread:-1244660928 error item=dpxdt.client.timer_worker.TimerItem({ready_time: 1383195523.093645, delay_seconds: 2, done: True})
Traceback (most recent call last):
File "/home/ubuntu/dpxdt/dpxdt/client/workers.py", line 428, in handle_item
next_item = generator.send(item)
File "/home/ubuntu/dpxdt/dpxdt/client/queue_worker.py", line 217, in run
if next_item.json:
AttributeError: 'TimerItem' object has no attribute 'json'
The text was updated successfully, but these errors were encountered: