perf: cache-friendly MemoryCell

Refactors MemoryCell to store a simple [u64; 4] to use the cache more appropriately.
This structure is now a fixed 32 bytes with 32 bytes alignment, meaning any given cell
in the VM memory will never be split across two different cache lines, and eviction will
be minimized in virtue of being the optimal size for a Felt of 252 bits.
The cost of this change is no longer being able to extract the MemoryCell value as a
simple reference, but requiring a conversion for the "normal" MaybeRelocatable, that
is, it implies extra computation and extra copying to extract values. This behaves well
for Lambdaworks where the data is inline in the array, but quite a hit for the BigUint
implementation, which now allocates and frees memory much more often.
Upgrading is recommended only when using Lambdaworks. The tradeoff is deemed acceptable
since only the Lambdaworks (actually types-rs) implementation is preserved for the
1.x branch.
Checklist

[ ] Linked to Github Issue
[ ] Unit tests added
[ ] Integration tests added.
[x] This change requires new documentation.

[ ] Documentation has been added/updated.
[x] CHANGELOG has been updated.

Already merged #1672


Problem handling local structured property kind without keys

According to: https://cloud.google.com/appengine/docs/python/ndb/properties#structured
Local structured properties do not require keys and AppEngine appears to be fine with this.
Unfortunately, the gcloud-python library expects keys for every entity, even if they're local structured ones.
My work around is to update my entities in AppEngine to provide dummy keys, however, it would be nice if the library supported it natively.
gcloud/datastore/helpers.pyc in entity_from_protobuf(pb)
     46     :returns: The entity derived from the protobuf.
     47     """
---> 48     key = key_from_protobuf(pb.key)
     49     entity_props = {}
     50     exclude_from_indexes = []

gcloud/datastore/helpers.pyc in key_from_protobuf(pb)
    103         namespace = pb.partition_id.namespace
    104
--> 105     return Key(*path_args, namespace=namespace, dataset_id=dataset_id)

gcloud/datastore/key.pyc in __init__(self, *path_args, **kwargs)
     74         # _flat_path, _parent, _namespace and _dataset_id must be set before
     75         # _combine_args() is called.
---> 76         self._path = self._combine_args()

gcloud/datastore/key.pyc in _combine_args(self)
     131         :raises: :class:`ValueError` if the parent key is not complete.
     132         """
--> 133         child_path = self._parse_path(self._flat_path)

gcloud/datastore/key.pyc in _parse_path(path_args)
      92         """
      93         if len(path_args) == 0:
---> 94             raise ValueError('Key path must not be empty.')

ValueError: Key path must not be empty.

@twumdjin Thanks for filing! It was actually filed a few days ago as #616 and fixed in #617. You can use the newest version via
pip install git+https://github.com/GoogleCloudPlatform/gcloud-python

or wait for the next release.
I am considering cutting a 0.4.1 release tomorrow.

Also @twumdjin thanks for using the library and caring enough to give feedback!

Thanks for the really quick response Danny!
I was very glad I found this library, I was in the process of porting GAE's ndb library to provide a a cleaner ORM layer to Google datastore when I stumbled upon your project on an SO response. I seriously wish I'd found it sooner, keep up the great work!
I'll be looking forward to the next release.

Thanks @twumdjin
I'd also recommend following #557. We plan on porting ndb wholesale at some point.
As an aside, what sort of posting or announcement could we have made to

Make it clear this library exists (even though it's not an ORM like ndb)
Make it clear we intend to support ndb at some point

Would be great if that port happens. While the async functionality on ndb is great and I use it extensively, I wouldn't even mind having a version that didn't support async initially. Simply having some OO interface to entity definitions would be a big win.
Unfortunately, discovering this library is a bit of an SEO challenge.
I see that it comes up first on a query for "gcloud datastore", however, I get the impression 'Google datastore' and 'Google cloud datastore' would be a more popular search term for the service and the Google docs on the service itself dominate search results for for anything with those combinations (understandably).
I wonder if you can get this linked from the official Google Datastore documents. Some of the other Google services have client libraries promoted that way.
I can't imagine anyone using Google datastore outside of GAE who wouldn't be hunting for a solution like this

Thanks for the detailed feedback @twumdjin. It's really useful!
/cc @jgeewax

Thanks for the feedback @twumdjin (and for the CC @dhermes) !
Once we get to a 1.0 release, we'll update the official Google Cloud Platform Python snippets, examples, and documentation to use gcloud-python code (and obviously link to it from the homepage of how to get started in Python by running pip install gcloud).
If you're interested in the "1.0" timeline, we're aiming for the Datastore, Storage, and Core "Stable" milestones to be closed out (see https://github.com/GoogleCloudPlatform/gcloud-python/milestones?direction=desc&sort=completeness&state=open).

Thanks for the 0.4.1 update with the fix @dhermes!

Glad it helps!


Regions vocabulary

I've never done a search by region so take this with a grain of salt but not sure how useful recording this would be. And would a station located with lat/lon in Australia be double tagged to the "Australia" region? Would users have to do this double tagging (and if so then it basically becomes an unreliable search filter)? Not knowing any better I'd recommend removing this as a filter.

Thanks for the input, I have lots of doubts about this too actually, on a side I think users might do queries by region but then as you pointed out is hard to get really inclusive results as if you're looking for Australia data anything global is also ok. I'm happy to remove it but as we don't have a good spatial boundaries option yet I would also like to hear other opinions.
A potential solution is to use limited tags, so "global", "Australia-only" and a few others trying to anticipate the most common region-based queries. Rather than trying to be inclusive.


Tab icon / title are not aligned

Ref: https://github.com/microsoft/vscode/issues/85978

Use Sample extension template
See icons do not align horizontally with text

Actual:

Tab icons are now centered:


(PUP-11713) Update beaker tests to use structured facts

Update manifests and hiera config to use structure facts.
Mark some tests as pending for the selinux and ruby-shadow issues to be fixed at a later time

Once PA-4843 is merged and the runtime rebuilt, retest to see if the pending tests in ea916dcf41a30c363902c882361116f268e6e182 can be removed from this PR

Once PA-4844 is resolved and runtime rebuilt, retest to see if the pending tests in 8108e90 can be removed from this PR

jenkins please test this on redhat7-64a,debian11-64a,ubuntu2204-64a


feat: remove the '--kcl-args'.

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[x] Y

fix #169

2. What is the scope of this PR (e.g. component or file name):

pkg/api/kpm_run.go
pkg/api/kpm_run_test.go
pkg/cmd/cmd_flags.go
pkg/cmd/cmd_run.go
pkg/opt/opt.go
pkg/package/modfile.go
pkg/package/package.go
3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[x] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[ ] N
[x] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[x] Unit test
[x] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

18 of 158 (11.39%)  changed or added relevant lines in 4 files are covered.
9 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-1.2%) to 41.301%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/api/kpm_run.go
18
26
69.23%

pkg/runner/runner.go
0
10
0.0%

pkg/opt/opt.go
0
32
0.0%

pkg/cmd/cmd_run.go
0
90
0.0%

Files with Coverage Reduction
New Missed Lines
%

pkg/package/package.go
3
65.7%

pkg/package/modfile.go
6
69.26%

Totals

Change from base Build<PHONE_NUMBER>:
-1.2%

Covered Lines:
1149

Relevant Lines:
2782

💛  - Coveralls


oasis-net-runner: Fix runtime configuration in default fixture

Fixes #3805
Fixes #3794

Good idea, opened #3807.


Start negotiate immediately if last one is before debouce interval

Wondering if we can switch to https://github.com/frostbyte73/core for this. Throttle could solve this.

There will be a deadlock issue if use Throttle here, it excutes the throttled func under its internal lock then the deadlock will happen if pc.Negotiate called when Throttle.excute running since two goroutines try to acquire two locks with different sequence.

Wondering if we can switch to https://github.com/frostbyte73/core for this. Throttle could solve this.

There will be a deadlock issue if use Throttle here, it excutes the throttled func under its internal lock then the deadlock will happen if pc.Negotiate called when Throttle.excute running since two goroutines try to acquire two locks with different sequence.

Got it. We can switch later if the callback under lock can be prevented.
cc: @frostbyte73 to check if the function needs to be called under lock there.


OpenShift CRC not reachable

Hi Everyone,
After setting up crc start I got the below error , I think it has something to do with ssh key but I really couldn't  figure it out.
Appreciate your help.
System info:
centos9
running on VMware workstation bro 17+
Error:

sleeping 1s
DEBU retry loop: attempt 262
DEBU Running SSH command: exit 0
DEBU Using ssh private keys: [/home/mfayez/.crc/machines/crc/id_ecdsa /home/mfayez/.crc/cache/crc_libvirt_4.16.4_amd64/id_ecdsa_crc]
DEBU SSH command results: err: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain, output:
DEBU error: Temporary error: ssh command error:
command : exit 0
err     : ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain

OS release:
NAME="CentOS Stream"
VERSION="9"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="9"
PLATFORM_ID="platform:el9"
PRETTY_NAME="CentOS Stream 9"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:centos:centos:9"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://issues.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 9"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"
CRC version:
CRC version: 2.40.0+a14925
OpenShift version: 4.16.4
MicroShift version: 4.16.4
crc config view:

consent-telemetry                     : yes
cpus                                  : 8
memory                                : 16384

CRC Status:
CRC VM:          Running
OpenShift:       Unreachable (v4.16.4)
Disk Usage:      0B of 0B (Inside the CRC VM)
Cache Usage:     27.61GB
Cache Directory: /home/mfayez/.crc/cache
I am getting this error as well when running systemctl status sshd:
Aug 26 10:58:45 localhost.localdomain sshd[7340]: Invalid user core from <IP_ADDRESS> port 39214
Aug 26 10:58:45 localhost.localdomain sshd[7340]: Connection closed by invalid user core <IP_ADDRESS> port 39214 [preauth]

This looks like nested virt setup which we don't test https://github.com/crc-org/crc/issues?q=is%3Aopen+is%3Aissue+label%3Anested-virt , what is the reason you are not using the host OS ?


refactor: plugin-undo-redo hooks改造

修复图标hover样式bug
UndoRedo 组件使用 function component 重写

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Claude Sonnet 3.5 V2 not working with AWS Bedrock

Issue
aider --model 'anthropic.claude-3-5-sonnet-20241022-v2:0'
/ask hello

Tokens: 2.0k sent, 0 received. Cost: $0.0060 message,
$0.0060 session.

and similar commands seem to just wait for the response but doesn't actually show one.
With the older version it works correctly:
aider --model anthropic.claude-3-5-sonnet-20240620-v1:0
> /ask hello

Hello! How can I assist you with the code in your git
repository today? Is there a specific question you have
about any of the files or functionality?

Tokens: 2.0k sent, 31 received. Cost: $0.0064 message,
$0.0064 session.

I updated aider-chat and litellm.
Version and model info
Model: anthropic.claude-3-5-sonnet-20241022-v2:0 with diff edit format, infinite output
Git repo: .git with 111 files
Repo-map: using 1024 tokens, auto refresh
VSCode terminal detected, pretty output has been disabled.

Thanks for trying aider and filing this issue.
Don't update litellm. Aider pins its versions to work with known, tested versions of the required packages.
https://aider.chat/docs/troubleshooting/imports.html
Try a clean install and see if it works better for you.

I'm seeing similar:
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Aider v0.60.0
Model: bedrock/anthropic.claude-3-5-sonnet-20241022-v1:0 with diff edit format
Git repo: .git with 69 files
Repo-map: using 1024 tokens, auto refresh
VSCode terminal detected, pretty output has been disabled.
Use /help <question> for help, run "aider --help" to see cmd line args
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> Explain the Osaka schedule code to me

BadRequestError: litellm.BadRequestError: BedrockException - b'{"message":"The provided model identifier is invalid."}'

Using Aider v0.60.0
Older Claude 3.5 models work without problem (bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0 and bedrock/us.anthropic.claude-3-5-sonnet-20240620-v1:0 are OK.)
However, no joy with the new models.
> /model bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0

Warning: bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0 expects these environment variables
- AWS_ACCESS_KEY_ID: Not set
- AWS_SECRET_ACCESS_KEY: Not set
If you just set these environment variables using `setx` you may need to restart your terminal or command prompt for the changes to take
effect.
For more info, see: https://aider.chat/docs/llms/warnings.html
Aider v0.60.0
Model: bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0 with diff edit format
Git repo: .git with 143 files
Repo-map: using 1024 tokens, auto refresh
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> /ask What does this do?

Tokens: 2.5k sent, 0 received. Cost: $0.0074 message, $0.10 session.

I am picking up credentials from AWS CLI as a fall-back rather than specifying environmental variables, so you can ignore the credentials warning.
> /model bedrock/us.anthropic.claude-3-5-sonnet-20241022-v2:0

Warning: bedrock/us.anthropic.claude-3-5-sonnet-20241022-v2:0 expects these environment variables
- AWS_ACCESS_KEY_ID: Not set
- AWS_SECRET_ACCESS_KEY: Not set
If you just set these environment variables using `setx` you may need to restart your terminal or command prompt for the changes to take
effect.
For more info, see: https://aider.chat/docs/llms/warnings.html
Aider v0.60.0
Model: bedrock/us.anthropic.claude-3-5-sonnet-20241022-v2:0 with diff edit format
Git repo: .git with 143 files
Repo-map: using 1024 tokens, auto refresh
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> /ask What does this do?

Unexpected error: litellm.NotFoundError: BedrockException - Bedrock HTTPX: Unknown provider=us,
model=us.anthropic.claude-3-5-sonnet-20241022-v2:0
Traceback (most recent call last):
  File "/Users/********/.local/pipx/venvs/aider-chat/lib/python3.12/site-packages/litellm/main.py", line 2430, in completion
    response = bedrock_chat_completion.completion(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/********/.local/pipx/venvs/aider-chat/lib/python3.12/site-packages/litellm/llms/bedrock/chat/invoke_handler.py", line 811, in
completion
    raise BedrockError(
litellm.llms.bedrock.common_utils.BedrockError: Bedrock HTTPX: Unknown provider=us, model=us.anthropic.claude-3-5-sonnet-20241022-v2:0

Worth calling out that I do have access to the underlying model in Bedrock:
{
            "modelArn": "arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0",
            "modelId": "anthropic.claude-3-5-sonnet-20241022-v2:0",
            "modelName": "Claude 3.5 Sonnet v2",
            "providerName": "Anthropic",
            "inputModalities": [
                "TEXT",
                "IMAGE"
            ],
            "outputModalities": [
                "TEXT"
            ],
            "responseStreamingSupported": true,
            "customizationsSupported": [],
            "inferenceTypesSupported": [
                "ON_DEMAND"
            ],
            "modelLifecycle": {
                "**status": "ACTIVE"**
            }
        },

pip uninstall litellm
pip uninstall aider-chat
pip install aider-chat

Same issue

anyone encountered this issue in Bedrock?
litellm.RateLimitError: BedrockException - b'{"message":"Too many requests, please wait before trying again."}

Encountering the same issue with new the Sonnet model

I had the same issue, and confirmed the new model is working in AWS playground.

Tried to update the model settings, and aider. Tested the latest dev version also
Remove / reinstalled litellm and aider-chat.

What was working is unfortunately to upgrade litellm.
pip install -U litellm

It would be great if we could relax the version constraints on litellm & openai a bit to enable that- I'm currently cloning the repo and modifying requirements.txt to change versions

Yeah, I cloned locally, bumped openai & litellm to latest, and it's now working with the latest claude 3.5 on bedrock.

Thanks for tracking this down. I am not set up on Bedrock, so it's not easy for me to test this myself.
I also don't see any Bedrock/Sonnet issues in the litellm github, so it's not clear that there was something explicitly fixed for this.
I just bumped the litellm version that aider uses to litellm==1.50.4. They have been doing some refactoring, so I was holding off.
CC: @ishaan-jaff
The change is available in the main branch. You can get it by installing the latest version from github:
aider --install-main-branch

# or...

python -m pip install --upgrade git+https://github.com/paul-gauthier/aider.git

If you have a chance to try it, let me know if it works better for you.

I think it was this commit specifically in litellm that's needed- https://github.com/BerriAI/litellm/commit/7939e930ff5b6451a03f1a7ee7c6a92e0704568c

Also just filed this issue on litellm that will warrant a timely version upgrade-
https://github.com/BerriAI/litellm/issues/6437
they don't enable assistant prefill for claude on bedrock

If it works with aider via a .aider.model.metadata.json file update, then aider will just pick up an updated json metadata file from litellm without the need for a litellm version bump.

Litellm keeps moving around where to import AnthropicError. The bump to 1.50.4 moved it to litellm.llms.anthropic.common_utils.AnthropicError.
Has been in these places previously:
litellm.llms.anthropic.common_utils.AnthropicError
litellm.llms.anthropic.chat.AnthropicError
litellm.llms.anthropic.AnthropicError

This is one reason why I am slow to bump litellm, since things shift around often.
But maybe there is a stable place to import it from that I am unaware of?

Actually, they use the same Exception name for different exceptions 🤦🏻

aider --install-main-branch worked for me. The new 0.60.1 version still had the issue.

hey @paul-gauthier acknowledging this. We didn't intend our internal llm exceptions to be publicly used
Can you point me to how these are being used? Our internal llm exceptions -> run through our exception mapping which outputs standard OpenAI-compatible exceptions - https://github.com/BerriAI/litellm/blob/81157aa13593a02e8d34ec1ef47a777f347a5b68/litellm/init.py#L1035

Is that the list of exceptions I should be catching? I feel like I was at one point receiving bare AnthropicError exceptions from litellm, so started catching that explicitly. Sounds like I should not be seeing any of those?

Yea you should never be seeing any of those, if it's unmapped we default to APIConnectionError, which seems to be the openai default as well - https://docs.litellm.ai/docs/exception_mapping
How can we do better here? @paul-gauthier

Below is the list of exceptions from init.py.
The ones marked with x are listed in the docs.
The rest are not documented. Are those all subclasses of one of the documented exceptions with an x?
Because I currently catch ServiceUnavailableError and Timeout, which don't seem to be subclasses of one of the documented exceptions?
Which list should I be using as authoritative and complete?
   x APIConnectionError
     APIError
     APIResponseValidationError
   x AuthenticationError
   x BadRequestError
     BudgetExceededError
   x ContentPolicyViolationError
   x ContextWindowExceededError
   x InternalServerError
     InvalidRequestError
     JSONSchemaValidationError
     LITELLM_EXCEPTION_TYPES
     MockException
   x NotFoundError
     OpenAIError
     PermissionDeniedError
   x RateLimitError
     ServiceUnavailableError
     Timeout
   x UnprocessableEntityError
     UnsupportedParamsError

@xerebz

aider --install-main-branch worked for me. The new 0.60.1 version still had the issue.

If you are running the main branch version you should see a version like v0.60.2.dev13+g9e7995b7. If you're seeing v0.60.1 then you're still running the released version.

After running this, it works for me, thank you for the quick fix:
python -m pip install --upgrade git+https://github.com/paul-gauthier/aider.git
❯ aider
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
/Aider v0.60.2.dev28+ge2dff0a7
Model: bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0 with diff edit format, infinite output
Git repo: .git with 0 files
Repo-map: using 1024 tokens, auto refresh
Use /help <question> for help, run "aider --help" to see cmd line args
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> /ask hello

Hi! I'm ready to help you analyze any code you'd like to share and answer your questions about it.

added docs on missing exceptions - will also add a code qa test, to make sure all public exceptions are documented @paul-gauthier

Thanks @krrishdholakia. I don't see these 3 in the docs, which seem like possibly important exceptions for me to catch and retry:
        litellm.exceptions.APIError,
        litellm.exceptions.ServiceUnavailableError,
        litellm.exceptions.Timeout,

Are they subclasses of documented exceptions?

Doc updates riding this PR - https://github.com/BerriAI/litellm/pull/6472
should be live soon

Hi. I can confirm Aider working with "aider --model bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0"
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Aider v0.60.2.dev28+ge2dff0a7
Model: bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0 with diff edit format
Git repo: .git with 76 files
Repo-map: using 1024 tokens, auto refresh
Use /help  for help, run "aider --help" to see cmd line args
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

hi

Hi! I'm ready to help you with your code. Just let me know what changes you'd like to make and I'll: . After upgrade python -m pip install --upgrade git+https://github.com/paul-gauthier/aider.git

Thanks @krrishdholakia !
I'm going to close this issue for now, but feel free to add a comment here and I will re-open. Or feel free to file a new issue any time.


load_in_8bit=True returns gibberish when inferencing on multi GPU

Ooops, this should be in the hugginface transformers repo, not hugginface accelerate, my bad!
System Info
- `Accelerate` version: 0.18.0
- Platform: Linux-5.15.0-72-generic-x86_64-with-glibc2.35
- Python version: 3.10.6
- Numpy version: 1.24.3
- PyTorch version (GPU?): 1.13.1+cu117 (True)
- `Accelerate` default config:
	Not found
- using accelerate from here, as recommended by openassistant: https://huggingface.co/OpenAssistant/oasst-rlhf-2-llama-30b-7k-steps-xor
    git clone https://github.com/huggingface/transformers.git
    cd transformers
    git checkout d04ec99bec8a0b432fc03ed60cea9a1a20ebaf3c

other info:
- ubuntu 22.04
- bitsandbytes = 0.38.1
- CUDA 118 detected by bitsandbytes
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.105.17   Driver Version: 525.105.17   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla V100S-PCI...  On   | 00000000:00:06.0 Off |                    0 |
| N/A   31C    P0    41W / 250W |  32198MiB / 32768MiB |     37%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  Tesla V100S-PCI...  On   | 00000000:00:07.0 Off |                    0 |
| N/A   31C    P0    36W / 250W |  31784MiB / 32768MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   2  Tesla V100S-PCI...  On   | 00000000:00:08.0 Off |                    0 |
| N/A   33C    P0    36W / 250W |  31784MiB / 32768MiB |     23%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   3  Tesla V100S-PCI...  On   | 00000000:00:09.0 Off |                    0 |
| N/A   33C    P0    36W / 250W |  31784MiB / 32768MiB |     16%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

Information

[ ] The official example scripts
[X] My own modified scripts

Tasks

[ ] One of the scripts in the examples/ folder of Accelerate or an officially supported no_trainer script in the examples folder of the transformers repo (such as run_no_trainer_glue.py)
[X] My own task or dataset (give details below)

Reproduction
create a fresh venv and run this:
python3.10 -m venv dev_1
source dev_1/bin/activate
pip install --upgrade pip
git clone https://github.com/huggingface/transformers.git
cd transformers
git checkout d04ec99bec8a0b432fc03ed60cea9a1a20ebaf3c
pip install .
pip install torch==1.13.1 accelerate==0.18.0 sentencepiece==0.1.98 protobuf==3.20.1
pip install scipy
pip install bitsandbytes==0.38.1
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
python -m bitsandbytes

Then open python, load weights and infer with load_in8bit=True. The model.generate arguments differ, due to the inf/nan bug see https://github.com/tloen/alpaca-lora/issues/408
python

from transformers import LlamaTokenizer, LlamaForCausalLM, TextStreamer

tokenizer = LlamaTokenizer.from_pretrained("/mnt/models/oasst-rlhf-2-llama-30b")
model = LlamaForCausalLM.from_pretrained("/mnt/models/oasst-rlhf-2-llama-30b", device_map="auto", load_in_8bit=True) streamer = TextStreamer(tokenizer, skip_prompt=True)
message = "<|prompter|>This is a demo of a text streamer. What's a cool fact about ducks?<|assistant|>"
inputs = tokenizer(message, return_tensors="pt").to(model.device)

tokens = model.generate(**inputs,  max_new_tokens=25, do_sample=True, num_beams=1, temperature=0.9, streamer=streamer, remove_invalid_values=True) #if I don't use remove invalid, I get the inf/nan bug, see https://github.com/tloen/alpaca-lora/issues/408

 ⁇  <|prompter|> This is a demo of a text streamer. What's a cool fact about ducks? <|assistant|> enaracht blood searches anomдів kun Nap wherever learned Laufcalendar ^C #manu

Here's what happens when I load the model without the load_in_8bit=True flag:
python

from transformers import LlamaTokenizer, LlamaForCausalLM, TextStreamer

tokenizer = LlamaTokenizer.from_pretrained("/mnt/models/oasst-rlhf-2-llama-30b")
model = LlamaForCausalLM.from_pretrained("/mnt/models/oasst-rlhf-2-llama-30b", device_map="auto")
streamer = TextStreamer(tokenizer, skip_prompt=True)
message = "<|prompter|>This is a demo of a text streamer. What's a cool fact about ducks?<|assistant|>"
inputs = tokenizer(message, return_tensors="pt").to(model.device)

tokens = model.generate(**inputs,  max_new_tokens=25, do_sample=True, temperature=0.9, streamer=streamer)

Response: The Duck: Small yet Mighty

Did you know that, while ducks are relatively

I also tried running it without do_sample=True:
>>> tokens = model.generate(**inputs,  max_new_tokens=25, temperature=0.9, streamer=streamer)
 ⁇  <|prompter|> This is a demo of a text streamer. What's a cool fact about ducks? <|assistant|>  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇  ⁇

Expected behavior
I would expect the following:
python

from transformers import LlamaTokenizer, LlamaForCausalLM, TextStreamer

tokenizer = LlamaTokenizer.from_pretrained("/mnt/models/oasst-rlhf-2-llama-30b")
model = LlamaForCausalLM.from_pretrained("/mnt/models/oasst-rlhf-2-llama-30b", device_map="auto", load_in_8bit=True)
streamer = TextStreamer(tokenizer, skip_prompt=True)
message = "<|prompter|>This is a demo of a text streamer. What's a cool fact about ducks?<|assistant|>"
inputs = tokenizer(message, return_tensors="pt").to(model.device)

tokens = model.generate(**inputs,  max_new_tokens=25, do_sample=True,  num_beams=1, temperature=0.9, streamer=streamer, remove_invalid_values=True)

Response: The Duck: Small yet Mighty

Did you know that, while ducks are relatively

edit (additional testing):

I also tried setting use_cache=False in model.generate(), as hinted in https://huggingface.co/OpenAssistant/falcon-40b-sft-top1-560/discussions/1, but still gibberish output.
I also tried running this with torch==2.0.1, but same error behavior.
I tried downgrading from CUDA 11.8 to CUDA 11.6 and bitsandbytes from 0.38.1 to 0.31.8, which solves the inf/nan problem (see https://github.com/tloen/alpaca-lora/issues/408). So now I can run the exact same model.generate() code with the only difference between the two being load_in_8bit=True in the model loading step:

python
Python 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from transformers import LlamaTokenizer, LlamaForCausalLM, TextStreamer
>>>
>>> tokenizer = LlamaTokenizer.from_pretrained("/mnt/models/oasst-rlhf-2-llama-30b")
>>> model = LlamaForCausalLM.from_pretrained("/mnt/models/oasst-rlhf-2-llama-30b", device_map="auto", load_in_8bit=True) #returns gibberish
Overriding torch_dtype=None with `torch_dtype=torch.float16` due to requirements of `bitsandbytes` to enable model loading in mixed int8. Either pass torch_dtype=torch.float16 or don't pass this argument at all to remove this warning.

===================================BUG REPORT===================================
Welcome to bitsandbytes. For bug reports, please use this form: ......
================================================================================
dev_1/lib/python3.10/site-packages/bitsandbytes/cuda_setup/paths.py:110: UserWarning: /usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu: did not contain libcudart.so as expected! Searching further paths...
  warn(
CUDA_SETUP: WARNING! libcudart.so not found in any environmental path. Searching /usr/local/cuda/lib64...
CUDA SETUP: CUDA path found: /usr/local/cuda/lib64/libcudart.so
CUDA SETUP: Highest compute capability among GPUs detected: 7.0
CUDA_SETUP: Detected CUDA version 116
CUDA_SETUP: Loading binary dev_1/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda116_nocublaslt.so...
Loading checkpoint shards:   0%|                               | 0/7 [00:00<?, ?it/s]
dev_1/lib/python3.10/site-packages/bitsandbytes/functional.py:227: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
  return ct.c_void_p(A.data.storage().data_ptr())
Loading checkpoint shards: 100%|███████████████████████| 7/7 [00:54<00:00,  7.82s/it]
>>> streamer = TextStreamer(tokenizer, skip_prompt=True)
>>> message = "<|prompter|>This is a demo of a text streamer. What's a cool fact about ducks?<|assistant|>"
>>> inputs = tokenizer(message, return_tensors="pt").to(model.device)
>>> tokens = model.generate(**inputs,  max_new_tokens=25, do_sample=True, temperature=0.9, streamer=streamer)
xeabaselogiccmtnzak accomplish MeyifullylandaMP Marshallcitaemann beskre Gil zoomaki Bon companion Vert Mindsetti
>>>

The issue persists, so it's 100% confirmed caused by a combination of using both load_in_8bit=True and multi gpu. This code returns comprehensible language when:

it fits on a single GPU's VRAM and use load_in_8bit=True,
or when you load on multi GPU, but without the argument load_in_8bit=True.

This was supposed to be in the transformers repo, not accelerate, my bad. I've posted it there now: https://github.com/huggingface/transformers/issues/23989


Raise minimum OS in VM tests

We intentionally raised the minimum OS

@howardjohn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-test_istio
1b299d850bf36dc827253bfdbfad813a5ffe23d3
link
true
/test release-test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-test_istio
1b299d850bf36dc827253bfdbfad813a5ffe23d3
link
true
/test release-test

unit-tests_istio
1b299d850bf36dc827253bfdbfad813a5ffe23d3
link
true
/test unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-test_istio
1b299d850bf36dc827253bfdbfad813a5ffe23d3
link
true
/test release-test

unit-tests_istio
1b299d850bf36dc827253bfdbfad813a5ffe23d3
link
true
/test unit-tests

integ-security-multicluster_istio
1b299d850bf36dc827253bfdbfad813a5ffe23d3
link
true
/test integ-security-multicluster

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
1b299d850bf36dc827253bfdbfad813a5ffe23d3
link
true
/test unit-tests

integ-security-multicluster_istio
1b299d850bf36dc827253bfdbfad813a5ffe23d3
link
true
/test integ-security-multicluster

release-test_istio
46ccc0ebf5b0d2a37b6b9b6180b8868125eea4ed
link
true
/test release-test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@howardjohn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-cni_istio
46ccc0ebf5b0d2a37b6b9b6180b8868125eea4ed
link
unknown
/test integ-cni

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Large types bug fixes - cherry-pick from master

Cherry-picks two commits from master that fixes bugs in radar rdar://problem/28680453
First is a bug fix for radar rdar://problem/31926671 on Linux targets
Second commit fixes a verification bug on 32-bit targets that was caused by the first commit

@swift-ci Please test and merge


LOOPJ demo project for Api call

http://loopj.com/android-async-http/

https://www.programcreek.com/java-api-examples/?api=com.loopj.android.http.AsyncHttpClient
https://stackoverflow.com/questions/13052036/posting-json-xml-using-android-async-http-loopj

post call
 RequestParams params2 = new RequestParams();
                        params2.put("username", userId);
                        params2.put("password", sin_password);
                        params2.setUseJsonStreamer(true);

                        try
                        {
                            AsyncHttpClient restClient = new AsyncHttpClient();
                            restClient.post(url, params2, new AsyncHttpResponseHandler()
                            {
                                @Override
                                public void onSuccess(int statusCode, Header[] headers, byte[] responseBody)
                                {
                                    String result = new String(responseBody);
                                    int statuscode = statusCode;
                                    data1(result);
                                    sharedPrefClassObj.setLoginType("LoggedIn");
                                }

                                @Override
                                public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error)
                                {

                                }

                            });
                        }
                        catch (Exception e)
                        {
                            e.printStackTrace();
                        }

loopj.zip

Get Call
AsyncHttpClient client = new AsyncHttpClient();
client.get(url, new AsyncHttpResponseHandler()
 {

    @Override
    public void onStart()
 {
        // called before request is started
    }

    @Override
    public void onSuccess(int statusCode, Header[] headers, byte[] response)
{
        // called when response HTTP status is "200 OK"
    }

    @Override
    public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e)
{
        // called when response HTTP status is "4XX" (eg. 401, 403, 404)
    }

    @Override
    public void onRetry(int retryNo)
 {
        // called when request is retried
	}
});

Volley Vs Android Async Http .
Android Async Http: Is a powerful Http client. Offers some functionalities as REST helper and integration for JSON parsing with other libraries.
Volley: Is a REST helper/library that helps you to deal with async requests and image loading. Volley it's not an http client. Volley uses the SDK http clients (the apache or the httpclient depending on the API level) if you don't provide one, but a common client for volley is OkHttp (https://goo.gl/nl2DfN). You can integrate Volley with Gson easily as well.
From my point of view, as much responsibility you give to a single library, less customization you have and more unneeded code you'll add. That's the reason libraries as Android Async Http or ION are losing grip nowadays and other options like the Square solutions (Okio + OkHttp + Retrofit + Moshi + Picasso - Those are five libraries) are gaining grip. So here you have 5 libraries that can be used separately as standalone or tied together as 2, 3 or 4. That's flexibility and power.


PyPi Page Parsing Tests Failing

All PyPi page parsing tests are failing on main, despite the latest 2.9.1 version of the extension appearing to work fine in Production.
Investigation required.
FYI @maurycupitt

https://github.com/sonatype-nexus-community/sonatype-platform-browser-extension/commit/6c2c2b83009b0c175c9bd61cd810782d02eae0c8 on #137 resolves this.


Avast is detecting 0.4.4 as virus.

Hi Kyusung,
I am not saying it actually contains a virus, but avast is detecting it as one. (Maybe some new hooks that you used?)
The antivirus didn't have any problems with the previous versions.
Could you please investigate?
Thanks.

Starting from version 0.4.2 i've changed the keybinding method from build-in to a custom one using a keyboard hook. The AV probably detects this hook. As this is the same as you would use in a keylogger. Also to support the ALT key i needed a more low level solution - so this may why it is now detecting it as a virus.
I'm not happy with the current keybinding solution - may change again in the future.


Issues with BlockAccess::ba_insert()

A few modifications

In the part where the rblock is updated for the previous block, blockNum should be replaced by prevBlockNum
I realised that we don't initialize the slot map in the RecBuffer constructor. Doing that would remove the need to do that in ba_insert()
In the loop to find a free slot, we do not need to set SLOT_OCCUPIED because we do that at the end anyway.
In case a free slot is not found, when we update the Last Block, we need to update the first block too in the case the relation is empty at the time of insertion

@jessiyajoy please look into it

A few modifications

I realized that we don't initialize the slot map in the RecBuffer constructor. Doing that would remove the need to do that in ba_insert()

Suggestions for this:

But then shouldn't the header initialization be moved there as well? (As it might be better to keep all the block metadata(header and slot map) initializations in one place)

Also, such metadata initialization only happens in only 2 places(which is BlockAcess::insert() and also in b+ insert since new blocks are allocated only here). And for header even if the constructor initializes the block header with default values like left block = -1; The caller BlockAcess::insert will set the actual values for left block right block etc immediately after returning from the constructor.

And also, maybe the buffer layer need not be concerned about what the metadata/data actually should be in the block.
Instead only concern itself with setting the headers, slot map, and record from the data provided to it by higher layers.

A few modifications

In the loop to find a free slot, we do not need to set SLOT_OCCUPIED because we do that at the end anyway.
In case a free slot is not found, when we update the Last Block, we need to update the first block too in the case the relation is empty at the time of insertion

These issues are corrected in the implementation and will be updated in documentation soon.

In the part where the rblock is updated for the previous block, blockNum should be replaced by prevBlockNum

Is this correct? Won't blockNum be -1 on exiting the loop? @SaintNerevar

Updated Algorithm for BlockAccess::insert
int BlockAccess::insert(int relId, Attribute *record) {
	// get the relation catalog entry from relation cache
	// ( use RelCacheTable::getRelCatEntry() of Cache Layer)

	// let blockNum denote the first record block of the relation (obtained from relation catalog entry)

	// Let rec_id denote the record id of the slot where the new record will be inserted
	RecId rec_id = {-1, -1};

	// let numOfSlots denote the number of slots per record block (obtained from relation catalog entry)
	// let numOfAttributes denote the number of attributes of the relation (obtained from relation catalog entry)

	// let prevBlockNum denote the block number of the last element in the linked list = -1;

	/*
		Traversing the linked list of existing record blocks of the relation
		until a free slot is found OR
		until the end of the list is reached
	*/
	while (blockNum != -1) {
		// create a RecBuffer object for blockNum(use constructor for existing block)

		// get header of block(blockNum) using RecBuffer::getHeader() function

		// get slot map of block(blockNum) using RecBuffer::getSlotMap() function

		// search for free slot in the block 'blockNum' and store it's record id in rec_id
		// (Free slot can be found by iterating over the slot map of the block)
		// slot map stores SLOT_UNOCCUPIED if slot is free and SLOT_OCCUPIED if slot is occupied)

		// if a free slot is found, discontinue the traversal of the linked list of record blocks

		// otherwise, continue to check the next block by updating the block numebers as follows:
		// update prevBlockNum = blockNum
		// update blockNum = header.rblock (next element in the linked list of record blocks)
	}

	//	if no free slot is found in existing record blocks
	{
		// if relation is RELCAT, do not allocate any more blocks (i.e. if relId = RELCAT_RELID)
		//	    return E_MAXRELATIONS;

		// Otherwise,
		// get a new record block by calling RecBuffer Constructor for new block
		// get the block number of the newly allocated block
		// (use BlockBuffer::getBlockNum() function)
		// let ret be the return value of getBlockNum() function call
		if (ret == E_DISKFULL) {
			// disk is full
			return E_DISKFULL;
		}

		// Assign rec_id.block = new block number(i.e. ret) and rec_id.slot = 0

		/*
			set the header of the new record block such that it links with existing record blocks of the relation
			set the block's header as follows:
			blockType: REC, pblock: -1
			lblock
					= -1 (if linked list of existing record blocks was empty)
					= prevBlockNum (otherwise),
			rblock: -1, numEntries: 0,
			numSlots: numOfSlots, numAttrs: numOfAttributes
			(use BlockBuffer::setHeader() function)
		*/

		/*
			set block's slot map with all slots marked as free
			(i.e. store SLOT_UNOCCUPIED for all the entries)
			(use RecBuffer::setSlotMap() function)
		*/

		// if prevBlockNum != -1
		{
			// create a RecBuffer object for prevBlockNum(use constructor for existing block)
			// get the header of the block prevBlockNum
			// update the rblock field of the header to the new block number(i.e. rec_id.block)
			// (use BlockBuffer::setHeader() function)
		}
		// else
		{
			// update first block field in the relation catalogue entry to the new block(i.e. rec_id.block)
			// (use RelCacheTable::setRelCatEntry() function of Cache Layer)
		}

		// update last block field in the relation catalogue entry to the new block(i.e. rec_id.block)
		// (use RelCacheTable::setRelCatEntry() function of Cache Layer)
	}

	// create a RecBuffer object for rec_id.block(use constructor for existing block)
	// insert the record into rec_id'th slot by calling RecBuffer::setRecord() function)

	// update the slot map of the block by marking entry of the slot to which record was inserted as occupied)
	// (ie store SLOT_OCCUPIED in free_slot'th entry of slot map)
	// (use RecBuffer::getSlotMap() and RecBuffer::setSlotMap() functions)

	// increment the num_entries field in the header of the block (to which record was inserted)
	// (use BlockBuffer::getHeader() and BlockBuffer::setHeader() functions)

	// Increment the number of records field in the relation cache entry for the relation.
	// (use RelCacheTable::setRelCatEntry function)

	/*
		B+ tree insertions
	 */
	// Let flag = SUCCESS
	flag = SUCCESS;
	// Iterate over all the attributes of the relation
	// Let attrOffset be iterator ranging from 0 to numOfAttributes-1
	{
		// get the attribute catalog entry for the attribute from the attribute cache
		// (use AttrCacheTable::getAttrCatEntry() function with arguments relId and attrOffset)

		// get the root block field from the attribute catalog entry

		// if index exists for the attribute(i.e. rootBlock != -1)
		{
			// TODO: Update once BPlus Layer algorithms are completed
			// BPlusTree bPlusTree = BPlusTree(relId, attrName);
			// int retVal = bPlusTree.bPlusInsert(record[attrOffset], rec_id);
			// if (retVal == E_DISKFULL) {
			// delete the b+ tree for the attribute using ? function

			// flag = E_INDEX_BLOCKS_RELEASED
		}
	}

	//	return flag;
}

All good!


CGNS reader incorrectly interprets files with boundary face/edge geometry

When I try to view CGNS data which includes boundary element geometry (boundary "sections" in CGNS terms) in VisIt with a pseudocolor plot, VisIt gives a warning that "The compute engine running on host ... issued the following warning: In domain 0, your zonal variable "Density" has 10000 values, but it should have 12020. Extra 0.'s were added to ensure VisIt runs smoothly." The plotted data is then displayed incorrectly. The correct behavior would be to have no warning, as zonal variable data logically could be associated with only the internal cells, and not necessarily the boundary elements. TecPlot does not have this issue and can plot these data sets correctly. I have attached two files, both of a 2D data quadrilateral mesh data set: one contains the boundary face geometry, the other does not. The one with boundary faces exhibits the problem described, the other works perfectly.
-----------------------REDMINE MIGRATION-----------------------
This ticket was migrated from Redmine. As such, not all
information was able to be captured in the transition. Below is
a complete record of the original redmine ticket.
Ticket number: 878
Status: Resolved
Project: VisIt
Tracker: Bug
Priority: Normal
Subject: CGNS reader incorrectly interprets files with boundary face/edge geometry
Assigned to: Brad Whitlock
Category: -
Target version: 2.6
Author: Andrew Corrigan
Start: 10/21/2011
Due date:
% Done: 100%
Estimated time:
Created: 10/21/2011 07:07 am
Updated: 09/11/2012 01:43 pm
Likelihood: 3 - Occasional
Severity: 4 - Crash / Wrong Results
Found in version: 2.3.0
Impact:
Expected Use:
OS: All
Support Group: Any
Description:
When I try to view CGNS data which includes boundary element geometry (boundary "sections" in CGNS terms) in VisIt with a pseudocolor plot, VisIt gives a warning that "The compute engine running on host ... issued the following warning: In domain 0, your zonal variable "Density" has 10000 values, but it should have 12020. Extra 0.'s were added to ensure VisIt runs smoothly." The plotted data is then displayed incorrectly. The correct behavior would be to have no warning, as zonal variable data logically could be associated with only the internal cells, and not necessarily the boundary elements. TecPlot does not have this issue and can plot these data sets correctly. I have attached two files, both of a 2D data quadrilateral mesh data set: one contains the boundary face geometry, the other does not. The one with boundary faces exhibits the problem described, the other works perfectly.
Comments:
I received new source from Mickael Philit that fixed the problem.

0889_with_boundary_faces.cgns.zip
0889_without_boundary_faces.cgns.zip


Fixing bug when episode would not be retrieved in the streamable from…

PROBABLY INSTEAD OF UPDATING THIS METHOD, DEPRECATE IT. TBC.
I think this is needed as a part of fixing https://jira.dev.bbc.co.uk/browse/PROGRAMMES-5737?focusedCommentId=3605286&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-3605286
Relates to this PR https://github.com/bbc/programmes-frontend/pull/234

This seems wrong to me. Maybe I'm not understanding something, but filtering by streamable_until >= NOW() will only get you the set of streamable episodes that are not streamable indefinitely (i.e. they have an expiry date).
Why do you need that set for the linked ticket?

@BjornTwachtmann the aim is to get the first item that has not expired yet but is also not streamable.

Don't mark these as deprecated. They're not used in clifton/faucet so just remove them here and in frontend, if it's dead code


Make $metadata download optional?

I'm evaluating the use of Simple.OData.Client for use with the PowerApps Common Data Service (CDS) (a.k.a. Microsoft Dynamics CRM Online). I see a lot of people using our service are leaving issues for you.
Still working out all the benefits of the client, but in my initial test I noticed that the $metadata for the service gets downloaded before the first call.
CDS service document starts at about 4 MB and the more people customize the schema, it gets larger. I noticed in issue #464 the download was nearly 7 MB.
Depending on the speed of the user's internet, this adds a bit of overhead. Like, nearly 2 seconds. I'm wondering if it can be avoided?
If it can be avoided, what would the consequences be? How does this library depend on the $metadata?

Every OData client depends on service metadata, but it's not necessary to load the document from the service all the time. The library has a class ODataSettings with a property MetadataDocument which can point to a local file. Then $metadata endpoint will not be hit.

Hello there. I've stumbled upon similar issue. I was able to download metadata and initialize settings with local copy, but now I struggle with another issue. Metadata file takes 10mb on disc, which (due to internal c# string representation) results in 20mb in heap once I load it into a memory. Our host is very limited in terms of memory, therefore I'm looking for a ways to reduce memory usage.
Is it possible to unset metadata document string property so that it could be garbage collected after it was parsed/deserialized? Or maybe can I remove unnecessery parts from document to shrink it in size?

If we are utilizing the basic syntax, which provides a Dictionary<string, object>, why is the $metadata document necessary? The JSON response can simply be deserialized into the dictionary object...
Dealing with an extremely large metadata object (Microsoft D365).
var response = await _client.FindEntryAsync("entity?$filter=FieldA eq 'A'&$select=FieldA,FieldB");

It would be great to be able to use the simple odata client, with a known Model without the metadata for asp.net core 6 [EnableQuery] feature where you can hit a standard REST endpoint but provide a query. The SimpleODataClient's query building and deserialization would work great for this type of Generic endpoint.
We'd simply need to be able to specify the base Uri and if the result is boxed or not (boxed meaning the odata wrapper in the JSON).


Is adapter died?

Hello.
There are some critical bugs, and some pool requests with fixes, but nobody care about it :(
Microfocus kills opensource adapter?
May be return it to the open source?
How you think, @andyreagan @mpcarter?

Hi Brrlaoc,
I am currently working on to upgrade dbt core 1.5.0 and about to finish my development then merge code accordingly.
Regards,
Ajay Abrol

Thank you for fast reply.

When the 1.5 is going to be released / put to PyPI?

https://github.com/vertica/dbt-vertica/blob/master/setup.py#L81
I don't understand why it is not in pypl :(

I have released latest code to PyPI.

Thanks!


Make icon map loadable via CommonJS

Now you can access the icon map from the-graph via window.TheGraph.FONT_AWESOME. However, it would be nicer for reusability if you could also require() it in.

Fixed in 1b7fe7e2c3358b1
However this is considered internal details, and may go away at any time.


JSON:API

Just FYI: Stud.IP 5.4 will introduce the new JSON:API, which differs quite a lot from the current REST API.
See here for the documentation: https://docs.gitlab.studip.de/entwicklung/docs/jsonapi/routen
From Stud.IP 6.0 on, the REST API will be completely removed and only the JSON:API will persist.
However, you will most probably have enough time to migrate anyway because the University of Passau usually takes a quite a lot of time to update to new versions.
Edit: My app StudiPassau actually migrated not too long ago - in case you need some "inspiration":
https://github.com/ThexXTURBOXx/studipassau/blob/main/lib/bloc/cubits/files_cubit.dart
https://github.com/ThexXTURBOXx/studipassau/blob/main/lib/bloc/repos/files_repo.dart

You're more than welcome :)
And yes, indeed, that could very well happen!
The way authentication initially worked in StudiPassau (before the big Flutter rewrite) was by just simulating the usual Shibboleth flow: https://github.com/ThexXTURBOXx/shib-uni-passau/blob/master/src/main/java/de/femtopedia/studip/shib/ShibbolethClient.java
It's not a very nice way to do it, but it worked back then (maybe even still works?!)

Ah, I think we talked about this a few years ago :smiley:
The shibboleth simulation flow is pretty cursed though, I think I'll stick to loading cookies and maybe look into the json API when I find the motivation.

Yes, at some point in 2018/19 we had talked about it :D
I would also suggest not doing it this way and just stay with cookies.
There is also this project (which tries to do the same as your project right here): https://github.com/yannik995/StudIP-Downloader
But it actually just lets the user manually input the cookie without trying to load it from somewhere

Yeah I've looked at the project in the past, but it's in C# ...
My project is very narrow and focused in scope for my workflow, but I just added some config options to make it easier to change the auth strategy.


Add option to enable or disable usage of WG userspace implementation

Related to https://github.com/jodevsa/wireguard-operator/issues/115.
I've added the useWgUserspaceImplementation bool option to Wireguard.spec and made the controller use it.
If useWgUserspaceImplementation isn't used or is false then the agent container in the VPN Deployment won't have the --wg-use-userspace-implementation flag, if it's true then the flag will be there and the userspace implementation will be used.
I've tried creating a test for it but with no luck.
pkg/controllers/wireguard_controller_test.go
			useWgUserspace := true

			wgServer := &v1alpha1.Wireguard{
				ObjectMeta: metav1.ObjectMeta{
					Name:      wgKey.Name,
					Namespace: wgKey.Namespace,
				},
				Spec: v1alpha1.WireguardSpec{
					UseWgUserspaceImplementation: useWgUserspace,
				},
			}
			Expect(k8sClient.Create(context.Background(), wgServer)).Should(Succeed())

			// new
			depName := wgKey.Name + "-dep"
			depKey := types.NamespacedName{
				Namespace: wgKey.Namespace,
				Name:      depName,
			}

			expectedCmdFlag := "--wg-use-userspace-implementation2"

			Eventually(func() []string {
				dep := &appsv1.Deployment{}
				k8sClient.Get(context.Background(), depKey, dep)
				fmt.Println(dep)
				for _, c := range dep.Spec.Template.Spec.Containers {
					if c.Name == "agent" {
						return c.Command
					}
				}
				return []string{}
			}, Timeout, Interval).Should(ContainElements(expectedCmdFlag))
		})

but it never has the flag
    Timed out after 2.001s.
    Expected
        <[]string | len:11, cap:16>: [
            "agent",
            "--v",
            "11",
            "--wg-iface",
            "wg0",
            "--wg-listen-port",
            "51820",
            "--state",
            "/tmp/wireguard/state.json",
            "--wg-userspace-implementation-fallback",
            "wireguard-go",
        ]
    to contain elements
        <[]string | len:1, cap:1>: [
            "--wg-use-userspace-implementation",
        ]
    the missing elements were
        <[]string | len:1, cap:1>: [
            "--wg-use-userspace-implementation",
        ]

I've tested manually on my cluster all 3 options (true, false and not specified) and they work (had to delete the deployment after changing the Wireguard spec so controller recreates it).

  expectedCmdFlag := "--wg-use-userspace-implementation2"

why do you have "2" at the end?

  expectedCmdFlag := "--wg-use-userspace-implementation2"

why do you have "2" at the end?

That's just a typo from testing.

@thrashwerk The reason why the test didn't work is because the CRD wasn't generated and configured. You can do that using make generate.
I've generated the new CRD and added your test back :)

PR merged! Thank you for contributing!
Are you testing it against gcore Kubernetes? I think I've did that a couple of months ago :D

:tada: This PR is included in version 2.0.13 :tada:
The release is available on:

v2.0.13
GitHub release

Your semantic-release bot :package::rocket:

@thrashwerk The reason why the test didn't work is because the CRD wasn't generated and configured. You can do that using make generate.
I've generated the new CRD and added your test back :)

Can remember if I ran make generate, I certainly ran make manifests which added the new field to the CRD.
test: manifests generate fmt vet envtest ## Run tests.
Doesn't make test also run generate?

Are you testing it against gcore Kubernetes? I think I've did that a couple of months ago :D

Yes, I'm testing out some things on the Gcore cloud.

Yes, I'm testing out some things on the Gcore cloud.

That is great. Feel free to update the README section "tested with" section https://github.com/jodevsa/wireguard-operator#tested-with . The last time I tested it I realised that ip forward is disabled by default on the workers of Gcore cloud. So I needed to enable spec.enableIpForwardOnPodInit: true


Fixed illusion manager may create a 0 hp unkillable illusion

btw, edited shop list, added dota2 new items


Add iso15693 readMultipleBlocks for iOS

This PR adds the readMultipleBlocks API to iOS iso15693

Closing in favor of #316


Yarn stuck

Can you reproduce the problem with latest npm?
Yes, npm -v: 4.0.5
Description
Yarn gets stuck on Installing Inferno-scripts. Currently stuck on<EMAIL_ADDRESS>Expected behavior
Yarn should install the Inferno-scripts
Actual behavior
Yarn gets stuck on<EMAIL_ADDRESS>Environment

npm ls inferno-scripts (if you haven’t ejected): `-- (empty)
node -v: 7.4.0
npm -v: 4.0.5
yarn version: 0.18.1

Then, specify:

Operating system: Windows 7 Professional x64
Browser and version: /

Reproducible Demo

npm install -g create-inferno-app
create-inferno-app my-app

Also regularly gets stuck on<EMAIL_ADDRESS>

@Tseberechts I had the same issues yesterday but they seem to be fine today after clearing my cache. It might been a network issue with NPM or your local cache?

cleaned npm and yarn cache. no luck

@Tseberechts could it be a network issue, can you try with a different network? Also does Create React App work fine for you?

I can't try with a different network as I'm at work.
Create-react-app works, but only after a few tries

@Tseberechts I'm not sure what else to say – I've just retried it now and it works fine here. I'm not sure if this issue is related to Windows, I'm on a Mac and don't have a PC to test on. @Havunen can you try on Windows?

Tested on Microsoft Windows [Version 10.0.14393]   Node 7.4.0  npm 4.0.5 all seems to work. This needs more info.

I merged upstream today and there were couple changes to yarn I think those fixed this issue. If not re-open please. Closing.


Text "Show CLI output" should be configurable

Right now the text "Show CLI output" is fixed on CmdResult elements, but it's now always fully appropriate. E.g. sometimes it's not the CLI output but the value of a variable that is shown, e.g. here:

Part of: #1393

https://github.com/prisma/docs/pull/1393/files?file-filters[]=.tsx#diff-8144f382bd8535867018074ce77506d0ba7fae62f630699c503746896cdb56e0


0.6.0 / Homebridge wont start

Homebridge will not start with v0.6.0

Can you post your log output?

Thank you for the response. Here is my log. 0.5.2 works fine with same config file.
[7/15/2019, 6:54:02 PM] Loaded config.json with 4 accessories and 5 platforms.
[7/15/2019, 6:54:02 PM] ---
[7/15/2019, 6:54:04 PM] Loaded plugin: homebridge-camera-ffmpeg
[7/15/2019, 6:54:04 PM] Registering platform 'homebridge-camera-ffmpeg.Camera-ffmpeg'
[7/15/2019, 6:54:04 PM] ---
[7/15/2019, 6:54:04 PM] Loaded plugin: homebridge-config-ui-x
[7/15/2019, 6:54:04 PM] Registering platform 'homebridge-config-ui-x.config'
[7/15/2019, 6:54:04 PM] ---
[7/15/2019, 6:54:04 PM] Loaded plugin: homebridge-harmony
[7/15/2019, 6:54:04 PM] Registering platform 'homebridge-harmonyHub.HarmonyHubWebSocket'
[7/15/2019, 6:54:04 PM] ---
[7/15/2019, 6:54:04 PM] Loaded plugin: homebridge-isy-js
[7/15/2019, 6:54:04 PM] Registering platform 'homebridge-isy-js.isy-js'
[7/15/2019, 6:54:04 PM] ---
[7/15/2019, 6:54:04 PM] Loaded plugin: homebridge-magichome
homebridge API version: 2.4
[7/15/2019, 6:54:04 PM] Registering accessory 'homebridge-magichome.MagicHome'
[7/15/2019, 6:54:04 PM] ---
[7/15/2019, 6:54:05 PM] Loaded plugin: homebridge-neato
[7/15/2019, 6:54:05 PM] Registering platform 'homebridge-neato.NeatoVacuumRobot'
[7/15/2019, 6:54:05 PM] ---
[7/15/2019, 6:54:05 PM] Loading 5 platforms...
[7/15/2019, 6:54:05 PM] [isy-js] Initializing isy-js platform...
[7/15/2019, 6:54:05 PM] [Config] Initializing config platform...
[7/15/2019, 6:54:05 PM] [Config] Spawning homebridge-config-ui-x with PID 445
[7/15/2019, 6:54:05 PM] [NeatoVacuumRobot] Initializing NeatoVacuumRobot platform...
[7/15/2019, 6:54:05 PM] [Harmony Hub] Initializing HarmonyHubWebSocket platform...
[7/15/2019, 6:54:05 PM] [Harmony Hub] HarmonyPlatform Init
[7/15/2019, 6:54:05 PM] [Camera-ffmpeg] Initializing Camera-ffmpeg platform...
[7/15/2019, 6:54:05 PM] Loading 4 accessories...
[7/15/2019, 6:54:05 PM] [Bar] Initializing MagicHome accessory...
[7/15/2019, 6:54:05 PM] [Studio] Initializing MagicHome accessory...
[7/15/2019, 6:54:05 PM] [Desk] Initializing MagicHome accessory...
[7/15/2019, 6:54:05 PM] [Bed] Initializing MagicHome accessory...
[7/15/2019, 6:54:05 PM] [Harmony Hub] WARNING - configureAccessory - TV accessory added in your bridge from cache, if another plugin is exposing a TV accessory this one might not be visible in your remote widget
[7/15/2019, 6:54:05 PM] [Harmony Hub] DidFinishLaunching
[7/15/2019, 6:54:05 PM] [Harmony Hub] INFO - Loading activities...
[7/15/2019, 6:54:05 PM] FrontCam is running on port 49203.
[7/15/2019, 6:54:05 PM] Please add [FrontCam] manually in Home app. Setup Code: xxx-xx-xxx
[7/15/2019, 6:54:05 PM] Backyard is running on port 49204.
[7/15/2019, 6:54:05 PM] Please add [Backyard] manually in Home app. Setup Code: xxx-xx-xxx
[7/15/2019, 6:54:05 PM] Gate Camera is running on port 49205.
[7/15/2019, 6:54:05 PM] Please add [Gate Camera] manually in Home app. Setup Code: xxx-xx-xxx
[7/15/2019, 6:54:05 PM] Patio is running on port 49206.
[7/15/2019, 6:54:05 PM] Please add [Patio] manually in Home app. Setup Code: xxx-xx-xxx
[7/15/2019, 6:54:05 PM] Garage is running on port 49207.
[7/15/2019, 6:54:05 PM] Please add [Garage] manually in Home app. Setup Code: xxx-xx-xxx
[7/15/2019, 6:54:05 PM] Kitchen is running on port 49208.
[7/15/2019, 6:54:05 PM] Please add [Kitchen] manually in Home app. Setup Code: xxx-xx-xxx
[7/15/2019, 6:54:05 PM] LivingRoom is running on port 49209.
[7/15/2019, 6:54:05 PM] Please add [LivingRoom] manually in Home app. Setup Code: xxx-xx-xxx
[7/15/2019, 6:54:05 PM] StudioCam is running on port 49210.
[7/15/2019, 6:54:05 PM] Please add [StudioCam] manually in Home app. Setup Code: xxx-xx-xxx
[7/15/2019, 6:54:05 PM] Bedroom Cam is running on port 49211.
[7/15/2019, 6:54:05 PM] Please add [Bedroom Cam] manually in Home app. Setup Code: xxx-xx-xxx
[7/15/2019, 6:54:06 PM] [Desk] DEVICE COLOR: 0,0,100
[7/15/2019, 6:54:06 PM] [Bar] DEVICE COLOR: 0,0,100
[7/15/2019, 6:54:06 PM] [Studio] DEVICE COLOR: 0,0,100
[7/15/2019, 6:54:06 PM] [Bed] DEVICE COLOR: 0,0,100
[7/15/2019, 6:54:07 PM] [Harmony Hub] (Harmony Hub)INFO - configuring Main TV Service
[7/15/2019, 6:54:07 PM] [Harmony Hub] (Harmony Hub)WARNING - No main Activity that match config file found, default to first one
[7/15/2019, 6:54:07 PM] [Harmony Hub] (Harmony Hub)INFO - Configuring Main Activity ATV LivingRoom
[7/15/2019, 6:54:07 PM] [Harmony Hub] (Harmony Hub)INFO - Discovered Activity : PowerOff
[7/15/2019, 6:54:08 PM] [Config] Console v4.5.1 is listening on :: port 8080
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Kitchen Dimmer'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Front Door IN'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Couch Light'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'ZW 008 Multilevel Sensor'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Livingroom Fan'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Bedroom Patio'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Bedroom Lamps'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Garage Fan'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Cyclone LED'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Cyclone LED Energy Meter'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Patio LED'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Patio LED Energy Meter'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Garage Door-Sensor'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Garage Door'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'ZW 011 Multilevel Sensor'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Bedroom Fan'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'ChristmasLights'...
[7/15/2019, 6:54:10 PM] [isy-js] Initializing platform accessory 'Front Door OUT'...
[7/15/2019, 6:57:48 PM] [Config] Failed load accessories from Homebridge: Error: connect ECONNREFUSED <IP_ADDRESS>:51826
Thank You,
Chris

On Jul 15, 2019, at 4:07 AM, Arne<EMAIL_ADDRESS>wrote:
Can you post your log output?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/naofireblade/homebridge-neato/issues/36?email_source=notifications&email_token=AMTSILOEJLKUB47SA4IU4QDP7QV5HA5CNFSM4IDSGMTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZ47LAI#issuecomment-511309185, or mute the thread https://github.com/notifications/unsubscribe-auth/AMTSILIAK6LMEC5ZRUIXGPDP7QV5HANCNFSM4IDSGMTA.

Hello. Thanks for the 6.0 update! I've been waiting for Zone Cleaning.  Unfortunately, I'm having the same issue as the OP.  When 6.0 is installed, homebridge won't start.  I can't seem to get 5.2 re-installed per your instructions, so I can't absolutely guarantee that 5.2. is working now, but everything was absolutely fine before the update.
Here's a copy of the log where the plugin started throwing errors:
[7/18/2019, 11:02:48 AM] [NeatoVacuumRobot] Error updating persistent maps: no serial or secret: undefined
[7/18/2019, 11:02:48 AM] [NeatoVacuumRobot] Found robot #1 named "Vincent" with serial "OPS15518-C4F312792730"
[7/18/2019, 11:02:48 AM] [NeatoVacuumRobot] TypeError: Cannot read property 'forEach' of undefined
at /usr/local/lib/node_modules/homebridge-neato/index.js:47:25
at robot.getPersistentMaps (/usr/local/lib/node_modules/homebridge-neato/index.js:90:11)
at robotRequest (/usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/robot.js:487:13)
at Robot.getPersistentMaps (/usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/robot.js:376:5)
at that.robots.forEach (/usr/local/lib/node_modules/homebridge-neato/index.js:87:15)
at Array.forEach (:null:null)
at client.getRobots (/usr/local/lib/node_modules/homebridge-neato/index.js:86:23)
at Client. (/usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/client.js:42:17)
at /usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/api.js:31:45
at process._tickCallback (internal/process/next_tick.js:68:7)
[7/18/2019, 11:02:48 AM] [NeatoVacuumRobot] Successful login but can't connect to your neato robot.
[7/18/2019, 11:02:48 AM] [NeatoVacuumRobot] Found robot #1 named "Vincent" with serial "OPS15518-C4F312792730"
(node:2478) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined
at /usr/local/lib/node_modules/homebridge-neato/index.js:47:25
at client.getRobots (/usr/local/lib/node_modules/homebridge-neato/index.js:74:7)
at Client. (/usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/client.js:46:25)
at /usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/api.js:34:45
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:2478) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)

Thanks everybody. I found the bug. After the last PR the plugin no longer works for Neatos without zone cleaning capability. I'm fixing it right now.

Fixed in v0.6.1

Hi. Thanks for the quick response.  Unfortunately, I'm still having the same issue. Just some background.  I have 3 robots registered under my Neato account only one of those is a connected BotVac with zone cleaning capability.  That one is called "Vincent" and he is mentioned specifically in the log which I've copied below.  I'm can provide you with any other info/testing you require.  Just let me know.  Thanks!
[7/21/2019, 9:55:35 PM] [NeatoVacuumRobot] Error updating persistent maps: no serial or secret: undefined
[7/21/2019, 9:55:35 PM] [NeatoVacuumRobot] Found robot #1 named "Vincent" with serial "OPS15518-C4F312792730"
[7/21/2019, 9:55:35 PM] [NeatoVacuumRobot] TypeError: Cannot read property 'forEach' of undefined
at /usr/local/lib/node_modules/homebridge-neato/index.js:47:37
at robot.getPersistentMaps (/usr/local/lib/node_modules/homebridge-neato/index.js:87:41)
at robotRequest (/usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/robot.js:487:13)
at Robot.getPersistentMaps (/usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/robot.js:376:5)
at that.robots.forEach (/usr/local/lib/node_modules/homebridge-neato/index.js:84:39)
at Array.forEach (:null:null)
at client.getRobots (/usr/local/lib/node_modules/homebridge-neato/index.js:83:41)
at Client. (/usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/client.js:42:17)
at /usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/api.js:31:45
at process._tickCallback (internal/process/next_tick.js:68:7)
[7/21/2019, 9:55:35 PM] [NeatoVacuumRobot] Successful login but can't connect to your neato robot.
[7/21/2019, 9:55:35 PM] [NeatoVacuumRobot] Found robot #1 named "Vincent" with serial "OPS15518-C4F312792730"
(node:7024) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined
at /usr/local/lib/node_modules/homebridge-neato/index.js:47:37
at client.getRobots (/usr/local/lib/node_modules/homebridge-neato/index.js:73:25)
at Client. (/usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/client.js:46:25)
at /usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/api.js:34:45
at process._tickCallback (internal/process/next_tick.js:68:7)

Ok that's strange because I could reproduce the bug and the fix works for me. I will look into this.
@CVHvisuals does the v0.6.1 works for u?

Comfirmed 0.6.1 fixed the issue for me. I have a Neato Botvac Connected that does not have the zone cleaning feature.

The other botvacs registered to my neato account aren’t connected at all.
Meaning they don’t have Wi-Fi functionality.  I wonder if that could be the
issue?
Sent from my iPhone
On Jul 22, 2019, at 3:37 AM, Arne<EMAIL_ADDRESS>wrote:
Ok that's strange because I could reproduce the bug and the fix works for
me. I will look into this.
@CVHvisuals https://github.com/CVHvisuals does the v0.6.1 works for u?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/naofireblade/homebridge-neato/issues/36?email_source=notifications&email_token=ADYD2VS7OINKZLRKAZTTPT3QAVPSHA5CNFSM4IDSGMTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2PBMSQ#issuecomment-513676874,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADYD2VUXI77DMEPVCRXK5S3QAVPSHANCNFSM4IDSGMTA
.

Not sure if it's the same issue, but it seems like it is. I'm getting this when I'm trying to run homebridge:
[7/25/2019, 1:37:22 PM] [NeatoVacuumRobot] Initializing NeatoVacuumRobot platform...
[7/25/2019, 1:37:24 PM] [NeatoVacuumRobot] Found robot #1 named "1st floor vac" with serial `redacted`
[7/25/2019, 1:37:24 PM] [NeatoVacuumRobot] Found robot #2 named "2nd floor vac" with serial `redacted`
[7/25/2019, 1:37:24 PM] [NeatoVacuumRobot] Error updating persistent maps: TypeError: Cannot read property 'forEach' of undefined: undefined
[7/25/2019, 1:37:24 PM] [NeatoVacuumRobot] Found robot #1 named "1st floor vac" with serial `redacted`
[7/25/2019, 1:37:24 PM] [NeatoVacuumRobot] Found robot #2 named "2nd floor vac" with serial `redacted`
(node:2215) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined
    at /usr/local/lib/node_modules/homebridge-neato/index.js:47:37
    at robot.getPersistentMaps (/usr/local/lib/node_modules/homebridge-neato/index.js:87:41)
    at /usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/robot.js:482:17
    at /usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/api.js:34:45
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:2215) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:2215) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[7/25/2019, 1:37:25 PM] [NeatoVacuumRobot] error getting boundaries: failed: [object Object]

Similar issue - homebridge output to systemdaemon..
Jul 30 17:46:00 mfraspZ homebridge[2196]: [2019-7-30 17:46:00] [NeatoVacuumRobot] Initializing NeatoVacuumRobot platform...
Jul 30 17:46:01 mfraspZ homebridge[2196]: [2019-7-30 17:46:01] Loading 2 accessories...
Jul 30 17:46:05 mfraspZ homebridge[2196]: [2019-7-30 17:46:05] [NeatoVacuumRobot] Error updating persistent maps: no serial or secret: undefined
Jul 30 17:46:05 mfraspZ homebridge[2196]: [2019-7-30 17:46:05] [NeatoVacuumRobot] Found robot #1 named "Erik1" with serial "OPS17717-38D26957A0E9"
Jul 30 17:46:05 mfraspZ homebridge[2196]: [2019-7-30 17:46:05] [NeatoVacuumRobot] TypeError: Cannot read property 'forEach' of undefined
Jul 30 17:46:05 mfraspZ homebridge[2196]: at /usr/local/lib/node_modules/homebridge-neato/index.js:47:37
Jul 30 17:46:05 mfraspZ homebridge[2196]: at robot.getPersistentMaps (/usr/local/lib/node_modules/homebridge-neato/index.js:87:41)
Jul 30 17:46:05 mfraspZ homebridge[2196]: at robotRequest (/usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/robot.js:487:13)
Jul 30 17:46:05 mfraspZ homebridge[2196]: at Robot.getPersistentMaps (/usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/robot.js:376:5)
Jul 30 17:46:05 mfraspZ homebridge[2196]: at that.robots.forEach (/usr/local/lib/node_modules/homebridge-neato/index.js:84:39)
Jul 30 17:46:05 mfraspZ homebridge[2196]: at Array.forEach ()
Jul 30 17:46:05 mfraspZ homebridge[2196]: at client.getRobots (/usr/local/lib/node_modules/homebridge-neato/index.js:83:41)
Jul 30 17:46:05 mfraspZ homebridge[2196]: at Client. (/usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/client.js:42:17)
Jul 30 17:46:05 mfraspZ homebridge[2196]: at /usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/api.js:31:45
Jul 30 17:46:05 mfraspZ homebridge[2196]: at processTicksAndRejections (internal/process/task_queues.js:86:5)
Jul 30 17:46:05 mfraspZ homebridge[2196]: [2019-7-30 17:46:05] [NeatoVacuumRobot] Successful login but can't connect to your neato robot.
Jul 30 17:46:05 mfraspZ homebridge[2196]: [2019-7-30 17:46:05] [NeatoVacuumRobot] Found robot #1 named "Erik1" with serial "OPS17717-38D26957A0E9"
Jul 30 17:46:05 mfraspZ homebridge[2196]: (node:2196) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined
Jul 30 17:46:05 mfraspZ homebridge[2196]: at /usr/local/lib/node_modules/homebridge-neato/index.js:47:37
Jul 30 17:46:05 mfraspZ homebridge[2196]: at client.getRobots (/usr/local/lib/node_modules/homebridge-neato/index.js:73:25)
Jul 30 17:46:05 mfraspZ homebridge[2196]: at Client. (/usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/client.js:46:25)
Jul 30 17:46:05 mfraspZ homebridge[2196]: at /usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/api.js:34:45
Jul 30 17:46:05 mfraspZ homebridge[2196]: at processTicksAndRejections (internal/process/task_queues.js:86:5)
Jul 30 17:46:05 mfraspZ homebridge[2196]: (node:2196) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
Jul 30 17:46:05 mfraspZ homebridge[2196]: (node:2196) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Jul 30 17:46:06 mfraspZ homebridge[2196]: [2019-7-30 17:46:06] [NeatoVacuumRobot] Error: Request failed with status code 404: null
Jul 30 17:46:06 mfraspZ homebridge[2196]: [2019-7-30 17:46:06] [NeatoVacuumRobot] Error: Request failed with status code 404: null
Jul 30 17:46:06 mfraspZ homebridge[2196]: [2019-7-30 17:46:06] [NeatoVacuumRobot] Found robot #1 named "Erik1" with serial "OPS17717-38D26957A0E9"
Jul 30 17:46:06 mfraspZ homebridge[2196]: [2019-7-30 17:46:06] [NeatoVacuumRobot] Found robot #2 named "Neato" with serial "WTD09213DD-0128430"
Jul 30 17:46:06 mfraspZ homebridge[2196]: [2019-7-30 17:46:06] [NeatoVacuumRobot] no serial or secret: null
Jul 30 17:46:06 mfraspZ homebridge[2196]: [2019-7-30 17:46:06] [NeatoVacuumRobot] Error updating persistent maps: TypeError: Cannot read property 'forEach' of undefined: undefined
Jul 30 17:46:06 mfraspZ homebridge[2196]: [2019-7-30 17:46:06] [NeatoVacuumRobot] Found robot #1 named "Erik1" with serial "OPS17717-38D26957A0E9"
Jul 30 17:46:06 mfraspZ homebridge[2196]: [2019-7-30 17:46:06] [NeatoVacuumRobot] Found robot #2 named "Neato" with serial "WTD09213DD-0128430"
Jul 30 17:46:06 mfraspZ homebridge[2196]: [2019-7-30 17:46:06] [NeatoVacuumRobot] no serial or secret: null
Jul 30 17:46:06 mfraspZ homebridge[2196]: (node:2196) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'forEach' of undefined
Jul 30 17:46:06 mfraspZ homebridge[2196]: at /usr/local/lib/node_modules/homebridge-neato/index.js:47:37
Jul 30 17:46:06 mfraspZ homebridge[2196]: at robot.getPersistentMaps (/usr/local/lib/node_modules/homebridge-neato/index.js:87:41)
Jul 30 17:46:06 mfraspZ homebridge[2196]: at /usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/robot.js:482:17
Jul 30 17:46:06 mfraspZ homebridge[2196]: at /usr/local/lib/node_modules/homebridge-neato/node_modules/node-botvac/lib/api.js:34:45
Jul 30 17:46:06 mfraspZ homebridge[2196]: at processTicksAndRejections (internal/process/task_queues.js:86:5)
Jul 30 17:46:06 mfraspZ homebridge[2196]: (node:2196) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 4)
Jul 30 17:46:07 mfraspZ homebridge[2196]: [2019-7-30 17:46:07] [NeatoVacuumRobot] Error: Request failed with status code 404: null
Jul 30 17:46:07 mfraspZ homebridge[2196]: [2019-7-30 17:46:07] [NeatoVacuumRobot] Error: Request failed with status code 404: null
One botvac d5 "Erik1"- connected and working fine. One older , xv-25, "NEATO" -  no internet capability but registered at neato.com.

@christianlallo @mfagerdal can you test if your problem is fixed with v0.6.2?

Plugin and homebridge both loaded successfully with no errors!  Thank you!  Haven’t tested zone cleaning feature because I don’t see how to activate it. The plugin only creates one “clean” switch - I’m not sure what the proper behavior is but I would have suspected a clean switch for each zone would be created.
Thanks you and let me know!

On Jul 31, 2019, at 4:09 AM, Arne<EMAIL_ADDRESS>wrote:
@christianlallo https://github.com/christianlallo @mfagerdal https://github.com/mfagerdal can you test if your problem is fixed with v0.6.2?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/naofireblade/homebridge-neato/issues/36?email_source=notifications&email_token=ADYD2VTIRHXRUVJHUU6R56TQCFCDJA5CNFSM4IDSGMTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3GOOBQ#issuecomment-516744966, or mute the thread https://github.com/notifications/unsubscribe-auth/ADYD2VR7PRNMKODY47OWQK3QCFCDJANCNFSM4IDSGMTA.

Just a confirmation.  All standard functionality works. Starting a full map cleaning, returning to dock, etc.  But individual clean accessories for each defined zone on my house map are not being created.  Only one clean accessory is being created. I've attached screenshots of my house map along with the homekit room where my D7 lives.  On interesting observation is that the clean accessory doesn't have the name of the D7 - Vincent - while the other accessories do.
Thanks for the hard work and sorry for the trouble!

Any update on this?

@Staphylococcus @mfagerdal this should be fixed in v0.6.3


FAI-11836: Resets fail w/ HTTP 504

Description
Break non-incremental model reset queries into paginated delete by id queries
Type of change

[x] Bug fix
[ ] New feature
[ ] Breaking change

Can we also add this setting to the spec and wire it through?

Added.  Can you take another look @ypc-faros ?


fix(ci): Remove Docs gh-page publish

Description
Removes the publishing of basic docs to gh-pages. There's now a nice mdbook that's published by the books.yml workflow.

📚 $\text{Stack Overview}$
Pulls submitted in this stack:

#216 👈
main

This comment was automatically generated by st.


Add LeetCode Valid Analog Problem

🛠 Issue (Number) :

Issue no #776
Close Issue no #776

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Ploblem Name: Valid Anagram
Description

Given two strings s and t, return true if t is an anagram of s, and false otherwise.

An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.

Example 1:

Input: s = "anagram", t = "nagaram"
Output: true
Example 2:

Input: s = "rat", t = "car"
Output: false

Hey @Kumar-laxmi, Please merge this pull request.

Please do not raise PR until the Issue is not validated and assigned


Cleanup: Remove leftovers from remote management logging initialization.

[approve ci fedora]

[approve ci]

[approve ci fedora autest]


Slow page loads

Which area(s) are affected? (leave empty if unsure)
Frontend
To Reproduce
All pages tend to have a pretty slow initial load.
Describe the Bug
That seems to imply that there’s some Next.js SSR that’s happening on request. But not totally sure, worth checking the logs
Expected Behavior
It’s worth checking if we’re properly doing ISR or SSG, which should be faster

Mostly disabling ISR here
https://github.com/opensource-observer/oso/pull/584
Seeing how much of a difference that makes...

From what I can tell from logs we are doing Plasmic dependent builds pretty often...

Okay this issue is tough, but it does feel significantly faster than before I started. Can file a new issue if I come up more ideas on speed here

https://github.com/opensource-observer/oso/pull/590


feat: Move Request server util method to RequestExt

Motivation
These utility functionalities seem to be more practical APIs than the other basic ones. Moving them to an extension trait can keep the request implementation more basic. The drawback is that users need to import the trait to use these functionalities.
Solution
Adds an extension trait for request and moves these functionalities to the trait.

This doesn't seem like an improvement to me.


Random infrequent URX/connection failures talking to external endpoints after adding proxy sidecars

Bug Description
We're in the process of rolling out sidecars to or existing clusters, and we're seeing a small single digit percentage of our requests to endpoints outside the mesh (via the Passthrough cluster) get connection errors for no discernible reason. Trace logs on an impacted pod show the connection just immediately close after it starts opening with no indication as to why.
These failures do not happen when the sidecar is not present, so it's definitely Istio/Envoy related.
Version
➜  ~ istioctl version
client version: 1.17.1
control plane version: 1.15.0
data plane version: 1.15.0 (377 proxies)
➜  ~ kubectl version --short
Flag --short has been deprecated, and will be removed in the future. The --short output will become the default.
Client Version: v1.25.3
Kustomize Version: v4.5.7
Server Version: v1.24.9

Additional Information
I can't feasibly do the redactions that would be necessary to post the bug-report output, so just collecting the relevant bits (happy to collected targeted data if I left out something):

Analyze has no notes for the impacted namespaces.
All the filter chains and such are default.
Stats for the PassthroughCluster (Note that these seem to get replaced/reset every few seconds)

PassthroughCluster::observability_name::PassthroughCluster
PassthroughCluster::default_priority::max_connections::4294967295
PassthroughCluster::default_priority::max_pending_requests::4294967295
PassthroughCluster::default_priority::max_requests::4294967295
PassthroughCluster::default_priority::max_retries::4294967295
PassthroughCluster::high_priority::max_connections::1024
PassthroughCluster::high_priority::max_pending_requests::1024
PassthroughCluster::high_priority::max_requests::1024
PassthroughCluster::high_priority::max_retries::3
PassthroughCluster::added_via_api::true
PassthroughCluster::<IP_ADDRESS>:443::cx_active::0
PassthroughCluster::<IP_ADDRESS>:443::cx_connect_fail::1
PassthroughCluster::<IP_ADDRESS>:443::cx_total::78
PassthroughCluster::<IP_ADDRESS>:443::rq_active::0
PassthroughCluster::<IP_ADDRESS>:443::rq_error::0
PassthroughCluster::<IP_ADDRESS>:443::rq_success::0
PassthroughCluster::<IP_ADDRESS>:443::rq_timeout::0
PassthroughCluster::<IP_ADDRESS>:443::rq_total::77
PassthroughCluster::<IP_ADDRESS>:443::hostname::PassthroughCluster<IP_ADDRESS>:443
PassthroughCluster::<IP_ADDRESS>:443::health_flags::healthy
PassthroughCluster::<IP_ADDRESS>:443::weight::1
PassthroughCluster::<IP_ADDRESS>:443::region::
PassthroughCluster::<IP_ADDRESS>:443::zone::
PassthroughCluster::<IP_ADDRESS>:443::sub_zone::
PassthroughCluster::<IP_ADDRESS>:443::canary::false
PassthroughCluster::<IP_ADDRESS>:443::priority::0
PassthroughCluster::<IP_ADDRESS>:443::success_rate::-1
PassthroughCluster::<IP_ADDRESS>:443::local_origin_success_rate::-1

netstat
prometheus with metrics every other target workload filtered out
trace logs around a failure (C425 and C426 are the connections for the failed request)

@nberkley-gp PassthroughCluster is a general cluster added to sidecars for traffic considered "not inside the mesh", and the settings on it are not optimized since it does not know what kind of traffic to expect.  If you defined a ServiceEntry for the traffic in question, do you see a drop in the URX/connection failures?

Defining a ServiceEntry does seem to significantly reduce the frequency (possibly eliminates it entirely? I saw one instance of it during my test, but it seemed to correspond to a general latency spike so I suspect something else was afoot with that one)
So what's the difference between the passthrough cluster and more well defined clusters that would cause connection failures of all things?

This is happening to us as well. Here is an example of it working (thousands of times previously and thousand of times after) with a break in the middle:

If we search through Splunk across our org for past 3 days, I show 3 million UF URX errors talking to external endpoints. No pattern seemingly, it's affecting onprem URL's, AWS URL's, DB URL's, etc. These are all endpoints our applications have ServiceEntries for. Some wildcard with resolution: none, others explicitly with resolution: DNS.
No idea if these are retried by Istio and invisible to the user/application or a huge cause for concern.
We are running EKS 1.24 across the board with Istio 1.15.7.

@jbilliau-rcd since the original issue seems to have been linked to traffic using PassthroughCluster, you have a ServiceEntry defined and traffic is routed through the desired cluster based on the access logs.  I would open a separate issue for your errors

I am also experiencing this issue.

Check if the problem goes away if the clients disable connection reuse. Last I checked (>1y), Envoy doesn't always close connections to the client if the upstream goes away and if your clients do not reresolve DNS after TTL expires, ORIGINAL_DST load balancing on the sidecar will mean that if your upstream service changed IP addresses you will see 503 coming from the sidecar indefinitely.

https://github.com/envoyproxy/envoy/issues/19458

I think @nielsole  is onto something here....we had our devs disable Istio, and they still got connection resets in their app. Turns out it was keep alive related....they fixed it, turned back on Istio, and the URX errors went away.

@GregHanson do we really need to define service entry for every single external endpoint? What does passthrough cluster do differently that causes random connection drops? Our mesh is set to ALLOW_ANY so we expect istio to let external or unknown calls go through as is. However, we are seeing random disconnections with the passthrough cluster for external calls. The external IPs aren't even changing and are static for weeks if not months.
We had a similar issue before in a different cluster but that was related istio killing idle connections every hour. We disabled that behavior and the issue went away. This time however, it is dropping connection more randomly without any apparent time pattern. The disconnections don't happen when sidecar is removed or the outgoing port is excluded.


Round display support

Do you plan support round displays like GC9A01 ?
It would be great!
Thank you

They are already supported.


[HCW-146] Added new integration tests

The sonar failure is due to duplicated code in a test file. I don't think this is a real issue in this case because sometimes it makes sense for some test code to be duplicated. In this example it's the assertion steps that have been deliberately copied from a single test.


Ordering of dimensions is not consistent across parts of the package

In deviation(), the three dimensions for reachable_corners and nominal_trajectory are state variables, points, time; while in bounded_runs_iter(), the three dimensions for the return value are time, augmented state, min/max; finally, the return value of evol() has dimensions time, state variables.
Making these have the same ordering of dimensions will reduce the chance of making mistakes while passing arguments across functions, such as passing in a nominal trajectory to deviation() from evol(). Of course, we should wait until after the deadlines to make these changes.

See also #8, which could be done at the same time.

To match lsim from ControlSystems.jl, we should standardize on time being last.  That has the advantage of making a single time instant be a consecutive block of memory, generally improving cache performance.
In the current work I'm doing on #8 (see the intervals branch), bounded_runs_iter now just returns a vector of IntervalBoxes.  I think the order of the main arrays in the deviation function shouldn't change, and in fact I'd like to make a method of corners_from_bounds to make a vector of IntervalBoxes into such an array automatically.  evol needs to change the order of its result.  I'll also make it accept an IntervalBox as initial state, which would be handy for computing nominal trajectories.


JIT access

Configure JIT access group
Configure JIT access group to access resources

JIT access is correctly configured.