Lllama 70B chat GPTQ fails with Error: Warmup(Generation("Not enough memory to handle 4096 prefill tokens. You need to decrease --max-batch-prefill-tokens"))

System Info
System:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.182.03   Driver Version: 470.182.03   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            On   | 00000000:00:1B.0 Off |                    0 |
| N/A   27C    P8     9W /  70W |      3MiB / 15109MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  Tesla T4            On   | 00000000:00:1C.0 Off |                    0 |
| N/A   29C    P8     9W /  70W |      3MiB / 15109MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   2  Tesla T4            On   | 00000000:00:1D.0 Off |                    0 |
| N/A   28C    P8     9W /  70W |      3MiB / 15109MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   3  Tesla T4            On   | 00000000:00:1E.0 Off |                    0 |
| N/A   28C    P8     9W /  70W |      3MiB / 15109MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

2023-08-01T16:01:44.732944Z ERROR text_generation_launcher: Method Warmup encountered an error.
Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 727, in warmup
    _, batch = self.generate_token(batch)
  File "/opt/conda/lib/python3.9/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 825, in generate_token
    raise e
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 813, in generate_token
    out = self.forward(
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 789, in forward
    return self.model.forward(
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 475, in forward
    hidden_states = self.model(
  File "/opt/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 434, in forward
    hidden_states, residual = layer(
  File "/opt/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 378, in forward
    mlp_output = self.mlp(normed_attn_res_output)
  File "/opt/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 322, in forward
    gate_up_states = self.gate_up_proj(hidden_states)
  File "/opt/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/utils/layers.py", line 186, in forward
    return self.linear.forward(x)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/utils/gptq/quant_linear.py", line 349, in forward
    out = QuantLinearFunction.apply(
  File "/opt/conda/lib/python3.9/site-packages/torch/autograd/function.py", line 506, in apply
    return super().apply(*args, **kwargs)  # type: ignore[misc]
  File "/opt/conda/lib/python3.9/site-packages/torch/cuda/amp/autocast_mode.py", line 106, in decorate_fwd
    return fwd(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/utils/gptq/quant_linear.py", line 244, in forward
    output = matmul248(input, qweight, scales, qzeros, g_idx, bits, maxq)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/utils/gptq/quant_linear.py", line 209, in matmul248
    output = torch.empty(
RuntimeError: CUDA error: no kernel image is available for execution on the device
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/conda/bin/text-generation-server", line 8, in <module>
    sys.exit(app())
  File "/opt/conda/lib/python3.9/site-packages/typer/main.py", line 311, in __call__
    return get_command(self)(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/typer/core.py", line 778, in main
    return _main(
  File "/opt/conda/lib/python3.9/site-packages/typer/core.py", line 216, in _main
    rv = self.invoke(ctx)
  File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/typer/main.py", line 683, in wrapper
    return callback(**use_params)  # type: ignore
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/cli.py", line 78, in serve
    server.serve(
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/server.py", line 184, in serve
    asyncio.run(
  File "/opt/conda/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/opt/conda/lib/python3.9/asyncio/base_events.py", line 634, in run_until_complete
    self.run_forever()
  File "/opt/conda/lib/python3.9/asyncio/base_events.py", line 601, in run_forever
    self._run_once()
  File "/opt/conda/lib/python3.9/asyncio/base_events.py", line 1905, in _run_once
    handle._run()
  File "/opt/conda/lib/python3.9/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/opt/conda/lib/python3.9/site-packages/grpc_interceptor/server.py", line 159, in invoke_intercept_method
    return await self.intercept(
> File "/opt/conda/lib/python3.9/site-packages/text_generation_server/interceptor.py", line 21, in intercept
    return await response
  File "/opt/conda/lib/python3.9/site-packages/opentelemetry/instrumentation/grpc/_aio_server.py", line 82, in _unary_interceptor
    raise error
  File "/opt/conda/lib/python3.9/site-packages/opentelemetry/instrumentation/grpc/_aio_server.py", line 73, in _unary_interceptor
    return await behavior(request_or_iterator, context)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/server.py", line 60, in Warmup
    max_supported_total_tokens = self.model.warmup(batch)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 729, in warmup
    raise RuntimeError(
RuntimeError: Not enough memory to handle 4096 prefill tokens. You need to decrease `--max-batch-prefill-tokens`

2023-08-01T16:01:44.733482Z ERROR warmup{max_input_length=1024 max_prefill_tokens=4096}:warmup: text_generation_client: router/client/src/lib.rs:33: Server error: Not enough memory to handle 4096 prefill tokens. You need to decrease `--max-batch-prefill-tokens`
Error: Warmup(Generation("Not enough memory to handle 4096 prefill tokens. You need to decrease `--max-batch-prefill-tokens`"))
2023-08-01T16:01:44.774473Z ERROR text_generation_launcher: Webserver Crashed
2023-08-01T16:01:44.774514Z  INFO text_generation_launcher: Shutting down shards
2023-08-01T16:01:45.363546Z  INFO shard-manager: text_generation_launcher: Shard terminated rank=0
2023-08-01T16:01:45.428896Z  INFO shard-manager: text_generation_launcher: Shard terminated rank=3
2023-08-01T16:01:45.540127Z  INFO shard-manager: text_generation_launcher: Shard terminated rank=1
2023-08-01T16:01:45.540387Z  INFO shard-manager: text_generation_launcher: Shard terminated rank=2

Information

[X] Docker
[ ] The CLI directly

Tasks

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

Reproduction
model=TheBloke/Llama-2-70B-chat-GPTQ
num_shard=4
docker run --rm --gpus all --shm-size 4g -p 8080:80 --name $container_name --log-driver=local --log-opt max-size=10m --log-opt max-file=3 -v $volume:/data --env HUGGING_FACE_HUB_TOKEN=$HUGGING_FACE_HUB_TOKEN --env GPTQ_BITS=4 --env GPTQ_GROUPSIZE=1 ghcr.io/huggingface/text-generation-inference:latest --model-id $model --num-shard $num_shard --quantize "gptq" --max-best-of 1  --trust-remote-code > serving.log &

Expected behavior
Unsure why I am getting a memory issue when GPU is only 70% filled before warmup

Exsactly same issue here, tried it with 7B, and 7B quantized.

I think the error is rather clear:
not enough memory to handle 4096 prefill tokens. You need to decrease `--max-batch-prefill-tokens`

Basically warmup will attempt to run the biggest possible request at startime so detect if you settings will actually create an OOM.
If it does we crash early, instead of crashing randomly during runtime.
Thanks to it, your deployments should never oom during runtime.
Closing this issue, feel free to comment if that is not correct.

I am still facing the issue even after reducing it to 1024 for Vicuna 7b.
RuntimeError: Not enough memory to handle 1024 prefill tokens. You need to decrease `--max-batch-prefill-tokens`

2023-08-28T11:47:13.809881Z ERROR warmup{max_input_length=1024 max_prefill_tokens=1024}:warmup: text_generation_client: router/client/src/lib.rs:33: Server error: Not enough memory to handle 1024 prefill tokens. You need to decrease `--max-batch-prefill-tokens`
Error: Warmup(Generation("Not enough memory to handle 1024 prefill tokens. You need to decrease `--max-batch-prefill-tokens`"))
2023-08-28T11:47:13.832819Z ERROR text_generation_launcher: Webserver Crashed
2023-08-28T11:47:13.832850Z  INFO text_generation_launcher: Shutting down shards
2023-08-28T11:47:14.423784Z  INFO shard-manager: text_generation_launcher: Shard terminated rank=0
2023-08-28T11:47:14.558445Z  INFO shard-manager: text_generation_launcher: Shard terminated rank=1

GPU Stats before warmup

Docker Command:
docker run --gpus all --name tgi-vicuna-7b-v1.5-gptq --shm-size 4g -p 7002:80 -v /models/data:/data ghcr.io/huggingface/text-generation-inference:latest --model-id TheBloke/vicuna-7B-v1.5-GPTQ --num-shard 2 --quantize gptq  --max-batch-prefill-tokens 1024

System Information:

GPU:  2* 16GB T4
4-Core CPU
RAM: 45GB

Even tried setting --max-best-of 1, --env GPTQ_BITS=4 --env GPTQ_GROUPSIZE=1. Still facing the same issue?

I am still facing the issue even after reducing it to 1024 for Vicuna 7b.
RuntimeError: Not enough memory to handle 1024 prefill tokens. You need to decrease `--max-batch-prefill-tokens`

2023-08-28T11:47:13.809881Z ERROR warmup{max_input_length=1024 max_prefill_tokens=1024}:warmup: text_generation_client: router/client/src/lib.rs:33: Server error: Not enough memory to handle 1024 prefill tokens. You need to decrease `--max-batch-prefill-tokens`
Error: Warmup(Generation("Not enough memory to handle 1024 prefill tokens. You need to decrease `--max-batch-prefill-tokens`"))
2023-08-28T11:47:13.832819Z ERROR text_generation_launcher: Webserver Crashed
2023-08-28T11:47:13.832850Z  INFO text_generation_launcher: Shutting down shards
2023-08-28T11:47:14.423784Z  INFO shard-manager: text_generation_launcher: Shard terminated rank=0
2023-08-28T11:47:14.558445Z  INFO shard-manager: text_generation_launcher: Shard terminated rank=1

GPU Stats before warmup

Docker Command:
docker run --gpus all --name tgi-vicuna-7b-v1.5-gptq --shm-size 4g -p 7002:80 -v /models/data:/data ghcr.io/huggingface/text-generation-inference:latest --model-id TheBloke/vicuna-7B-v1.5-GPTQ --num-shard 2 --quantize gptq  --max-batch-prefill-tokens 1024

System Information:

GPU:  2* 16GB T4
4-Core CPU
RAM: 45GB

Even tried setting --max-best-of 1, --env GPTQ_BITS=4 --env GPTQ_GROUPSIZE=1. Still facing the same issue?

can you show the entire stacktrace ? Sometimes it's an entire issue altogether than is confused as OOM error.

2023-08-28T12:11:04.665298Z ERROR text_generation_launcher: Method Warmup encountered an error.
Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 753, in warmup
    _, batch = self.generate_token(batch)
  File "/opt/conda/lib/python3.9/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 851, in generate_token
    raise e
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 839, in generate_token
    out = self.forward(
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 815, in forward
    return self.model.forward(
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 480, in forward
    hidden_states = self.model(
  File "/opt/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 439, in forward
    hidden_states, residual = layer(
  File "/opt/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 383, in forward
    mlp_output = self.mlp(normed_attn_res_output)
  File "/opt/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 329, in forward
    return self.down_proj(self.act(gate_up_states[:, 0]) * gate_up_states[:, 1])
  File "/opt/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/transformers/activations.py", line 150, in forward
    return nn.functional.silu(input)
  File "/opt/conda/lib/python3.9/site-packages/torch/nn/functional.py", line 2059, in silu
    return torch._C._nn.silu(input)
RuntimeError: CUDA error: no kernel image is available for execution on the device
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/conda/bin/text-generation-server", line 8, in <module>
    sys.exit(app())
  File "/opt/conda/lib/python3.9/site-packages/typer/main.py", line 311, in __call__
    return get_command(self)(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/typer/core.py", line 778, in main
    return _main(
  File "/opt/conda/lib/python3.9/site-packages/typer/core.py", line 216, in _main
    rv = self.invoke(ctx)
  File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/typer/main.py", line 683, in wrapper
    return callback(**use_params)  # type: ignore
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/cli.py", line 81, in serve
    server.serve(
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/server.py", line 195, in serve
    asyncio.run(
  File "/opt/conda/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/opt/conda/lib/python3.9/asyncio/base_events.py", line 634, in run_until_complete
    self.run_forever()
  File "/opt/conda/lib/python3.9/asyncio/base_events.py", line 601, in run_forever
    self._run_once()
  File "/opt/conda/lib/python3.9/asyncio/base_events.py", line 1905, in _run_once
    handle._run()
  File "/opt/conda/lib/python3.9/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/opt/conda/lib/python3.9/site-packages/grpc_interceptor/server.py", line 159, in invoke_intercept_method
    return await self.intercept(
> File "/opt/conda/lib/python3.9/site-packages/text_generation_server/interceptor.py", line 21, in intercept
    return await response
  File "/opt/conda/lib/python3.9/site-packages/opentelemetry/instrumentation/grpc/_aio_server.py", line 82, in _unary_interceptor
    raise error
  File "/opt/conda/lib/python3.9/site-packages/opentelemetry/instrumentation/grpc/_aio_server.py", line 73, in _unary_interceptor
    return await behavior(request_or_iterator, context)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/server.py", line 66, in Warmup
    max_supported_total_tokens = self.model.warmup(batch)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 755, in warmup
    raise RuntimeError(
RuntimeError: Not enough memory to handle 1024 prefill tokens. You need to decrease `--max-batch-prefill-tokens`

2023-08-28T12:11:04.958211Z ERROR text_generation_launcher: Method Warmup encountered an error.
Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 753, in warmup
    _, batch = self.generate_token(batch)
  File "/opt/conda/lib/python3.9/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 851, in generate_token
    raise e
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 839, in generate_token
    out = self.forward(
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 815, in forward
    return self.model.forward(
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 480, in forward
    hidden_states = self.model(
  File "/opt/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 439, in forward
    hidden_states, residual = layer(
  File "/opt/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 383, in forward
    mlp_output = self.mlp(normed_attn_res_output)
  File "/opt/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 329, in forward
    return self.down_proj(self.act(gate_up_states[:, 0]) * gate_up_states[:, 1])
  File "/opt/conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/transformers/activations.py", line 150, in forward
    return nn.functional.silu(input)
  File "/opt/conda/lib/python3.9/site-packages/torch/nn/functional.py", line 2059, in silu
    return torch._C._nn.silu(input)
RuntimeError: CUDA error: no kernel image is available for execution on the device
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/conda/bin/text-generation-server", line 8, in <module>
    sys.exit(app())
  File "/opt/conda/lib/python3.9/site-packages/typer/main.py", line 311, in __call__
    return get_command(self)(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/typer/core.py", line 778, in main
    return _main(
  File "/opt/conda/lib/python3.9/site-packages/typer/core.py", line 216, in _main
    rv = self.invoke(ctx)
  File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/typer/main.py", line 683, in wrapper
    return callback(**use_params)  # type: ignore
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/cli.py", line 81, in serve
    server.serve(
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/server.py", line 195, in serve
    asyncio.run(
  File "/opt/conda/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/opt/conda/lib/python3.9/asyncio/base_events.py", line 634, in run_until_complete
    self.run_forever()
  File "/opt/conda/lib/python3.9/asyncio/base_events.py", line 601, in run_forever
    self._run_once()
  File "/opt/conda/lib/python3.9/asyncio/base_events.py", line 1905, in _run_once
    handle._run()
  File "/opt/conda/lib/python3.9/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/opt/conda/lib/python3.9/site-packages/grpc_interceptor/server.py", line 159, in invoke_intercept_method
    return await self.intercept(
> File "/opt/conda/lib/python3.9/site-packages/text_generation_server/interceptor.py", line 21, in intercept
    return await response
  File "/opt/conda/lib/python3.9/site-packages/opentelemetry/instrumentation/grpc/_aio_server.py", line 82, in _unary_interceptor
    raise error
  File "/opt/conda/lib/python3.9/site-packages/opentelemetry/instrumentation/grpc/_aio_server.py", line 73, in _unary_interceptor
    return await behavior(request_or_iterator, context)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/server.py", line 66, in Warmup
    max_supported_total_tokens = self.model.warmup(batch)
  File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_causal_lm.py", line 755, in warmup
    raise RuntimeError(
RuntimeError: Not enough memory to handle 1024 prefill tokens. You need to decrease `--max-batch-prefill-tokens`

File "/opt/conda/lib/python3.9/site-packages/torch/nn/functional.py", line 2059, in silu
return torch._C._nn.silu(input)
RuntimeError: CUDA error: no kernel image is available for execution on the device
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.

Hmm seems like the issue.  no kernel image is available for execution on the device. T4 are supported, we do use them regularly. Any possibility you have cuda<11.8.
Can you please paste everything asked for here: https://github.com/huggingface/text-generation-inference/issues/new/choose ?

I don't think that's the case coz on nvidia-smi its showing cuda version as 12

P.S: I am running this in the GCP instance, machine type: custom-4-49152-ext

I am encountering the exact same error, also on GCP with two Tesla T4s, but with the Phind-CodeLlama-34B-v1-GPTQ model.

Can you please paste everything asked for here: https://github.com/huggingface/text-generation-inference/issues/new/choose ?

@Narsil I have created an issue here: https://github.com/huggingface/text-generation-inference/issues/940


Refactored the layout directive

Refactored the layout directive - especially the align functions are lot cleaner and shorter.
Added an alert if align is pressed, and only 1 node is selected.
Added types in all of the functions -> no more any[]
Due to these changes, there have been minor changes in the canvas.component and winery-alert.service

LGTM, shouldn't cause any issues.


Compilation issue on Ubuntu and Ubuntu WSL on windows

Hi,
I am able to compile this library on Windows but not on Ubuntu.

/home/xxxx/arthur/CustomMatPlot/source/cmp_plot.cpp:201:30: error: no match for ‘operator!=’ (operand types are ‘const Lim_f’ {aka ‘const cmp::Lim’} and ‘cmp::Lim’)
201 |   if (new_x_lim && new_x_lim != m_x_lim) {
|                    ~~~~~~~~~ ^~ ~~~~~~~
|                    |            |
|                    Lim<[...]>   Lim<[...]>
/home/xxxxx/arthur/CustomMatPlot/source/cmp_plot.cpp:201:30: note: candidate: ‘operator!=(int, int)’
201 |   if (new_x_lim && new_x_lim != m_x_lim) {
|                    ~~^~
/home/xxxx/arthur/CustomMatPlot/source/cmp_plot.cpp:201:30: note:   no known conversion for argument 2 from ‘cmp::Lim’ to ‘int’
/home/xxxx/arthur/CustomMatPlot/source/cmp_plot.cpp:228:28: error: no match for ‘operator!=’ (operand types are ‘cmp::Lim’ and ‘const Lim_f’ {aka ‘const cmp::Lim’})
228 |   if (new_y_lim && m_y_lim != new_y_lim) {
|                    ~~~~~~~ ^~ ~~~~~~~~~
|                    |          |
|                    Lim<[...]> Lim<[...]>

I have to put this change  to compile it properly:
diff --git a/include/include/cmp_datamodels.h b/include/include/cmp_datamodels.h
index 43604a0..850a862 100644
--- a/include/include/cmp_datamodels.h
+++ b/include/include/cmp_datamodels.h
@@ -121,6 +121,10 @@ struct Lim {
     return min == rhs.min && max == rhs.max;
   }

+  bool operator!=(const Lim<ValueType>& rhs) const noexcept {
+    return min != rhs.min || max != rhs.max;
+  }
+
   constexpr explicit operator bool() const noexcept {
     constexpr auto zero = static_cast<ValueType>(0);

Thank you very much for reporting this. Fixed in f8634e4c223d317fc35d2ff40c432a3d3b474bc4


Improves rights basis templates

Uses Crispy Layouts to improve rights basis form display. Overrides default field display to add required styles that have a required widget attribute (as opposed to only those fields which are marked as required on the model).
Fixes #74

I'm wondering if the start and end date fields should be date inputs instead of text inputs in the rights basis?

@HaSistrunk agree - those date fields should be consistent. I was having trouble figuring out how to make that happen AND was also thinking that we may want to use the datepicker approach we've used other places (like DIMES and the library search).


[BUG]: drizzle-zod type error on SQLite JSON column with circular reference

Report hasn't been filed before.

[X] I have verified that the bug I'm about to report hasn't been filed before.

What version of drizzle-orm are you using?
0.38.1
What version of drizzle-kit are you using?
0.30.0
Other packages
<EMAIL_ADDRESS>Describe the Bug
Since drizzle-zod 0.6.0, createSelectSchema for a SQLite table with a JSON column with a circular reference reports a type error.
// schema.ts
export const chapters = sqliteTable(
  'chapters',
  {
    ...
    content: text('content', { mode: 'json' }).notNull().$type<Content[]>(),
  },
  ...
);

// types.ts
export type ParaContent = BaseContent & {
  type: 'para';
  contents: Content[];
};
export const ParaContentSchema: z.ZodType<ParaContent> = BaseContentSchema.extend({
  type: z.literal('para'),
  contents: z.lazy(() => ContentSchema.array()),
});

export type NoteContent = BaseContent & {
  type: 'note';
  contents: Content[];
  verseId: string;
  verseNumber: number;
};
export const NoteContentSchema = BaseContentSchema.extend({
  type: z.literal('note'),
  contents: z.lazy(() => ContentSchema.array()),
  verseId: z.string(),
  verseNumber: z.number(),
});

export type OwningContent = ParaContent | NoteContent;
export const OwningContentSchema: z.ZodType<OwningContent> = z.lazy(() =>
  z.union([ParaContentSchema, NoteContentSchema]),
);

export type Content = ParaContent | NoteContent;
export const ContentSchema: z.ZodType<Content> = z.lazy(() =>
  z.union([OwningContentSchema]),
);

Error from createSelectSchema:
Type of property 'contents' circularly references itself in mapped type 'baseObjectOutputType<{ id: ZodString; attrs?: ZodTypeAny | ZodObject<{ [x: string]: ZodString; }, "strip", ZodTypeAny, { [x: string]: string; }, { [x: string]: string; }> | undefined; type: ZodString; contents: ZodObject<...>; verseId: ZodString; verseNumber: ZodNumber; }>'.ts(2615)

In the code you provided, I don't see the createSelectSchema used anywhere. It's hard to debug the issue without knowing how the schema is being created.

Here is how it is then called:
const refine = {
  ...defaultRefine,
  content: ContentSchema.array(),
};

export const ChapterSchema = createSelectSchema(chapters, refine);

This is caused by the same issue in #3735. I'll be closing this issue in favor of that one.


Create tabular output (Like Python pretty table)

Create tabular output for the top 20 coins in by ranking.

I will include a parameter to the initial command so we can set a specific number of coins that we want to list


update repository description with the proper website link.

Go to repository Settings and set up GitHub Pages (from the main branch), update repository description with the proper website link. Follow the link to check if everything is fine — you should see your index.html content.

done


Char level ppl

Sorry, my autoformatter went ham.
Probably not the worst thing.
Relevant changes are:

adds a char counter here: https://github.com/EleutherAI/gpt-neox/compare/char_level_ppl?expand=1#diff-b6ee2c1db780b46787ab3a576020f9a12695f3f5cb38ba8badcd5501960e5d22R440
adds the option to turn on char level ppl here: https://github.com/EleutherAI/gpt-neox/compare/char_level_ppl?expand=1#diff-fefa29324180c69866ca857d29fb03443ef143b9fee5aa5217cd5f5e5ae2b82cR892
In eval, wraps the data iterator in a char counter that counts the characters and tokens as we iterate through it (needed to do it this way because we don't have access to the deepspeed internals when doing pipe parallel), then uses this info to calculate the char level ppl here: https://github.com/EleutherAI/gpt-neox/compare/char_level_ppl?expand=1#diff-e2b248f8c422a601bcb0b7d93f96c1dff070f2694737e2b69f1def64ab9c1844R662

I have resolved the conflicts with main. @sweinbach can you confirm that this doesn't introduce bugs for whatever reason?

@StellaAthena I tested again, works fine. Can you reapprove?


[CARBONDATA-3709] Move stage_data directory to the $tablePath/ from $tablePath/Metadata/

Why is this PR needed?
The stage_data directory is data directory, but under the $tablePath/Metadata/ directory, it cause the metadata directory is not clean.
What changes were proposed in this PR?
Move stage_data directory to the $tablePath/ from $tablePath/Metadata/, and keep the $tablePath/Metadata/ directory not include any data.
Does this PR introduce any user interface change?

No

Is any new testcase added?

No

LGTM, can be merged after CI passed

Build Success with Spark 2.4.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.4/320/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2022/

LGTM


error in create nested structure when nested ID is uuid Type that ID is expected to be an integer.

Description
If this is a feature request, explain why it should be added. Specific use-cases are best.
For bug reports, please provide as much relevant info as possible.
Steps to Reproduce the Problem
Please describe in painful detail what you did (so others can play along with you) to get to this point. This includes things like the exact command(s) you used, or the curl command you used, that sort of thing.

nested structure is disk

{
  "host_id": "b2312720-242f-4af9-8b2e-a1fe3257052b",
  "os_type": "centos",
  "disks": [
      {
          "id": "dd119bf2-09a2-49ff-8c0e-2f4a20063893"
      }
  ]
}

	err = tx.Create(virtualMachine)
	if err != nil {
		return err
	}

Check for this nested relationship is manytomany

 	Disks Disks `many_to_many:"vms_disks"`

Expected Behavior
Create an entry and create their relationship
Actual Behavior
got an error.
Info
{
    "error": "ERROR: invalid input syntax for type integer: \"14fdf24c-1c29-4f9e-a9ce-f4c55da7a1d5\" (SQLSTATE 22P02)",
    "trace": "ERROR: invalid input syntax for type integer: \"14fdf24c-1c29-4f9e-a9ce-f4c55da7a1d5\" (SQLSTATE 22P02)",
    "code": 500
}

OS:centos8 database: postgreSQL
Use Pop through buffalo

I found a possible answer is that:
VmsDisk, the relations table of VM and disk, which has an int primary key but pop auto insert with a UUID type.
type VmsDisks struct {
	ID               int       `json:"id,omitempty" db:"id"`
	VirtualMachineID uuid.UUID `json:"virtual_machine_id,omitempty" db:"virtual_machine_id"`
	DiskID           uuid.UUID `json:"disk_id,omitempty" db:"disk_id"`

	CreatedAt time.Time `json:"created_at,omitempty" db:"created_at"`
	UpdatedAt time.Time `json:"updated_at,omitempty" db:"updated_at"`
}

I'll check it later.

Yes, It means tx.Create or tx.ValidateAndCreate would auto determine that relation table like VmsDisks's ( which is targeted by tag in many to many associations) primary key is UUID type, but not int type with the model target: integer.
Maybe it would be fix with a feature PR?


Omit stack frame allocation in vm shutdown if not needed

Right now in order to call the optional __deinit function we allocate a stack here:
https://github.com/google/iree/blob/b70fc1471a827b8ea74926b661bcc5c4e3fa2ca6/iree/vm/context.c#L213-L229
and then use it conditionally here:
https://github.com/google/iree/blob/b70fc1471a827b8ea74926b661bcc5c4e3fa2ca6/iree/vm/context.c#L120
It'd be nice to only setup the stack if there are any __deinit calls required. We could also condition the __init stack on the same thing (though __init is common where __deinit is never used today): https://github.com/google/iree/blob/b70fc1471a827b8ea74926b661bcc5c4e3fa2ca6/iree/vm/context.c#L328-L339
The impact of this will be less when #1172 is in, but it's still a lot of extra work that could be skipped with a simple boolean condition.

Much cheaper now that __init/__deinit functions run with host-stack-allocated stacks. Would still be nice but also may not be worth the complexity.


VanityGPG is slow

An OpenPGP fingerprint is a hash not only over the public key material, but also the key's meta data.  Thus, if you vary the key's creation time, you'll get a different fingerprint.  Given a certificate, that should be pretty easy to do: extract the primary key (let pk = cert.primary_key().key().clone()), get the v4 variant (let mut pk = match pk { Key::V4(k) => k, _ => unreachable!() }, modify the creation time (k.set_creation_time(k.creation_time() - delta)), and check the resulting fingerprint (k.fingerprint()).  When you find a match, you'll need to generate new self-signatures.  See CertBuilder's code for how to do that.  Depending on your requirements, you can vary from a few hours in the past to weeks or months in the past.  This should speed up the search by multiple orders of magnitude.

Thank you for the suggestion. If I did not understood it wrong, what you are talking about is similar to Scallion's approach. I'm not familiar with neither OpenPGP nor cryptography, so I took the simplest approach.
I'll try to do that, or if you are willing to help, PRs are extremely welcome.
By the way, I'm so glad to see suggestions like what you said here. To be honest, I started this as a meme project as I was joking about it with my friends, never thought I could receive such useful suggestion. I just want to say thank you again!

I just wrote a working PoC, the updated version should come soon.

Thank you for the suggestion.

No problem!

If I did not understood it wrong, what you are talking about is similar to Scallion's approach.

How scallion works is described here.  If I understand correctly, scallion increments the public key's exponent.  I don't know how safe that is... generating RSA keys is a tricky business.  Letting a cryptographic library generate the key pair, and then varying the creation time seems safer.  But, I'm not a cryptographer.  Perhaps the approach is sound.

I'm not familiar with neither OpenPGP nor cryptography, so I took the simplest approach.

No worries!

By the way, I'm so glad to see suggestions like what you said here. To be honest, I started this as a meme project as I was joking about it with my friends, never thought I could receive such useful suggestion. I just want to say thank you again!

:)

@nwalfield Checkout the 0.3 branch!

Very cool!
A few more ideas for improving performance:

You create a 100k keys (by default) up front.  I'd create the keys on demand: in your main loop, have a worker thread creates a key, and then searches that key's search space in a tight inner loop.  This should increase cache locality a lot, and avoid the expensive startup time.
Avoid locking as much as possible.  For instance:

Don't push the progress bar for every try, but every 1000 tries, say.

Default to ECC, not RSA.  RSA keys are longer (more bytes to hash), and much more computationally intensive to generate (lots of sanity checks) than ECC keys (pretty much any 32 byte value is a valid ECC key).

Some general comments:

When saving a key, only generate the primary, not the general purpose key.  The subkeys don't change the fingerprint and the user can add them later by importing the key into, say, gpg and adding the subkeys there (--quick-add-key).
Allow the user to limit the search space.  A vanity key that was created in 1992 is not that interesting.  By default, I'd search up to say a month in the past.  That gives you over 2.5 million possibilities, and probably amortizes the key creation cost.

FWIW, on my Xeon E3-1275 v6 (4 cores, 8 threads), I see about 800k tries per second using the following configuration: --pattern 'BADCAFE$' --pool_size 10000 -c cv25519.  Interestingly, the "tries per second" seem to increase with time.  That's a bit strange.

I just realized I didn't compile with --release.  With that, I get about 8M tries per second.

Very cool!

Thanks!

A few more ideas for improving performance:

You create a 100k keys (by default) up front.  I'd create the keys on demand: in your main loop, have a worker thread creates a key, and then searches that key's search space in a tight inner loop.  This should increase cache locality a lot, and avoid the expensive startup time.

I cannot find a proper way to do that. The main loop is controlled by Rayon and I cannot come up with a clean enough solution to do that.

Avoid locking as much as possible.  For instance:

Don't push the progress bar for every try, but every 1000 tries, say.

The progress bar is controlled by a separate thread, and the counter uses atomic operations, so I don't think this is a big problem...

Default to ECC, not RSA.  RSA keys are longer (more bytes to hash), and much more computationally intensive to generate (lots of sanity checks) than ECC keys (pretty much any 32 byte value is a valid ECC key).

Will do. I always use Ed25519 personally. but GPG defaults to RSA so I just used RSA here.

Some general comments:

When saving a key, only generate the primary, not the general purpose key.  The subkeys don't change the fingerprint and the user can add them later by importing the key into, say, gpg and adding the subkeys there (--quick-add-key).

I choose to generate the full general-purpose key is because some older versions of GPG that does not support adding ECC subkeys are still in use. Maybe I can add an option for generating subkeys or not.

Allow the user to limit the search space.  A vanity key that was created in 1992 is not that interesting.  By default, I'd search up to say a month in the past.  That gives you over 2.5 million possibilities, and probably amortizes the key creation cost.

Will do.

FWIW, on my Xeon E3-1275 v6 (4 cores, 8 threads), I see about 800k tries per second using the following configuration: --pattern 'BADCAFE$' --pool_size 10000 -c cv25519. Interestingly, the "tries per second" seem to increase with time. That's a bit strange.

That's probably because the status thread was spawned before the initialization finishes, and the "tries per second" is simply the result of dividing the total number of fingerprints by the number of seconds passed after the thread was spawned. I'll fix that.

Take a look at https://github.com/nwalfield/VanityGPG/tree/ideas for some ideas of how to speed it up in the way that I discussed.

The progress bar is controlled by a separate thread, and the counter uses atomic operations, so I don't think this is a big problem...

atomic operations create a memory fence, and lock the cache.  They are better than a lock, but they are still expensive, especially when they are contended.

Now it shows a reading of over 2 million tries per second on my Jetson Nano 🤣

Now it shows a reading of over 2 million tries per second on my Jetson Nano rofl

Nice!  I suspect that most people will want to choose a short key id.  It might make sense to provide matching against a fixed suffix (perhaps even a list taken either from the command line or a file) in addition to matching a regex.

That may be over-complicating things. Regex it self can be used to achieve this and the regex crate has a decent performance. I'll write a brief description about how to do thatin the README.
On Oct 4, 2020, 02:02 -0700, nwalfield<EMAIL_ADDRESS>wrote:

Now it shows a reading of over 2 million tries per second on my Jetson Nano rofl
Nice! I suspect that most people will want to choose a short key id. It might make sense to provide matching against a fixed suffix (perhaps even a list taken either from the command line or a file) in addition to matching a regex.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

I think it would be interesting to benchmark it.  When I replaced the regex with a fixed string comparison, I saw a 5-10% improvement.

I bet that you could get a factor 4-5 improvement in throughput if you computed the fingerprint manually, and adjusted the timestamp in place.
I'd serialize the key into a buffer:
        let pk = Key::V4(self.primary_key.clone().take_secret().0);
        // Serialize them leaving space for the header.
        let mut data = [ 0u8; 2048 ];
        let len = pk.serialize_into(&mut data[3..]).unwrap();
        let data = &mut data[..len + 3];
        // Add the header: 0x99, big endian 16-bit length.
        data[0] = 0x99;
        data[1] = ((len >> 8) & 0xFF) as u8;
        data[2] = (len & 0xFF) as u8;

To compute the hash, you could use the sha1 crate.

FWIW, there is also https://crates.io/crates/sha-1 :D

I think it would be interesting to benchmark it. When I replaced the regex with a fixed string comparison, I saw a 5-10% improvement.

Of course it would be faster with ends_with if I only have one rule, but it lacks flexibility and if we make it to accept multiple rules, it will be kind of messy and the efficiency may not be ideal. One way of improving this may be by using SIMD accelerated regex implementations, and seems the Rust Core Team has been working on this for a while.

I bet that you could get a factor 4-5 improvement in throughput if you computed the fingerprint manually, and adjusted the timestamp in place.
I'd serialize the key into a buffer:
        let pk = Key::V4(self.primary_key.clone().take_secret().0);
        // Serialize them leaving space for the header.
        let mut data = [ 0u8; 2048 ];
        let len = pk.serialize_into(&mut data[3..]).unwrap();
        let data = &mut data[..len + 3];
        // Add the header: 0x99, big endian 16-bit length.
        data[0] = 0x99;
        data[1] = ((len >> 8) & 0xFF) as u8;
        data[2] = (len & 0xFF) as u8;

To compute the hash, you could use the sha1 crate.

Checkout the newest commit on the 0.3 branch, I introduced a new rPGP backend. It is purely implemented in rust (so libclang is no longer needed) and utilizes the strategy you mentioned here.

but it is way too complicated

Could you provide some concrete feedback about that?  sequoia-openpgp provides a low-level API, but we've tried to make it as easy to use as possible with lots of documentation and examples.  What were the issues that you ran into? What did you find to be too complicated?

but it is way too complicated

Could you provide some concrete feedback about that?  sequoia-openpgp provides a low-level API, but we've tried to make it as easy to use as possible with lots of documentation and examples.  What were the issues that you ran into? What did you find to be too complicated?

Hmmm... Let me do some clarafication. The sequoia-openpgp crate itself is easy enough and is full of features, but for this project I only need the key generation functionality; As I mentioned above, nettle-sys requires libclang to be present in the system, but it could be a pain to achieve in certain situation (e.g. FreeBSD does not offer binary for it, and compiling LLVM+clang is kind of painful); I know there is a set of low-level API, but there's barely documentations for them, and sequoia is a large project.
Don't get me wrong, it does not mean I don't like sequoia, it's just heavier than ideal for this project. If I'm going to start any new project that needs anything related to OpenPGP, sequoia is definitely my first choice. It is easier to use and may be faster than rPGP.
Back to VanityGPG, I will maintain these two backends in parallel since rPGP lacks security audit and does not support the ECC curves from NIST, while sequoia requires FFI. These two backends are feature-gated and can be switched on compilation.

Thanks for the feedback.  To be clear, I'm not offended, if you don't like something about Sequoia.  In fact, I'd appreciate any type of feedback.

I know there is a set of low-level API, but there's barely documentations for them, and sequoia is a large project.

What APIs were you thinking about here?
FWIW, sequoia should be in the FreeBSD ports tree these days.  I'm not a FreeBSD user, so I don't know how one would go about using it.

Thanks for the feedback.  To be clear, I'm not offended, if you don't like something about Sequoia.  In fact, I'd appreciate any type of feedback.

I hope sequoia can get better and better.
Actually I have another small question. I see there is a struct named KeyBlueprint but it is private and the actual generation work is left to the CertBuilder struct's impl blocks. Is it a good idea to move the key generation part to KeyBlueprint and make it public?
Also, is it a good idea to make the generate method of CipherSuite public?
In VanityGPG, I somehow have to recreate these two methods since they are private.

I know there is a set of low-level API, but there's barely documentations for them, and sequoia is a large project.

What APIs were you thinking about here?

Actually no... My brain got confused back then and sequoia's documentations are good, seems I've messed up my memory. Sorry for that.

FWIW, sequoia should be in the FreeBSD ports tree these days.  I'm not a FreeBSD user, so I don't know how one would go about using it.

Yes it's in the FreeBSD ports, but as you know Rust does not have a stable ABI, and install nettle-sys from cargo requires libclang, so...
Actually the people here to be blamed should be someone from the maintainers of FreeBSD. From a message in the mailing list, they say they don't do binary builds for libclang is because they think building that .so would consume too much resources, and I think that's kind of ridiculous.

I bet that you could get a factor 4-5 improvement in throughput if you computed the fingerprint manually, and adjusted the timestamp in place.
I'd serialize the key into a buffer:
        let pk = Key::V4(self.primary_key.clone().take_secret().0);
        // Serialize them leaving space for the header.
        let mut data = [ 0u8; 2048 ];
        let len = pk.serialize_into(&mut data[3..]).unwrap();
        let data = &mut data[..len + 3];
        // Add the header: 0x99, big endian 16-bit length.
        data[0] = 0x99;
        data[1] = ((len >> 8) & 0xFF) as u8;
        data[2] = (len & 0xFF) as u8;

To compute the hash, you could use the sha1 crate.

I've just pushed a commit to let the sequoia backend use this strategy.

Do you think this issue can be closed now?

Looking good!
FWIW, my hacked up version was at 29.7 Mhashes/sec on my computer.  This version is at 21.0 Mhashes/sec.
These are the things that could yields some more improvement, I suspect:

Use Nettle's sha instead of sha1, +1 Mhashes/sec for me.
Avoid allocating on the heap.  Try changing Backend::fingerprint to place the fingerprint into a buffer passed by &mut instead of allocating a String on the heap.
https://crates.io/crates/faster-hex claims to be 10x faster than the hex crate (although it encodes the data as lower case).
Try and benchmark the suffix list vs. regex approach :)

Sorry, I was kind of busy in the last month and did not reply in time.
I've just switched to nettle for the sequoia backend. The rpgp one still uses SHA-1 as it is intended to be pure-rust.
For the second part, I'm actually not sure about how to improve on that, because we need the string anyway. Do you mean to pass a &mut [u8] to the main program and encode the string there?
For faster-hex, I'm still hesitating for switching to that, because it looks like it is no longer being maintained.
For regex, I wrote a simple "benchmark", and the result is, when there is a relatively large number of suffixes, regex can be a lot faster than using starts_with.
My code for that purpose: https://termbin.com/6tnlv
And the result on my Ryzen 3 2200G is:
>>> Result: regex_average=3928807.5, startswith_average=9898233

The unit is microseconds.
Another advantage of regex is that, it is just easier to write complex search patterns.

@nwalfield I've implemented custom binary-to-hex conversion with AVX2 and SSE4.1, based on code from faster-hex. Because it's only used for converting SHA-1 digest to hex and the data length is fixed, I made some extra "optimization". This change almost doubled the hashrate on 3700X, achieving over 100,000,000 hash/s with 16 threads.
Also, I've added a feature to use jemalloc as the default allocator, and it seems to have an improvement of around 1M hash/s.
I've just gathered some perf data and generated this flamegraph:

So... it seems there's nothing more that can be easily optimized. And I guess it may be time to consider closing this issue...?

Sounds cool!  I haven't taken a look at the changes, but they make sense.


impl shell base

Closes #5
impl shell base
What

[x] print prompt
[x] read multilines input
[x] get tokens from input
[x] execute command

Write tests

Impl shell base done!
Next, tests will be written.


Is it possible to port a PyTorch model to this?

I have a pytorch model that I would like to deploy to production using Go. Is is possible to do this relatively efficiently with this library? What steps does it involve?
Thanks

Yes, it's possible.  I should probably write a tutorial for that. Can you
email me<EMAIL_ADDRESS>On Fri, Apr 5, 2019 at 12:38 PM NikEyX<EMAIL_ADDRESS>wrote:

I have a pytorch model that I would like to deploy to production using Go.
Is is possible to do this relatively efficiently with this library? What
steps does it involve?
Thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/gorgonia/gorgonia/issues/279, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAczUpAUx1WzfE2TNbHf7ppY_28m4A7Qks5vdqkBgaJpZM4ceAbP
.

Maybe you can export to onnx and use it with onnx-go. There is a backend based on gorgonia.
https://pytorch.org/tutorials/advanced/super_resolution_with_caffe2.html
https://github.com/owulveryck/onnx-go

I am closing this issue for now; do not hesitate to reopen it if you think it needs further investigation.


Allow npm install

Could you make it possible to install this via npm? I'm using browserify and all of my other packages (including angular) can be installed via npm.

Hi! Sure, I'll work on that.
While I get that done, you should be able to point the npm dependency to the repository. You may even point to a particular commit or tag if you're worried about the incoming changes.
"dependencies": {
  "ng-pattern-restrict": "https://github.com/AlphaGit/ng-pattern-restrict.git#v0.2.0"
}

However, I'll still work to get it today or tomorrow into the npm registry. Thanks!

Thanks for getting back to me so fast! Unfortunately is won't work to install directly from github, because there is no version specified in the package.json file. I get the following error
npm ERR! No version provided in package.json

@battmanz Got it!
I just published to the npm registry, you should be able to get it with
npm install ng-pattern-restrict

The version right now is 0.2.1.
Thanks!

Thank you!


Properties are sorted alphabetically

Describe the bug
If I have a class like
public class User {
	public string Id {get; set;}
	public string Firstname{get; set;}
	public string Lastname {get; set;}
}

before the update to version 9 my Snapshot of the Schema looked like
type User{
	id: ID
	firstname: string
	lastname: String
}

but after the update to v9 it looks like this:
type User{
	firstname: string
	id: ID
	lastname: String
}

This new behavior is probably caused by this line
Expected behavior
I would like the properties in the Schema to be sorted as they are in my class and not alphabetically as they are now. The alphabetical sorting makes a schema harder to read.

Just because of interest.
Why do you want the fields not sorted alphabetically?

In my opinion it makes more sense to have the fields sorted the same as they are in the actual class. For example I always put the ID of an entity on the top because it's the place I would expect it.

@RohrerF  I think this was resolved a long time ago, gonna close this issue :)


Backport cargo fmt diff from release branch into main

Describe your changes
There is a diff between release and main
Issue ticket number and link
#3559
Checklist before requesting a review

[x] I have performed a self-review of my code.
[x] If it is a core feature, I have added thorough tests.
[x] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[x] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Another option is to cherry-pick the missing commit/-s

Another option is to cherry-pick the missing commit/-s

It was a fix somewhere in merge commit


Error on install

I run the following:
go get github.com/fogleman/nes
And get the following output:
# pkg-config --cflags portaudio-2.0
Package portaudio-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `portaudio-2.0.pc' to the PKG_CONFIG_PATH environment variable
No package 'portaudio-2.0' found
pkg-config: exit status 1

The portaudio-go dependency requires portaudio on your system:

To build portaudio-go, you must first have the PortAudio development headers and libraries installed. Some systems provide a package for this; e.g., on Ubuntu you would want to run apt-get install portaudio19-dev. On other systems you might have to install from source.

On Mac, you can use homebrew:
brew install portaudio

Updated readme with a note on this.

Didn't seem to work for me:
Brians-MacBook-Pro-3:~ brianrojas$ brew install portaudio
Warning: portaudio-19.20140130 already installed
Brians-MacBook-Pro-3:~ brianrojas$ go get github.com/fogleman/nes
# pkg-config --cflags portaudio-2.0
Package portaudio-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `portaudio-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'portaudio-2.0' found
pkg-config: exit status 1

Looks like you need to upgrade your portaudio version
Sent from my iPhone

On Apr 3, 2015, at 5:53 PM, Brian Rojas<EMAIL_ADDRESS>wrote:
Didn't seem to work for me:
Brians-MacBook-Pro-3:~ brianrojas$ brew install portaudio
Warning: portaudio-19.20140130 already installed
Brians-MacBook-Pro-3:~ brianrojas$ go get github.com/fogleman/nes
pkg-config --cflags portaudio-2.0
Package portaudio-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `portaudio-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'portaudio-2.0' found
pkg-config: exit status 1
—
Reply to this email directly or view it on GitHub.

Nevermind, you have the same version I do.

Any update on this?

Have you tried uninstalling pkg-config and portaudio in homebrew and reinstalling them?

Thx the problem turned out to be that portaudio wasn't in my PKG_CONFIG_PATH, thx for the help, really interested in how emulation works can't wait to start looking through your project!

I had the same problem.

Thx the problem turned out to be that portaudio wasn't in my PKG_CONFIG_PATH, thx for the help, really interested in how emulation works can't wait to start looking through your project!

how did you add it?


z_stream defined intent(in) in the interface functions

I've tried your zlib interface on my Mac M1 with gfortran-11 as an alternative to f95zlib. The code builds OK, but the test fails.
The reason is that gfortran optimizes out some operations, because the z_stream is always defined as intent(in) in the interface functions to the C routines. That's in general not true, because zlib changes its contents, but the fortran compiler thinks it doesn't.
For example, in zip_deflate_mem, have always returns 0, because the stream structure is supposedly not changed by the call to deflate.
            strm%avail_out = len(buffer)
            strm%next_out = c_loc(buffer)

            rc = deflate(strm, Z_FINISH)
            if (rc == Z_STREAM_ERROR) exit def_block
            have = len(buffer) - strm%avail_out ! returns 0
            dest = buffer(1:have)

I believe gfortran is doing this right, and the simple fix is to define the stream to be intent(inout) in all functions of the interface, e.g.:
        function deflate_end(strm) bind(c, name='deflateEnd')
            import :: c_int, z_stream
            implicit none
            type(z_stream), intent(inout) :: strm
            integer(kind=c_int)        :: deflate_end
        end function deflate_end

The bug also occurs if the library is compiled with optimisations (-O3). Thank you for reporting, has been fixed.


Assertion failure in FilePathParsing.swift

Assertion Failure: https://github.com/apple/swift-system/blob/main/Sources/System/FilePath/FilePathParsing.swift#L226
Test case: https://github.com/apple/swift-system/blob/main/Tests/SystemTests/FilePathTests/FilePathComponentsTest.swift#L247
> [IO.Path]::GetFullPath("//foo///bar/baz/")
\\foo\bar\baz\
> [IO.Path]::GetPathRoot("//foo///bar/baz/")
\\foo\bar
> [IO.Path]::GetPathRoot([IO.Path]::GetFullPath("//foo///bar/baz/"))
\\foo\bar

This also matches the Microsoft documentation on path normalization:

Normally, any path passed to a Windows API is (effectively) passed to the GetFullPathName function and normalized. There is one important exception: a device path that begins with a question mark instead of a period. Unless the path starts exactly with \?\ (note the use of the canonical backslash), it is normalized.

Originally posted by @compnerd in https://github.com/apple/swift-system/pull/101#discussion_r1262802765

I believe that this is related to the assertion failure that I see on Windows:

SystemPackage/FilePathParsing.swift:226: Assertion failed

CC: @milseman @lorentey

Linked to rdar://113002701


update outdated babel deps

Changes Unknown when pulling 9eb00a553f3ba4baeeda26b75441da147c3de82f on ari/babel-name-changes into ** on master**.

Coverage remained the same at 99.24% when pulling 21d1bd9195b0ed7d94f948d5baf64ec6df11b7b6 on ari/babel-name-changes into fd4b1bdd6690bf97b7ed57a0d209faae96095081 on master.


#43 Add class_name Blackboard to blackboard.gd

Description
Referencing #43

Can we do the same for the 3.x branch? e.g. https://github.com/bitbrain/beehave/blob/godot-3.x/addons/beehave/blackboard.gd#L1


Flaky metric: llcPartitionConsuming

We use llcPartitionConsuming to monitor whether Pinot is ingesting data for every partition across all replicas. However, we have been experiencing numerous flaky alerts because Pinot sometimes fails to emit the llcPartitionConsuming metric for certain consuming segments.
The metric typically resumes under the following conditions:

The server is explicitly restarted.
The segment is committed, and a new consuming segment is formed.

This behavior is unexpected because we emit this metric within the consumeLoop method. Therefore, even if it is missed once, it should be emitted at some point during the lifecycle of the entire consuming segment.

cc @zhtaoxiang

@tibrewalpratik17 Have you figured out thy the metric is not emitted?

Have you figured out thy the metric is not emitted?

I'm not entirely sure, but the cleanupMetrics method might be the cause. It specifically removes the llcPartitionConsuming metric from the metrics registry.
Ref: https://github.com/apache/pinot/blob/e64ef15330f356dc96fae38d52bce80e6af2068f/pinot-core/src/main/java/org/apache/pinot/core/data/manager/realtime/RealtimeSegmentDataManager.java#L1198-L1200
This method is called after every segment replacement or removal, which, in our case, occurs when a mutable segment becomes an immutable segment. This might somehow conflict with the new consuming segment metric.

I found this comment -- https://github.com/apache/pinot/pull/6887#issuecomment-837094283
where one of the concerns was that removing the metric while a new consuming segment is added might lead to this kind of issue we are talking about but according to the reply, Yammer shouldn't have this.
We have our own metrics factory in Uber -- M3 and so it might be M3-specific issue for us?
cc @jackjlli @mcvsubbu do we really need this cleanup or is it needed only during number of partitions increased? In that way we can move it behind a config maybe?
cc @ankitsultana who worked on Yammer -> M3 migration in Uber for Pinot.

@tibrewalpratik17 this cleanupMetrics() method is very essential to be invoked, as there is no guarantee that new consuming segments for the same partition will always be assigned to the same realtime pinot-server.
I don't think we encounter such metric issue here at LinkedIn and the method has been there for a while. I'd suggest collecting more stats from your side for M3 and see if there is any potential race condition that could occur.

Thanks for the reply @jackjlli!

I'd suggest collecting more stats from your side for M3 and see if there is any potential race condition that could occur.

Hmm this might be a bigger effort on our end as we will have to scope this out with the centralised observability team.

this cleanupMetrics() method is very essential to be invoked, as there is no guarantee that new consuming segments for the same partition will always be assigned to the same realtime pinot-server.

What about upsert tables? Pinot guarantees for upsert tables the consuming segments will be in the same partition. Can we change the logic to set gauge value to 0 instead of removing from metrics-registry specifically for upsert tables? I am setting to 0 as table rebalance might be the only reason that would change partition <> host mapping for upsert tables. This will cover most of the use-cases at Uber where we are trying to put alerts on this metric for tracking consumption.
Let me know your thoughts on this!

@tibrewalpratik17 Even for upsert tables if there is a need to uplift it's still possible that segments will be assigned to a different server.
And what's more, we couldn't use 0 here, as 0 denotes the current pinot-server is still responsible for the target partition but the data is not being consumed right now, which leads to false alarm to be triggered (in LinkedIn we do set up the alert on monitoring the value of this metric and the alert will be triggered as long as the value is non-0.
I'd suggest getting more evidence from your side, say when a new consuming segment for the same partition is initialized, check the log to make sure if the metric is actually created.

I'd suggest getting more evidence from your side, say when a new consuming segment for the same partition is initialized, check the log and the monitoring console to make sure if the metric is actually created.

Sure we are rolling out one more patch for partial-upserts to pause consumption during segment commit unlike realtime tables where we release consumer semaphore before. Hopefully, after that this issue will reduce as closeStreamConsumers is called right before cleanupMetrics. But I will keep this thread posted in case that fixes majority of our problems or not.

Found the root-cause. Addressed it here: #13679
cc @jackjlli @Jackie-Jiang please help review.

Thanks @tibrewalpratik17 for addressing the issue! Feel free to close this OSS issue if it's been resolved by your PR.

Closing as completed by #13679


Armbian with Kernel 4.19.20 on Orangepi Plus 2E

Hi Alex, with armbian-update 5.75 the kernel changed to 4.19.20. pivccu does not start and the 'apt install pivccu-modules-dkms' breaks with error. I'm using stretch.
make.log
Thx

Please try:
sudo apt install bison flex
cd /usr/src/linux-headers-4.19.20-sunxi
sudo make scripts
sudo apt install pivccu-modules-dkms

make scripts failed with error...
scripts/kconfig/conf  --syncconfig Kconfig
net/Kconfig:89: can't open file "net/wireguard/Kconfig"
scripts/kconfig/Makefile:69: recipe for target 'syncconfig' failed
make[2]: *** [syncconfig] Error 1
Makefile:539: recipe for target 'syncconfig' failed
make[1]: *** [syncconfig] Error 2
Makefile:635: recipe for target 'include/config/auto.conf' failed
make: *** [include/config/auto.conf] Error 2
root@xxxxxx:/usr/src/linux-headers-4.19.20-sunxi#

I will take a look at it at the evening. Until then, I would suggest a downgrade to the 5.73 kernel:
sudo apt install linux-image-next-sunxi=5.73 linux-headers-next-sunxi=5.73 linux-dtb-next-sunxi=5.73

Followed by a reboot.

downgrade works fine
thx

Seems to be an upstream issue in Armbian kernel package, that also affects other boards.
Right now, the only solution is to downgrade to kernel 5.73

Thx for support and information.

Same issue here on the same platform. Downgrade worked fine and saved my piVCCU3. Thx for support.

Please note armbian/build#1278

I added a workaround to the modules package, update to current kernel package are now working.


Import from Excel

When an excel file is detected, let the user choose the excel worksheet(s) to import and upload each as a file in the list.

why not importing all non-empty sheets right away? Otherwise, we need upload the file, read the worksheets via the server, let the user chooser which ones, upload it again and upload it.

I'd be fine with importing all non-empty sheets for now and seeing how it goes. I agree it would be much more straightforward to implement.

I don't see any big issues with doing that.  The POST request will just return a list of datasets.  Should be pretty straightforward to implement.


Move Unit Test API Key from xml File to env File & Add Unit Tests to Travis

Now that we have a couple simple unit tests, we need to move the API Key from the xml file to an env variable (rather, we need to pass the variable into the unit tests properly.) Once this is done, we can add unit testing to Travis and build out the remainder of the tests.

This could be accomplished better by using a service such as PHP VCR:
https://thinktandem.io/blog/2018/07/23/mocking-external-apis-with-laravel-and-vcr/

Added in EasyPost PHP client library API key for unit tests since it was already published publicly, added unit tests to Travis.


How to Swarm?

Is there a trick to make this thing swarm?
I've got a StableSwarmUI on one machine, and a ComfyUI on another machine.
I'm using the batch image folder tool.
Both backends are up and happy.
If I kick off the job, everything goes to the local node, GPU is at 0% on the remote ComfyUI node.
If I disable the local backend, everything goes to the remote ComfyUI node. If I disable the remote node and enable the local mode, everything back to local.
Enable both, everything to the local node.
Uh...I have failover I guess! Now how do I swarm and use both of these nodes at the same time?!

I, uh, oops. Forgot to use the line of code that makes it, yknow, do the important part. Fixed! Sorry!

i have no idea where can i install the customer's nodes?  who can tell me the way can solve this issue?i have downloaded the workflow, and loaded in  swarm,nodes i don't down are red. barely  all of red nodes are red.

Please open your own issue or ask on the discord  https://discord.gg/q2y38cqjNw  rather than reusing this old unrelated thread


Let DataLoader(..., batchsize=0) produce one batch

Closes #144
Before, treats 0 like "less than 0", perhaps we can call that a bug?
julia> DataLoader([1 2 3; 4 5 6]; batchsize=0)
3-element DataLoader(::Matrix{Int64}, batchsize=0)
  with first element:
  2-element Vector{Int64}

julia> collect(ans)
3-element Vector{Vector{Int64}}:
 [1, 4]
 [2, 5]
 [3, 6]

help?> DataLoader
search: DataLoader

  DataLoader(data; [batchsize, buffer, collate, parallel, partial, rng, shuffle])
[...]
    •  batchsize: If less than 0, iterates over individual observations. Otherwise, each
       iteration (except possibly the last) yields a mini-batch containing batchsize
       observations. Default 1.
[...]

julia> BatchView(1:10, batchsize=0) |> collect
ERROR: DivideError: integer division error

After, converts 0 to numobs on construction:
julia> DataLoader([1 2 3; 4 5 6]; batchsize=0)
1-element DataLoader(::Matrix{Int64}, batchsize=3)
  with first element:
  2×3 Matrix{Int64}

julia> BatchView(1:10, batchsize=0) |> collect  # unchanged
ERROR: DivideError: integer division error

Needs tests, but locally, tests passed with this change. That's some evidence that the zero wasn't really an intentional feature. (In addition to the doc saying "If less than 0".)

Codecov Report

Merging #145 (fecc37c) into main (ff2fcc1) will increase coverage by 0.32%.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #145      +/-   ##
==========================================
+ Coverage   88.28%   88.60%   +0.32%
==========================================
  Files          15       13       -2
  Lines         589      588       -1
==========================================
+ Hits          520      521       +1
+ Misses         69       67       -2

Impacted Files
Coverage Δ

src/eachobs.jl
87.35% <100.00%> (+0.14%)
:arrow_up:

src/MLUtils.jl

src/Datasets/Datasets.jl

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Before, treats 0 like "less than 0", perhaps we can call that a bug?

yes, doesn't deserve a major version bump

well actually previous batchsize=0 behavior is useful, disables batching and makes the dataloader equivalent to eachobs, something that cannot be obtained with batchsize=1.
Maybe we can set batchsize=nothing for maximum batch size?

equivalent to eachobs, something that cannot be obtained with batchsize=1

Isn't this batchsize=-1? That's what the docs seem to say:
julia> DataLoader(ones(2,3); batchsize=1) |> first
2×1 Matrix{Float64}:
 1.0
 1.0

julia> DataLoader(ones(2,3); batchsize=-1) |> first
2-element Vector{Float64}:
 1.0
 1.0

julia> eachobs(ones(2,3)) |> first
2-element Vector{Float64}:
 1.0
 1.0

Perhaps ideally, batchsize=0 would make more sense for the "individual obs without batch dim" command, and batchsize=-1 for "wrap around to largest possible batch". Both are special cases. But this way around would clearly break documented behaviour.
My first idea in https://github.com/JuliaML/MLUtils.jl/issues/144 was to use batchsize=Inf for "largest possible". It's a little weird to allow only one Float64 value.
Are there other good tokens? Using a function like batchsize=all seems clear to read but pretty unusual. Base uses dims=: internally in many places for "all the dimensions", but not quite like this; seems more like sum(rand(2,3); dims=(1,2))::Matrix than like sum(rand(2,3); dims=:)::Number.


Auth0 role is deleted but fails pulumi program

Hello!

Vote on this issue by adding a 👍 reaction
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already)

Issue details
When auth0 role is deleted from the Pulumi program, pulumi up delete the corresponding auth0 resource but fails with the error:
  auth0:index:Role ({resource-name}):
    error: deleting urn:pulumi:***::***::auth0:index/role:Role::{resource-name}: json: Unmarshal(nil)

  pulumi:pulumi:Stack ({stack-name}):
    error: update failed

@pulumi/auth0 version: 2.2.0
@pulumi/pulumi version: 3.4.0
Steps to reproduce

Add a role definition to a pulumi program: new auth0.Role(name, { name, description, permissions })
Run pulumi up - successful and the role is created
Delete the role from the pulumi program
Run pulumi up - failed (see error above) and the role is deleted
Run pulumi up again - success

Expected: pulumi up is successful after the role is deleted from pulumi program
Actual: once the role is deleted from pulumi program, the first pulumi up is failing and the second one succeeds

@vubogovich A lot has changed in Pulumi since this issue was opened, please let us know if this is an active issue for you on more recent releases, and if so open a new issue.


Allow Draggables to drop through DragTargets that don't accept them to one that does.

Fixes: https://github.com/flutter/flutter/issues/1920
@Hixie

@Hixie PTAL

LGTM.


Problems with large package size

I forked your project and played a little bit with it.
https://github.com/EifelMono/TcpEcho
I added a WpfClient app to send different package sizes over the socket.
Than I detect that the server  cannot receive large blocks over the socket.
I changed the _minimumBufferSize to 1024 * 2048 on the server side.
Now it is possible to receive blocks with, for example 100000 bytes.
But if I split the blocks, on the client side, in 1000 bytes blocks, the server does not receive all.
Do I something wrong or is it a bug?

I wouldn't change the buffer size, it should just work but the buffers should be split up.

But it n does not work. It hangs

What should I do the reproduce the problem in the code you sent.

Error PipelinesServer deadlock in FlushAsync
Steps to reproduce

start PipelinesServer
start WpfClient

Connect
"10_000 all newline"

sends 10_000 chars plus newline in one block

this works

"10_000 1000 newline"

sends 10_000 chars plus newline in blocks with size of 1000 chars

this works

"100_000 all newline"

sends 100_000 chars plus newline in one block

this works

"100_000 100 newline"

sends 100_000 chars plus newline in blocks with size of 1000 chars

this does not works

DeadLock ??? System.InvalideOperationException

![System.InvalideOperationException]
(https://github.com/EifelMono/TcpEcho/blob/master/images/14-05-_2019_15-39-59.png)

This deadlock situation should be fixed. In the past, this happened when the limits of the pipe conflicted with the maximum message size allowed by the protocol.


[PE-D][Tester A] Navigation links don't work for some links under Table of Contents

Under ToC, some of the "clickable" links don't redirect me to subsection.
Notably:

Viewing help: help
Listing all persons : list
Editing a person: edit
Deleting a person: delete
Clearing all entries: clear
Cleaning graduated students: clean
Undoing the previous command: undo
Exiting the program: exit
FAQ

Labels: severity.VeryLow type.DocumentationBug
original: Domokunx/ped#9

Fixed via previous pull requests


Propagate FFmpegError through FFmpegException on FFprobe failures

Similar idea to https://github.com/bramp/ffmpeg-cli-wrapper/pull/214 but for ffprobe. Ffprobe actually already deserialises the errors into FFmpegError (Error codes too!) in the FFmpegProbeResult. The result is never returned though as we discard everything and throw IOException.
This change throws FFmpegException which contains the FFmpegError and will allow consumers to easily handle things like 401/404 scenarios on remote files.

Coverage increased (+0.1%) to 84.711% when pulling 76afbfd7327f89fa5d6bf9a3a1d452a8f736b3a5 on barnettj:master into 19923fb8e88c8704c4e31dc9fb2931a770a49fed on bramp:master.


chore(upgrade): Quarkus 3.2

Upgrades to Red Hat build of Quarkus 3.2.
Due to the migration, these fixes had to be applied:

migration to Hibernate 6 type system, while keeping quarkus-hibernate-types

RHINENG-1631
RHINENG-774

/retest


Interactive problems in the process of constructing Image using Dockerfile

Problem description

Dear lady/gentleman，
I prompted to enter area information when I am building r-base image through Dockerfile.
But it doesn't work after input.
I want to know how to deal with the information interaction in the process of images construction ?
Looking forward to your reply.
Problem PrintScreen：

Dockerfile：

Hi, @lkalbert001 , the R docs could use more information but that could take a while. Please ask your question in the Docker forums or on Stackoverflow.

For internal reference: https://docs.docker.com/samples/library/r-base/

Thanks for your reply. Now I known what has happenned . It just needs to set the 'tzdata' before doing this.


Implement PartialEq for EasyBuf

When implementing tokio-cassandra, we noticed that having PartialEq on EasyBuf makes testing so much easier, and with that using types that have EasyBuf as backing store.

Thanks!


Give more power to the WYSIWYG Editor.

Describe the feature you'd like
A tool bar menu like an adding macros

task list
date
markup
ETC

Choose the color for the background of table and cell instead of typing.

I think it's a good idea to make the first row bold and colored automatically.

Describe the benefits this feature would bring to BookStack users

Easy to draw a table, easy to use BookStack as a documentation tool.

Additional context

Thank you so much for your effort and providing this quite good tool, I appreciate.
By the way, I'm having the problem that editor pasting an image instead of table when I copy and paste it from excel.
Bookstack version is 0.30.5/ windows 10 and MS office 2016.

Thanks

Thank you so much for your effort and providing this quite good tool, I appreciate.

Thanks @asiamaster2!

Checkboxes are already open under issue #4 which I believe would meet the "task list" request.
Date is a little tricky as you can quickly delve into conversations about localisation and format.
Not really sure what is meant by "markup". Like a code block? Those are available under the formats menu.

Choose the color for the background of table and cell instead of typing.

I can get how a color picker would be easier but I'd imagine table colouring is going to be fairly uncommon in popularity to deem it worth spending time improving the user-experience in that small area.

I think it's a good idea to make the first row bold and colored automatically.

Maybe, I'd often agree it would in most cases where I use tables, but it's a little dangerous to assume this would work for the vast majority. This could actually be added right now with a little custom CSS added via the "Custom HTML Head Content" setting:
<style>
.page-content table > tbody > tr:first-child td {
    font-weight: bold;
   background-color: #eee;
}
</style>

I'm going to close this issue off due to the above reasons/workarounds and since issues listing multiple desired features are really hard to manage. Within the next year we'll be reviewing the page editors so things may change up anyway.

By the way, I'm having the problem that editor pasting an image instead of table when I copy and paste it from excel.
Bookstack version is 0.30.5/ windows 10 and MS office 2016.

Darn, I've seen this before but thought we had worked around it. Since excel adds both an image and text (In different formats) to the clipboard it can be tricky to detect the right format. Feel free to open this as it's own issue, where you could also provide details of the internet browser you use and ideally an example of spreadsheet content that causes this to occur (A single cell could act differently to multiple cells for example).


Cloudflare origin certificate issue

i can download or copy one of that key formats, i have already key with your script, im use csr file for compile that key formats, but how can chained all in crt?
Stay alert

pls help me, is important

can u help me for install cloudflare ssl certíficate, stay alert


[Bug] 🐛  400 Bad Request：很抱歉，你似乎已注销。 请重新登录。

Confirmations

[X] 我确认我已经仔细阅读了 Wiki, 并且已经搜索了已有的 issue, 并没有类似问题。

Describe the bug
使用二进制部署，提示：很抱歉，你似乎已注销。 请重新登录。
Steps to reproduce
请求方法:
GET
状态代码:
400 Bad Request
远程地址:
*****************:443
引用站点策略:
origin-when-cross-origin
请求地址:
https://*****************/fd/ls/l?IG=*****************&TYPE=Event.ClientInst&DATA=%5B%7B%22Namespace%22%3A%22Conversation%22%2C%22CustomData%22%3A%22%7B%5C%22errorMessage%5C%22%3A%5C%22CreateConversationUnauthorizedError%20User%20is%20unauthorized%20to%20access%20chat%5C%22%2C%5C%22errorDetails%5C%22%3A%5C%22CreateConversationUnauthorizedError%20-%20User%20is%20unauthorized%20to%20access%20chat%5C%22%2C%5C%22request%5C%22%3A%5C%22%7B%5C%5C%5C%22source%5C%5C%5C%22%3A%5C%5C%5C%22cib%5C%5C%5C%22%2C%5C%5C%5C%22optionsSets%5C%5C%5C%22%3A%5B%5C%5C%5C%22nlu_direct_response_filter%5C%5C%5C%22%2C%5C%5C%5C%22deepleo%5C%5C%5C%22%2C%5C%5C%5C%22disable_emoji_spoken_text%5C%5C%5C%22%2C%5C%5C%5C%22responsible_ai_policy_235%5C%5C%5C%22%2C%5C%5C%5C%22enablemm%5C%5C%5C%22%2C%5C%5C%5C%22dv3sugg%5C%5C%5C%22%2C%5C%5C%5C%22autosave%5C%5C%5C%22%2C%5C%5C%5C%22iyxapbing%5C%5C%5C%22%2C%5C%5C%5C%22iycapbing%5C%5C%5C%22%2C%5C%5C%5C%22enable_user_consent%5C%5C%5C%22%2C%5C%5C%5C%22fluxmemcst%5C%5C%5C%22%2C%5C%5C%5C%22galileo%5C%5C%5C%22%2C%5C%5C%5C%22saharagenconv5%5C%5C%5C%22%2C%5C%5C%5C%22bflxvoice%5C%5C%5C%22%2C%5C%5C%5C%22enstmdf%5C%5C%5C%22%2C%5C%5C%5C%22rcaldictans%5C%5C%5C%22%2C%5C%5C%5C%22gndlogcf%5C%5C%5C%22%2C%5C%5C%5C%22sapsgrd%5C%5C%5C%22%2C%5C%5C%5C%22localreducehho%5C%5C%5C%22%2C%5C%5C%5C%22paydetec%5C%5C%5C%22%2C%5C%5C%5C%22gptv1desc3%5C%5C%5C%22%2C%5C%5C%5C%22gptvmv3%5C%5C%5C%22%2C%5C%5C%5C%22gptvnocon%5C%5C%5C%22%2C%5C%5C%5C%22eredirecturl%5C%5C%5C%22%2C%5C%5C%5C%22ldsummary%5C%5C%5C%22%2C%5C%5C%5C%22ldqa%5C%5C%5C%22%2C%5C%5C%5C%22sdretrieval%5C%5C%5C%22%2C%5C%5C%5C%22dlgpt4t%5C%5C%5C%22%2C%5C%5C%5C%22dlbmtc%5C%5C%5C%22%2C%5C%5C%5C%22dlbpc4575%5C%5C%5C%22%2C%5C%5C%5C%22dlbrngnp%5C%5C%5C%22%2C%5C%5C%5C%22dlbtc%5C%5C%5C%22%2C%5C%5C%5C%22dlbuc07%5C%5C%5C%22%2C%5C%5C%5C%22dlbuf03%5C%5C%5C%22%5D%2C%5C%5C%5C%22allowedMessageTypes%5C%5C%5C%22%3A%5B%5C%5C%5C%22ActionRequest%5C%5C%5C%22%2C%5C%5C%5C%22Chat%5C%5C%5C%22%2C%5C%5C%5C%22ConfirmationCard%5C%5C%5C%22%2C%5C%5C%5C%22Context%5C%5C%5C%22%2C%5C%5C%5C%22InternalSearchQuery%5C%5C%5C%22%2C%5C%5C%5C%22InternalSearchResult%5C%5C%5C%22%2C%5C%5C%5C%22Disengaged%5C%5C%5C%22%2C%5C%5C%5C%22InternalLoaderMessage%5C%5C%5C%22%2C%5C%5C%5C%22Progress%5C%5C%5C%22%2C%5C%5C%5C%22RenderCardRequest%5C%5C%5C%22%2C%5C%5C%5C%22RenderContentRequest%5C%5C%5C%22%2C%5C%5C%5C%22AdsQuery%5C%5C%5C%22%2C%5C%5C%5C%22SemanticSerp%5C%5C%5C%22%2C%5C%5C%5C%22GenerateContentQuery%5C%5C%5C%22%2C%5C%5C%5C%22SearchQuery%5C%5C%5C%22%2C%5C%5C%5C%22GeneratedCode%5C%5C%5C%22%2C%5C%5C%5C%22InternalTasksMessage%5C%5C%5C%22%2C%5C%5C%5C%22Disclaimer%5C%5C%5C%22%5D%2C%5C%5C%5C%22sliceIds%5C%5C%5C%22%3A%5B%5C%5C%5C%22orcacrtrnewcf%5C%5C%5C%22%2C%5C%5C%5C%22codecrtv2cf%5C%5C%5C%22%2C%5C%5C%5C%22tcrtrv3%5C%5C%5C%22%2C%5C%5C%5C%22voicedup2%5C%5C%5C%22%2C%5C%5C%5C%22enziknavc%5C%5C%5C%22%2C%5C%5C%5C%22translnochr%5C%5C%5C%22%2C%5C%5C%5C%22dynhtrr%5C%5C%5C%22%2C%5C%5C%5C%22caccaconsccf%5C%5C%5C%22%2C%5C%5C%5C%22415dicts0%5C%5C%5C%22%2C%5C%5C%5C%220411dylbs0%5C%5C%5C%22%2C%5C%5C%5C%220306flows0%5C%5C%5C%22%2C%5C%5C%5C%22kcgmm2cf%5C%5C%5C%22%2C%5C%5C%5C%22sapsgrd%5C%5C%5C%22%2C%5C%5C%5C%220404redhoo%5C%5C%5C%22%2C%5C%5C%5C%22418paydetec%5C%5C%5C%22%2C%5C%5C%5C%220325phones0%5C%5C%5C%22%2C%5C%5C%5C%22reduceretrycf%5C%5C%5C%22%2C%5C%5C%5C%223daytone%5C%5C%5C%22%2C%5C%5C%5C%22exptone%5C%5C%5C%22%2C%5C%5C%5C%22sstoprevcf%5C%5C%5C%22%5D%2C%5C%5C%5C%22verbosity%5C%5C%5C%22%3A%5C%5C%5C%22verbose%5C%5C%5C%22%2C%5C%5C%5C%22scenario%5C%5C%5C%22%3A%5C%5C%5C%22SERP%5C%5C%5C%22%2C%5C%5C%5C%22plugins%5C%5C%5C%22%3A%5B%7B%5C%5C%5C%22id%5C%5C%5C%22%3A%5C%5C%5C%22c310c353-b9f0-4d76-ab0d-1dd5e979cf68%5C%5C%5C%22%2C%5C%5C%5C%22category%5C%5C%5C%22%3A1%7D%5D%2C%5C%5C%5C%22traceId%5C%5C%5C%22%3A%5C%5C%5C%22ed7887ea2b2949da919a081396989852%5C%5C%5C%22%2C%5C%5C%5C%22conversationHistoryOptionsSets%5C%5C%5C%22%3A%5B%5C%5C%5C%22autosave%5C%5C%5C%22%2C%5C%5C%5C%22savemem%5C%5C%5C%22%2C%5C%5C%5C%22uprofupd%5C%5C%5C%22%2C%5C%5C%5C%22uprofgen%5C%5C%5C%22%5D%2C%5C%5C%5C%22gptId%5C%5C%5C%22%3A%5C%5C%5C%22copilot%5C%5C%5C%22%2C%5C%5C%5C%22isStartOfSession%5C%5C%5C%22%3Atrue%2C%5C%5C%5C%22requestId%5C%5C%5C%22%3A%5C%5C%5C%22f67abdc1-9d7a-ad5d-54a1-d18ddb937c09%5C%5C%5C%22%2C%5C%5C%5C%22message%5C%5C%5C%22%3A%7B%5C%5C%5C%22locale%5C%5C%5C%22%3A%5C%5C%5C%22zh-CN%5C%5C%5C%22%2C%5C%5C%5C%22market%5C%5C%5C%22%3A%5C%5C%5C%22zh-CN%5C%5C%5C%22%2C%5C%5C%5C%22region%5C%5C%5C%22%3A%5C%5C%5C%22CN%5C%5C%5C%22%2C%5C%5C%5C%22location%5C%5C%5C%22%3A%5C%5C%5C%22lat%3A47.639557%3Blong%3A-122.128159%3Bre%3D1000m%3B%5C%5C%5C%22%2C%5C%5C%5C%22locationHints%5C%5C%5C%22%3A%5B%7B%5C%5C%5C%22country%5C%5C%5C%22%3A%5C%5C%5C%22United%20States%5C%5C%5C%22%2C%5C%5C%5C%22state%5C%5C%5C%22%3A%5C%5C%5C%22California%5C%5C%5C%22%2C%5C%5C%5C%22city%5C%5C%5C%22%3A%5C%5C%5C%22Los%20Angeles%5C%5C%5C%22%2C%5C%5C%5C%22zipcode%5C%5C%5C%22%3A%5C%5C%5C%2298161%5C%5C%5C%22%2C%5C%5C%5C%22timezoneoffset%5C%5C%5C%22%3A8%2C%5C%5C%5C%22dma%5C%5C%5C%22%3A819%2C%5C%5C%5C%22countryConfidence%5C%5C%5C%22%3A8%2C%5C%5C%5C%22cityConfidence%5C%5C%5C%22%3A5%2C%5C%5C%5C%22Center%5C%5C%5C%22%3A%7B%5C%5C%5C%22Latitude%5C%5C%5C%22%3A78.4156%2C%5C%5C%5C%22Longitude%5C%5C%5C%22%3A-101.4458%7D%2C%5C%5C%5C%22RegionType%5C%5C%5C%22%3A2%2C%5C%5C%5C%22SourceType%5C%5C%5C%22%3A1%7D%5D%2C%5C%5C%5C%22userIpAddress%5C%5C%5C%22%3A%5C%5C%5C%2<IP_ADDRESS>%5C%5C%5C%22%2C%5C%5C%5C%22timestamp%5C%5C%5C%22%3A%5C%5C%5C%222024-06-20T11%3A06%3A32%2B08%3A00%5C%5C%5C%22%2C%5C%5C%5C%22adaptiveCards%5C%5C%5C%22%3A%5B%5D%2C%5C%5C%5C%22author%5C%5C%5C%22%3A%5C%5C%5C%22user%5C%5C%5C%22%2C%5C%5C%5C%22inputMethod%5C%5C%5C%22%3A%5C%5C%5C%22Keyboard%5C%5C%5C%22%2C%5C%5C%5C%22text%5C%5C%5C%22%3A%5C%5C%5C%22%E5%88%86%E4%BA%AB%E4%B8%80%E4%BA%9B%E5%85%B3%E4%BA%8E%E6%B5%B7%E6%B4%8B%E6%BD%AE%E6%B1%90%E7%9A%84%E6%9C%89%E8%B6%A3%E4%BA%8B%E5%AE%9E%5C%5C%5C%22%2C%5C%5C%5C%22messageType%5C%5C%5C%22%3A%5C%5C%5C%22Chat%5C%5C%5C%22%2C%5C%5C%5C%22requestId%5C%5C%5C%22%3A%5C%5C%5C%22f67abdc1-9d7a-ad5d-54a1-d18ddb937c09%5C%5C%5C%22%2C%5C%5C%5C%22messageId%5C%5C%5C%22%3A%5C%5C%5C%22f67abdc1-9d7a-ad5d-54a1-d18ddb937c09%5C%5C%5C%22%7D%2C%5C%5C%5C%22tone%5C%5C%5C%22%3A%5C%5C%5C%22Balanced%5C%5C%5C%22%2C%5C%5C%5C%22extraExtensionParameters%5C%5C%5C%22%3A%7B%5C%5C%5C%22gpt-creator-persona%5C%5C%5C%22%3A%7B%5C%5C%5C%22personaId%5C%5C%5C%22%3A%5C%5C%5C%22copilot%5C%5C%5C%22%7D%7D%2C%5C%5C%5C%22spokenTextMode%5C%5C%5C%22%3A%5C%5C%5C%22None%5C%5C%5C%22%2C%5C%5C%5C%22conversationId%5C%5C%5C%22%3Anull%7D%5C%22%2C%5C%22requestId%5C%22%3A%5C%22f67abdc1-9d7a-ad5d-54a1-d18ddb937c09%5C%22%2C%5C%22traceId%5C%22%3A%5C%22ed7887ea2b2949da919a081396989852%5C%22%2C%5C%22convId%5C%22%3Anull%2C%5C%22optionSet%5C%22%3A%5C%22%5Bnlu_direct_response_filter%2Cdeepleo%2Cdisable_emoji_spoken_text%2Cresponsible_ai_policy_235%2Cenablemm%2Cdv3sugg%2Cautosave%2Ciyxapbing%2Ciycapbing%2Cenable_user_consent%2Cfluxmemcst%2Cgalileo%2Csaharagenconv5%2Cbflxvoice%2Censtmdf%2Crcaldictans%2Cgndlogcf%2Csapsgrd%2Clocalreducehho%2Cpaydetec%2Cgptv1desc3%2Cgptvmv3%2Cgptvnocon%2Ceredirecturl%2Cldsummary%2Cldqa%2Csdretrieval%2Cdlgpt4t%2Cdlbmtc%2Cdlbpc4575%2Cdlbrngnp%2Cdlbtc%2Cdlbuc07%2Cdlbuf03%5D%5C%22%2C%5C%22callStack%5C%22%3A%5C%22CreateConversationUnauthorizedError%3A%20User%20is%20unauthorized%20to%20access%20chat%5C%5Cn%20%20%20%20at%20getRetryModifiers%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A1711776)%5C%5Cn%20%20%20%20at%20Object.retryStrategy%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A1712339)%5C%5Cn%20%20%20%20at%20HttpRetryPolicy.sendRequest%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A1713835)%5C%5Cn%20%20%20%20at%20async%20Object.sendRequest%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A1691293)%5C%5Cn%20%20%20%20at%20async%20Object.sendRequest%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A1731409)%5C%5Cn%20%20%20%20at%20async%20BingAPI.sendOperationRequest%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A1742545)%5C%5Cn%20%20%20%20at%20async%20kg.callCreateConversationAsync%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A2724411)%5C%5Cn%20%20%20%20at%20async%20kg.tryUpdateTokenDetailAsync%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A2723006)%5C%5Cn%20%20%20%20at%20async%20kg.getEncryptedTokenAsync%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A2721604)%5C%5Cn%20%20%20%20at%20async%20qm.startConnectionAsync%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A2648786)%5C%22%2C%5C%22fullStack%5C%22%3A%5C%22CreateConversationUnauthorizedError%3A%20User%20is%20unauthorized%20to%20access%20chat%5C%5Cn%20%20%20%20at%20getRetryModifiers%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A1711776)%5C%5Cn%20%20%20%20at%20Object.retryStrategy%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A1712339)%5C%5Cn%20%20%20%20at%20HttpRetryPolicy.sendRequest%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A1713835)%5C%5Cn%20%20%20%20at%20async%20Object.sendRequest%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A1691293)%5C%5Cn%20%20%20%20at%20async%20Object.sendRequest%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A1731409)%5C%5Cn%20%20%20%20at%20async%20BingAPI.sendOperationRequest%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A1742545)%5C%5Cn%20%20%20%20at%20async%20kg.callCreateConversationAsync%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A2724411)%5C%5Cn%20%20%20%20at%20async%20kg.tryUpdateTokenDetailAsync%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A2723006)%5C%5Cn%20%20%20%20at%20async%20kg.getEncryptedTokenAsync%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A2721604)%5C%5Cn%20%20%20%20at%20async%20qm.startConnectionAsync%20(https%3A%2F%2Fbingai-sg1.opkg.cn%2Frp%2FV6IKxmcE5rJ2bGlG-v3sIvR-550.br.js%3A2%3A2648786)%5C%22%2C%5C%22messageObject%5C%22%3A%5C%22%7B%5C%5C%5C%22locale%5C%5C%5C%22%3A%5C%5C%5C%22zh-CN%5C%5C%5C%22%2C%5C%5C%5C%22market%5C%5C%5C%22%3A%5C%5C%5C%22zh-CN%5C%5C%5C%22%2C%5C%5C%5C%22region%5C%5C%5C%22%3A%5C%5C%5C%22CN%5C%5C%5C%22%2C%5C%5C%5C%22location%5C%5C%5C%22%3A%5C%5C%5C%22lat%3A47.639557%3Blong%3A-122.128159%3Bre%3D1000m%3B%5C%5C%5C%22%2C%5C%5C%5C%22locationHints%5C%5C%5C%22%3A%5B%7B%5C%5C%5C%22country%5C%5C%5C%22%3A%5C%5C%5C%22United%20States%5C%5C%5C%22%2C%5C%5C%5C%22state%5C%5C%5C%22%3A%5C%5C%5C%22California%5C%5C%5C%22%2C%5C%5C%5C%22city%5C%5C%5C%22%3A%5C%5C%5C%22Los%20Angeles%5C%5C%5C%22%2C%5C%5C%5C%22zipcode%5C%5C%5C%22%3A%5C%5C%5C%2298161%5C%5C%5C%22%2C%5C%5C%5C%22timezoneoffset%5C%5C%5C%22%3A8%2C%5C%5C%5C%22dma%5C%5C%5C%22%3A819%2C%5C%5C%5C%22countryConfidence%5C%5C%5C%22%3A8%2C%5C%5C%5C%22cityConfidence%5C%5C%5C%22%3A5%2C%5C%5C%5C%22Center%5C%5C%5C%22%3A%7B%5C%5C%5C%22Latitude%5C%5C%5C%22%3A78.4156%2C%5C%5C%5C%22Longitude%5C%5C%5C%22%3A-101.4458%7D%2C%5C%5C%5C%22RegionType%5C%5C%5C%22%3A2%2C%5C%5C%5C%22SourceType%5C%5C%5C%22%3A1%7D%5D%2C%5C%5C%5C%22userIpAddress%5C%5C%5C%22%3A%5C%5C%5C%2<IP_ADDRESS>%5C%5C%5C%22%2C%5C%5C%5C%22timestamp%5C%5C%5C%22%3A%5C%5C%5C%222024-06-20T11%3A06%3A32%2B08%3A00%5C%5C%5C%22%2C%5C%5C%5C%22adaptiveCards%5C%5C%5C%22%3A%5B%5D%2C%5C%5C%5C%22author%5C%5C%5C%22%3A%5C%5C%5C%22user%5C%5C%5C%22%2C%5C%5C%5C%22inputMethod%5C%5C%5C%22%3A%5C%5C%5C%22Keyboard%5C%5C%5C%22%2C%5C%5C%5C%22text%5C%5C%5C%22%3A%5C%5C%5C%22%E5%88%86%E4%BA%AB%E4%B8%80%E4%BA%9B%E5%85%B3%E4%BA%8E%E6%B5%B7%E6%B4%8B%E6%BD%AE%E6%B1%90%E7%9A%84%E6%9C%89%E8%B6%A3%E4%BA%8B%E5%AE%9E%5C%5C%5C%22%2C%5C%5C%5C%22messageType%5C%5C%5C%22%3A%5C%5C%5C%22Chat%5C%5C%5C%22%2C%5C%5C%5C%22requestId%5C%5C%5C%22%3A%5C%5C%5C%22f67abdc1-9d7a-ad5d-54a1-d18ddb937c09%5C%5C%5C%22%2C%5C%5C%5C%22messageId%5C%5C%5C%22%3A%5C%5C%5C%22f67abdc1-9d7a-ad5d-54a1-d18ddb937c09%5C%5C%5C%22%7D%5C%22%2C%5C%22requestbody%5C%22%3A%5C%22%5C%22%2C%5C%22retryCount%5C%22%3A%5C%220%5C%22%2C%5C%22maxRetryExceeded%5C%22%3A%5C%22%5C%22%7D%22%2C%22T%22%3A%22CI.Error%22%2C%22TS%22%3A1718852796213%2C%22Name%22%3A%22InternetErrorEvent%22%2C%22FID%22%3A%22Codex%22%7D%5D
Expected behavior
无
Screenshots
Bad Request
Your browser sent a request that this server could not understand.
Reference #7.3fdb387d.1718853285.14847cdf
https://errors.edgesuite.net/7.3fdb387d.1718853285.14847cdf
Deploy
Binary
UserId
无
OS & Version
Ubuntu 22.04
Browser & Version
Microsoft Edge 版本 124.0.2478.105 (正式版本) (64 位)
GoProxiBingAI Version
v2.4.3
Additional context
No response

在什么情况，什么状态，有这个报错

感谢大佬回复，通过二进制部署的，随意输入内容，提示：很抱歉，你似乎已注销。 请重新登录。
F12打开https://*********/fd/ls/l发现是上面的这个问题：400 Bad Request

Bad Request
Your browser sent a request that this server could not understand.
Reference #7.3fdb387d.1718856755.165a6178
https://errors.edgesuite.net/7.3fdb387d.1718856755.165a6178

如果点击登录的话：

通过右上角设置可以正常登录，但是登录之后还是很抱歉，你似乎已注销。 请重新登录。

那个报错是正常的，官网也有这个报错
我感觉是你的服务器IP被巨硬ban了

那个报错是正常的，官网也有这个报错
我感觉是你的服务器IP被巨硬ban了

huggingface的网络环境，即使专门的去验证，过了也不生成cct,USRLOC一大串值：

SRCHD=AF=NOFORM; SRCHUID=V=2&GUID=6F8E5CE7647B42F6A0AE5FD17898A43A&dmnchg=1; MUID=18D549D1A99466D12C4D5D75A8236769; MUIDB=18D549D1A99466D12C4D5D75A8236769; _EDGE_V=1; _EDGE_S=F=1&SID=054AA60E4C8562890C41B2AA4DCA6355; MUIDB=18D549D1A99466D12C4D5D75A8236769; _Rwho=u=d&ts=2024-06-20; SRCHUSR=DOB=20240620&T=1718845737000&TPC=1718845738000; _clck=h22fom%7C2%7Cfms%7C0%7C1632; USRLOC=HS=1&ELOC=LAT=30.269315719604492|LON=-97.74359893798828|N=Austin%2C%20Texas|ELT=1|; ipv6=hit=1718850612454; _clsk=1eo8838%7C1718847586574%7C5%7C1%7Ct.clarity.ms%2Fcollect; SRCHHPGUSR=SRCHLANG=en&PV=5.10.217&BRW=NOTP&BRH=S&CW=701&CH=393&SCW=1164&SCH=393&DPR=1.0&UTC=0&DM=0&CIBV=1.1776.0&WTS=63854442537&HV=1718847015&PRVCW=701&PRVCH=393&IG=F269B4049B514069891165985CDD8366&EXLTT=2; _RwBf=r=0&ilt=5&ihpd=0&ispd=2&rc=25&rb=0&gb=0&rg=200&pc=20&mtu=0&rbb=0&g=0&cid=&clo=0&v=5&l=2024-06-19T07:00:00.0000000Z&lft=0001-01-01T00:00:00.0000000&aof=0&ard=0001-01-01T00:00:00.0000000&rwdbt=0001-01-01T00:00:00.0000000&rwflt=0001-01-01T00:00:00.0000000&o=2&p=&c=&t=0&s=0001-01-01T00:00:00.0000000+00:00&ts=2024-06-20T01:39:47.0751227+00:00&rwred=0&wls=&wlb=&wle=&ccp=&cpt=&lka=0&lkt=0&aad=0&TH=; _SS=SID=09670785CAF36D7410801321CB446C7F&R=25&RB=0&GB=0&RG=200&RP=20; dsc=order=Video