Bug #11519

arv-get should abort on ctrl/C

Added by Tom Morris 8 months ago. Updated 6 days ago.

Status:
In Progress
Priority:
Normal
Assigned To:
-
Category:
-
Target version:
Start date:
04/19/2017
Due date:
% Done:

0%

Estimated time:
(Total: 0.00 h)
Story points:
-

Description

1423 MiB / 43967 MiB 3.2%^CTraceback (most recent call last):
  File "/home/tfmorris/venv/local/lib/python2.7/site-packages/arvados/keep.py", line 480, in _headerfunction
    def _headerfunction(self, header_line):
KeyboardInterrupt
2255 MiB / 43967 MiB 5.1%^CTraceback (most recent call last):
  File "/home/tfmorris/venv/local/lib/python2.7/site-packages/arvados/keep.py", line 480, in _headerfunction
    def _headerfunction(self, header_line):
KeyboardInterrupt
2319 MiB / 43967 MiB 5.3%^C^C^CTraceback (most recent call last):
  File "/home/tfmorris/venv/local/lib/python2.7/site-packages/arvados/keep.py", line 480, in _headerfunction
    def _headerfunction(self, header_line):
KeyboardInterrupt
^C^C^C^C^C^C^CTraceback (most recent call last):
  File "/home/tfmorris/venv/local/lib/python2.7/site-packages/arvados/keep.py", line 480, in _headerfunction
    def _headerfunction(self, header_line):
KeyboardInterrupt
^CTraceback (most recent call last):
  File "/home/tfmorris/venv/local/lib/python2.7/site-packages/arvados/keep.py", line 480, in _headerfunction
    def _headerfunction(self, header_line):
KeyboardInterrupt
^CTraceback (most recent call last):
  File "/home/tfmorris/venv/local/lib/python2.7/site-packages/arvados/keep.py", line 480, in _headerfunction
    def _headerfunction(self, header_line):
KeyboardInterrupt
^C

Subtasks

Task #11571: ReviewNewTom Clegg

History

#1 Updated by Lucas Di Pentima 8 months ago

  • Assigned To set to Lucas Di Pentima

#2 Updated by Lucas Di Pentima 7 months ago

  • Status changed from New to In Progress

#3 Updated by Lucas Di Pentima 7 months ago

I haven't been able to reproduce the problem using a local virtualenv and PySDK at master.

Nevertheless, I've found a pycurl bug report that seem to be similar to this issue: https://github.com/pycurl/pycurl/issues/413

The odd thing is that the code listed to reproduce the problem seem to work (that is, fails as reported) on my dev environment.

#4 Updated by Lucas Di Pentima 7 months ago

  • Target version changed from 2017-05-10 sprint to 2017-05-24 sprint

#5 Updated by Lucas Di Pentima 7 months ago

  • Target version changed from 2017-05-24 sprint to 2017-06-07 sprint

#6 Updated by Lucas Di Pentima 6 months ago

  • Target version changed from 2017-06-07 sprint to 2017-06-21 sprint

#7 Updated by Tom Morris 6 months ago

  • Assigned To changed from Lucas Di Pentima to Tom Morris

#8 Updated by Tom Morris 6 months ago

  • Target version changed from 2017-06-21 sprint to 2017-07-05 sprint

#9 Updated by Tom Morris 6 months ago

This sounds not just similar, but identical, to me (including the fact that it occurs with HEADERFUNCTION): https://github.com/pycurl/pycurl/issues/413#issuecomment-276954718

The workaround: https://github.com/lorien/grab/commit/f26fd3052aaa9d9b24f1098759d73dcc2c00d7fa#diff-50f780fd1dcf1fa66656abf741a55c36L489

seems a little convoluted to me, so I'm not 100% sure we want to go down that path, but perhaps you could discuss with Tom and/or Peter to brainstorm ideas for a possible solution.

#10 Updated by Tom Morris 6 months ago

  • Assigned To changed from Tom Morris to Lucas Di Pentima

#11 Updated by Lucas Di Pentima 5 months ago

  • Target version changed from 2017-07-05 sprint to 2017-07-19 sprint

#12 Updated by Lucas Di Pentima 5 months ago

  • Status changed from In Progress to New
  • Target version changed from 2017-07-19 sprint to 2017-08-02 sprint

#13 Updated by Tom Morris 4 months ago

  • Target version changed from 2017-08-02 sprint to 2017-08-16 sprint

#14 Updated by Lucas Di Pentima 4 months ago

  • Target version changed from 2017-08-16 sprint to 2017-08-30 Sprint

#15 Updated by Lucas Di Pentima 3 months ago

  • Target version changed from 2017-08-30 Sprint to 2017-09-13 Sprint

#16 Updated by Lucas Di Pentima 3 months ago

  • Target version changed from 2017-09-13 Sprint to 2017-09-27 Sprint

#17 Updated by Peter Amstutz 3 months ago

It sounds like we need to do something like this in order to detect ^C properly.

#18 Updated by Lucas Di Pentima 3 months ago

  • Target version changed from 2017-09-27 Sprint to 2017-10-11 Sprint

#19 Updated by Lucas Di Pentima 2 months ago

  • Target version changed from 2017-10-11 Sprint to 2017-10-25 Sprint

#20 Updated by Lucas Di Pentima about 2 months ago

  • Target version changed from 2017-10-25 Sprint to 2017-11-08 Sprint

#21 Updated by Lucas Di Pentima about 1 month ago

  • Status changed from New to In Progress

#22 Updated by Lucas Di Pentima about 1 month ago

  • Target version changed from 2017-11-08 Sprint to 2017-11-22 Sprint

#23 Updated by Lucas Di Pentima 20 days ago

  • Target version changed from 2017-11-22 Sprint to 2017-12-06 Sprint

#24 Updated by Tom Morris 15 days ago

I've seen this issue with my own program that uses the Python SDK and doesn't do any exception catching, so perhaps the fix is needed in the Python SDK, not in arv-get.

This took three successive ctrl/Cs to kill:

j VGX2048 callvars e51c5-8i9sb-825qzt1ytjua375 2/2 cores (req/actual), 10000/14020 MB, 1.77 hours, 3.55 core-hours, $ 0.26
^CTraceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/arvados/keep.py", line 524, in _headerfunction
    def _headerfunction(self, header_line):
KeyboardInterrupt
j VGX2048 callvars e51c5-8i9sb-3g1m40e6c3a9sbm 2/2 cores (req/actual), 10000/14011 MB, 1.53 hours, 3.06 core-hours, $ 0.23
j VGX2048 callvars e51c5-8i9sb-lpjhzrsg73fvt4c 2/2 cores (req/actual), 10000/14011 MB, 2.17 hours, 4.34 core-hours, $ 0.32
...
j VGX2048 scatter-samtools-view-sort-index e51c5-8i9sb-iunc8f5dhh9vu9b 2/2 cores (req/actual), 10000/14011 MB, 0.23 hours, 0.46 core-hours, $ 0.03
j VGX2048 scatter-samtools-view-sort-index e51c5-8i9sb-uu0zd3buzscnm0k 2/20 cores (req/actual), 10000/141017 MB, 0.26 hours, 5.10 core-hours, $ 0.38
j VGX2048 scatter-samtools-view-sort-index e51c5-8i9sb-00w6k80myf8cwym 2/16 cores (req/actual), 10000/56347 MB, 0.35 hours, 5.60 core-hours, $ 0.32
^CTraceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/arvados/keep.py", line 367, in <lambda>
    lambda *args, **kwargs: self._socket_open(*args, **kwargs))
  File "/usr/lib/python2.7/dist-packages/arvados/keep.py", line 335, in _socket_open
    return self._socket_open_pycurl_7_19_3(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/arvados/keep.py", line 341, in _socket_open_pycurl_7_19_3
    'Address', ['family', 'socktype', 'protocol', 'addr'],
  File "/usr/lib/python2.7/collections.py", line 386, in namedtuple
    exec class_definition in namespace
  File "<string>", line 1, in <module>
KeyboardInterrupt
j VGX2048 scatter-samtools-view-sort-index e51c5-8i9sb-fmhodqsywh89uss 2/2 cores (req/actual), 10000/14020 MB, 0.29 hours, 0.57 core-hours, $ 0.04

#25 Updated by Tom Morris 15 days ago

  • Description updated (diff)

#26 Updated by Lucas Di Pentima 6 days ago

  • Target version changed from 2017-12-06 Sprint to 2017-12-20 Sprint

#27 Updated by Tom Morris 6 days ago

  • Assigned To deleted (Lucas Di Pentima)
  • Target version changed from 2017-12-20 Sprint to Arvados Future Sprints

Also available in: Atom PDF