Update config.yaml

atlantis help

atlantis
Terraform Pull Request Automation

Usage:
  atlantis <command> [options] -- [terraform options]

Examples:
  # run plan in the root directory passing the -target flag to terraform
  atlantis plan -d . -- -target=resource

  # apply all unapplied plans from this pull request
  atlantis apply

  # apply the plan for the root directory and staging workspace
  atlantis apply -d . -w staging

Commands:
  plan     Runs 'terraform plan' for the changes in this pull request.
           To plan a specific project, use the -d, -w and -p flags.
  apply    Runs 'terraform apply' on all unapplied plans from this pull request.
           To only apply a specific plan, use the -d, -w and -p flags.
  unlock   Removes all atlantis locks and discards all plans for this PR.
           To unlock a specific plan you can use the Atlantis UI.
  approve_policies
           Approves all current policy checking failures for the PR.
  version  Print the output of 'terraform version'
  help     View help.

Flags:
  -h, --help   help for atlantis

Use "atlantis [command] --help" for more information about a command.

atlantis plan -p test

Ran Plan for dir: account01/wafv2/ip-sets workspace: default
Plan Error
Show Output
running "terragrunt plan" in "/home/atlantis/.atlantis/repos/woodonggyu/terragrunt-aws-wafv2/16/default/account01/wafv2/ip-sets": exit status 1: running "terragrunt plan" in "/home/atlantis/.atlantis/repos/woodonggyu/terragrunt-aws-wafv2/16/default/account01/wafv2/ip-sets":

Initializing the backend...

Successfully configured the backend "s3"! Terraform will automatically
use this backend unless the backend configuration changes.

Initializing provider plugins...
- Finding hashicorp/aws versions matching ">= 4.24.0"...
- Installing hashicorp/aws v4.28.0...
- Installed hashicorp/aws v4.28.0 (signed by HashiCorp)

Terraform has created a lock file .terraform.lock.hcl to record the provider
selections it made above. Include this file in your version control repository
so that Terraform can guarantee to make the same selections by default when
you run "terraform init" in the future.

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.
╷
│ Error: Error acquiring the state lock
│
│ Error message: ConditionalCheckFailedException: The conditional request
│ failed
│ Lock Info:
│   ID:        41af43f1-e31a-8482-4907-e67fd2992b36
│   Path:      t-sec-iac-tfstate-bucket/account01/wafv2/ip-sets/terraform.tfstate
│   Operation: OperationTypeApply
│   Who:       atlantis@dbe1f0c27cae
│   Version:   1.2.4
│   Created:   2022-08-27 09:07:22.962020828 +0000 UTC
│   Info:
│
│
│ Terraform acquires a state lock to protect the state from being written
│ by multiple users at the same time. Please resolve the issue above and try
│ again. For most commands, you can disable locking with the "-lock=false"
│ flag, but this is not recommended.
╵
time=2022-08-27T11:41:15Z level=error msg=Terraform invocation failed in /home/atlantis/.atlantis/repos/woodonggyu/terragrunt-aws-wafv2/16/default/account01/wafv2/ip-sets/.terragrunt-cache/LJwbZUapA1RayOhhJ3avqcY5920/KTRy-bYcczp9kkfcZ064SOJ8rRw/ipset prefix=[/home/atlantis/.atlantis/repos/woodonggyu/terragrunt-aws-wafv2/16/default/account01/wafv2/ip-sets]
time=2022-08-27T11:41:15Z level=error msg=1 error occurred:
	* exit status 1

atlantis plan -p test

Ran Plan for project: test dir: account01/wafv2/ip-sets workspace: default
Show Output

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # aws_wafv2_ip_set.this[0] will be created
  + resource "aws_wafv2_ip_set" "this" {
      + addresses          = [
          + "<IP_ADDRESS>/32",
        ]
      + arn                = (known after apply)
      + description        = "GLOBAL"
      + id                 = (known after apply)
      + ip_address_version = "IPV4"
      + lock_token         = (known after apply)
      + name               = "ipset-iac-t1"
      + scope              = "REGIONAL"
      + tags               = {
          + "Service" = "Security"
        }
      + tags_all           = {
          + "Service" = "Security"
        }
    }

  # aws_wafv2_ip_set.this[1] will be created
  + resource "aws_wafv2_ip_set" "this" {
      + addresses          = [
          + "<IP_ADDRESS>/32",
          + "<IP_ADDRESS>/32",
        ]
      + arn                = (known after apply)
      + description        = "LOCAL - TEST1"
      + id                 = (known after apply)
      + ip_address_version = "IPV4"
      + lock_token         = (known after apply)
      + name               = "ipset-iac-t2"
      + scope              = "REGIONAL"
      + tags               = {
          + "Service" = "Security"
        }
      + tags_all           = {
          + "Service" = "Security"
        }
    }

Plan: 2 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + aws_wafv2_ip_set_arn      = [
      + (known after apply),
      + (known after apply),
    ]
  + aws_wafv2_ip_set_id       = [
      + (known after apply),
      + (known after apply),
    ]
  + aws_wafv2_ip_set_tags_all = [
      + {
          + "Service" = "Security"
        },
      + {
          + "Service" = "Security"
        },
    ]

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.

:arrow_forward: To apply this plan, comment:

atlantis apply -p test

:put_litter_in_its_place: To delete this plan click here
:repeat: To plan this project again, comment:

atlantis plan -p test

Plan: 2 to add, 0 to change, 0 to destroy.

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis apply -p test

atlantis unlock

All Atlantis locks for this PR have been unlocked and plans discarded

atlantis plan -p test

Ran Plan for dir: account01/wafv2/ip-sets workspace: default
Plan Error
The default workspace at path account01/wafv2/ip-sets is currently locked by another command that is running for this pull request.
Wait until the previous command is complete and try again.

atlantis plan -p test

Ran Plan for dir: account01/wafv2/ip-sets workspace: default
Plan Error
The default workspace at path account01/wafv2/ip-sets is currently locked by another command that is running for this pull request.
Wait until the previous command is complete and try again.

atlantis unlock

All Atlantis locks for this PR have been unlocked and plans discarded

atlantis plan -p test

Ran Plan for dir: account01/wafv2/ip-sets workspace: default
Plan Error
The default workspace at path account01/wafv2/ip-sets is currently locked by another command that is running for this pull request.
Wait until the previous command is complete and try again.

atlantis unlock

All Atlantis locks for this PR have been unlocked and plans discarded

atlantis unlock

All Atlantis locks for this PR have been unlocked and plans discarded

atlantis unlock -p test

Usage of unlock:
atlantis unlock

 Unlocks the entire PR and discards all plans in this PR.
 Arguments or flags are not supported at the moment.
 If you need to unlock a specific project please use the atlantis UI.

atlantis plan -p test

Ran Plan for dir: account01/wafv2/ip-sets workspace: default
Plan Error
The default workspace at path account01/wafv2/ip-sets is currently locked by another command that is running for this pull request.
Wait until the previous command is complete and try again.

atlantis plan -p test

Ran Plan for dir: account01/wafv2/ip-sets workspace: default
Plan Error
The default workspace at path account01/wafv2/ip-sets is currently locked by another command that is running for this pull request.
Wait until the previous command is complete and try again.

atlantis unlock

All Atlantis locks for this PR have been unlocked and plans discarded

Ran Apply for project: test dir: account01/wafv2/ip-sets workspace: default
Apply Error
Show Output
running "terragrunt apply" in "/home/atlantis/.atlantis/repos/woodonggyu/terragrunt-aws-wafv2/16/default/account01/wafv2/ip-sets": exit status 1: running "terragrunt apply" in "/home/atlantis/.atlantis/repos/woodonggyu/terragrunt-aws-wafv2/16/default/account01/wafv2/ip-sets":

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # aws_wafv2_ip_set.this[0] will be created
  + resource "aws_wafv2_ip_set" "this" {
      + addresses          = [
          + "<IP_ADDRESS>/32",
        ]
      + arn                = (known after apply)
      + description        = "GLOBAL"
      + id                 = (known after apply)
      + ip_address_version = "IPV4"
      + lock_token         = (known after apply)
      + name               = "ipset-iac-t1"
      + scope              = "REGIONAL"
      + tags               = {
          + "Service" = "Security"
        }
      + tags_all           = {
          + "Service" = "Security"
        }
    }

  # aws_wafv2_ip_set.this[1] will be created
  + resource "aws_wafv2_ip_set" "this" {
      + addresses          = [
          + "<IP_ADDRESS>/32",
          + "<IP_ADDRESS>/32",
        ]
      + arn                = (known after apply)
      + description        = "LOCAL - TEST1"
      + id                 = (known after apply)
      + ip_address_version = "IPV4"
      + lock_token         = (known after apply)
      + name               = "ipset-iac-t2"
      + scope              = "REGIONAL"
      + tags               = {
          + "Service" = "Security"
        }
      + tags_all           = {
          + "Service" = "Security"
        }
    }

Plan: 2 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + aws_wafv2_ip_set_arn      = [
      + (known after apply),
      + (known after apply),
    ]
  + aws_wafv2_ip_set_id       = [
      + (known after apply),
      + (known after apply),
    ]
  + aws_wafv2_ip_set_tags_all = [
      + {
          + "Service" = "Security"
        },
      + {
          + "Service" = "Security"
        },
    ]

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value:
Interrupt received.

Two interrupts received. Exiting immediately. Note that data loss may have
Please wait for Terraform to exit or data loss may occur.
Gracefully shutting down...
occurred.

╷
│ Error: error asking for approval: context canceled
│
│
╵
╷
│ Error: Error releasing the state lock
│
│ Error message: failed to retrieve lock info: unexpected end of JSON input
│
│ Terraform acquires a lock when accessing your state to prevent others
│ running Terraform to potentially modify the state at the same time. An
│ error occurred while releasing this lock. This could mean that the lock
│ did or did not release properly. If the lock didn't release properly,
│ Terraform may not be able to run future commands since it'll appear as if
│ the lock is held.
│
│ In this scenario, please call the "force-unlock" command to unlock the
│ state manually. This is a very dangerous operation since if it is done
│ erroneously it could result in two people modifying state at the same time.
│ Only call this command if you're certain that the unlock above failed and
│ that no one else is holding a lock.
╵
╷
│ Error: operation canceled
│
│
╵
time=2022-08-27T11:54:04Z level=error msg=Terraform invocation failed in /home/atlantis/.atlantis/repos/woodonggyu/terragrunt-aws-wafv2/16/default/account01/wafv2/ip-sets/.terragrunt-cache/LJwbZUapA1RayOhhJ3avqcY5920/KTRy-bYcczp9kkfcZ064SOJ8rRw/ipset prefix=[/home/atlantis/.atlantis/repos/woodonggyu/terragrunt-aws-wafv2/16/default/account01/wafv2/ip-sets]
time=2022-08-27T11:54:04Z level=error msg=1 error occurred:
	* exit status 1


Reduce dependencies

Changelog updated 👍  Shall I merge? Update the version in package.json/changelog? Both?

Hey @xavcz,
Thanks! All good to merge! If you want you can also bump the version and deploy to NPM as well.
Let me know if you need a hand with Semaphore when deploying.
:shipit:
😄

And yes, please update package.json and CHANGELOG.md.
Thanks!!


Seems like some functions have not been ported from C++ to Python properly

For example:
reacher.getJoints()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-26-6c5fa93ef7fe> in <module>()
----> 1 env.reacher.getJoints()

TypeError: No to_python (by-value) converter found for C++ type: std::vector<dart::dynamics::Joint const*, std::allocator<dart::dynamics::Joint const*> >

This should be resolved by #82. Please reopen if this is still persistent.


Changing the spotlight's outline thickness doesn't seem to load the settings value.

Fixed. We're saving the settings in JSON now.


Phi-3 medium 128k instruct fails to start

System Info
docker pull ghcr.io/huggingface/text-generation-inference:latest
latest: Pulling from huggingface/text-generation-inference
Digest: sha256:00d7f1cf3c6fce0a48ff9f2e0451cfa60a06fb48447d60dc6034f4e69443fd3e
Status: Image is up to date for ghcr.io/huggingface/text-generation-inference:latest
ghcr.io/huggingface/text-generation-inference:latest

docker run --rm --name tgi --gpus all --shm-size 1g -e HUGGING_FACE_HUB_TOKEN=xxx -p 8080:80 -v /opt/tgi-cache:/data ghcr.io/huggingface/text-generation-inference:latest --model-id microsoft/Phi-3-medium-128k-instruct
2024-05-21T19:16:29.208699Z  INFO text_generation_launcher: Args {
    model_id: "microsoft/Phi-3-medium-128k-instruct",
    revision: None,
    validation_workers: 2,
    sharded: None,
    num_shard: None,
    quantize: None,
    speculate: None,
    dtype: None,
    trust_remote_code: false,
    max_concurrent_requests: 128,
    max_best_of: 2,
    max_stop_sequences: 4,
    max_top_n_tokens: 5,
    max_input_tokens: None,
    max_input_length: None,
    max_total_tokens: None,
    waiting_served_ratio: 0.3,
    max_batch_prefill_tokens: None,
    max_batch_total_tokens: None,
    max_waiting_tokens: 20,
    max_batch_size: None,
    cuda_graphs: None,
    hostname: "a9898b15798a",
    port: 80,
    shard_uds_path: "/tmp/text-generation-server",
    master_addr: "localhost",
    master_port: 29500,
    huggingface_hub_cache: Some(
        "/data",
    ),
    weights_cache_override: None,
    disable_custom_kernels: false,
    cuda_memory_fraction: 1.0,
    rope_scaling: None,
    rope_factor: None,
    json_output: false,
    otlp_endpoint: None,
    cors_allow_origin: [],
    watermark_gamma: None,
    watermark_delta: None,
    ngrok: false,
    ngrok_authtoken: None,
    ngrok_edge: None,
    tokenizer_config_path: None,
    disable_grammar_support: false,
    env: false,
    max_client_batch_size: 4,
}
2024-05-21T19:16:29.208767Z  INFO hf_hub: Token file not found "/root/.cache/huggingface/token"
2024-05-21T19:16:31.499304Z  INFO text_generation_launcher: Model supports up to 131072 but tgi will now set its default to 4096 instead. This is to save VRAM by refusing large prompts in order to allow more users on the same hardware. You can increase that size using `--max-batch-prefill-tokens=131122 --max-total-tokens=131072 --max-input-tokens=131071`.
2024-05-21T19:16:31.499313Z  INFO text_generation_launcher: Default `max_input_tokens` to 4095
2024-05-21T19:16:31.499316Z  INFO text_generation_launcher: Default `max_total_tokens` to 4096
2024-05-21T19:16:31.499317Z  INFO text_generation_launcher: Default `max_batch_prefill_tokens` to 4145
2024-05-21T19:16:31.499319Z  INFO text_generation_launcher: Using default cuda graphs [1, 2, 4, 8, 16, 32]
2024-05-21T19:16:31.499404Z  INFO download: text_generation_launcher: Starting download process.
2024-05-21T19:16:33.562753Z  INFO text_generation_launcher: Files are already present on the host. Skipping download.

2024-05-21T19:16:33.901453Z  INFO download: text_generation_launcher: Successfully downloaded weights.
2024-05-21T19:16:33.901584Z  INFO shard-manager: text_generation_launcher: Starting shard rank=0
2024-05-21T19:16:37.067234Z ERROR text_generation_launcher: Error when initializing model
Traceback (most recent call last):
  File "/opt/conda/bin/text-generation-server", line 8, in <module>
    sys.exit(app())
  File "/opt/conda/lib/python3.10/site-packages/typer/main.py", line 311, in __call__
    return get_command(self)(*args, **kwargs)
  File "/opt/conda/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/opt/conda/lib/python3.10/site-packages/typer/core.py", line 778, in main
    return _main(
  File "/opt/conda/lib/python3.10/site-packages/typer/core.py", line 216, in _main
    rv = self.invoke(ctx)
  File "/opt/conda/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/conda/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/conda/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/opt/conda/lib/python3.10/site-packages/typer/main.py", line 683, in wrapper
    return callback(**use_params)  # type: ignore
  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/cli.py", line 90, in serve
    server.serve(
  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/server.py", line 257, in serve
    asyncio.run(
  File "/opt/conda/lib/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/opt/conda/lib/python3.10/asyncio/base_events.py", line 636, in run_until_complete
    self.run_forever()
  File "/opt/conda/lib/python3.10/asyncio/base_events.py", line 603, in run_forever
    self._run_once()
  File "/opt/conda/lib/python3.10/asyncio/base_events.py", line 1909, in _run_once
    handle._run()
  File "/opt/conda/lib/python3.10/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
> File "/opt/conda/lib/python3.10/site-packages/text_generation_server/server.py", line 220, in serve_inner
    model = get_model(
  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/__init__.py", line 423, in get_model
    return FlashLlama(
  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/flash_llama.py", line 84, in __init__
    model = FlashLlamaForCausalLM(prefix, config, weights)
  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 396, in __init__
    self.model = FlashLlamaModel(prefix, config, weights)
  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 320, in __init__
    [
  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 321, in <listcomp>
    FlashLlamaLayer(
  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 260, in __init__
    self.self_attn = FlashLlamaAttention(
  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 116, in __init__
    self.query_key_value = load_attention(config, prefix, weights)
  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 51, in load_attention
    bias = config.attention_bias
  File "/opt/conda/lib/python3.10/site-packages/transformers/configuration_utils.py", line 263, in __getattribute__
    return super().__getattribute__(key)
AttributeError: 'Phi3Config' object has no attribute 'attention_bias'

2024-05-21T19:16:37.504771Z ERROR shard-manager: text_generation_launcher: Shard complete standard error output:

/opt/conda/lib/python3.10/site-packages/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.
  warnings.warn(
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
/opt/conda/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py:658: UserWarning: You are using a Backend <class 'text_generation_server.utils.dist.FakeGroup'> as a ProcessGroup. This usage is deprecated since PyTorch 2.0. Please use a public API of PyTorch Distributed instead.
  warnings.warn(
Traceback (most recent call last):

  File "/opt/conda/bin/text-generation-server", line 8, in <module>
    sys.exit(app())

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/cli.py", line 90, in serve
    server.serve(

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/server.py", line 257, in serve
    asyncio.run(

  File "/opt/conda/lib/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)

  File "/opt/conda/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
    return future.result()

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/server.py", line 220, in serve_inner
    model = get_model(

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/__init__.py", line 423, in get_model
    return FlashLlama(

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/flash_llama.py", line 84, in __init__
    model = FlashLlamaForCausalLM(prefix, config, weights)

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 396, in __init__
    self.model = FlashLlamaModel(prefix, config, weights)

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 320, in __init__
    [

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 321, in <listcomp>
    FlashLlamaLayer(

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 260, in __init__
    self.self_attn = FlashLlamaAttention(

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 116, in __init__
    self.query_key_value = load_attention(config, prefix, weights)

  File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 51, in load_attention
    bias = config.attention_bias

  File "/opt/conda/lib/python3.10/site-packages/transformers/configuration_utils.py", line 263, in __getattribute__
    return super().__getattribute__(key)

AttributeError: 'Phi3Config' object has no attribute 'attention_bias'
 rank=0
2024-05-21T19:16:37.603743Z ERROR text_generation_launcher: Shard 0 failed to start
2024-05-21T19:16:37.603753Z  INFO text_generation_launcher: Shutting down shards
Error: ShardCannotStart

Information

[X] Docker
[ ] The CLI directly

Tasks

[X] An officially supported command
[ ] My own modifications

Reproduction

Try to run TGI Docker with latest phi-3
It fails to start

Expected behavior

Try to run TGI Docker with latest phi-3
It works

There seems to be an issue with Phi-3 using a bleeding edge release of transformers (see the note here). I was able to get it to work adding the trust-remote-code flag in the launch command (which obviously isn't a good long term solution - but it does at least work)

Have you tried adding
"attention_bias": false
to the config.json?
I used a local volume to save the model and altered the config as described. It works (tested with image ghcr.io/huggingface/text-generation-inference:2.0.3).

I encounter this as well. I believe it arises from the recent addition of Granite support after Phi-3 support in TGI 2.0.3. See here.

@OjoDojoJo What's your full command line?  I'm running this command on a aws g6.48xlarge
docker run -it --rm --name tgi -p 8080:80 --gpus all --shm-size 2g   \
     -v /models/:/models/ ghcr.io/huggingface/text-generation-inference:2.0.3   \
     --model-id /models/microsoft/Phi-3-medium-128k-instruct/     \
     --hostname <IP_ADDRESS>         --trust-remote-code --num-shard 8     \
     --max-input-length=9000 --max-total-tokens=9500 \
     --max-batch-prefill-tokens=9000

And I'm getting this error:
[rank1]: Traceback (most recent call last):

[rank1]:   File "/opt/conda/bin/text-generation-server", line 8, in <module>
[rank1]:     sys.exit(app())

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/cli.py", line 90, in serve
[rank1]:     server.serve(

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/server.py", line 258, in serve
[rank1]:     asyncio.run(

[rank1]:   File "/opt/conda/lib/python3.10/asyncio/runners.py", line 44, in run
[rank1]:     return loop.run_until_complete(main)

[rank1]:   File "/opt/conda/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
[rank1]:     return future.result()

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/server.py", line 222, in serve_inner
[rank1]:     model = get_model(

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/__init__.py", line 420, in get_model
[rank1]:     return FlashLlama(

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/flash_llama.py", line 84, in __init__
[rank1]:     model = FlashLlamaForCausalLM(prefix, config, weights)

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 368, in __init__
[rank1]:     self.model = FlashLlamaModel(prefix, config, weights)

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 292, in __init__
[rank1]:     [

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 293, in <listcomp>
[rank1]:     FlashLlamaLayer(

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 232, in __init__
[rank1]:     self.self_attn = FlashLlamaAttention(

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 108, in __init__
[rank1]:     self.query_key_value = load_attention(config, prefix, weights)

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 45, in load_attention
[rank1]:     return TensorParallelColumnLinear.load_multi(

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/layers/tensor_parallel.py", line 115, in load_multi
[rank1]:     weight = weights.get_multi_weights_col(

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/utils/weights.py", line 264, in get_multi_weights_col
[rank1]:     w = [self.get_sharded(f"{p}.weight", dim=0) for p in prefixes]

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/utils/weights.py", line 264, in <listcomp>
[rank1]:     w = [self.get_sharded(f"{p}.weight", dim=0) for p in prefixes]

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/utils/weights.py", line 112, in get_sharded
[rank1]:     filename, tensor_name = self.get_filename(tensor_name)

[rank1]:   File "/opt/conda/lib/python3.10/site-packages/text_generation_server/utils/weights.py", line 63, in get_filename
[rank1]:     raise RuntimeError(f"weight {tensor_name} does not exist")

[rank1]: RuntimeError: weight model.layers.0.self_attn.q_proj.weight does not exist

Have you tried adding
"attention_bias": false
to the config.json?
I used a local volume to save the model and altered the config as described. It works (tested with image ghcr.io/huggingface/text-generation-inference:2.0.3).

Can confirm that this works. There's currently an open PR on HF to fix the issue. In the meantime, you can run the model by directly specifying the revision. Here's my full command:
docker run --gpus all --shm-size 2g -p 8080:80 \
-v $PWD/data:/data ghcr.io/huggingface/text-generation-inference:2.0 \
--model-id microsoft/Phi-3-mini-128k-instruct \
--revision refs/pr/68 \
--trust-remote-code \
-p 8080 \
--hostname <IP_ADDRESS>"

I'm still getting the same issue as @amihalik, even with the attention bias fixed:
RuntimeError: weight model.layers.0.self_attn.q_proj.weight does not exist
Not sure what causes it, I'm using pretty much the exact same docker commands.

Still fails for me with TGI 2.0, trust remote code, attention_bias false.
RuntimeError: weight model.layers.0.self_attn.q_proj.weight does not exist

It is the same for us. tells me The argument trust_remote_code is to be used with Auto classes. It has no effect here and is ignored.


⚠ SolarOscp has degraded performance

In 4bb8101, SolarOscp ($SOLAROSCP_URL) experienced degraded performance:

HTTP code: 200
Response time: 275 ms

Resolved: SolarOscp performance has improved in afd1b62.


Throw exceptions from ANTLR parsers

Fixes #161

@rultor merge

@rultor merge

@suseika OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@suseika Done! FYI, the full log is here (took me 5min)


Aggregated search results can be inconsistent due to over aggressive result reduction

When asking for a low number of table results the aggregated output sometimes loses results due to the way the in memory results are trimmed.

Created PR https://github.com/gchq/stroom-query/pull/1 on stroom-query

Now we have stroom.search.storeSize for controlling the amount of results stored in the in-memory store and stroom.dashboard.defaultMaxResults for controlling the number of results that are returned to the client/user.  See #375


Runs get Killed

Baysor seems like an excellent tool - hoping to use this for our stereoseq data.
However, every time I run it, it gets killed:
[15:14:08] Info: # CLI params: `-x x -y y -g geneID -o test3a test3.gem`
[15:14:09] Info: (2022-11-14) Run Baysor v0.5.2
[15:14:09] Info: Loading data...
[15:14:23] Info: Loaded 783450 transcripts
[15:14:25] Info: Estimating noise level
[15:37:10] Info: Done
[15:37:10] Info: Estimating local neighborhoods
[15:37:10] Info: Estimating local colors
Killed

Head of test3.gem
geneID  x       y       MIDCount        label   tag
0610009B22Rik   7020    7108    1       0       0
0610009B22Rik   7982    7080    2       7463    1
0610009B22Rik   7337    7305    2       9076    1
0610009B22Rik   7544    7630    1       11157   0
0610009B22Rik   7171    7822    1       12610   1

I've tried this on multiple machines (all Linux, did not run on my Mac M1); with a few versions of Julia (1.6.7; 1.8.2); with & without providing cell segmentation. It alwyas gets killed.
Anything else that I can try? Antying that I'm overlooking?
thanks

Making some progress. I can run (most) of Baysor now. But it seems that (a) it needs julia 1.6.7 - the 1.8 branch refuses. And (b) - I've downsampled my count matrix to 500 genes from mouse cell type markers, and are most abundantly expressed. Now crashing at the plotting stage (see other bug)


Change to a filtering with Morlet wavelet?

I would like to question your choice of filtering method.
In your firf method, you both specify a bandwidth (i.e. two cut-off frequencies) AND a number of cycles. It makes the use of this function quite difficult, since if the number of cycles is not high enough, the obtained bandwidth may not be the one expected:
Example:
with f_range=[5, 15], fs=300.0, w=3, the obtained filter has a bandwidth (at -3dB) around 10 Hz (expected).
with f_range=[45, 55], fs=300.0, w=3, the obtained filter has a bandwidth (at -3dB) around 30 Hz (unexpected).
This is the normal behavior since you are based on scipy.signal.firwin, so the obtained bandwidth is somehow around the maximum of (a) the expected bandwidth and (b) the bandwidth obtain with a Morlet wavelet with the same number of cycles. However, this is not documented and it is quite difficult to know which parameter to use without making mistakes (as in example above).
I wonder if it would not be better to use a filtering based on a Morlet wavelet. In this case, you would have to specify only the center frequency and the number of cycles, and the bandwidth would derive directly from these two parameters.
If you don't want to keep the f_range parameter (with two cutoff frequencies), you could deprecate the number of cycles. In this case, you could use Morlet wavelet filtering with:
# center frequency
f0 = 0.5 * (f_range[1] - f_range[0])
# bandwidth
bandwidth = f_range[1] - f_range[0]
# number of cycles
w = 1.7 * f0 / bandwidth
# where 1.7 is chosen to have the desired bandwidth at -3dB
x_filt = morletf(x, f0, fs, w)

It is also more intuitive to use bandwidth than number of cycles.
The bandwidth choice for PAC is a critical issue [1], so I believe it is important to help this choice by avoiding adding more pitfalls.

[1] Aru, J., Aru, J., Priesemann, V., Wibral, M., Lana, L., Pipa, G., ... & Vicente, R. (2015). Untangling cross-frequency coupling in neuroscience. Current opinion in neurobiology, 31, 51-61.

I agree with all of your points. The filtering could definitely be improved, as I've been realizing over the past few months. For the FIR filter, I should have just made the input to be the filter order.
I think the approach you outlined to derive f0 and bandwidth from an f_range is a good way to go. We, @parenthetical-e , are hesitant to deprecate the current API (w in this case), but I personally think it would be worth it to improve the filter design, which as you pointed out, could work more intuitively.

Regardless of whether we shift to the Morlett by default (which could be good) It's clear we're going to need to revisit the filter design and filter API of pacpy. ASAP. Thanks for pointing this out, @TomDLT!

I applied the new morlet filtering in pacpy in the branch, newfilter. This will require writing new answers for all of the pac tests. I'm going through some of my own sanity checks now.
Sorry for the pacpy.egg files. I think those showed up while I was learning to use pypi on my computer and I accidentally pushed them with this branch.

The frequency responses of the new narrowband filters used in the comodulogram method look good. E.g. 96-100Hz:

However, the filtering for broadband frequency ranges, e.g. beta (13-30Hz) and high gamma (50-200Hz), don't look as good. Perhaps for the non-comodulogram functions, we should stick to window FIR filters and make the user declare a filter order (instead of number of cycles, which was admittedly a bad idea for this before).
Morlet wavelet 50-200Hz:

Window FIR filter 50-200Hz, order 240:

You should also plot the time response, since a good filter in frequency is usually not so good in time (i.e. very long). cf. recent tutorial in MNE.

Yup, sorry didn't mention that. The narrow band-pass morlet filters are quite long (e.g. 850ms for the 96-100Hz bandpass). I accidentally made that last FIR filter really long, but a bandpass 50-200Hz looks pretty good with order 240ms.
Right now I think the best default filtering would be Morlet wavelets (with length determined as Tom described) for comodulogram and FIR window for everything else in which the user inputs the order. However, I think this would now require 2 filter_kwargs keywords: one for the low frequency range and one for the high frequency range. I'm wondering if instead of having one 'PAC' function if we should break out the filtering to its own function and then feed the filtered signals into the PAC functions.

I didn't fully realize how much the length of the filter would mess up the PAC estimate. My new thoughts are below.
Since our new Morlet wavelets are so long, an increase in high-frequency amplitude at one time point gets smeared across many low-frequency cycles. Similarly, the long filter duration will cause issues with the phase estimate by overestimating the stationarity of these oscillations.
e.g. a Morlet filter with cutoff frequencies at 120Hz and 125Hz  has a filter length of 680

And this causes a very low-frequency amplitude envelope of this high frequency component. Original signal is in red, the signal morlet-filtered 120-125Hz cutoff frequencies is shown in black

In terms of filtering for regular PAC calculation (outside of the comodulogram function), these may be broadband (e.g. beta 13-30Hz) or narrowband (e.g. 20-22Hz) frequency ranges. So the best time-frequency tradeoff likely changes in different situations.
If we want to use a Morlet wavelet, some options could be:

User chooses frequency range. We design a morlet wavelet with the cutoff frequencies at -3dB. We tell the user what the filter length is and warn that if it is too long then their PAC estimate will not be accurate. The user can suppress this output.
User chooses a center frequency and a number of cycles. We tell the user what the true -3dB cutoff frequency and filter length are. We may also tell them the filter length (even though they can calculate this) just as a warning.

If we decide to keep using the window FIR filter, some options could be:

Force the user to choose a filter order in addition to cutoff frequencies (which are both of the inputs to scipy.signal.firwin, so they have full control. Tell them the true -3dB cutoff frequencies.
Only force the user to choose cutoff frequencies and define the filter length in one of the ways below.
2a. Define filter order based on maintaining the -3dB cutoff frequencies. Warn them of the filter length.
2b. Treat low frequency and high frequency filters differently. Such as using (2a) for the low frequency filter but determining the order of the high frequency filter based on the low frequency signal (e.g. 1 low-frequency cycle). Then tell them the true cutoff frequencies.

We should further think specifically about the comodulogram method which should automate many filters.

Choose Morlet filter center frequencies and number of cycles (default, e.g. 7). We could optional output an array of the true cutoff frequencies for each range.
For FIR filters, they cannot choose the order of each filter.
Hold the filter length constant for all amplitude frequencies so that bandwidth increases in a 'natural' manner.
Same as (2) but we could make the filter length dependent on the phase frequency for which PAC is being calculated (as in 2b above), but this would take much longer as we would have to do multiple filters for each amplitude frequency range.

For non-comodulogram PAC, I'm partial to the FIR filter option (2a) in which they define the frequency range and we warn them of the filter length. For comodulgoram PAC, I think the best bet will be (1) in which they choose the Morlet filter center frequencies and number of cycles.
Any other suggestions?

@roemervandermeij I'd appreciate you input on this thread.

For clarity:
HFO = High Frequency Oscillation
LFO = Low Frequency Oscillation
Filtering
I prefer the Morlet wavelet since the firwin-filter's limitations are more difficult to understand. Giving full control of the firwin-filter would be necessary, but only experienced signal processing users would know how to use it properly.
I also tend to prefer the frequency range parameter (1), since this is more intuitive than the number of cycles (2). It also guides the users toward a constant bandwidth when they change the center frequency, whereas specifying the number of cycles guides them toward a variable bandwidth. Since the HFO's bandwith has to be at least twice the LFO's frequency (!), I strongly recommand using a constant bandwidth, so I prefer the bandwidth parameter (or a frequency range).
Comodulogram
As suggested by Chris in #45, the priority would be to reuse the filtered signals.
About how to parametrize the comodulogram's filtering, I again prefer your choice (2), i.e. having a constant bandwidth. The proper way would be (3), but as you said it is much slower.

Non-comodulogram Filtering
I don't think morlet will work here because it is not optimal compared to firwin when an arbitrary window is chosen (e.g. 'beta' 13-30Hz or 'high gamma' 50-200Hz). It seems to work much better if you don't have a specific frequency range but rather a rough idea of its parameters, # cycles and center frequency. I agree with you, keeping the filter parameter as a frequency range is more intuitive and preferable. Here is a morlet filter that I designed using sp.signal.morlet with the w parameter defined as in your original post and the standard M = 2 * w * fs / f0.
High gamma, 50-200Hz (f0=125, bw=150, w=1.41666, M (order) = 22)

Obviously, we need a longer filter to capture this frequency range better, but since a Morlet filter is designed to have a Gaussian frequency response, it cannot accomplish this band-pass like the FIR filter below (firwin, 50-200Hz, order=240)

Comodulogram
I don't think a constant bandwidth is feasible (my option (2) was a constant filter order, not bandwidth). If we keep the bandwidth constant in a comodulogram ranging from 38-42Hz to 198-202Hz, the difference in filter length is increased 5-fold (whereas for the higher frequencies, the filter length should be decreased), and so there will be much more smoothing of the high frequency component across time. This will lead to different behaviors in PAC across these frequencies, which would be very bad. Therefore, I think the best option is using morlet filters with a constant number of cycles, stepping the center frequency.

Some thoughts from my side.

FIR filtering and Morlet filtering (or wavelet convolution) can be used to achieve different things, and which one is most desired depends on the application. I think choosing between the two as a default doesn't make a lot of sense (i.e. I'd argue for no default to force user choice/thought). If one has to be chosen, for reason number 2 below I think FIR is a more appropriate one.

Morlet filtering should not be possible to apply with two-pass filtering. Morlet's are most commonly thought of in the context of wavelet convolution, and arguable will always be applied in a one-pass manner. Unexpected two-pass (with additional smearing and an oddly shaped amplitude profile) will be very surprising, and not something to think of for users.

Arguable by far the most important parameter in spectral analysis, especially in the context for cross-frequency analyses, is the length of the time-domain information that is used. This is the reason IIR filtering should never be used in this context unless with great care. The length of the filter/wavelet should be a key parameter the user has to think about, or should be a sensible default (like 3 cycles, 5 cycles, etc). I strongly recommend this to never be set automatically based on the desired frequency response.

Tom brought up an important issue, which, since the toolbox is pretty mature, can be handled more cleverly. The nice thing about Morlet wavelets for filtering/convolution is that they have a very predictable frequency response, due to the fact they are specified by the number of cycles and center frequency only (usually at least), and are then nothing more than a sine/cosine multiplied with a Gaussian. A FIR filter is more difficult, and more flexible, because it allows you to modify the shape of the response to be e.g. more broadband/narrowband than a Morlet. What you specify depends a bit on the implementation (I'm not familiar with the one you use) but it's usually the time-domain length combined with the cut-off frequencies combined with the transition width (specified as the width at which the amplitude becomes X dB).  (These parameters are dependent on each other). The problem is then, that not all of the input space is reasonable. E.g. you cannot perform a 15-30Hz bandpass with a filter that is 10ms long. But you can request it. And not everybody knows that this won't work, so some user protection is warranted.

There are different options, but I'd encourage you to do the following one (reasoned from point 3, and one that's broadly accepted):
4a) specify the time-domain length and the cut-off frequencies, and default the transition width
4b) give a warning/error when the resulting transition width result is undesirable
An example of this defaulting and warnings can be found in the following code, the filter being 'firws' (line 150). This is nearly identical to the way EEGLab does it currently (implemented by same person). It creates a FIR filter using the window approach, but that doesn't matter, the key part is the checking of the transition width at line 167 and the warning when a reasonable one cannot be achieved.
https://github.com/fieldtrip/fieldtrip/blob/master/preproc/ft_preproc_bandpassfilter.m#L150
https://github.com/fieldtrip/fieldtrip/blob/master/preproc/private/invfirwsord.m
https://github.com/fieldtrip/fieldtrip/blob/master/preproc/private/fir_df.m

About choosing or not choosing FIR(scipy.signal.firwin) vs Morlet:

First, I don't know if forcing the user to choose is really helping, since it does not immediately change users into experts. FIR are hard to set, even for experienced users.
Second, in this PAC package, filtering is only used before applying a Hilbert Transform to estimate the phase/amplitude of the real-valued signal. As the Hilbert Transform should ONLY be applied on narrow-band signals _[1], I would not consider the wide-band limitations of the Morlet-based filtering relevant. Computing the PAC on the frequency range [50, 200] Hz arguably does not make sense. So I tend to prefer a Morlet-based filtering by default.

_[1] Chavez, M., et al. "Towards a proper estimation of phase synchronization from time series." Journal of neuroscience methods 154.1 (2006): 149-160.

About two-pass filtering with Morlet-based filters:
I don't understand what is wrong with two-pass filtering, and if it's a problem, I don't see why we can't just have one-pass filtering. If I understand correctly, the main purpose of two-pass filtering is to have a zero-phase filter (which is crucial to PAC analysis). But if we make sure than the Morlet-based filter is symmetric and odd in length, even the one-pass filter is zero-phase.
About the time length of the filter:
I totally agree that the time length is very important (and should not be too long), which is why I tend to avoid FIR filters that have very good precision in frequency but which are very long in time.
This is why I proposed to use the bandwidth as a intuitive and reasonnable parameter:

The bandwidth is easy to understand for a non-expert in signal processing.
The length of the Morlet filter (aka the order) is fixed with the bandwidth:
order = 2 * w * fs / fa = 2 * fs * 1.7 / bandwidth is independant of fa the frequency of the amplitude signal. In other words, a fixed bandwidth and a fixed filter length are equivalent.
To be able to see any PAC, we have the condition bandwidth > 2 * fp where fp is the low modulation frequency _[2]. A bandwidth parameter makes this condition easier to set. Moreover, if the comodulogram is not computed with a fixed bandwidth, it adds a bias in the low fa, since the condition is not fullfiled everywhere in the comodulogram.

_[2] Aru, J., Aru, J., Priesemann, V., Wibral, M., Lana, L., Pipa, G., ... & Vicente, R. (2015). Untangling cross-frequency coupling in neuroscience. Current opinion in neurobiology, 31, 51-61.

@srcole

Comodulogram
I don't think a constant bandwidth is feasible (my option (2) was a constant filter order, not bandwidth). If we keep the bandwidth constant in a comodulogram ranging from 38-42Hz to 198-202Hz, the difference in filter length is increased 5-fold (whereas for the higher frequencies, the filter length should be decreased), and so there will be much more smoothing of the high frequency component across time. This will lead to different behaviors in PAC across these frequencies, which would be very bad. Therefore, I think the best option is using morlet filters with a constant number of cycles, stepping the center frequency.

This is exactly my point, up to the difference that as far as I understand it, a fixed number of cycles makes the filter length change with the center frequency. Whereas a fixed bandwidth makes the filter length be fixed.

tl;dr
I'll implement the windowed sinc filter with specifying order and cutoff frequency parameters

But if we make sure than the Morlet-based filter is symmetric and odd in length, even the one-pass filter is zero-phase.

Right, I'm doing one-pass filtering now, but I didn't make sure the filter length was odd. I'll change that if we choose to use morlet.

4a) specify the time-domain length and the cut-off frequencies, and default the transition width
4b) give a warning/error when the resulting transition width result is undesirable

This sounds like a good choice to me. Thanks for pointing to the fieldtrip code!

First, I don't know if forcing the user to choose is really helping, since it does not immediately change users into experts.

Good point, but I think this is something the user should pick since there is no right answer for us to choose. I think having this as a required parameter will make the user appreciate how the filter length can affect the calculation. And maybe we can provide some simple function they can call to visualize the kernel and frequency response.
I think it's reasonable to stick with FieldTrip and EEGLAB's filter standard here. I'm not familiar with how MNE handles this though.

As the Hilbert Transform should ONLY be applied on narrow-band signals _[1], I would not consider the wide-band limitations of the Morlet-based filtering relevant. Computing the PAC on the frequency range [50, 200] Hz arguably makes no sense.

I get what you're saying, but there are people in this field (including us) who use broadband ranges when calculating coupling (e.g. High gamma, ~50-200Hz [1,2,3]) partially since broadband power has been associated with local spiking activity [4]. Another example would be 'beta' which is not very narrowband at its typical quoted 13-30Hz. While choosing these semi-arbitary frequency ranges is arguably not the best approach for this (and may change in the future), I think it would be best for this package to accommodate these.
[1] Canolty, R.T., Edwards, E., Dalal, S.S., Soltani, M., Nagarajan, S.S., Berger, M.S., Barbaro, N.M., Knight, R.T., 2006. High Gamma Power is Phase-Locked to Theta Oscillations in Human Neocortex 313, 1626–1628. doi:10.1126/science.1128115.High
[2] de Hemptinne, C., Ryapolova-Webb, E.S., Air, E.L., Garcia, P.A., Miller, K.J., Ojemann, J.G., Ostrem, J.L., Galifianakis, N.B., Starr, P.A., 2013. Exaggerated phase-amplitude coupling in the primary motor cortex in Parkinson disease. Proc. Natl. Acad. Sci. U. S. A. 110, 4780–5. doi:10.1073/pnas.1214546110
[3] Voytek, B., Kramer, M. A., Case, J., Lepage, K. Q., Tempesta, Z. R., Knight, R. T., & Gazzaley, A. (2015). Age-related changes in 1/f neural electrophysiological noise. The Journal of Neuroscience, 35(38), 13257-13265.
[4] Manning, J.R., Jacobs, J., Fried, I., Kahana, M.J., 2009. Broadband Shifts in Local Field Potential Power Spectra Are Correlated with Single-Neuron Spiking in Humans. J.

Right. My bad. There was a bug in my code and I was getting a change in order.

To be able to see any PAC, we have the condition bandwidth > 2 * fp where fp is the low modulation frequency _[2]

So given this, in the comodulogram method when we are scrolling across fp, should we be changing the order/bandwidth of fa? e.g. for fp=30-32Hz, all of the amplitude bandwidths should be >=60Hz? In that case, the cutoff frequencies for fa would need to change as a function of fp. This could be a good thing, but I'm not familiar with anyone calculating the comodulogram in this manner.

To be able to see any PAC, we have the condition bandwidth > 2 * fp where fp is the low modulation frequency _[2]

So given this, in the comodulogram method when we are scrolling across fp, should we be changing the order/bandwidth of fa? e.g. for fp=30-32Hz, all of the amplitude bandwidths should be >=60Hz? In that case, the cutoff frequencies for fa would need to change as a function of fp. This could be a good thing, but I'm not familiar with anyone calculating the comodulogram in this manner.

Although I agree with you Tom that, in general, the modulating frequency should be twice as low as the modulated frequency, there is a lot of value to visualize PAC metrics into the "bad" ratios. Usually, they are a good sign of either mistakes having been made, or certain artifacts being present in the time-series. A common example in intracranial data is a small (easy to miss) fast spike riding on a slow wave. This will lead to high PAC between the phase of high frequencies and the amplitude of lower frequencies, and also PAC at the reverse ratio. As such spikelets are usually not the phenomenon of interest, it is good to know they occurred so that we can remove them.


[CWS] pre-compute segments when handling eRPC response

What does this PR do?
Small optimization using the already available segment size to pre-compute how much memory we will need.
Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


uncaughtException: ENOENT: no such file or directory copy-sync/copy-sync.js:117:20

** Which Category is your question related to? **
copy-sync
** What AWS Services are you utilizing? **
lambda
** Provide additional details e.g. code snippets **
⠙ Initializing your environment: dev2019-03-18T14:33:00.198Z - error: uncaughtException: ENOENT: no such file or directory, stat '/Users/******/********/******-root/amplify/.temp/#current-cloud-backend/function/usersapi/src/node_modules/.bin/node-gyp-build' date=Mon Mar 18 2019 10:33:00 GMT-0400 (Eastern Daylight Time), pid=16314, uid=502, gid=20, cwd=/Users/******/********/******-root, execPath=/usr/local/Cellar/node/11.10.0/bin/node, version=v11.10.0, argv=[/usr/local/Cellar/node/11.10.0/bin/node, /usr/local/bin/amplify, init], rss=988631040, heapTotal=86323200, heapUsed=60239456, external=746224683, loadavg=[4.21484375, 3.96044921875, 3.62548828125], uptime=1035788, trace=[column=3, file=fs.js, function=Object.statSync, line=871, method=statSync, native=false, column=24<EMAIL_ADDRESS>function=Object.statSync, line=295, method=statSync, native=false, column=22<EMAIL_ADDRESS>function=checkStats, line=171, method=null, native=false, column=31<EMAIL_ADDRESS>function=checkPaths, line=183, method=null, native=false, column=20<EMAIL_ADDRESS>function=copyDirItem, line=117, method=null, native=false, column=39<EMAIL_ADDRESS>function=fs.readdirSync.forEach.item, line=111, method=item, native=false, column=null, file=null, function=Array.forEach, line=null, method=forEach, native=false, column=23<EMAIL_ADDRESS>function=copyDir, line=111, method=null, native=false, column=3<EMAIL_ADDRESS>function=mkDirAndCopy, line=106, method=null, native=false, column=37<EMAIL_ADDRESS>function=onDir, line=97, method=null, native=false], stack=[Error: ENOENT: no such file or directory, stat '/Users/******/********/******-root/amplify/.temp/#current-cloud-backend/function/usersapi/src/node_modules/.bin/node-gyp-build',     at Object.statSync (fs.js:871:3),     at Object.statSync (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/graceful-fs/polyfills.js:295:24),     at checkStats (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/node_modules/fs-extra/lib/copy-sync/copy-sync.js:171:22),     at checkPaths (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/node_modules/fs-extra/lib/copy-sync/copy-sync.js:183:31),     at copyDirItem (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/node_modules/fs-extra/lib/copy-sync/copy-sync.js:117:20),     at fs.readdirSync.forEach.item (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/node_modules/fs-extra/lib/copy-sync/copy-sync.js:111:39),     at Array.forEach (<anonymous>),     at copyDir (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/node_modules/fs-extra/lib/copy-sync/copy-sync.js:111:23),     at mkDirAndCopy (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/node_modules/fs-extra/lib/copy-sync/copy-sync.js:106:3),     at onDir (/usr/local/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/node_modules/fs-extra/lib/copy-sync/copy-sync.js:97:37)]
Cant initialize the env, the file it stays it cant stat, it is there.

@JoshuaSeidel whats version of amplify cli do you have installed? You can get the version by running amplify -v.
Could you also provide the command used when you saw this error. were you adding a new environment or were you initializing an existing environment?

@yuth 1.1.7
amplify init Note: It is recommended to run this command from the root of your app directory ? Do you want to use an existing environment? Yes ? Choose the environment you would like to use: dev Using default provider  awscloudformation
using a existing env, tried to recreate end env, initial recreation is fine. every init after that fails with this error

@JoshuaSeidel What OS are you using? Could you also include the version of NodeJS you have installed

Try to remove the '-' in the file path, for both the files and directories.

 You might want to use sudo with the command since I think it looks like a permission issue.

@JoshuaSeidel I'm getting the same error with any Node version and amplify-cli versions. Did you manage to solve this issue? Thanks


Improve parse error recovery behavior

Description of changes
Emit fewer useless parser errors after failing to parse early in a policy:
For a policy set
permit(principal, action resource) when { principal.foo == resource.bar };

We currently emit
  × failed to parse policy set
  ╰─▶ unexpected token `resource`
   ╭─[<stdin>:1:26]
 1 │ permit(principal, action resource) when { principal.foo == resource.bar };
   ·                          ────┬───
   ·                              ╰── expected `!=`, `)`, `,`, `:`, `<`, `<=`, `==`, `>`, `>=`, `in`, or `is`
 2 │ permit(principal, action, resource);
   ╰────

Error:   × unexpected token `)`
   ╭─[<stdin>:1:34]
 1 │ permit(principal, action resource) when { principal.foo == resource.bar };
   ·                                  ┬
   ·                                  ╰── expected `(`
 2 │ permit(principal, action, resource);
   ╰────
Error:   × unexpected token `{`
   ╭─[<stdin>:1:41]
 1 │ permit(principal, action resource) when { principal.foo == resource.bar };
   ·                                         ┬
   ·                                         ╰── expected `(`
 2 │ permit(principal, action, resource);
   ╰────
Error:   × unexpected token `.`
   ╭─[<stdin>:1:52]
 1 │ permit(principal, action resource) when { principal.foo == resource.bar };
   ·                                                    ┬
   ·                                                    ╰── expected `(`
 2 │ permit(principal, action, resource);
   ╰────
Error:   × unexpected token `==`
   ╭─[<stdin>:1:57]
 1 │ permit(principal, action resource) when { principal.foo == resource.bar };
   ·                                                         ─┬
   ·                                                          ╰── expected `(`
 2 │ permit(principal, action, resource);
   ╰────
Error:   × unexpected token `.`
   ╭─[<stdin>:1:68]
 1 │ permit(principal, action resource) when { principal.foo == resource.bar };
   ·                                                                    ┬
   ·                                                                    ╰── expected `(`
 2 │ permit(principal, action, resource);
   ╰────
Error:   × unexpected token `}`
   ╭─[<stdin>:1:73]
 1 │ permit(principal, action resource) when { principal.foo == resource.bar };
   ·                                                                         ┬
   ·                                                                         ╰── expected `(`
 2 │ permit(principal, action, resource);
   ╰────

with this change everything after the first error is skipped. If there are any other policies in the policy set, they will be parsed, and any errors in those policies will still be reported.
See #1054 for a more involved change we could also make
Checklist for requesting a review
The change in this PR is (choose one, and delete the other options):

[ ] A breaking change requiring a major version bump to cedar-policy (e.g., changes to the signature of an existing API).
[ ] A backwards-compatible change requiring a minor version bump to cedar-policy (e.g., addition of a new API).
[x] A bug fix or other functionality change requiring a patch to cedar-policy.
[ ] A change "invisible" to users (e.g., documentation, changes to "internal" crates like cedar-policy-core, cedar-validator, etc.)
[ ] A change (breaking or otherwise) that only impacts unreleased or experimental code.

I confirm that this PR (choose one, and delete the other options):

[ ] Updates the "Unreleased" section of the CHANGELOG with a description of my change (required for major/minor version bumps).
[x] Does not update the CHANGELOG because my change does not significantly impact released code.

I confirm that cedar-spec (choose one, and delete the other options):

[x] Does not require updates because my change does not impact the Cedar formal model or DRT infrastructure.
[ ] Requires updates, and I have made / will make these updates myself. (Please include in your description a timeline or link to the relevant PR in cedar-spec, and how you have tested that your updates are correct.)
[ ] Requires updates, but I do not plan to make them in the near future. (Make sure that your changes are hidden behind a feature flag to mark them as experimental.)
[ ] I'm not sure how my change impacts cedar-spec. (Post your PR anyways, and we'll discuss in the comments.)

Do we want to reconsider now that we're not returning as many errors?

Based on #326, It doesn't look like the quantity of errors was the main motivation for that change, so I don't think so.


Remove old references to subversion repo and associated dirnames

Description
Resolves #17136
Type of change

[ ] Bug fix
[ ] New feature
[x] Documentation update
[ ] Other

How Has This Been Tested?
N/A
Checklist:

[x] I have followed the style guidelines of this project.~~
[x] I have performed a self-review of my own code.~~
[ ] I have commented my code where applicable.
[ ] I have updated the release notes.
[x] I have made corresponding changes to the documentation.~~
[ ] I have added debugging support to my changes.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] I have confirmed new and existing unit tests pass locally with my changes.
[ ] I have added new baselines for any new tests to the repo.
[x] I have NOT made any changes to protocol or public interfaces in an RC branch.~~
[x] I have assigned reviewers (see VisIt's PR procedures for more information).~~

FYI...also I am adopting the practice that when I modify docs I also modify it to a sentence per line for the whole section which contains changes I am making.


Rounded Credits, Debits and Totals

#1245
Removed decimals for the credits, debits and totals
Changelog:

Fixed an issue where the second parameter for formatNumeric doesn't do anything
Replace Number with Math.round so it doesn't need Number anymore

 Compliance Report B | Rounding in the UI for debits, credits, and energy content |2|


display pairing key shows nothing

I ran this
<?php
include 'smartTV.php';
$tv = new SmartTV('<IP_ADDRESS>');
$tv->displayPairingKey();
?>

But nothing shows up on the TV. or in terminal.
Am I missing something?

Sorry! I did not run the code on my TV… So I don’t really know..

在 2016年5月23日，上午3:06，ha-noi<EMAIL_ADDRESS>写道：
I ran this
displayPairingKey();
?>
But nothing shows up on the TV. or in terminal.
Am I missing something?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub https://github.com/SteveWinfield/PHP-LG-SmartTV/issues/3

If you type a wrong key of 6 digits (ex: 668887)  the tv will display the correct one.

I have the same problem also.  Typing a wrong key also didn't work.  Does this work for new webOS tvs? Thanks.

Maybe you have remote connection disabled on your smart tv?

Some body have an issue ?

I also have the same issue, i cannot connect to my tv, and I have remote connection enabled. i am running the latest WebOS

i tryed all python and this git for Smart tv LG WebOs 3 (2014).
Only mqtt works https://github.com/Domoteek/lgtv2mqtt

displayParingKey() doesn't work with me as well. Is there an answer to this problem? Pairing is enabled and the IP is correct.

Check whether you are able to connect to the device (e.g. Do you see some text when connecting to http://YOUR_IP:8080 on the browser?) and whether the TV version is supported (LG Smart TV models released in 2012 and 2013).


ASERT from genesis

Block#1 as ASERT anchor block (uses timestamp of genesis).
Use GetNextEDAWorkRequired for the genesis block and GetNextASERTWorkRequired for every other block.
Remove asert_activation_anchor_test test, because there's no activation of ASERT anymore.
Fix CreateNewBlock_validity; set proper nBits for test blocks using GetNextWorkRequired and use new externally mined nonces.
Temporarily disable test/functional/p2p_dos_header_tree.py, as this relies on blocks & checkpoints from a testnet (with ASERT), which currently does not exist yet.

Looks good to mel


fix(version): update fabric8-stack-analysis-ui to 0.1.10

There were the following issues with your Pull Request

Commit: 2e9809d9ed1106b065f89f259c9bbc1e53b7e9f4
Your subject line is longer than 50 characters

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com


Change the Icon for the Sleep Timer.

The moon icon doesn't fit with the functionality it does. It would be better if it was something like a timer icon.

Can you update the icon instead of the privacy policy?

Can you revert the change in the privacy policy file?

ok done


Joins cause an error in Ormar

https://github.com/collerek/ormar/issues/789
Ormar has a bug that occurs when doing complex joins with a table that has a period "." in its name. Because nextcord-ormar by default names tables as {app_name}.{model_name}s, this causes a problem with basically every table that doesn't have a custom, period-less name. At the moment, if you need to perform any complex filtering over relationships, you should custom name your tables to avoid this.

Making this configurable in the nxalembic.ini might provide a temporary solution, we can recommend the underscore deliminator in the sample config for now too


Fix issue 5916

Update-DbaInstance show warning instead of verbose

Type of Change

[x] Bug fix (non-breaking change, fixes #5916)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[x] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
Fix bug #5916
Approach
Changes level from verbose to warning
Commands to test

Screenshots

Learning

thank you! test failure unrelated


Horizon Darkening at a Certain Distance from the Ground

If you went in to creative and flew up a short distance, you'll see that the skyline darkens.
Interestingly, the light value reported in F3 also changes at the transition point, so the screenshots will have that open.
Normal Skyline:

Darkened Skyline:

Given the fact that it happens after going a bit away from terrain, and the reported light value changes, I can't help but wonder if this is related to the water issue reported not long ago, in issue #29 .

Interesting, this always happens when you fly up, no matter where?

It seems to. It also does seem at least somewhat based on the distance you are above the terrain, as flying over a bumpy or mountainous area will result in the sky repeatedly brightening and darkening.

Fixed as of 2.1.2. If you still encounter this issue, please tell me.


Trouble running code-server on Digital Ocean kubernetes

code-server version:
v2
OS Version:
Kubernetes DO  1.16.6-do.0

Description

I'm having trouble running code-server on Digital Ocean kubernetes. The problem seems to be with websokets. In the Javasript console I get this error: ERR [remote-connection] [Management] [ee9c0…] [initial] [p-lao.tk:80] socketFactory.connect () failed. Error: Error: WebSocket close with status code 1006
ERR Assertion Failed: argument is undefined or null: Error: Assertion Failed: argument is undefined or null
Please help me solve this error.
First of all, Thanks
My YAML File
apiVersion: v1
kind: Namespace
metadata:
name: code-server
apiVersion: v1
kind: Service
metadata:
name: code-server
namespace: code-server
spec:
ports:

name: code-server-main
port: 80
targetPort: 8080
name: https
protocol: TCP
selector:
app: code-server
type: ClusterIP

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: code-server
name: code-server
namespace: code-server
spec:
selector:
matchLabels:
app: code-server
replicas: 1
template:
metadata:
labels:
app: code-server
spec:
containers:
- image: codercom/code-server:v2
imagePullPolicy: Always
name: code-server
env:
- name: PASSWORD
value: "01140102"
ports:
- containerPort: 8080
name: https
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
namespace: code-server
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:

host: p-lao.tk
http:
paths:

path: /
backend:
serviceName: code-server
servicePort: 80

1006 means the websocket cannot connect. Are you using some sort of proxy that doesn't allow WebSockets to go through?

I am using Ingress Controller for proxy the trafic. And Cert-Manager to get SSL Certificate

My YAML File
apiVersion: v1
kind: Namespace
metadata:
name: code-server
apiVersion: v1
kind: Service
metadata:
name: code-server
namespace: code-server
spec:
ports:

name: code-server-main
port: 80
targetPort: 8080
name: https
protocol: TCP
selector:
app: code-server
type: ClusterIP

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: code-server
name: code-server
namespace: code-server
spec:
selector:
matchLabels:
app: code-server
replicas: 1
template:
metadata:
labels:
app: code-server
spec:
containers:
- image: codercom/code-server:v2
imagePullPolicy: Always
name: code-server
env:
- name: PASSWORD
value: "01140102"
ports:
- containerPort: 8080
name: https
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
namespace: code-server
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:

host: p-lao.tk
http:
paths:

path: /
backend:
serviceName: code-server
servicePort: 80

My YAML File
apiVersion: v1
kind: Namespace
metadata:
  name: code-server
---
apiVersion: v1
kind: Service
metadata:
 name: code-server
 namespace: code-server
spec:
 ports:
 - name: code-server-main
   port: 80
   targetPort: 8080
   name: https
   protocol: TCP
 selector:
   app: code-server
 type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: code-server
  name: code-server
  namespace: code-server
spec:
  selector:
    matchLabels:
      app: code-server
  replicas: 1
  template:
    metadata:
      labels:
        app: code-server
    spec:
      containers:
      - image: codercom/code-server:v2
        imagePullPolicy: Always
        name: code-server
        env:
        - name: PASSWORD
          value: "01140102"
        ports:
        - containerPort: 8080
          name: https
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress
  namespace: code-server
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: p-lao.tk
    http:
      paths:
      - path: /
        backend:
          serviceName: code-server
          servicePort: 80

My YAML Exposes Ingress from a Load Balancer
apiVersion: v1
kind: Service
metadata:
  name: nginx-ingress
  namespace: nginx-ingress
spec:
  type: LoadBalancer
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      name: http
    - protocol: TCP
      port: 443
      targetPort: 443
      name: https
  selector:
    app: nginx-ingress

I have solved the problem. In case someone has the same problem. In my Ingress.yaml I had to add an annotation to allow connections to websockets.
The annotation I add to ingress.yaml:
annotations:
    nginx.org/websocket-services: "serviceName"

My YAML Ingress:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress
  namespace: code-server
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.org/websocket-services: "code-server"
spec:
  rules:
  - host: p-lao.tk
    http:
      paths:
      - path: /
        backend:
          serviceName: code-server
          servicePort: 80


HARP-7639: Update ThreeJS to r109.

Thank you for contributing to harp.gl!
Before requesting a pull request, please remember to check the following documents:

contribution guidelines
coding style

If you are adding new functionality we would highly appreciate if you can describe what is the capability you are adding and even better if you can add some examples. Please also remember to add tests for it.
Our bots will check whether your PR can be directly integrated into the mainline. We have some internal integration tests running on the background, our bots will inform you of the next steps and someone from our team will take a look and help if needed!
And please do not forget to sign-off your commit! You can read more about DCO here. But, in short, you just need to use git commit -s or append --signoff when you are committing to the repo.
Happy contributing!

Codecov Report

Merging #946 into master will decrease coverage by <.01%.
The diff coverage is 20%.

@@            Coverage Diff             @@
##           master     #946      +/-   ##
==========================================
- Coverage   47.83%   47.83%   -0.01%
==========================================
  Files         225      225
  Lines       21611    21614       +3
  Branches     4932     4932
==========================================
+ Hits        10337    10338       +1
- Misses      11274    11276       +2

Impacted Files
Coverage Δ

@here/harp-mapview/lib/poi/BoxBuffer.ts
6.19% <0%> (ø)
:arrow_up:

@here/harp-geometry/lib/SubdivisionModifier.ts
71.42% <33.33%> (-1.3%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 46b8f8f...6f640e1. Read the comment docs.


Action signs blank by default?

The action signs don’t have the action written on the sign - so when placing one it pops up a screen where you can then type in “select” for example. The function does work but in the demo video it seems the action command is already written on the sign so placing it is much quicker because it doesn’t require typing each time… Bug 🐞 or feature? 😄

that's a big for sure.
it should work because the CI tests it!
I'll take a look tomorrow.

Hello. I am experiencing the same issue with the signs and I can't see the sand blocks being added when I followed the instructions.

@compX44 @ulrikpedersen I just had a go at reproducing this and failed to do so.
@compX44 which OS are you using please? (I'm on Linux and Ulrik is on Mac)
One other difference for me is I'm running against a remote Minecraft server and that is because my docker installation on my workstation is broken. I'll get it fixed and try mciwb's own minecraft server to see if that is where the issue lies.

I've now got a fresh server working using
mciwb start

It still does not show the issue that you both are seeing.
We need to work out what is different between our setups.

@ulrikpedersen @compX44 please can you try this:
In the game type /clear to remove all items from inventory.
Then report the output of the following commands in mciwb ipython :
world.signs.give_signs()
world.player.inventory()

It should look somthing like this:
Out[3]: 'TransformerScorn has the following entity data: [{Slot: 0b, id: "minecraft:oak_sign", Count: 1b, tag: {BlockEntityTag: {Text1: \'{"text":"select"}\'}, display: {Name: \'{"text":"select"}\'}}}, {Slot: 1b, id: "minecraft:oak_sign", Count: 1b, tag: {BlockEntityTag: {Text1: \'{"text":"paste"}\'}, display: {Name: \'{"text":"paste"}\'}}}, {Slot: 2b, id: "minecraft:oak_sign", Count: 1b, tag: {BlockEntityTag: {Text1: \'{"text":"expand"}\'}, display: {Name: \'{"text":"expand"}\'}}}, {Slot: 3b, id: "minecraft:oak_sign", Count: 1b, tag: {BlockEntityTag: {Text1: \'{"text":"clear"}\'}, display: {Name: \'{"text":"clear"}\'}}}]'

@ulrikpedersen I'm not sure if the chown issues are benign or not - will look at this (having all sorts of issues with podman/docker differences and this is related )

@compX44 your symptoms of not being able to break blocks is weird. I thought maybe you were in adventure mode.
Tomorrow I'll switch over to Windows and see if I can reproduce any of these issues. I at least have a working docker on my windows system!

In the game type /clear to remove all items from inventory.

This just gives me an error 🤔
Unknown or incomplete command, see below for error
clear<--[HERE]

(so I threw away the signs with the q instead)

Then report the output of the following commands in mciwb ipython :

In [4]: world.signs.give_signs()

In [5]: world.player.inventory
Out[5]: 'AlbaDancer has the following entity data: [{Slot: 0b, id: "minecraft:oak_sign", Count: 1b, tag: {BlockEntityTag: {Text1: \'{"text":"select"}\'}, display: {Name: \'{"text":"select"}\'}}}, {Slot: 1b, id: "minecraft:oak_sign", Count: 1b, tag: {BlockEntityTag: {Text1: \'{"text":"paste"}\'}, display: {Name: \'{"text":"paste"}\'}}}, {Slot: 2b, id: "minecraft:oak_sign", Count: 1b, tag: {BlockEntityTag: {Text1: \'{"text":"expand"}\'}, display: {Name: \'{"text":"expand"}\'}}}, {Slot: 3b, id: "minecraft:oak_sign", Count: 1b, tag: {BlockEntityTag: {Text1: \'{"text":"clear"}\'}, display: {Name: \'{"text":"clear"}\'}}}]'

I'm not sure if the chown issues are benign or not - will look at this (having all sorts of issues with podman/docker differences and this is related )

I think I had a bit of a mess. I had tried to also run up your docker image - don't know if that had something to do with it(?) In any case, I deleted the mciwb-server folder and started over. That seems to have fixed that particular (chown error) issue.
However, the original issue that the signs don't have the text in them persists...
I think I ran into the block-not-mining issue that @compX44 mentioned:

Also, I tried to destroy the item blocks that I put down, but they don't disappear. I keep on hitting the item and they make the sounds that means that they've been destroyed, but they don't disappear.

This happens when I try to mine blocks (sand or whatever) in a zone a few (10ish?) blocks around the spawn point. In this zone I also can't place signs. Try to move 20-odd blocks away from spawn point before starting to play with the signs.

😃 AHA! Just in that one last attempt before I pass out tonight - I think I got it! 🎉
I stopped the server, went into ops.json and removed the user that was there and added my own. Then restarted the server with mciwb start connect client and shell and voila: signs now have the default text in them and works just like the video!
So it seems you have to have operator permissions for this to work (seamlessly)

I'm on Windows 10, using Ubuntu with the WSL extension in Vscode with the docker container. I have Python 3.10 and IPython 8.10.0. I'm using the latest version of Minecraft (1.19.3). I have updated to the latest mciwb package.
I tried the command and got the following output:
n [1]: world.signs.give_signs()
In [2]: world.player.inventory
Out[2]: 'Pyr0Blue has the following entity data: [{Slot: 0b, id: "minecraft:oak_sign", Count: 1b, tag: {BlockEntityTag: {Text1: '{"text":"select"}'}, display: {Name: '{"text":"select"}'}}}, {Slot: 1b, id: "minecraft:oak_sign", Count: 1b, tag: {BlockEntityTag: {Text1: '{"text":"paste"}'}, display: {Name: '{"text":"paste"}'}}}, {Slot: 2b, id: "minecraft:oak_sign", Count: 1b, tag: {BlockEntityTag: {Text1: '{"text":"expand"}'}, display: {Name: '{"text":"expand"}'}}}, {Slot: 3b, id: "minecraft:oak_sign", Count: 1b, tag: {BlockEntityTag: {Text1: '{"text":"clear"}'}, display: {Name: '{"text":"clear"}'}}}]'
I went and removed the user in the ops.json file and replaced it with my own like @ulrikpedersen did and still couldn't get the same results as the demo video.

I moved away from the spawn point as @ulrikpedersen suggested and had luck with the signs and mining there. I had to type on the signs though.

@ulrikpedersen that was a good experiment to do. It's odd since the python code uses rcon and should not be user related.
 This stops anything building near to the spawn point. I thought I had that switched off.
@compX44 your inventory does indeed contains signs with the correct tags (name and Text1) so they should be working
I'll do some more digging.
Thanks for all the useful feedback. I'll do more investigation after work this evening.

In the game type /clear to remove all items from inventory.

This just gives me an error

That's because you were not an operator - I should have thought of that. Although I did not think you need to be an operator to use mciwb it certainly helps for this kind of thing.

@ulrikpedersen @compX44 I've just tried remvoing myself from ops and I can reproduce the blank sign issue.
So it seems like Ulrik has cracked it. Thanks!
I'll make an update to auto add you to ops when running mciwb shell --user XXX Note that being ops would also override spawn protection so this should fix everything.
Expect an update this evening.

OK I think #82 has fixed the issue.
I've tried it out on WSL2 as well and all seems well.
The new version 0.8.5 is released with this fix. Let me know if it works for you.
To properly test this you will want to delete your existing server before starting a new one
mciwb stop
rm -r $HOME/mciwb-server
mciwb start

But having said that, this should work against an existing server if you have made changes you want to keep.
@ulrikpedersen @compX44 thanks for your help with this. It's the kind of error that I would never notice with self testing only.

@gilesknap I stopped the server and restarted it after updating the mciwb and I was able to achieve the same results as the demo video. Thank you so much for looking into this.

Awesome. Thanks for letting me know @compX44. Closing.

@compX44 @ulrikpedersen
Slightly cheeky request here. I'm having another go at promoting this project today.
It would be nice to get a bit of a community going.
Maybe you would like to star this github repo? and or upvote this reddit
https://www.reddit.com/r/Minecraftbuilds/comments/11rqauh/build_things_using_python/?utm_source=share&utm_medium=web2x&context=3

Checked now and it works out of the box for me too now 👍
⭐ ✔ 💯

I don't have a reddit account, but I did see your project there while I was looking something up. Having a community would be nice.


updating travis build icon

Opening the repo means we switched to travis-ci.org instead of .com.
Updating the button with the new image link.

:+1:

Failed with catastrophic errors -- I withdraw my thumbs up!

Aha, I see the problem. You branched this off of your lb_dataflow branch, and the tests in that branch are not passing. Could you rebase this change onto the current master and re-submit the pull request?

woops


[Feature Request] Log all unanswered questions

Is it possible to add a feature where the bot spits out a log file of all easy apply questions it doesn't know the answer to, so you can add it for the next run.

https://github.com/IggsGrey/linkedin-easy-apply-bot/pull/6#issue-2253106436

@IggsGrey I don't understand your response here, that PR is from a different user and doesn't address the request by @MoTem.


Clarifying that NOEXPAND cannot be used as an UPDATE table lock

Trying produces an error
Msg 8171, Level 16, State 2, Line 23 Hint 'noexpand' on object 'YourTable' is invalid.

@davidbaxterbrowne : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @davidbaxterbrowne - Thanks for updating the document, and sorry for the delay! I've verified your changes, and will approve.
#sign-off


Notifications

Kjartan thinks it'd be nice to have chat notifications when a feature is toggled or a strategy is changed in the server. How could we solve this?

We could introduce a web-socket API which polls the events-table and publishes all new events as they are discovered?

If we're doing it as a a new internal service that connects to unleash and publishes to Kafka, I think simply polling /events is good enough. To make it cheaper, we could add the ability to do ?since=<timestamp> or ?since=<event-id> to the /events resource.
I can't help but think that WebSockets would just be unneccesarily complicated, since these events are relatively rare and we don't really need it to be real time.

I like the idea of having an internal-service pushing to Kafka, we should make a proof of concept of this. Could even be a public plugin-service for unleash as it might be useful for others.

Pushing events to Kafka sounds like a good idea.

For the time being, you can use this for events. It does polling but wraps it up in a stream or event emitter. https://github.com/runeh/yngwie


OSError: Can not find Xvfb. Please install it and try again.

I have already installed it in my conda environment, but when I use
vdisplay = Xvfb() , I get this error
OSError: Can not find Xvfb. Please install it and try again. How can I solve this problem?
I am using Ubuntu 14.04 and python 3.7.16 with 0.2.9 wvbfwrapper

same problem happened to me

Hello, I am facing the same issue, did somebody manage to solve the problem ?

Same problem, have you solved it?

Actually, I gave up


isEthereum  - Option: default is false  - Determind if the network supports Ethereum

The detection of this props has done!


When clicking the floating Buy/Sell button to launch the betslip, please stop the market page from scrolling up

The replicate, scroll to the bottom of the market page and click the Buy/Sell button. You'll see the market page auto scrolls up as the betslip in launching. When I close the betslip I would expect the scroll position of the market page to be where I left it

@phoebemirman Is this still an issue?

yes

loads better


Azure National Installation Failed at TASK [reference-visualization : Building reference visualization dashboard script]

When doing azur national installation -> stopped at TASK [reference-visualization: Building reference visualization dashboard script]

Added the required parameters to the env files for both local and public installation.

@htvenkatesh @asifbasha61 pulled latest code and again getting failed at TASK [reference-visualization : Configure the environment.ts] ******************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'NA' is undefined"}

@asifbasha61 wts happening on this? why are we not able to close?

@htvenkatesh diksha columns were configured earlier with true or false, But now for national we are using 'NA' so need @Sharathnaik38 to check this issue further.

@asifbasha61 @Sharathnaik38 lets have a call and discuss this after huddle

@htvenkatesh  Changed the dependent variables as either true or false and pushed the code.
@ayesha-siddiq123 Please do a unit testing and update to @chetandg123 if the bug is resolved.

@htvenkatesh doing the complete flow of unit test. will update to @chetandg123

@chetandg123  @asifbasha61 unit test is done and the bug is resolved. please take the retest.

@chetandg123 unit test is done. please take the retest.

@htvenkatesh @ayesha-siddiq123 defect is retested , it is resolved


Index flow of nullable back to upstream through a field write

This PR is built on (~#210~ landed)
Resolves #209 by indexing flow of nullable back to upstream through field writes. Previously we only indexed flow of nullable back to upstream via parameter passing, e.g. code below:
class Target{
    Object getFoo()
    void bar(Object param);
}
class Dependency {
    Target t;
    void baz(){
       t.bar(t.getFoo());
    }
}

We know that making getFoo() will trigger a fix on bar() parameter. This PR updates Annotator to index all flows back to upstream including field writes. Hence, in the code below:
class Target{
    Object bar;
    Object getFoo();
}
class Dependency {
    Target t;
    void baz(){
       t.bar = t.getFoo();
    }
}

Annotator now indexes the flow of nullable back to target through write to a field and includes the corresponding fix in the processing fix tree.
Please note this PR only updates indexing flow of nullable back to upstream. Annotator still does not index the impact of making public fields @Nullable on downstream dependencies.

Please note this PR only updates indexing flow of nullable back to upstream. Annotator still does not index the impact of making public fields @Nullable on downstream dependencies.

I don't understand the importance of this.  Can not indexing the impact of making public fields @Nullable lead to similar bugs?

Please note this PR only updates indexing flow of nullable back to upstream. Annotator still does not index the impact of making public fields @Nullable on downstream dependencies.

I don't understand the importance of this. Can not indexing the impact of making public fields @Nullable lead to similar bugs?

@msridhar The bug here was that we were flowing back to upstream through field writes and Annotator was not extending the tree accordingly. Making fields @Nullable on upstream can potentially cause problems in downstream dependencies but Annotator is not aware of that and will not enter an unexpected state. Please note in strict mode, we do not re-build all downstream dependencies to ensure no new bug has been introduced. We on rely on the errors indexed in the downstream scan phase which happens prior to annotating process.


Removed bind_dispatch().

This function removes associated properties invalidly.
Applied async_compose for async operations to keep associated property.

Codecov Report
Attention: Patch coverage is 86.29738% with 47 lines in your changes are missing coverage. Please review.

Project coverage is 89.93%. Comparing base (642fa3c) to head (63a17fe).

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #206   +/-   ##
=======================================
  Coverage   89.93%   89.93%
=======================================
  Files         100      100
  Lines       10898    10933   +35
=======================================
+ Hits         9801     9833   +32
- Misses       1097     1100    +3

Files
Coverage Δ

include/async_mqtt/endpoint.hpp
88.30% <100.00%> (-0.25%)
:arrow_down:

..._mqtt/predefined_layer/customized_basic_stream.hpp
100.00% <100.00%> (ø)

include/async_mqtt/stream.hpp
88.75% <ø> (+0.62%)
:arrow_up:

include/async_mqtt/stream_traits.hpp
100.00% <ø> (ø)

...nc_mqtt/predefined_layer/customized_ssl_stream.hpp
81.25% <80.64%> (+4.32%)
:arrow_up:

...t/predefined_layer/customized_websocket_stream.hpp
85.00% <83.67%> (-7.60%)
:arrow_down:

include/async_mqtt/client.hpp
85.91% <84.36%> (+1.74%)
:arrow_up:

... and 2 files with indirect coverage changes


Fix publishing api v2 publish stub

It was nesting the keys inside an update_type key, but shouldn't have been.
Code tested with this helper will be sending the update_type and locale keys in a way that will be ignored by publishing-api. This is currently true of Whitehall.
I think this would be a PATCH release.
/cc @elliotcm @benilovj

:+1: nice catch

Please hold off merging while I investigate the Whitehall failures (yay massive test suites).

:+1:


Locale Selector Motion: Search

james-dow created the following on Sep 10:
Detailed description
We need to do an animation exploration around the Locale Selector for when a user searches for a language/location
Additional information

Lara identified some moments to explore
Original Design Exploration
To be developed in Sprint 19
Invision Prototype of Design Changes
IBM Design Language: Motion
Locale Selector API
User Locale API

Before / After

Acceptance criteria

[ ] Quick prototypes to demonstrate explorations
[ ] At least 3 alternatives

Original issue: https://github.ibm.com/webstandards/digital-design/issues/1643

@photodow Is this issue still valid?  Should we put in backlog?  Stalebot made it inactive so want to check on what we should do with it?

@ljcarot probably? It kind of depends on where the updated locale selector work lands. I haven't heard any updates on the latest around that.

@jeffchew How should we handle this issue?  It has both Design and Dev labels.


Uwl plugin fix

Fixes dave repository issue #65. To test:

Run catkin_make with the changes from the uwl_plugin_fix branch.
Open the file src/nps_uw_sensors_gazebo/urdf/uw_lidar_pedestal_robot.xacro in a text editor.
Change the value of namespace in the uwl_macro element from uwl to blahblah
Run:

roslaunch nps_uw_sensors_gazebo uw_lidar_standalone.launch

Unpause to verify that the lidar mount still swivels.
Alternately, look through the INFO messages to verify you see "lidar namespace = blahblah"

@crvogt Could you take a look at this when you get the chance?


Enhance user messages when using the configuration cache

When the configuration cache is enabled, a post-build summary is printed stating what happened.
Both the console and HTML reports also now state what was the build doing, storing or reusing the cached state.
These two things make it much easier to reason about what happens when running several builds in a row.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test RFM
@bamboo, thanks for the review, PTAL

OK, I've already cancelled the old build and triggered a new ReadyForMerge build for you.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.


Only search repos that user is a collaborator of

Fix #1

Thanks! Due to some more required changes I've went ahead and released a new version which also incorporates your suggestions here.
https://github.com/pat-s/alfred-gitea/releases/tag/v1.1.0