Title: Improve resilience of scijava-progress subsystem · Issue #228 · scijava/scijava · GitHub
Open Graph Title: Improve resilience of scijava-progress subsystem · Issue #228 · scijava/scijava
X Title: Improve resilience of scijava-progress subsystem · Issue #228 · scijava/scijava
Description: With 5da8173, I removed the progress reporting from the DefaultOpEnvironment's op discovery, because it was failing the OpRegressionTest on one of my systems. Investigation shone light onto three distinct issues, the first of which is th...
Open Graph Description: With 5da8173, I removed the progress reporting from the DefaultOpEnvironment's op discovery, because it was failing the OpRegressionTest on one of my systems. Investigation shone light onto three d...
X Description: With 5da8173, I removed the progress reporting from the DefaultOpEnvironment's op discovery, because it was failing the OpRegressionTest on one of my systems. Investigation shone light onto thr...
Opengraph URL: https://github.com/scijava/scijava/issues/228
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Improve resilience of scijava-progress subsystem","articleBody":"With 5da81736cce48d7525e69762d51165c5e74735df, I removed the progress reporting from the `DefaultOpEnvironment`'s op discovery, because it was failing the `OpRegressionTest` on one of my systems. Investigation shone light onto three distinct issues, the first of which is that the `Progress` data structure gets confused about subtasks when a task gets orphaned:\r\n\r\n```\r\njava.lang.ExceptionInInitializerError: Exception java.lang.IllegalStateException:\r\nTask OpEnvironment: Discovering Ops has subtasks that did not complete!\r\n```\r\n\r\nThis condition arises in the `Task#complete()` method when `tasksDefined \u0026\u0026 progress() != 1.0 \u0026\u0026 current.longValue() == max.longValue()`. One theory is that this happens when previous attempts at `DefaultOpEnvironment` environment construction fail, leaving orphaned `Task` objects hanging out in the `ThreadLocal\u003cArrayDeque\u003cTask\u003e\u003e progressibleStack` data structure, such that later tasks on the same thread end up erroneously reasoning that they must then be subtasks of those orphaned tasks. But the evidence is not quite a slam dunk match to that theory, because: 1) I checked the number of pending subtasks in my failing scenario and it is 3 rather than 1, which seems suspicious; and 2) the first failing environment construction must be due to some other reason than previously orphaned task—that is, the first task must get orphaned some other way than this sort of cascading task failure. Which brings us to #229...","author":{"url":"https://github.com/ctrueden","@type":"Person","name":"ctrueden"},"datePublished":"2024-05-30T15:51:27.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/228/scijava/issues/228"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:82e96dbf-c637-f677-0763-8cf4761fc047 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | CA3A:34D83D:6D1274:909B68:696B48BD |
| html-safe-nonce | e1e0257fef4d6daf2f8f4148b8452361957e80e273a33f07a69032b5dc104f57 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDQTNBOjM0RDgzRDo2RDEyNzQ6OTA5QjY4OjY5NkI0OEJEIiwidmlzaXRvcl9pZCI6IjU0NzA1MzU3MjU1Nzg1MDgxNCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 83bd979f8faa3c11416fdeb81d63f6674b1dcd058be5adb4b0a2830cd0886c46 |
| hovercard-subject-tag | issue:2326013785 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/scijava/scijava/228/issue_layout |
| twitter:image | https://opengraph.githubassets.com/7a73ad854032493027e4edbb0b221d413e56cdbfbb3f0b5d660487cb7a96dcb6/scijava/scijava/issues/228 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/7a73ad854032493027e4edbb0b221d413e56cdbfbb3f0b5d660487cb7a96dcb6/scijava/scijava/issues/228 |
| og:image:alt | With 5da8173, I removed the progress reporting from the DefaultOpEnvironment's op discovery, because it was failing the OpRegressionTest on one of my systems. Investigation shone light onto three d... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | ctrueden |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5f99f7c1d70f01da5b93e5ca90303359738944d8ab470e396496262c66e60b8d |
| turbo-cache-control | no-preview |
| go-import | github.com/scijava/scijava git https://github.com/scijava/scijava.git |
| octolytics-dimension-user_id | 1262770 |
| octolytics-dimension-user_login | scijava |
| octolytics-dimension-repository_id | 85618439 |
| octolytics-dimension-repository_nwo | scijava/scijava |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 85618439 |
| octolytics-dimension-repository_network_root_nwo | scijava/scijava |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 82560a55c6b2054555076f46e683151ee28a19bc |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width