Project

General

Profile

Actions

Bug #11519

open

arv-get should abort on ctrl/C

Added by Tom Morris about 7 years ago. Updated about 2 months ago.

Status:
In Progress
Priority:
Normal
Assigned To:
-
Category:
-
Target version:
Story points:
-
Release:
Release relationship:
Auto

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 1 (1 open0 closed)

Task #11571: ReviewNewTom Clegg04/19/2017Actions
Actions #1

Updated by Lucas Di Pentima almost 7 years ago

  • Assigned To set to Lucas Di Pentima
Actions #2

Updated by Lucas Di Pentima almost 7 years ago

  • Status changed from New to In Progress
Actions #3

Updated by Lucas Di Pentima almost 7 years 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.

Actions #4

Updated by Lucas Di Pentima almost 7 years ago

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

Updated by Lucas Di Pentima almost 7 years ago

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

Updated by Lucas Di Pentima almost 7 years ago

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

Updated by Tom Morris almost 7 years ago

  • Assigned To changed from Lucas Di Pentima to Tom Morris
Actions #8

Updated by Tom Morris almost 7 years ago

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

Updated by Tom Morris almost 7 years 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.

Actions #10

Updated by Tom Morris almost 7 years ago

  • Assigned To changed from Tom Morris to Lucas Di Pentima
Actions #11

Updated by Lucas Di Pentima almost 7 years ago

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

Updated by Lucas Di Pentima almost 7 years ago

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

Updated by Tom Morris over 6 years ago

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

Updated by Lucas Di Pentima over 6 years ago

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

Updated by Lucas Di Pentima over 6 years ago

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

Updated by Lucas Di Pentima over 6 years ago

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

Updated by Peter Amstutz over 6 years ago

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

Actions #18

Updated by Lucas Di Pentima over 6 years ago

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

Updated by Lucas Di Pentima over 6 years ago

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

Updated by Lucas Di Pentima over 6 years ago

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

Updated by Lucas Di Pentima over 6 years ago

  • Status changed from New to In Progress
Actions #22

Updated by Lucas Di Pentima over 6 years ago

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

Updated by Lucas Di Pentima over 6 years ago

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

Updated by Tom Morris over 6 years 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
Actions #25

Updated by Tom Morris over 6 years ago

  • Description updated (diff)
Actions #26

Updated by Lucas Di Pentima over 6 years ago

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

Updated by Tom Morris over 6 years ago

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

Updated by Peter Amstutz almost 3 years ago

  • Target version deleted (Arvados Future Sprints)
Actions #29

Updated by Peter Amstutz about 1 year ago

  • Release set to 60
Actions #30

Updated by Peter Amstutz about 2 months ago

  • Target version set to Future
Actions

Also available in: Atom PDF