Task crashed due to CannotInspectContainerError: Could not transition to inspecting; timed out after waiting 30s

Been seeing the following issue in our flows.
Hypothesis I have explored.

Doesn't seem to be any permission or improper setup thing, since dozens of identical branches triggered through foreach process just fine. And they have the exact s3 roles and permissions, so not even sure what the credentials could not be located message indicates.
it executes every line of code from the step and does as expected, but then it leads to this timeout error during container exit at the end which makes the entire flow go haywire and fail.
I thought maybe it has something to do with trying to snapshot large dataframes, but this error seems to appear randomly regardless of the amount of data being processed in the task.

Any insights?

timestamp | message
-- | --
1.6107E+12 | 2021-01-15 14:47:29.067 [40293/process_a_provider/211754 (pid 17969)]   Task is starting.
1.6107E+12 | 2021-01-15 14:47:35.168 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Task is starting (status SUBMITTED)...
1.6107E+12 | 2021-01-15 14:48:01.009 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Task is starting (status RUNNABLE)...
1.6107E+12 | 2021-01-15 14:48:01.009 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Task is starting (status RUNNABLE)...
1.6107E+12 | 2021-01-15 14:48:31.192 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Task is starting (status RUNNABLE)...
1.6107E+12 | 2021-01-15 14:49:01.335 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Task is starting (status RUNNABLE)...
1.6107E+12 | 2021-01-15 14:49:31.467 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Task is starting (status RUNNABLE)...
1.6107E+12 | 2021-01-15 14:50:01.628 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Task is starting (status RUNNABLE)...
1.6107E+12 | 2021-01-15 14:50:33.037 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Task is starting (status RUNNABLE)...
1.6107E+12 | 2021-01-15 14:50:35.746 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Task is starting (status STARTING)...
1.6107E+12 | 2021-01-15 14:51:05.856 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Task is starting (status STARTING)...
1.6107E+12 | 2021-01-15 14:51:29.848 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Task is starting (status RUNNING)...
1.6107E+12 | 2021-01-15 14:51:39.622 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Setting up task environment.
1.6107E+12 | 2021-01-15 14:59:17.185 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] WARNING: Retrying (Retry(total=4,   connect=None, read=None, redirect=None, status=None)) after connection broken   by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]   certificate verify failed: unable to get local issuer certificate   (_ssl.c:1123)'))': /simple/awscli/
1.6107E+12 | 2021-01-15 15:03:31.869 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Downloading code package.
1.6107E+12 | 2021-01-15 15:03:41.894 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Code package downloaded.
1.6107E+12 | 2021-01-15 15:03:47.287 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Bootstrapping environment.
1.6107E+12 | 2021-01-15 15:08:27.341 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Environment bootstrapped.
1.6107E+12 | 2021-01-15 15:09:32.012 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Task is starting.
1.6107E+12 | 2021-01-15 15:10:31.520 [40293/process_a_provider/211754 (pid 17969)]   [c94edb3a-091c-4e35-a885-d9bc00ba2bad] Provider processed successfully -   0655011
1.6107E+12 | 2021-01-15 15:11:05.938 [40293/process_a_provider/211754 (pid 17969)]   Batch error:
1.6107E+12 | 2021-01-15 15:11:05.938 [40293/process_a_provider/211754 (pid 17969)]   Task crashed due to CannotInspectContainerError: Could not transition to   inspecting; timed out after waiting 30s .This could be a transient error. Use   @retry to retry.
1.6107E+12 | 2021-01-15 15:11:05.938 [40293/process_a_provider/211754 (pid   17969)]
1.6107E+12 | 2021-01-15 15:11:06.448 [40293/process_a_provider/211754 (pid 17969)]   Task failed.
1.6107E+12 | 2021-01-15 15:11:07.060 [40293/process_a_provider/211754 (pid 18823)]   Task fallback is starting to handle the failure.
1.6107E+12 | 2021-01-15 15:11:07.775 [40293/process_a_provider/211754 (pid 18823)] S3   datastore operation _put_s3_object failed (Unable to locate credentials).   Retrying 7 more times..
1.6107E+12 | 2021-01-15 15:11:09.790 [40293/process_a_provider/211754 (pid 18823)] S3   datastore operation _put_s3_object failed (Unable to locate credentials).   Retrying 6 more times..
1.6107E+12 | 2021-01-15 15:11:16.810 [40293/process_a_provider/211754 (pid 18823)] S3   datastore operation _put_s3_object failed (Unable to locate credentials).   Retrying 5 more times..
1.6107E+12 | 2021-01-15 15:11:20.825 [40293/process_a_provider/211754 (pid 18823)] S3   datastore operation _put_s3_object failed (Unable to locate credentials).   Retrying 4 more times..
1.6107E+12 | 2021-01-15 15:11:32.850 [40293/process_a_provider/211754 (pid 18823)] S3   datastore operation _put_s3_object failed (Unable to locate credentials).   Retrying 3 more times..
1.6107E+12 | 2021-01-15 15:11:50.880 [40293/process_a_provider/211754 (pid 18823)] S3   datastore operation _put_s3_object failed (Unable to locate credentials).   Retrying 2 more times..
1.6107E+12 | 2021-01-15 15:12:27.929 [40293/process_a_provider/211754 (pid 18823)] S3   datastore operation _put_s3_object failed (Unable to locate credentials).   Retrying 1 more times..
1.6107E+12 | 2021-01-15 15:13:31.995 [40293/process_a_provider/211754 (pid 18823)]   Internal error
1.6107E+12 | 2021-01-15 15:13:31.999 [40293/process_a_provider/211754 (pid 18823)]   Traceback (most recent call last):
1.6107E+12 | 2021-01-15 15:13:32.000 [40293/process_a_provider/211754 (pid 18823)]   File "/tmp/tmpolxsu4uf/metaflow/cli.py", line 853, in main
1.6107E+12 | 2021-01-15 15:13:32.000 [40293/process_a_provider/211754 (pid 18823)]   start(auto_envvar_prefix='METAFLOW', obj=state)
1.6107E+12 | 2021-01-15 15:13:32.000 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/click/core.py",   line 764, in __call__
1.6107E+12 | 2021-01-15 15:13:32.000 [40293/process_a_provider/211754 (pid 18823)]   return self.main(args, kwargs)
1.6107E+12 | 2021-01-15 15:13:32.000 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/click/core.py",   line 717, in main
1.6107E+12 | 2021-01-15 15:13:32.000 [40293/process_a_provider/211754 (pid 18823)] rv   = self.invoke(ctx)
1.6107E+12 | 2021-01-15 15:13:32.000 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/click/core.py",   line 1137, in invoke
1.6107E+12 | 2021-01-15 15:13:32.000 [40293/process_a_provider/211754 (pid 18823)]   return _process_result(sub_ctx.command.invoke(sub_ctx))
1.6107E+12 | 2021-01-15 15:13:32.000 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/click/core.py",   line 956, in invoke
1.6107E+12 | 2021-01-15 15:13:32.000 [40293/process_a_provider/211754 (pid 18823)]   return ctx.invoke(self.callback, ctx.params)
1.6107E+12 | 2021-01-15 15:13:32.000 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/click/core.py",   line 555, in invoke
1.6107E+12 | 2021-01-15 15:13:32.001 [40293/process_a_provider/211754 (pid 18823)]   return callback(args, kwargs)
1.6107E+12 | 2021-01-15 15:13:32.001 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/click/decorators.py",   line 27, in new_func
1.6107E+12 | 2021-01-15 15:13:32.001 [40293/process_a_provider/211754 (pid 18823)]   return f(get_current_context().obj, args, kwargs)
1.6107E+12 | 2021-01-15 15:13:32.001 [40293/process_a_provider/211754 (pid 18823)]   File "/tmp/tmpolxsu4uf/metaflow/cli.py", line 430, in step
1.6107E+12 | 2021-01-15 15:13:32.001 [40293/process_a_provider/211754 (pid 18823)]   max_user_code_retries)
1.6107E+12 | 2021-01-15 15:13:32.001 [40293/process_a_provider/211754 (pid 18823)]   File "/tmp/tmpolxsu4uf/metaflow/task.py", line 278, in run_step
1.6107E+12 | 2021-01-15 15:13:32.001 [40293/process_a_provider/211754 (pid 18823)]   monitor=self.monitor)
1.6107E+12 | 2021-01-15 15:13:32.001 [40293/process_a_provider/211754 (pid 18823)]   File "/tmp/tmpolxsu4uf/metaflow/datastore/s3.py", line 34, in   __init__
1.6107E+12 | 2021-01-15 15:13:32.001 [40293/process_a_provider/211754 (pid 18823)]   super(S3DataStore, self).__init__(args, kwargs)
1.6107E+12 | 2021-01-15 15:13:32.001 [40293/process_a_provider/211754 (pid 18823)]   File "/tmp/tmpolxsu4uf/metaflow/datastore/datastore.py", line 362,   in __init__
1.6107E+12 | 2021-01-15 15:13:32.002 [40293/process_a_provider/211754 (pid 18823)]   self.save_metadata('attempt', {'time': time.time()})
1.6107E+12 | 2021-01-15 15:13:32.002 [40293/process_a_provider/211754 (pid 18823)]   File "/tmp/tmpolxsu4uf/metaflow/datastore/datastore.py", line 49,   in method
1.6107E+12 | 2021-01-15 15:13:32.002 [40293/process_a_provider/211754 (pid 18823)]   return f(self, args, kwargs)
1.6107E+12 | 2021-01-15 15:13:32.002 [40293/process_a_provider/211754 (pid 18823)]   File "/tmp/tmpolxsu4uf/metaflow/datastore/s3.py", line 168, in   save_metadata
1.6107E+12 | 2021-01-15 15:13:32.002 [40293/process_a_provider/211754 (pid 18823)]   self._put_s3_object(path, json.dumps(data).encode('utf-8'))
1.6107E+12 | 2021-01-15 15:13:32.002 [40293/process_a_provider/211754 (pid 18823)]   File "/tmp/tmpolxsu4uf/metaflow/datastore/util/s3util.py", line 37,   in retry_wrapper
1.6107E+12 | 2021-01-15 15:13:32.002 [40293/process_a_provider/211754 (pid 18823)]   raise last_exc
1.6107E+12 | 2021-01-15 15:13:32.002 [40293/process_a_provider/211754 (pid 18823)]   File "/tmp/tmpolxsu4uf/metaflow/datastore/util/s3util.py", line 21,   in retry_wrapper
1.6107E+12 | 2021-01-15 15:13:32.002 [40293/process_a_provider/211754 (pid 18823)]   return f(self, args, kwargs)
1.6107E+12 | 2021-01-15 15:13:32.002 [40293/process_a_provider/211754 (pid 18823)]   File "/tmp/tmpolxsu4uf/metaflow/datastore/s3.py", line 65, in   _put_s3_object
1.6107E+12 | 2021-01-15 15:13:32.002 [40293/process_a_provider/211754 (pid 18823)]   self.s3.upload_fileobj(buf, url.netloc, url.path.lstrip('/'))
1.6107E+12 | 2021-01-15 15:13:32.002 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/boto3/s3/inject.py",   line 539, in upload_fileobj
1.6107E+12 | 2021-01-15 15:13:32.003 [40293/process_a_provider/211754 (pid 18823)]   return future.result()
1.6107E+12 | 2021-01-15 15:13:32.003 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/s3transfer/futures.py",   line 106, in result
1.6107E+12 | 2021-01-15 15:13:32.003 [40293/process_a_provider/211754 (pid 18823)]   return self._coordinator.result()
1.6107E+12 | 2021-01-15 15:13:32.003 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/s3transfer/futures.py",   line 265, in result
1.6107E+12 | 2021-01-15 15:13:32.003 [40293/process_a_provider/211754 (pid 18823)]   raise self._exception
1.6107E+12 | 2021-01-15 15:13:32.003 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/s3transfer/tasks.py",   line 126, in __call__
1.6107E+12 | 2021-01-15 15:13:32.003 [40293/process_a_provider/211754 (pid 18823)]   return self._execute_main(kwargs)
1.6107E+12 | 2021-01-15 15:13:32.003 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/s3transfer/tasks.py",   line 150, in _execute_main
1.6107E+12 | 2021-01-15 15:13:32.003 [40293/process_a_provider/211754 (pid 18823)]   return_value = self._main(kwargs)
1.6107E+12 | 2021-01-15 15:13:32.003 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/s3transfer/upload.py",   line 692, in _main
1.6107E+12 | 2021-01-15 15:13:32.003 [40293/process_a_provider/211754 (pid 18823)]   client.put_object(Bucket=bucket, Key=key, Body=body, extra_args)
1.6107E+12 | 2021-01-15 15:13:32.004 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/botocore/client.py",   line 357, in _api_call
1.6107E+12 | 2021-01-15 15:13:32.004 [40293/process_a_provider/211754 (pid 18823)]   return self._make_api_call(operation_name, kwargs)
1.6107E+12 | 2021-01-15 15:13:32.004 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/botocore/client.py",   line 648, in _make_api_call
1.6107E+12 | 2021-01-15 15:13:32.111 [40293/process_a_provider/211754 (pid 18823)]   operation_model, request_dict, request_context)
1.6107E+12 | 2021-01-15 15:13:32.111 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/botocore/client.py",   line 667, in _make_request
1.6107E+12 | 2021-01-15 15:13:32.111 [40293/process_a_provider/211754 (pid 18823)]   return self._endpoint.make_request(operation_model, request_dict)
1.6107E+12 | 2021-01-15 15:13:32.111 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/botocore/endpoint.py",   line 102, in make_request
1.6107E+12 | 2021-01-15 15:13:32.111 [40293/process_a_provider/211754 (pid 18823)]   return self._send_request(request_dict, operation_model)
1.6107E+12 | 2021-01-15 15:13:32.111 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/botocore/endpoint.py",   line 132, in _send_request
1.6107E+12 | 2021-01-15 15:13:32.111 [40293/process_a_provider/211754 (pid 18823)]   request = self.create_request(request_dict, operation_model)
1.6107E+12 | 2021-01-15 15:13:32.111 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/botocore/endpoint.py",   line 116, in create_request
1.6107E+12 | 2021-01-15 15:13:32.111 [40293/process_a_provider/211754 (pid 18823)]   operation_name=operation_model.name)
1.6107E+12 | 2021-01-15 15:13:32.111 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/botocore/hooks.py",   line 356, in emit
1.6107E+12 | 2021-01-15 15:13:32.111 [40293/process_a_provider/211754 (pid 18823)]   return self._emitter.emit(aliased_event_name, kwargs)
1.6107E+12 | 2021-01-15 15:13:32.111 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/botocore/hooks.py",   line 228, in emit
1.6107E+12 | 2021-01-15 15:13:32.112 [40293/process_a_provider/211754 (pid 18823)]   return self._emit(event_name, kwargs)
1.6107E+12 | 2021-01-15 15:13:32.112 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/botocore/hooks.py",   line 211, in _emit
1.6107E+12 | 2021-01-15 15:13:32.112 [40293/process_a_provider/211754 (pid 18823)]   response = handler(kwargs)
1.6107E+12 | 2021-01-15 15:13:32.112 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/botocore/signers.py",   line 90, in handler
1.6107E+12 | 2021-01-15 15:13:32.112 [40293/process_a_provider/211754 (pid 18823)]   return self.sign(operation_name, request)
1.6107E+12 | 2021-01-15 15:13:32.112 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/botocore/signers.py",   line 157, in sign
1.6107E+12 | 2021-01-15 15:13:32.112 [40293/process_a_provider/211754 (pid 18823)]   auth.add_auth(request)
1.6107E+12 | 2021-01-15 15:13:32.112 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/botocore/auth.py",   line 425, in add_auth
1.6107E+12 | 2021-01-15 15:13:32.112 [40293/process_a_provider/211754 (pid 18823)]   super(S3SigV4Auth, self).add_auth(request)
1.6107E+12 | 2021-01-15 15:13:32.112 [40293/process_a_provider/211754 (pid 18823)]   File   "/home/ec2-user/setup-workspace/miniconda/envs/metaflow_AnalysisFlow_linux-64_4b7b525aec038862f563ddf6c526fef7d88b1900/lib/python3.6/site-packages/botocore/auth.py",   line 357, in add_auth
1.6107E+12 | 2021-01-15 15:13:32.112 [40293/process_a_provider/211754 (pid 18823)]   raise NoCredentialsError
1.6107E+12 | 2021-01-15 15:13:32.112 [40293/process_a_provider/211754 (pid 18823)]   botocore.exceptions.NoCredentialsError: Unable to locate credentials
1.6107E+12 | 2021-01-15 15:13:32.112 [40293/process_a_provider/211754 (pid   18823)]
1.6107E+12 | 2021-01-15 15:13:32.477 [40293/process_a_provider/211754 (pid 18823)]   Task failed.
1.6107E+12 | 2021-01-15 15:13:33.071 [40293/process_a_provider/211754 (pid 18937)]   Task fallback is starting to handle the failure.
1.6107E+12 | 2021-01-15 15:13:33.763 [40293/process_a_provider/211754 (pid 18937)] S3   datastore operation _put_s3_object failed (Unable to locate credentials).   Retrying 7 more times..
1.6107E+12 | 2021-01-15 15:13:39.179 [40293/process_a_provider/211754 (pid 18937)] S3   datastore operation _put_s3_object failed (Unable to locate credentials).   Retrying 6 more times..
1.6107E+12 | 2021-01-15 15:13:42.798 [40293/process_a_provider/211754 (pid 18937)] S3   datastore operation _put_s3_object failed (Unable to locate credentials).   Retrying 5 more times..
1.6107E+12 | 2021-01-15 15:13:49.822 [40293/process_a_provider/211754 (pid 18937)] S3   datastore operation _put_s3_object failed (Unable to locate credentials).   Retrying 4 more times..
1.6107E+12 | 2021-01-15 15:14:00.841 [40293/process_a_provider/211754 (pid 18937)] S3   datastore operation _put_s3_object failed (Unable to locate credentials).   Retrying 3 more times..
1.6107E+12 | 2021-01-15 15:14:18.866 [40293/process_a_provider/211754 (pid 18937)] S3   datastore operation _put_s3_object failed (Unable to locate credentials).   Retrying 2 more times..

@Viveckh This could be an issue with the Batch compute environment. Are you using a managed compute environment or an unmanaged compute environment?

@Viveckh This could be an issue with the Batch compute environment. Are you using a managed compute environment or an unmanaged compute environment?

I am using a managed compute environment, just the standard parameters for max_vcpus, and min_vcpus were provided for the batch.

I am using a managed compute environment, just the standard parameters for max_vcpus, and min_vcpus were provided for the batch.

@Viveckh Have you tried to terminate and re-instantiate the underlying ec2 instances? I am following up with AWS on this issue.

@Viveckh Have you tried to terminate and re-instantiate the underlying ec2 instances? I am following up with AWS on this issue.

Yes the instances that kick off the flows have been re-instantiated multiple times, and the batch instances where the errors show are of course killed and re-instantiated by batch itself, so those are often fresh every run.
This error has been around for a few months now, but lately, this seems to be our only biggest hiccup.

Yes the instances that kick off the flows have been re-instantiated multiple times, and the batch instances where the errors show are of course killed and re-instantiated by batch itself, so those are often fresh every run.
This error has been around for a few months now, but lately, this seems to be our only biggest hiccup.

Been having the same issue for a while.
Initially I suspected high disk IO during job setup (which was confirmed by the depleted Burst Balance on the attached gp2 volumes). Once we increased the burst balance the issue got less severe, but even after switching over to gp3 it didn't disappear completely.
I'm curious if it has something to do with running a lot of jobs in parallel and each downloading (and not cleaning up afterwards) the required conda packages, because the flows I'm executing don't store anything on the disk.
I'm also providing my own METAFLOW_BATCH_CONTAINER_IMAGE (miniconda-based image) and METAFLOW_BATCH_CONTAINER_REGISTRY as to not be rate-limited by Docker Hub and to decrease the amount of data we're downloading.

Been having the same issue for a while.
Initially I suspected high disk IO during job setup (which was confirmed by the depleted Burst Balance on the attached gp2 volumes). Once we increased the burst balance the issue got less severe, but even after switching over to gp3 it didn't disappear completely.
I'm curious if it has something to do with running a lot of jobs in parallel and each downloading (and not cleaning up afterwards) the required conda packages, because the flows I'm executing don't store anything on the disk.
I'm also providing my own METAFLOW_BATCH_CONTAINER_IMAGE (miniconda-based image) and METAFLOW_BATCH_CONTAINER_REGISTRY as to not be rate-limited by Docker Hub and to decrease the amount of data we're downloading.

I have been running into this issue as well.
We are writing very little to disk (~2gb at the moment) while running a parallel step with many tasks (max-workers=25) which leads to 9-10 tasks per instance.
Our step function code is running highly parallel CPU heavy operations. Does anyone have any solutions so far?

I have been running into this issue as well.
We are writing very little to disk (~2gb at the moment) while running a parallel step with many tasks (max-workers=25) which leads to 9-10 tasks per instance.
Our step function code is running highly parallel CPU heavy operations. Does anyone have any solutions so far?

@andrey-dalia , @zachary-mcpher So it looks like I wasn't the only one with the container timeout issue.
Did this start recently for you guys as well, or have you had this all along?
Also, does the botocore.exceptions.NoCredentialsError: Unable to locate credentials (visible towards the end of the error log) part happen for you guys as well after jobs running for a while?

@Viveckh from what I can tell so far these issues seem to appear when the docker daemon hangs. This can be caused by a myriad of issues but to name a few:

you are using many docker images for batch steps overwhelming the volume allocated for Docker image/metadata storage
your batch job makes significant modifications to disk storage within the container ( can cause slow-downs when ECS attempts to stop the underlying container executing your step function code)
Your batch job is running out of burst capacity
The EBS volume for your Batch Compute Environment instances is under provisioned

@Viveckh

Did this start recently for you guys as well, or have you had this all along?

I believe it started when we went from 10-15 jobs per day to ~15 jobs per hour (each job having ~8-12 steps).

Also, does the botocore.exceptions.NoCredentialsError: Unable to locate credentials (visible towards the end of the error log) part happen for you guys as well after jobs running for a while?

I've not noticed anything like that.

Hi all, usually we see these errors when your EBS is getting overwhelmed, either due to throttling or under-provisioning. I would take a look at either putting in for a limit increase or provisioning a larger volume depending on which you think it is.

@kendrexs Thanks for the reply. I agree this seems to be the issue for my case at least.
I am modifying my step code to reduce the number of steps running in parallel as each parallel step downloads a cache file (a few gb in size). Additionally, have increased the size of my EBS mount at '/dev/xvda' to 1000gb to allow for more IOPS. I'll update if this resolves the error.

Just to update, the above steps I outlined resolved the problem for me.

Bumping up the EBS volume to 500GB, and also updating metaflow to the recent version made the errors go away.
Thank you @kendrexs, @savingoyal, @zachary-mcpher
And @andrey-dalia  , you might wanna try this too.


Create 64-Minimum-Path-Sum.cpp

File(s) Modified: 64-Minimum-Path-Sum
Language(s) Used: C++
Submission URL: _https://leetcode.com/submissions/detail/781896866/_

Thanks, @Vitali-Matteo!


Can only interact with message author

Hi, first of all, thank you for this package made my work easier. But, the only thing that bothers me is the button can interact with not the message author. If you could make this so only the message author can interact with the buttons that would be awesome.

You can fork this repo and make the changes accordingly. Then install ur forked repo using npm and use. If you need help with that let me know. I'll help u doing it


[5.3] Add pick function to collection

The PR add a pick function to the Collection class which allows pulling elements by their keys, returning a new collection with passed keys.
For example,  we want to firstOrCreate a user with attributes foo, bar and zap while  using baz as an additional attribute.
// Request::all or Request::only
$data = [
    'foo' => 1,
    'bar' => 2,
    'baz' => 3,
];

$attributes = collect($data);

Traditional way:
$picked = [
    'foo' => $attributes->pull('foo'),
    'bar' => $attributes->pull('bar'),
    'zap' => $attributes->pull('zap', 'default')
];

User::firstOrCreate($picked, $c->all());

With pick:
User::firstOrCreate(
    $attributes->pick(['foo', 'bar', 'zap'], ['zap' => 'default']),
    $attributes->all()
);

The original version looks fine to me. You can use macro to add this to your own application if you want.

Thank you, @taylorotwell .


Debugger shows null on large arrays from FileAccess.get_buffer()

Godot version
4.0.beta14 and previous
System information
Windows 10 x64
Issue description
Seems the debugger shows PackedByteArray with more than ~500k elements as null
Steps to reproduce

Call var a = getbuffer(file.length()) on a random 1 MB file
Inspect a in the debugger

Minimal reproduction project
N/A

I seem to remember it was already reported, but can't find it.

Duplicate of https://github.com/godotengine/godot/issues/70493.


Fix history saving for resizing/dragging element

Fix for #290
Moving history.resumeRecording(); to onMouseUp from componentDidUpdate.
skipRecording is called in onMouseDown and onMouseMove. However, component is being updated a number of times which causes componentDidUpdate to call resumeRecording before being skipped again.

Before merging this, I wanna investigate why it regressed.

Tested the behavior before #247, and there seems to be other bug(s) unrelated to this fix:

when you undo a change N, then make a new change N+1 and undo that new one, it reverts to N-1 (which, if N change was creation, will result in removing the element altogether).

Do we want to fix this in this PR, or open a new issue?

Gonna merge this and we'll fix the other things in different PR.

Sounds good to me! You wanna open a new issue for the other things?


A huge tensor appeared while train on the kitti-MOT dataset.

I met the problem when I running ns-train using kitti dataset. It showed that a memory-boom tensor appears in /mars/nsg/data/nsg_dataparser.py. Actually, this single tensor takes about 40GB memory.  I found that this tensor was built in this code blocks:
       input_size = 0

        obj_nodes_tensor = torch.from_numpy(obj_nodes)
        # if self.config.fast_loading:
        #     obj_nodes_tensor = obj_nodes_tensor.cuda()
        print(obj_nodes_tensor.shape)
        obj_nodes_tensor = obj_nodes_tensor[:, :, None, ...].repeat_interleave(image_width, dim=2)
        print(obj_nodes_tensor.shape)
        print(image_width,'*',image_height)
        obj_nodes_tensor = obj_nodes_tensor[:, :, None, ...].repeat_interleave(image_height, dim=2)

        obj_size = self.max_input_objects * add_input_rows
        input_size += obj_size

The console log(I make some outputs about the obj_nodes_tensor):

I caculated it as follow( I'm not actually sure):
512 * 14 * 1242 * 3 * 375 * 4(dtype)=40061952000Bytes(40g)
So, were there any error operations I have made? If not, how can I deal with the highly-cost tensor since that I haven't enough cpu or gpu resource to put it in? I look forward to hearing from you soon.

Hi! Thanks for your reply! You haven't made any error operations. Maybe you can reduce the number of frames that you choose to train with and try again.

Thanks! I'll try it!


Remove duplicates examples

remove  jdbc, mqtt, pipe, rest, schema, session,trigger, udf

Sorry, I didn't find the PR at first so I did this again myself ... among other things.


allow for ca certs that contain a chain

For custom CA setups where there are intermediate certificate chains, docker modem needs to support splitting the CA certificate into an array for node.

:+1:

:+1:
Will ping when published.

Published in v0.2.7

+1 thanks @apocas


Getting 400 Bad request: "You're speaking plain HTTP to an SSL-enabled server port." error.

Hi!
I have some configuration issues on OSX Mavericks: if I try to proxy some requests to https server then I get 400 Bad request. Here is the full message:
Bad Request

Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.

I thought that if I set https option to true then the proxy will handle it. I also configured the client app server to use SSL connection and even this will result the same error:
Here is my configuration:
module.exports = {
    nodePort: 3000,
    dataSource: 'proxy',
    proxy: {
        proxies: [
            {
                context: '/test',
                host: 'localserver.lan',
                port: 443,
                https: true,
                changeOrigin: false
            }
        ]
    }
};

+1

I'm also affected by this, can't rollback to 0.1.10 because then my wss proxy doesn't work.
I found this line https://github.com/drewzboto/grunt-connect-proxy/blob/master/tasks/connect_proxy.js#L53 and the next to be a bit odd. The target should have a protocol, and secure is only about certificate validation (in the case you want to mitm the https).
Maybe this changed from previous versions of http-proxy, but I think for HTTP->HTTPS proxying you only need to have a https:// target.

+1

+1
Reverted to 0.1.10 - no issues there.

Has anyone forked and fixed this issue?

+1

The dude made a new version 14 days ago (after almost a year) and didn't fix this?

@iamchairs Feel free to send in a PR.
The new version was to fix people build which were broken.

When will this be addressed?

@SpearThruster This was mentioned October 14th. I'm guessing it won't be. We've moved to gulp and no longer have these problems.

I dug through the source code and found a simple fix:
To your proxy configuration, add protocol: 'https:'. I think I'll send a PR documenting this configuration option.

Just ran into this, lost a half-hour before finding @minznerjosh's workaround.
Works great, much appreciated.
@drewzboto Thoughts on the workaround above? Can we get this fixed?
I am available to provide any additional details as desired.

Looking through the changes between v0.2.0 and v0.1.10 I found this line:
server: httpProxy.createProxyServer({
  // ...
  secure: proxyOption.https
  // ...
})

In short, I got http => https proxying to work by setting my config like so:
{
  https: false,
  protocol: 'https:'
}

Doing it that way let me proxy my UI's api requests from http://localhost:9000/api to my api at https://localhost:8443/api. I hope that helps someone else.

:+1: on this! seriously, it sucks!

{
  https: false,
  protocol: 'https:'
}

Did the job for me.

+1 Could this please be fixed or at least be document??
Thanks @minznerjosh @mrDarcyMurphy for the solution!

same issue. while generating let'sencrypt certificate for my domain.
How to solve this?


Revert "Add snapshot copy func to Az disk"

Reverts kanisterio/kanister#563

mergify merged the PR

Moving forward....closing this PR


fix moment.parseZone()

According to https://momentjs.com/docs/#/parsing/parse-zone/, parseZone may now accept up to four arguments.
Additionally, I think someone failed to mark parseZone() static.

Actually wait, I think I need to make this for 2.3.0+


NSInternalInconsistencyException', reason: 'contentSizeInPopup should not be size zero

Please help.

@yogesh2209 you should set the contentSizeInPopup before viewDidLoad.


Fix CMake and compiler warnings

Hi @jmberg, I am coming from the aircrack-ng project where this radiotap library is being utilized. Recently I started experimenting with the aircrack radiotap code which is a fork of your implementation. I noticed some warnings which I fixed and submitted a PR where it was suggested to me to submit these changes here also.
My changes:

increased the minimum required CMake version to 2.8.12 which was released in 2013
added -D_DEFAULT_SOURCE according to this manpage:

_BSD_SOURCE (deprecated since glibc 2.20)
...
              Since glibc 2.20, this macro is deprecated.  It now has
              the same effect as defining _DEFAULT_SOURCE, but generates
              a compile-time warning (unless _DEFAULT_SOURCE is also
              defined).  Use _DEFAULT_SOURCE instead.  To allow code
              that requires _BSD_SOURCE in glibc 2.19 and earlier and
              _DEFAULT_SOURCE in glibc 2.20 and later to compile without
              warnings, define both _BSD_SOURCE and _DEFAULT_SOURCE.

added a missing (unsigned long long) cast to parse.c
suppressed a -Waddress-of-packed-member in radiotap.c, this fix is part of the aircrack codebase since Jul 23, 2020 (https://github.com/aircrack-ng/aircrack-ng/commit/44f13dbc8eb9e0d811c68c0e6668cef76b268545, https://github.com/aircrack-ng/aircrack-ng/commit/998bc121b8b648a1cba964d5be1b058acef8d5b5)

Warnings before my fixes:
$ cmake .
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 12.2.1
-- The CXX compiler identification is GNU 12.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.6s)
-- Generating done (0.0s)
-- Build files have been written to: /home/gemesa/git-repos/radiotap-library

$ cmake --build .
[ 20%] Building C object CMakeFiles/radiotap.dir/radiotap.c.o
In file included from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdint.h:26,
                 from /usr/lib/gcc/x86_64-redhat-linux/12/include/stdint.h:9,
                 from /home/gemesa/git-repos/radiotap-library/radiotap_iter.h:4,
                 from /home/gemesa/git-repos/radiotap-library/radiotap.c:14:
/usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
  194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
      |   ^~~~~~~
/home/gemesa/git-repos/radiotap-library/radiotap.c: In function ‘ieee80211_radiotap_iterator_init’:
/home/gemesa/git-repos/radiotap-library/radiotap.c:113:34: warning: taking address of packed member of ‘struct ieee80211_radiotap_header’ may result in an unaligned pointer value [-Waddress-of-packed-member]
  113 |         iterator->_next_bitmap = &radiotap_header->it_present;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 40%] Linking C shared library libradiotap.so
[ 40%] Built target radiotap
[ 60%] Building C object CMakeFiles/parse.dir/parse.c.o
In file included from /usr/include/sys/types.h:25,
                 from /home/gemesa/git-repos/radiotap-library/parse.c:1:
/usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
  194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
      |   ^~~~~~~
/home/gemesa/git-repos/radiotap-library/parse.c: In function ‘print_radiotap_namespace’:
/home/gemesa/git-repos/radiotap-library/parse.c:42:36: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘__uint64_t’ {aka ‘long unsigned int’} [-Wformat=]
   42 |                 printf("\tTSFT: %llu\n", le64toh(*(unsigned long long *)iter->this_arg));
      |                                 ~~~^
      |                                    |
      |                                    long long unsigned int
      |                                 %lu
[ 80%] Linking C executable parse
[ 80%] Built target parse
[100%] Check examples
Checking 00.bin: OK
Checking 0.bin: OK
Checking 0fcs.bin: OK
Checking 0v0-2.bin: OK
Checking 0v0-3.bin: OK
Checking 0v0-4.bin: OK
Checking 0v0.bin: OK
Checking 1.bin: OK
Checking malformed-vendor.bin: OK
Checking unparsed-vendor.bin: OK
[100%] Built target radiotap_check

After my fixes:
$ cmake .
-- The C compiler identification is GNU 12.2.1
-- The CXX compiler identification is GNU 12.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.5s)
-- Generating done (0.0s)
-- Build files have been written to: /home/gemesa/git-repos/radiotap-library

$ cmake --build .
[ 20%] Building C object CMakeFiles/radiotap.dir/radiotap.c.o
[ 40%] Linking C shared library libradiotap.so
[ 40%] Built target radiotap
[ 60%] Building C object CMakeFiles/parse.dir/parse.c.o
[ 80%] Linking C executable parse
[ 80%] Built target parse
[100%] Check examples
Checking 00.bin: OK
Checking 0.bin: OK
Checking 0fcs.bin: OK
Checking 0v0-2.bin: OK
Checking 0v0-3.bin: OK
Checking 0v0-4.bin: OK
Checking 0v0.bin: OK
Checking 1.bin: OK
Checking malformed-vendor.bin: OK
Checking unparsed-vendor.bin: OK
[100%] Built target radiotap_check

Looks like I just merged some similar things ... care to check?

Sure, I removed 2 redundant commits from this PR (which were duplicates of https://github.com/radiotap/radiotap-library/commit/2da183c275e63a44c3a56a9393e1533836762312 and https://github.com/radiotap/radiotap-library/commit/48a09c0f2e7153060a0d9f9e4166b3d18f0a85de). Please check the remaining changes.


Processing wizard for GC-MS

The amazing processing wizard doesn't currently support GC-MS data processing. I suppose it should not be difficult to add it.

@tomas-pluskal Do you mean something like this?

I think we should have a second wizard that creates a GC worklfow. The modules are quite different andit would probably complicate the LCMS wizard. Better to have a different one for that

HOw about this:

change the wizard to a PropertySheet, similar to the preferences. This allows grouping and headlining parameters.
add other workflows maybe as tabs into the same processing wizard or
add menu with different wizards

Lets not overcomplicate it. That also makes it harder to maintain for us.
Whats the problem with just making a second wizard?

which part is overcomplicating?
From my side either one works... adding tabs or just a different wizard for each workflow
The PropertySheet would be easier to maintain I think.
The wizard is kind of buggy each time we add or remove a parameter and the layout is only good on larger screens.

GC and LC require a lot more parameters
more parameters will make the layout worse on smaller screens
more parameters will throw users off that just want to make a simple workflow, which is what the wizard is for
how does adding the gc wizard to the LC-(IMS)-MS wizard fix the issue of the wizard being buggy when we add a new parameter? Does not change it or make it worse
You can only expand one accordion at a time

 name will be "LC-MS / LC-IMS-MS / GC-MS workflow" then?

@robinschmid @SteffenHeu Our current plan is to copy the existing wizard and replace the HPLC section with a new GC section. We'll reuse the MS section if possible.
This way we'll also have two menu items "LC-MS / LC-IMS-MS workflow" and "GC-MS workflow".
I do like @robinschmid ideas though. We can try to come up with a better design for a wizard with tabs and/or accordions if you are okay with that.

There would still be multiple menu items... I also want to split the workflows... so same idea there.
The only option I was asking for is if we split the tabs completely or if people should be able to switch between GC to the LC wizard. So maybe have a tab pane or a ComboBox on the top to select the wizard

i will try something now


Add exercises

These should be elaborated possibly with additional images in the documentation section.
Some ideas for programming exercises:

Make the robot stay in the sumo ring
Make the robot push the opponent
Make the robot push the opponent, but prevent escaping the sumo ring
Make the robot follow a black line (eg insulation tape) on a bright floor
Make the robot follow a white line on dark floor

Physics:

Given LiPo's current voltage and amps, calculate the remaining uptime

Networking:

Find your robot in the network using Zenmap or nmap
Using broadcast packets, synchronize blinking. Add wait packet, send packet, check if packet was received puzzle pieces to the web ui programming? Also add alert to web ui?

Some other exercises:

Ultrasonic distance sensors via I2C/SPI/whatever bus
Branding sumorobot - how to fork the Git repo, clone it, make the changes and publish customized version
WiFi scanning, finding optimal channel for sumorobots when used as access points. Measuring signal strength and signal to noise ratio.
Using left and right line following sensors on the sides to count wheel revolutions for accurately positioning robot.
Using positioning map the obstacles in the room.
Using WiFi scanning and positioning create a program that maps the WiFi signal strength in the room

Some ideas which might be impossible due to hardware limitations:

Demodulate signals from an infrared remote control and use the remote to control the robot

Maze solving with robot would be neat as well


Placeholder

Im using

Quests  3.7.8 b16
PlaceholderAPI 2.10.3
Error
When i parse %quests_player_cooldown_time_remaining_Iron_Miner%
i get blank line
No error in console
I was download QuestExpansion - Placeholder and put it in PlaceholderAPI Expansion folder and then i reloaded but still not work :0 please help me check it
( Im using default quest file )

Thanks for your report. The default Iron Miner quest does not contain a cooldown, and thus will not display anything unless you modify it to contain one.


Using other google charts methods

react-google-charts 1.5.5
react 16.0.0
Where and when methods like window.google.visualization.arrayToDataTable are available for use?

I'll be shipping a new release that provide access to window.google when it's safe.
Meanwhile you can use the getChartWrapper prop to get access to the chartWrapper, and in the callback you should be able to use window.google.visualization.arrayToDataTable without any problems.

Starting from 2.20 You can access any methods on google in getChartWrapper.
getChartWrapper is called with 2 arguments, the chartWrapper instance and google from window.
Will be adding this to the docs soon.
Cheers !


Questions regarding this crate

Hi, I have some questions regarding this crate.

In regards to comparison between Python and Rust in terms of ease of use

If I wanted to simply import an image and show an image (this image is from an opencv Python tutorial from YouTube, if I were to write the same logic in Rust using the opencv-rust crate, would it be written in a similar fashion or would it be a lot more complicated the code? If it is written in the same logic, may I have an example of how would it be written please?

Would the APIs change over time?

Hi!

The api is more or less similar. It’s actually almost identical to the C++ one (with some adaptations). So do expect some deviation from what you have in Python, but most programs can be ported to Rust trivially. The corresponding example is https://github.com/twistedfall/opencv-rust/blob/master/examples/window.rs
The API is still subject to change. Mostly it’s coming from adjusting function names and their arguments to fit Rust better.

Hi!

The api is more or less similar. It’s actually almost identical to the C++ one (with some adaptations). So do expect some deviation from what you have in Python, but most programs can be ported to Rust trivially. The corresponding example is https://github.com/twistedfall/opencv-rust/blob/master/examples/window.rs
The API is still subject to change. Mostly it’s coming from adjusting function names and their arguments to fit Rust better.

The corresponding example is https://github.com/twistedfall/opencv-rust/blob/master/examples/window.rs

Surprisingly it's not too bad. I am quite impressed given how other crates tend to be just messy af.

The API is still subject to change. Mostly it’s coming from adjusting function names and their arguments to fit Rust better.

I see, thanks mate :)

The corresponding example is https://github.com/twistedfall/opencv-rust/blob/master/examples/window.rs

Surprisingly it's not too bad. I am quite impressed given how other crates tend to be just messy af.

The API is still subject to change. Mostly it’s coming from adjusting function names and their arguments to fit Rust better.

I see, thanks mate :)

I don't expect any dramatic changes, just incremental improvements, so any breaking update shouldn't require much time to adjust.

I don't expect any dramatic changes, just incremental improvements, so any breaking update shouldn't require much time to adjust.

I see, thanks mate

I see, thanks mate


fix: Add namespace to mobile_scanner for Android

This PR adds the namespace attribute to mobile_scanner's build.gradle. The package attribute is left in the Manifest for now, as it is required for older projects that do not recognise the new namespace attribute.
The example app already had its namespace attribute set, so that is left as-is.
Fixes #602

Thanks!


Version 1.2.0 breaks syntax highlighting after backtick

1.1.3:

1.2.0:

Coming from here:
https://github.com/rescript-lang/rescript-vscode/pull/325
Looks like and analogue of this question has been asked before with no satisfactory suggestions:
https://stackoverflow.com/questions/59303371/is-there-any-way-to-skip-the-escaped-quote-inside-the-double-quoted-textmate-rul
Unless someone has an alternative suggestion, the way forward is to revert https://github.com/rescript-lang/rescript-vscode/pull/325
and live with the fact that escaped backticks break highlighting.

Turns out one of the stack overflow suggestions, to use negative-look-behind, seems to work (though the response states it does not):
https://github.com/rescript-lang/rescript-vscode/pull/346
Tried on these patterns:
let a = "abc"

Js.log(` \` ccc ${a} ddd  `)

Js.log(`a = ${a}`)

Js.log(``)

let b = 34

@cknitt would you be able to test that, and check that no other issues arise?

Yes, I will test against one of our codebases.


Topic names are hardcoded

Hello developers,
The topic names here are hard coded:
    if (use_imu) {
      NODELET_INFO("enable imu-based prediction");
      imu_sub = mt_nh.subscribe("/gpsimu_driver/imu_data", 256, &HdlLocalizationNodelet::imu_callback, this);
    }
    points_sub = mt_nh.subscribe("/velodyne_points", 5, &HdlLocalizationNodelet::points_callback, this);

So inspite of the launch file:
  <arg name="points_topic" default="/velodyne_points" />

...
      <remap from="/carla/ego_vehicle/lidar" to="$(arg points_topic)"/>
      <remap from="/gpsimu_driver/imu_data" to="$(arg imu_topic)" />

Has no effect

I dont see any effect of using the remap tag in the launch file. Dont know if this is a ROS bug or not ?

The remapping is wrong. You should do <remap from="/velodyne_points" to="/your/lidar/topic"/>

Thanks a lot. With this change and a few others I am able to run hdl_graph_slam and hdl_localization with CARLA simulation generated data.

Thanks a lot. With this change and a few others I am able to run hdl_graph_slam and hdl_localization with CARLA simulation generated data.


ensure fill_solid does not infinity-loop

Thank you for helping out with embedded-graphics development! Please:

[x] Check that you've added passing tests and documentation
[x] Add a CHANGELOG.md entry in the Unreleased section under the appropriate heading (Added, Fixed, etc) if your changes affect the public API
[x] Run rustfmt on the project
[x] Run just build (Linux/macOS only) and make sure it passes. If you use Windows, check that CI passes once you've opened the PR.

PR description
Ensure DrawTarget::fill_solid default implementation does not cause a driver to loop endlessly if they override DrawTarget::fill_congiuous without clamping the colors iterator with take or other finity enforcement.

Thanks for investigating the performance of different approaches. Can you post any rough bench numbers you have on your side?

I'm pleasantly surprised at how much better using the latest Rust is, but it's still a regression up to 35%.
It would be great to get @rfuest's input on this - are we ok making the default impl a bit slower, and does this count as a patch, minor or major release? It's up to 70% worse on our current MSRV but I don't think many people will still be on 1.40 so the 35% regression with 1.53 is probably the number to focus on.

A correct fill_contiguous must handle iterators of any length (including infinite length) and ignore any additional colors. The default implementation was intentionally implemented this way for performance reasons.

Thanks for investigating the performance of different approaches. Can you post any rough bench numbers you have on your side? I get some pretty gnarly regressions from my testing (R9 5950X, 32GB DDR4 3200MHz):

Rust 1.53 latest on mine produces a bit of a mixed bag with visible improvements on fills but some regressions in strokes it seems.
rectangle/fill          time:   [130.25 us 130.26 us 130.27 us]
                        change: [-6.8805% -6.8502% -6.8286%] (p = 0.00 < 0.05)
                        Performance has improved.

rectangle/stroke 1px    time:   [3.0334 us 3.0335 us 3.0336 us]
                        change: [-1.7940% -1.7391% -1.6949%] (p = 0.00 < 0.05)
                        Performance has improved.

rectangle/stroke 10px   time:   [28.683 us 28.684 us 28.685 us]
                        change: [+3.4750% +3.4916% +3.5064%] (p = 0.00 < 0.05)
                        Performance has regressed.

rectangle/stroke 1px and fill
                        time:   [130.94 us 130.97 us 131.01 us]
                        change: [-6.5495% -6.4650% -6.4057%] (p = 0.00 < 0.05)
                        Performance has improved.

rectangle/stroke 10px and fill
                        time:   [133.48 us 133.50 us 133.52 us]
                        change: [-4.6174% -4.5824% -4.5420%] (p = 0.00 < 0.05)
                        Performance has improved.

rounded rectangle/fill  time:   [133.93 us 133.96 us 133.98 us]
                        change: [-7.0334% -7.0103% -6.9908%] (p = 0.00 < 0.05)
                        Performance has improved.

rounded rectangle/stroke 1px
                        time:   [17.658 us 17.662 us 17.665 us]
                        change: [+0.2101% +0.2362% +0.2619%] (p = 0.00 < 0.05)
                        Change within noise threshold.

rounded rectangle/stroke 10px
                        time:   [59.649 us 59.819 us 59.929 us]
                        change: [+3.9043% +5.1282% +6.0427%] (p = 0.00 < 0.05)
                        Performance has regressed.

rounded rectangle/stroke 1px and fill
                        time:   [148.33 us 148.38 us 148.42 us]
                        change: [-5.8689% -5.3887% -4.8446%] (p = 0.00 < 0.05)
                        Performance has improved.

rounded rectangle/stroke 10px and fill
                        time:   [165.14 us 165.19 us 165.24 us]
                        change: [-3.6491% -3.3492% -3.1603%] (p = 0.00 < 0.05)
                        Performance has improved.

rounded rectangle corners/fill
                        time:   [134.66 us 134.71 us 134.76 us]
                        change: [-9.0762% -7.8052% -6.9858%] (p = 0.00 < 0.05)
                        Performance has improved.

Benchmarking rounded rectangle corners/stroke 1px and fill: Collecting 100 samples in estimated 5.4640 s (35k iteration                                                                                rounded rectangle corners/stroke 1px and fill
                        time:   [154.69 us 155.13 us 155.50 us]
                        change: [-2.1750% -1.9454% -1.7543%] (p = 0.00 < 0.05)
                        Performance has improved.

triangle/stroke 1px     time:   [456.87 us 457.75 us 458.70 us]
                        change: [+2.3145% +2.6414% +3.0275%] (p = 0.00 < 0.05)
                        Performance has regressed.

triangle/stroke 10px    time:   [876.68 us 877.65 us 878.67 us]
                        change: [+2.0277% +2.1677% +2.3110%] (p = 0.00 < 0.05)
                        Performance has regressed.

triangle/stroke 10px and fill
                        time:   [923.58 us 924.85 us 926.19 us]
                        change: [+1.1272% +1.2628% +1.3953%] (p = 0.00 < 0.05)
                        Performance has regressed.

circle/fill             time:   [126.28 us 126.68 us 127.15 us]
                        change: [-6.1625% -5.7722% -5.3839%] (p = 0.00 < 0.05)
                        Performance has improved.

circle/stroke 1px       time:   [32.924 us 33.024 us 33.130 us]
                        change: [+3.2403% +3.5934% +3.9855%] (p = 0.00 < 0.05)
                        Performance has regressed.

circle/stroke 10px      time:   [67.261 us 67.330 us 67.462 us]
                        change: [+1.0565% +1.1645% +1.2707%] (p = 0.00 < 0.05)
                        Performance has regressed.

circle/stroke 1px and fill
                        time:   [136.98 us 137.00 us 137.03 us]
                        change: [-3.9424% -3.9254% -3.9048%] (p = 0.00 < 0.05)
                        Performance has improved.

circle/stroke 10px and fill
                        time:   [154.38 us 154.41 us 154.44 us]
                        change: [-2.3562% -2.3348% -2.3069%] (p = 0.00 < 0.05)
                        Performance has improved.

ellipse/fill            time:   [104.70 us 104.72 us 104.74 us]
                        change: [-6.5867% -6.5243% -6.4808%] (p = 0.00 < 0.05)
                        Performance has improved.

ellipse/stroke 1px      time:   [21.335 us 21.339 us 21.343 us]
                        change: [-1.0927% -1.0486% -1.0091%] (p = 0.00 < 0.05)
                        Performance has improved.

ellipse/stroke 10px     time:   [48.659 us 48.668 us 48.677 us]
                        change: [-1.6885% -1.6655% -1.6420%] (p = 0.00 < 0.05)
                        Performance has improved.

ellipse/stroke 1px and fill
                        time:   [114.41 us 114.42 us 114.44 us]
                        change: [-5.0145% -4.9555% -4.9196%] (p = 0.00 < 0.05)
                        Performance has improved.

ellipse/stroke 10px and fill
                        time:   [125.69 us 125.73 us 125.77 us]
                        change: [-3.4720% -3.3552% -3.2852%] (p = 0.00 < 0.05)
                        Performance has improved.

polyline/stroke 1px     time:   [6.3908 us 6.4041 us 6.4167 us]
                        change: [+1.4585% +1.7366% +2.0146%] (p = 0.00 < 0.05)
                        Performance has regressed.

polyline/stroke 10px    time:   [1.0953 ms 1.0986 ms 1.1019 ms]
                        change: [+2.7533% +3.0845% +3.3933%] (p = 0.00 < 0.05)
                        Performance has regressed.

polyline/stroke 50px    time:   [2.6016 ms 2.6048 ms 2.6081 ms]
                        change: [+1.3026% +1.4598% +1.6102%] (p = 0.00 < 0.05)
                        Performance has regressed.

sector 360°/stroke 10px and fill
                        time:   [430.67 us 430.69 us 430.73 us]
                        change: [-1.7118% -1.4836% -1.3328%] (p = 0.00 < 0.05)
                        Performance has improved.

Given the regressions on different hw configurations I think this PR might be better way to go about this.

I'm leaning that way too, but thanks for taking a look at different impls anyway though!


Consistent error reporting

Experiment on whether we can replace Logs.on_error_msg with something that uses our own logging functions and is more consistent. We had some ordering issues so this should help.

Yes, I realized that the error message is emitted on stderr which is unaffected by the | grep thus depending on I guess the interplay of shell, grep and libc the way they are output can be different. Piping all of it into stdout simplifies that a bit because it is at least the same channel and gets processed by grep.


Salt repo for Centos 6 needs pygit2 or gitpython added to it

The latest version of the salt repo on Centos uses it's own version of python27, so  installing pygit2 or gitpython installs for python26. The salt repo needs to have one of these python modules added to it.
What led me to this issue was syncing winrepo
# salt-run winrepo.update_git_repos
[INFO    ] Executing command ['git', '--version'] in directory '/srv/salt'
[INFO    ] Checking remote revision for https://github.com/saltstack/salt-winrepo.git
Exception occurred in runner winrepo.update_git_repos: Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/salt/client/mixins.py", line 392, in _low
    data['return'] = self.functions[fun](*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/salt/runners/winrepo.py", line 207, in update_git_repos
    force_reset=True)
  File "/usr/lib/python2.7/site-packages/salt/states/git.py", line 701, in latest
    saltenv=__env__)
NameError: global name '__env__' is not defined

Definitely needs to get this resolved somehow.  I can't upgrade to 2018.03 without GitPython or pygit2 for Python 2.7, and the workarounds with pip2.7 I've found are not working.

@josemine Going to look into porting gitPython to Python 2.7 for Redhat 6, and if no issues, it should be available by the next point release

@josemine Have ported libgit2 and pygit2 to Redhat 6 using Python 2.7 and should be available with the next point release which is not too long off.


Remove long deprecated LEGACY_CACHE_DIR

The cache location was deprecated in
2335cd950fec2b79c7b9f1940dc842f098b79227 (July 23, 2015) with a
migration strategy. That is over 5 years for users to adjust and
migrate, plenty of time to run pip-tools at least once.
This removes code to maintain and unnecessary filesystem checks on every
run.

Remove deprecated LEGACY_CACHE_DIR and migration code.
Changelog-friendly one-liner:
Contributor checklist

[ ] Provided the tests for the changes. (n/a)
[x] Gave a clear one-line description in the PR (that the maintainers can add to CHANGELOG.md on release).
[x] Assign the PR to an existing or new milestone for the target version (following Semantic Versioning).

This would technically be a breaking change so I've assigned it to milestone 6.0.0. There is no rush to merge it if we'd like to collect other breaking changes first.


Hold on to the lock while calling grpc_pollset_shutdown() on the backup poller

Caught this while auditing the code. The document says we should have the lock
when calling grpc_pollset_shutdown().

Thank you @vjpai and @yashykt !
Still tool failures. Force-running once more.

Hi @soheilhy : do you still want to put this in? It's been a while since approval; looks like it needs regen projects done.

Sorry for the delay @vjpai ! I rebased and there is a bug in Atomic template functions because they would be used only here. Sorry about that. I'm happy to send those as separate patches if you'd prefer that.

Sorry for the delay. I couldn't submit due to tool failures. I'll retry.

This one PR somehow always fails the tests, so I think I should just give up and keep it as is. :-)


computation.occurrences() output not as expected

I set QPU parameter answer_mode=histogram and submit a problem with several ground states, I expected to see the result returned in a histogram with ~4 occurrences buckets, similar to what results through SAPI:

The resultant samples have repetitions (e.g. 3rd and 4th) but occurrences are always 1:
In [690]: with Client.from_config() as client:
     ...:   solver = client.get_solver()
     ...:   solver.parameters['answer_mode']='histogram'
     ...:   quad = {(16, 20): -1, (17, 20): 1, (16, 21): 1, (17, 21): 1}
     ...:   computation = solver.sample_ising({}, quad, num_reads=20)
     ...:   for i in range(len(computation.occurrences)):
     ...:       print(computation.samples[i][16],computation.samples[i][17], computation.samples[i][20], computation.sa
     ...: mples[i][21], ' --> ', computation.energies[i], computation.occurrences[i])
     ...:
(-1, 1, -1, 1, ' --> ', -2.0, 1)
(-1, -1, -1, 1, ' --> ', -2.0, 1)
(1, -1, 1, -1, ' --> ', -2.0, 1)
(1, -1, 1, -1, ' --> ', -2.0, 1)
(1, -1, 1, -1, ' --> ', -2.0, 1)
(1, -1, 1, 1, ' --> ', -2.0, 1)
(-1, 1, -1, -1, ' --> ', -2.0, 1)
(1, -1, 1, 1, ' --> ', -2.0, 1)
(1, -1, 1, 1, ' --> ', -2.0, 1)
(-1, -1, 1, 1, ' --> ', -2.0, 1)
(1, -1, 1, -1, ' --> ', -2.0, 1)
(-1, 1, -1, -1, ' --> ', -2.0, 1)
(1, 1, -1, -1, ' --> ', -2.0, 1)
(-1, -1, -1, 1, ' --> ', -2.0, 1)
(-1, 1, -1, 1, ' --> ', -2.0, 1)
(-1, -1, 1, 1, ' --> ', -2.0, 1)
(1, 1, -1, -1, ' --> ', -2.0, 1)
(1, 1, 1, -1, ' --> ', -2.0, 1)
(1, 1, 1, -1, ' --> ', -2.0, 1)
(1, -1, 1, 1, ' --> ', -2.0, 1)

@randomir don't spend time on this for now, I think I've isolated the problem to downstream from the SAPI interface. I'll verify and if yes, I'll open a Jira ticket instead

@JoelPasvolsky yup, that sounds about right. No post-processing of occurrences is done by our client.

@randomir, I talked to Marshall and he thought it likely a client-side problem after all and suggested I try submitting with the old SAPI client. He's right, it works with the old client:
import dwave_sapi2
from dwave_sapi2.remote import RemoteConnection
url = 'https://cloud.dwavesys.com/sapi'
token = 'DWV-
conn = RemoteConnection(url, token)
print conn.solver_names()
['remote-exec', 'DW_2000Q_1', 'c4-sw_optimize', 'DW_2000Q_VFYC_1', 'c4-sw_sample', 'remote-exec-short', 'BAY14_X_INTERNAL']
solver = conn.get_solver("DW_2000Q_1")
from dwave_sapi2.core import solve_ising
answer = solve_ising(solver,{}, {(16, 20): -1, (17, 20): 1, (16, 21): 1, (17, 21): 1}, num_reads=20, answer_mo
de='histogram')
answer['num_occurrences']
[2, 3, 5, 2, 2, 2, 4]

The difference between the old SAPI client and Cloud Client is that the former submits only the problem's active qubits:
Data
-----
2048 8
16 16 0.0
17 17 0.0
20 20 0.0
21 21 0.0
16 20 -1.0
17 20 1.0
16 21 1.0
17 21 1.0

But Cloud Client submits all active qubits but with zeros for non-problem qubits:
Data
----
2048 8064
0 0 0.0
1 1 0.0
2 2 0.0
3 3 0.0
SNIPPED (only non-zero biases are for the problem qubits)

See more info under Jira CS-256


Feature/delete service stats endpoint

New endpoint to delete stats in internal API
DELETE /internal/services/#{service_id}/stats

Request body
{
  "deletejobdef": {
    "applications": ["1"],
    "metrics": ["5"],
    "from":<PHONE_NUMBER>,
    "to":<PHONE_NUMBER>,
    "users": ["1"]
  }
}

ping @unleashed @davidor

all coments resolved. Ready for a new review @davidor

@eguzki , I added a couple of comments. The rest looks good to me.


Backwards compatibility for FFLogs calculated events change

Hook both calculated damage/heal events and "base" damage/heal events.  If we see a calculated event (which occurs at same timestamp as corresponding cast event and will always be before the damage/heal event), stop listening for base events, since this is a new log.

Per discussion with ack on discord, changed approach to be more normaliser based, new fflogsEvent normaliser will allow modules to hook damageEventName or healEventName from that normaliser to get the correct event name depending on if log is before or after calculated events.


How the hell does this work

Hello it may be a simple fix but i do not understand how the hell this works please someone help me.

This isn't even finished. Are you trying to help us develop the mod or just play it?

Oh i was trying to play this because of a vid on yt but thanks ig


There is no possibility to add custom type for standalone-price

Hello,
As ResourceTypeId type doesn't include yet 'standalone-price' it is not possible to add a custom type for it using typescript SDK.
See https://github.com/commercetools/commercetools-sdk-typescript/blob/master/packages/platform-sdk/src/generated/models/type.ts#L266
Thanks.
PR Link

This is done and will be available in the next release.
Thanks


handle_tool_error in @tool decorator

Feature request
we have the @tool decorator and the Tool.from_function function.
But they are (or seem to me) inconsistent. The kwargs handle_tool_error and return_direct are only available in Tool.from_function .
Shouldn't be available in both?
Shouldn't be @tool just a mirror of Tool.from_function ?
Motivation
I want to be able to do @tool(handle_tool_error=True)
Your contribution
If this is not me just reading wrong the docs. And needs development, happy to do a PR

In the same boat here, this would be a valuable addition

still not consistent, any workaround?

because handling exceptions is a good coding practice, would be good to add hanndle_tool_error as a valid tool decorator annotation.


minor edits

typos and such

Hi Sara,
It seems that there is some confusion in github. This is an old fork of the eudat training repository. It is unfortunately not up to date.
The repo in which we are currently developing is this one:
https://github.com/EUDAT-Training/B2SAFE-B2STAGE-Training/tree/develop
Could you have a look at that?
I am sorry that you invested all the time in the old fork, I hope it did not cost you too much time.
Regards,
Christine

Hi Christine,
Aaah, Thanks for the clarification, I saw at some point that your name was in some of the url's an not in others and thought that was strange ... I get it now.
And that's why the file looked different, I could've sworn I had read it before and there were no typos!
No worries, I didn't really spend much time on that one.
Will keep to the right version from now on.
Best,
Sara


[Build System] compling with MSVC (14.3) is verbose

Godot version
master
System information
Win 11
Issue description
Debug output, incase it's specific to a certain MSVC version:
c:\Dev\godot>scons separate_debug_symbols=true debug_symbols=true
scons: Reading SConscript files ...
Automatically detected platform: windows
Auto-detected 12 CPU cores available for build parallelism. Using 11 cores by default. You can override it with the -j argument.
Found MSVC version 14.3, arch x86_64
Building for platform "windows", architecture "x86_64", target "editor".
Checking for C header file mntent.h... no
scons: done reading SConscript files.
scons: Building targets ...
[  0%] Compiling platform\windows\console_wrapper_windows.cpp ...
[  0%] console_wrapper_windows.cpp
[  3%] Compiling main\main.cpp ...
[  3%] Compiling main\main_timer_sync.cpp ...
[  3%] Compiling main\performance.cpp ...
[  3%] main.cpp
main_timer_sync.cpp
performance.cpp

(weirdly the logs shows it in order, the real output looks like this:

)
the lines without the [ x% ] are the output of MSVC, apparently.
Doesn't happen when using MinGW/gcc/linux.
Using "debug_symbols=true" or "separate_debug_symbols=true" is irrelevant, it happens even without them.
Low priority as it's just a "optics" thing (and possibly increasing build log size)
Steps to reproduce

Have MSVC
Compile godot (master) from source.

Minimal reproduction project
N/A

Hi,
I'm still going through the Godot source code, as per my understanding, In the SConstruct file, the below code is executed :
https://github.com/godotengine/godot/blob/218bef90af2091afde3b1be816c87286c194a2a8/SConstruct#L955-L960
which calls the below code
https://github.com/godotengine/godot/blob/218bef90af2091afde3b1be816c87286c194a2a8/methods.py#L1034-L1047
and somewhere, these variables are being called as well
https://github.com/godotengine/godot/blob/218bef90af2091afde3b1be816c87286c194a2a8/methods.py#L533-L556
After going through the file, could it have something to do with the flush() in methods.py ?
As per my understanding ( ref. Link 1 & Link 2 )

sys.stdout.flush() forces it to “flush” the buffer, meaning that it will write everything in the buffer to the terminal, even if normally it would wait before doing so.

Since screen in sys.stdout, maybe when the screen.flush() is called in method.py, it is outputting what's in the buffer ($SOURCE) at the time flush() method is called ?

I rather think that this is due to the compiler (the MSVC one) doing that by default - i.e. if you compile a file by hand it also shows the filename as an output.
I actually found a thread on the thread on the Dev Community by @aaronfranke (https://developercommunity.visualstudio.com/t/allow-having-clexe-not-print-the-compiled-source-f/717761) from 2019 - seems like this is a known issue right now, not much we can do. People suggested prehaps redirect stdout (>NIL), but I fear it may also affect warnings (or errors)...

Yup, this is not a Godot bug, this is a bug with MSVC. Please share that link and get your friends to upvote it :)


Language Update & little code refactoring #36

Complete german translation.
Small refactorings due to use t() statement.

This looks fantastic, thanks for your work here! I reckon there's just a couple of things to adjust or clarify.

Ok, no problem. i'll do so.

Any chance you can make the little update to the file single_pages/dashboard/store/orders.php as suggested by Remo and I?  It would be great to merge this in!


.eslintrc.js node .js import resolver to fix webstorm eslint error

Wish I had a good answer for why this fixes the eslint error described here, but it does.

I honestly couldnt understand some SurmaAas comments there. It seems like there is another problem apart from this :) Any idea? I dont work on windows OS and webstorm at all so can't really reproduce any of it

@Can-Sahin I'm sorry but I don't have much insight on this one either.
I'm using Webstorm on Ubuntu and I am able to reproduce the error when I am working on a project that has multiple node_modules directories.
For me the error also seems to pop up when working from the command line.
I also noticed that my fix of just adding .js to the extensions wasn't enough, I had to add .ts, .tsx to the extensions as well earlier today.

Ok can you update your PR including ts tsx extensions. Currently there is only js. (I was going to ask why don't we need ts :))

@Can-Sahin should be good now.
It would be nice to get someone with a little more familiarity with the .eslintrc.js config to shed some light on why this is happening.


Latest update (1.4.4) breaks the app

 /Applications/Kotlin\ Explorer.app/Contents/MacOS/Kotlin\ Explorer
Exception in thread "main" java.lang.IllegalStateException: DecoratedWindow can only be used on JetBrainsRuntime(JBR) platform, please check the document https://github.com/JetBrains/jewel#int-ui-standalone-theme
        at org.jetbrains.jewel.window.DecoratedWindowKt.DecoratedWindow(DecoratedWindow.kt:65)
        at dev.romainguy.kotlin.explorer.ComposableSingletons$KotlinExplorerKt$lambda-2$1$2.invoke(KotlinExplorer.kt:594)
        at dev.romainguy.kotlin.explorer.ComposableSingletons$KotlinExplorerKt$lambda-2$1$2.invoke(KotlinExplorer.kt:593)
        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jb.kt:107)
        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jb.kt:33)
        at org.jetbrains.jewel.intui.standalone.theme.IntUiThemeKt$IntUiTheme$2$1.invoke(IntUiTheme.kt:228)

New release github action uses Zulu JDK 17. Is this because of that as jewel requires JBR ?

This might be the reason for https://github.com/romainguy/kotlin-explorer/pull/60#discussion_r1641789635.
Cause the Jebrains runtime setup on CI is blocked by https://github.com/actions/setup-java/issues/399, fallback to using toolchiain like
https://github.com/romainguy/kotlin-explorer/blob/84ca3266ff31a8800e18f5edd98dba9f71718efc/build.gradle.kts#L32-L35
From your stacktrace, seems Jebrains runtime is not correctly used.

The thing is, compose desktop gradle plugin should honor jvmToolchain when using jpackage and seems like that's not happening. May be setting javaHome explicitly from jvmtoolChain might help.
val defToolchain = extensions.findByType(JavaPluginExtension::class)?.toolchain
val javaToolchainSvc = extensions.findByType(JavaToolchainService::class)
val javHome =  javaToolchainSvc?.launcherFor(defToolchain).?.metadata?.installationPath?.asFile?.toPath()

compose {
  desktop {
    application {
       javaHome = ...
     }
  }
}

I just changed the workflow because it was not generating release DMGs (they were not going through proguard). I haven't tested the output in CI yet but it might fix this issue.

I tried, seems it doesn't work enough.

https://github.com/Goooler/kotlin-explorer/commit/9a2110e24676bfaf3a83f92955630b73dd1e851f
https://github.com/Goooler/kotlin-explorer/actions/runs/9573942833

You can download the dists from the second link above.

Indeed it doesn't work either. But it works when I run the same task locally.

Actually I can open distribution-macos-12 (built on x64 Mac) but distribution-macos-latest (built on arm64 Mac) on my M3 MBP. So wired!

Fixing in #62.


[Server] Platform detect func improvement

Notes for Reviewers
This PR fixes platform detection function used for adapter (de)provisioning
Signed commits

[X] Yes, I signed my commits.

@Azanul Let's discuss this on the Meshery Dev call. Please add this as an agenda item in the meeting minutes if you would. :)

@Azanul There is some lint issues, can you take care of this?

@Azanul There is some lint issues, can you take care of this?

Done


Reduce number of columns?

Hey there!
Have been playing around with this awesome repo today for an app that I am developing. Loving the feel and ease of use, neat scrolling capabilities and the limitless design flexibility that it offers, but would love to know what the best way to modify the column count down so that it displays only 5 cell's across (as each cell is intended to be a tappable UIImageView (with the date and day of week being specified as label on top). Understandably this will satisfy with the 6 row limit for most rows, but will come up short during months with 31 days as it will need that extra 7th row. The app will not require any day initials as all day and date information will be provided inside the cells themselves.
Don't imagine that this is by any means a common issue, and so would not be expecting any changes to be made on my behalf, but any information about changes that I would need to make to the existing code, where and what type of thing would be really awesome.
Thanks for your time.
Harry

I have not really looked into the changes needed for a 5 column calendar, so honestly, i would not even know where to begin to explain it to you.
But the concept does sound interesting. Can you tell me how your calendar would look if there is an extra day?

Thanks for getting back to me! Yeah sure, here is a screenshot example for our current month (but treating the 31st as 'today'. As this calendar is supposed to appear in 'reverse', going down the page from current into the past, it is the 1st December that appears on it's own 7th line, next to empty placeholders. It would be a vertical scroller, allowing users to scroll BACK through months in time and up to current month. Obviously then when new month begins, this would then be the new 'current' month, and the previous month (December in our case) would then be viewable by scrolling down.

Sure what I am looking for is bordering on not being what this awesome repo was designed for, but really like it's feel so am going to try and work it in if in any way possible.
Thanks,
Harry

Ok from the image you have provided, it looks like you're still keeping saturday and sunday.
I thought when you said "5-row calendar", that you were going to remove the weekends. But if what you want is the exact same dates, then It might not be so difficult as i first thought.
It will be do-able (i think), but not crazy difficult.
One thing is certain though: I certainly wont be able to look into it right now as I am working on another update for this cal.

One thing though, since your layout is simple, this might actually be faster to do if you create your own UICollectionView.

Okay! This is good news to my ears.
I completely understand if there is a delay in any looking through for solutions on your behalf as this definitely will not be what the majority of those implementing this calendar will be looking for in terms of functionality and styling, but yeah if at any point you are able to chuck any suggestions across then that would be much appreciated. I am playing around with the source code in my own project to find an answer, and will continue to do so in the mean time.
I was actually considering creating a specific collection view for this project to get this done, but having never dealt programmatically with calendars and calendar entries etc before, finding a way of solving the gap in my knowledge seemed like the best way to bridge the problem. Empty entry dates etc seemed to be the crux of my problem and how to overcome it, but i'm sure it's only a matter of time until it clicks in my head haha.
Thanks for all the assistance so far, and any that you can offer going forward.
Best,
Harry

closing this.
i'll track this here -> https://github.com/patchthecode/JTAppleCalendar/projects/2


Added cropping to decode method

Here is my attempt to add cropping to the JPEGDEC decode function.  Im not sure if it is the best approach, but it appears to be working (aside from one issue which i will outline below*).
Just a reminder I am using an esp32-cam to capture jpeg images at 400x296 and display them "centered" on a 320x240 display. eg: x=40, y=28, width=320, height=240
If i simply run that full sized image through the decode function it comes in at 13.5 fps.
With my code where I was pruning pixels in the jpeg draw callback and was getting 15.6 fps.
And now with this new cropping code, I am getting 17 fps.
One thing that tripped me up was that it appears you have to run the JPEGDecodeMCU function on all blocks (even ones that are skipped) in order to move ahead through the jpeg data.  I ended up creating a simple function called JPEGSkipMCU to handle this.  Perhaps there is a cleaner way to jump/skip data in a jpeg, but I am not well versed in jpeg decoding.
*One issue I did encounter is if i tried to crop and display lower rows of pixels beyond a certain point I would get nothing on the display.  (For example if I tried to crop with the following settings: x=0, y=392, width=320, height=8).  It seemed to point to JPEGDecodeMCU throwing an error on line 1708:
usHuff = pFast[ulCode];
if (usHuff == 0) // invalid code
     return -1;

This only seems to happen when I set the y position of the crop above 70 or 80, which means i was skipping over lot of MCU's initially.  Im not exactly sure why this is happening, but perhaps I am not updating something important in my JPEGSkipMCU function.
Any help here would be appreciated, especially if there is a simpler method to skip over parts of a jpeg without breaking the decode process.
And finally i just wanted to thank you for a great library!  It's clear from walking through your code that you have put a lot of time, energy and understanding into it.  Hopefully this will help add some further functionality to an already great library.
Cheers!

After some more sniffing around in the codebase as well as some research into huffman decoding, i was able to find the source of the y origin cropping bug mentioned in the initial PR message.

I came here looking for something similar, but in my case I am simply placing the image at negativ coordinates if it is to big. The draw function doesn't draw anything outside the screen anyway, so I was just wondering if parts in the negativ can be skipped. But I also like this approach and would love to see this (or something similiar) to get merged!

I'm going to add an optimized crop function which accelerates the decoding of skipped blocks. These changes are not compatible with my idea.


~ keybinding conflict

~ currently opens a vsnetrw explorer when pressed in a text editor. This shortcut should only be active when inside an explorer.

Turns out this was just a conflict in my local vscode vim configuration.


INSMutallyExclusiveCondition petty fix

It is typo...
Mutually, not Mutally.
It is just my OCD, or better yet - CDO (sorted ascending).
br
Igor

I just realised it today also.. Thanks for issue!

also some methods have these kind of typos

Can you make pr for it ?


Slack oauth authentication scopes

I'm running into a problem using the Slack OAuth2 authentication.
Firstly, the documentation at http://psa.matiasaguirre.net/docs/backends/slack.html says that "also it’s possible to define extra permissions with" SOCIAL_AUTH_SLACK_SCOPE. This implies providing this variable is optional.
However, if I don't set this variable or if I set it to an empty list, Slack gives me the following error: OAuth Error: blank_scope: Requested scopes cannot be blank.
If I set SOCIAL_AUTH_SLACK_SCOPE to ['identify'], the authentication does work and a user is created. However, the user is completely devoid or any details, with an empty name, e-mail, etc to the point where this causes errors in Django admin. I'm guessing this is because no user details were obtained due to the lack of scopes identity.basic, identity.email, as per https://api.slack.com/docs/sign-in-with-slack.
But I set the value to include additional options, such as ['identify','identity.email'] or any other identity. values whatsoever alongside identify, I also get the following error from Slack: OAuth Error: invalid_scope: Cannot request both identity scopes and other scopes at the same time.
Really having trouble getting this to work, need some help (and believe the documentation needs some serious revisions).

Additionaly, I just found out that if I just use identify as the scope the Django user is incorrectly created with no name, e-mail or any other properties. And that causes errors in Django admin and elsewhere.

Ok, I was finally able to make this work by setting SOCIAL_AUTH_SLACK_SCOPE to ['identity.basic'], however the first name, last name and e-mail address are not being set on the Django user even if I add identity.email. Any ideas on what might be going on?

Ok, after much investigation I was able to determine that the default implementation of Slack OAuth was not correctly getting the user details since it was trying to use the users.info operation instead of users.identity which is recommended in the Sign In with Slack documentation.
So I implemented a subclass that works for me and allows me to properly obtain the user name and e-mail. Plus, it allows authentication to be restricted to a configurable list of Slack teams, since in my case this was a needed feature:
from social.backends.slack import SlackOAuth2

class FixedSlackOAuth2(SlackOAuth2):
    DEFAULT_SCOPE = ['identity.basic', 'identity.email']

    def get_user_details(self, response):
        retval = {}

        if 'name' in response['user']:
            retval['fullname'] = response['user']['name']
            s = retval['fullname'].split()
            retval['first_name'] = s[0]
            if len(s) > 1:
                retval['last_name'] = ' '.join(s[1:])

        if 'email' in response['user']:
            retval['email'] = response['user']['email']

        retval['username'] = '{0}:{1}@slack'.format(response['user']['id'], response['team']['id'])

        return retval

    def user_data(self, access_token, *args, **kwargs):
        user_identity = self.get_json('https://slack.com/api/users.identity', params={'token': access_token})
        user_identity['id'] = user_identity['user']['id']
        user_identity.pop('ok', None)
        return user_identity

    def auth_allowed(self, response, details):
        """Return True if the user should be allowed to authenticate, by
        default check if email is whitelisted (if there's a whitelist)"""
        teams = self.setting('ALLOWED_TEAMS', [])
        if not teams:
            return True
        elif 'team' in response and 'id' in response['team']:
            return response['team']['id'] in teams
        else:
            return False

I've updated the Slack backend in the social-core module.


Update docs to explain the hoist lift trick

Writing intermediate transformations or lenses is cumbersome because of the need to do explicit state-passing.  Normally, you'd want to simplify this using StateT, however the problem is that you don't get a type suitable for Parser.  The type you want is:
StateT (Producer a m x) (Producer b m) r

... but that doesn't unify with Parser, so you can't embed Parsers within such a StateT block.
However, the solution is simple: you can wrap any Parser in hoist lift and then it will have the correct type:
parser :: StateT (Producer a m x) m r

hoist lift parser :: StateT (Producer a m x) (Producer b m) r

Then you can write transformations/lenses using StateT to manage all state-passing and still embed parsers within those blocks.
This ticket is to remind myself to update the documentation to explain this trick and to update the source code to use this trick, too.

I find that you end up encountering this pretty often in practice. It would be great if the documentation were better here.


[Bug] can't execuate truncate sql

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
doris 2.1.6
What's Wrong?
I use mybatis-plus in my project, and use  "truncate table table_a " in mapper.xml file, when I tigger parent method to execuate this sql, it accour error, but in my single test methods, it can executed success. with my tigger with xxl-job,:
@Autowried
private dbService servide;
service.clean(); in service.clean(), autowried mapper,
detailMessage = Only support prepare SelectStmt or NativeInsertStmt|Time(ms)=1|ScanBytes=0|ScanRows=0|ReturnRows=0|StmtId=3998558|QueryId=527c90c2b9ae4b15-a57834112407554b|IsQuery=false|isNereids=false|feIp=<IP_ADDRESS>|Stmt=truncate table tttt;
What You Expected?
clean all data in table
How to Reproduce?
test interface with truncate table case
Anything Else?
no
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

could you share more details about the usage in single test methods and mapper.xml

could you share more details about the usage in single test methods and mapper.xml

my service method:
public void cleanAllData() {
cityRegisterRateMapper.cleanAllData();
}
my mapper interface :
void cleanAllData();
my mapper xml file :

truncate table table_a


2.1-stable: compile binds before caching the query…

… otherwise the cached query will never match the unboud query
Currently, with database caching on, a query such as:
$this->db->query('SELECT `fields` FROM `table` WHERE `key` = ?', array('value'));

will check the cache for
SELECT `fields` FROM `table` WHERE `key` = ?

then perform the bind, then cache the query as
SELECT `fields` FROM `table` WHERE `key` = 'value'

My change simply moves the bind above the cache check so the cached query is actually found.
New pull request for the 2.1-stable branch.

By default a pull request is set for the develop branch, you have to manually select 2.1-stable while on the submit form.


Fix #116: --spec local path issue on Windows

@fogine would you like to review this patch?

@eliangcs I've managed to successfully test the fix on both Windows/Linux systems. Haven't stumbled upon a problem. May be merged. Thanks.


How to check current window size?

As we know user can change the window size, so what I want is, whenever user changes the window size, I can check whether it is not too small or big according to my UI, and after certain point, the window does not change (became smaller)
Desktop (please complete the following information):

OS: [Windows]
Browser [Chrome]

Hey @sohelshekhIn,
As far as I can understand from your issue It can be easily solved by introducing JavaScript snippet in your UI part of the code.
window.onresize = function (){     if (window.outerWidth < 1200 || window.outerHeight < 800){         window.resizeTo(1200, 800);     } }
In the above case I avoided the size of screen to be less than 1200 X 800.
Hope it helps. Happy coding