Skip to content
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

Dragging/resizing a box during an autosnap process will cause CVAT to crash #8

Closed
2 tasks done
RDeticio opened this issue Apr 21, 2020 · 1 comment
Closed
2 tasks done

Comments

@RDeticio
Copy link

My actions before raising this issue

CVAT currently is crashing indicating that the canvas is busy when either an annotation box is dragged or resized before the implemented auto-snap function occur.

Expected Behaviour

The tool shouldn't crash and terminate itself. A user's actions on an annotation box should be independent of the auto-snap function and wouldn't conflict with each other.

Current Behaviour

The CVAT interface crashes returning one of two errors:

image

  1. If caused by dragging:

Error
Canvas is busy. Action: drag

Error: Canvas is busy. Action: drag
at au.activate (http://localhost:8080/cvat-ui.min.js:72:1336345)
at Vu.activate (http://localhost:8080/cvat-ui.min.js:72:1403114)
at Kc.activateOnCanvas (http://localhost:8080/cvat-ui.min.js:72:1321857)
at Kc.componentDidUpdate (http://localhost:8080/cvat-ui.min.js:72:1318546)
at yl (http://localhost:8080/cvat-ui.min.js:43:100837)
at t.unstable_runWithPriority (http://localhost:8080/cvat-ui.min.js:51:3465)
at Br (http://localhost:8080/cvat-ui.min.js:43:45441)
at gl (http://localhost:8080/cvat-ui.min.js:43:97113)
at ol (http://localhost:8080/cvat-ui.min.js:43:87489)
at http://localhost:8080/cvat-ui.min.js:43:45732

  1. If caused by resizing:

Error
Canvas is busy. Action: resize

Error: Canvas is busy. Action: resize
at au.activate (http://localhost:8080/cvat-ui.min.js:72:1336345)
at Vu.activate (http://localhost:8080/cvat-ui.min.js:72:1403114)
at Kc.activateOnCanvas (http://localhost:8080/cvat-ui.min.js:72:1321857)
at Kc.componentDidUpdate (http://localhost:8080/cvat-ui.min.js:72:1318546)
at yl (http://localhost:8080/cvat-ui.min.js:43:100837)
at t.unstable_runWithPriority (http://localhost:8080/cvat-ui.min.js:51:3465)
at Br (http://localhost:8080/cvat-ui.min.js:43:45441)
at gl (http://localhost:8080/cvat-ui.min.js:43:97113)
at ol (http://localhost:8080/cvat-ui.min.js:43:87489)
at http://localhost:8080/cvat-ui.min.js:43:45732

Possible Solution

It could be made so that it auto-snaps after the action on the box is finished, or it cancels the auto-snap when an action is taken on the box.

Steps to Reproduce (for bugs)

  1. Create a new box
    image

  2. Before the auto-snap function occurs, either click and hold the box itself or one of the resize points along it's edges.
    image
    image

  3. Wait for it to crash.

Context

While the auto-snap function is part of the overall attempt to semi-automate the annotation process, the user might choose to manually control some of their boxes rather than waiting for the automatic snap to occur.

Your Environment

  • Git hash commit (git log -1):
  • Docker version docker version (e.g. Docker 17.0.05):
  • Are you using Docker Swarm or Kubernetes?
  • Operating System and version (e.g. Linux, Windows, MacOS):
  • Code example or link to GitHub repo or gist to reproduce problem:
  • Other diagnostic information / logs:
    Logs from `cvat` container

Next steps

You may join our Gitter channel for community support.

@meyg8600
Copy link

Commit hashes:
278e39ed965b1895bcf31448d3d41fd834728dbf
9c0d2c1
1ef9631

Files edited:

  • cvat-ui/src/components/annotation-page/standard-workspace/canvas-wrapper.tsx
  • cvat-ui/src/containers/annotation-page/standard-workspace/objects-side-bar/object-item.tsx
  • cvat-ui/src/containers/annotation-page/standard-workspace/objects-side-bar/objects-list.tsx
  • cvat-canvas/src/typescript/canvasModel.ts
  • cvat-canvas/src/typescript/canvasView.ts
  • cvat-core/src/annotations-collection.js
  • cvat/apps/engine/static/engine/js/shapeMerger.js
  • cvat-ui/src/cvat-canvas.ts
  • cvat-ui/src/containers/annotation-page/top-bar/top-bar.tsx
  • cvat-ui/src/components/annotation-page/annotation-page.tsx
  • cvat-ui/src/components/create-task-page/styles.scss
  • cvat-ui/src/components/tasks-page/styles.scss
  • cvat-ui/src/styles.scss

What we did to resolve this issue:
We based this on the steps taken from PR cvat-ai#1371 from opencv/cvat to resolve similar issues cvat-ai#1261 and cvat-ai#1371 in opencv/cvat.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants