[Usage]: When I set tensor_parallel_size as 2 and worker_use_ray will be automatically true, Ray will stop when INFO ray.init()

Your current environment
NUMA node(s):                       1
NUMA node0 CPU(s):                  0-47
Vulnerability Gather data sampling: Unknown: Dependent on hypervisor status
Vulnerability Itlb multihit:        Not affected
Vulnerability L1tf:                 Not affected
Vulnerability Mds:                  Not affected
Vulnerability Meltdown:             Not affected
Vulnerability Mmio stale data:      Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Retbleed:             Mitigation; Enhanced IBRS
Vulnerability Spec rstack overflow: Not affected
Vulnerability Spec store bypass:    Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:           Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:           Mitigation; Enhanced IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS SW sequence
Vulnerability Srbds:                Not affected
Vulnerability Tsx async abort:      Mitigation; TSX disabled
Versions of relevant libraries:
[pip3] numpy==1.26.3
[pip3] optree==0.10.0
[pip3] torch==2.1.2
[pip3] torchaudio==2.2.0
[pip3] torchelastic==0.2.2
[pip3] torchvision==0.17.0
[pip3] triton==2.1.0
[conda] blas                      1.0                         mkl
[conda] ffmpeg                    4.3                  hf484d3e_0    pytorch
[conda] libjpeg-turbo             2.0.0                h9bf148f_0    pytorch
[conda] mkl                       2023.1.0         h213fc3f_46344
[conda] mkl-service               2.4.0           py310h5eee18b_1
[conda] mkl_fft                   1.3.8           py310h5eee18b_0
[conda] mkl_random                1.2.4           py310hdb19cb5_0
[conda] numpy                     1.26.3          py310h5f9d8c6_0
[conda] numpy-base                1.26.3          py310hb5e798b_0
[conda] optree                    0.10.0                   pypi_0    pypi
[conda] pytorch-cuda              12.1                 ha16c6d3_5    pytorch
[conda] pytorch-mutex             1.0                        cuda    pytorch
[conda] torch                     2.1.2                    pypi_0    pypi
[conda] torchaudio                2.2.0               py310_cu121    pytorch
[conda] torchelastic              0.2.2                    pypi_0    pypi
[conda] torchvision               0.17.0              py310_cu121    pytorch
[conda] triton                    2.1.0                    pypi_0    pypiROCM Version: Could not collect
Neuron SDK Version: N/A
vLLM Version: 0.3.3
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; Neuron: Disabled
GPU Topology:
GPU0    GPU1    CPU Affinity    NUMA Affinity   GPU NUMA ID
GPU0     X      PHB     0-47    0               N/A
GPU1    PHB      X      0-47    0               N/A
Legend:
X    = Self
SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
PIX  = Connection traversing at most a single PCIe bridge
NV#  = Connection traversing a bonded set of # NVLinks
How would you like to use vllm
I want to set up three small models of async engines, and I use fast API to set up the backend. It works fine when not using ray. But when I use 2 A6000 and set tensor_parallel_size as 2, fastapi cannot init and when the final log is rag.init.
Log info:
WARNING 03-18 03:37:09 config.py:618] Casting torch.bfloat16 to torch.float16.
INFO 03-18 03:37:09 config.py:433] Custom all-reduce kernels are temporarily disabled due to stability issues. We will re-enable them once the issues are resolved.
2024-03-18 03:37:11,726 WARNING utils.py:575 -- Detecting docker specified CPUs. In previous versions of Ray, CPU detection in containers was incorrect. Please ensure that Ray has enough CPUs allocated. As a temporary workaround to revert to the prior behavior, set RAY_USE_MULTIPROCESSING_CPU_COUNT=1 as an env var before starting Ray. Set the env var: RAY_DISABLE_DOCKER_CPU_WARNING=1 to mute this warning.
2024-03-18 03:37:11,726 WARNING utils.py:587 -- Ray currently does not support initializing Ray with fractional cpus. Your num_cpus will be truncated from 11.52 to 11.
2024-03-18 03:37:12,824 INFO worker.py:1724 -- Started a local Ray instance.
INFO 03-18 03:37:13 llm_engine.py:87] Initializing an LLM engine with config: model='mistralai/Mistral-7B-Instruct-v0.2', tokenizer='mistralai/Mistral-7B-Instruct-v0.2', tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=True, dtype=torch.float16, max_seq_len=7900, download_dir='./model', load_format=auto, tensor_parallel_size=2, disable_custom_all_reduce=True, quantization=None, enforce_eager=False, kv_cache_dtype=auto, device_config=cuda, seed=0)
INFO 03-18 03:37:22 weight_utils.py:163] Using model weights format ['.safetensors']
(RayWorkerVllm pid=9026) INFO 03-18 03:37:22 weight_utils.py:163] Using model weights format ['.safetensors']
INFO 03-18 03:37:41 llm_engine.py:357] # GPU blocks: 8283, # CPU blocks: 4096
INFO 03-18 03:37:43 model_runner.py:684] Capturing the model for CUDA graphs. This may lead to unexpected consequences if the model is not static. To run the model in eager mode, set 'enforce_eager=True' or use '--enforce-eager' in the CLI.
INFO 03-18 03:37:43 model_runner.py:688] CUDA graphs can take additional 1~3 GiB memory per GPU. If you are running out of memory, consider decreasing gpu_memory_utilization or enforcing eager mode. You can also reduce the max_num_seqs as needed to decrease memory usage.
(RayWorkerVllm pid=9026) INFO 03-18 03:37:43 model_runner.py:684] Capturing the model for CUDA graphs. This may lead to unexpected consequences if the model is not static. To run the model in eager mode, set 'enforce_eager=True' or use '--enforce-eager' in the CLI.
(RayWorkerVllm pid=9026) INFO 03-18 03:37:43 model_runner.py:688] CUDA graphs can take additional 1~3 GiB memory per GPU. If you are running out of memory, consider decreasing gpu_memory_utilization or enforcing eager mode. You can also reduce the max_num_seqs as needed to decrease memory usage.
INFO 03-18 03:37:43 model_runner.py:756] Graph capturing finished in 0 secs.
(RayWorkerVllm pid=9026) INFO 03-18 03:37:43 model_runner.py:756] Graph capturing finished in 0 secs.
INFO 03-18 03:37:44 config.py:433] Custom all-reduce kernels are temporarily disabled due to stability issues. We will re-enable them once the issues are resolved.
2024-03-18 03:37:44,013 INFO worker.py:1558 -- Calling ray.init() again after it has already been called.

@JasonTaoY can you try to execute the following code and paste your result?
import torch
import ctypes
x = ctypes.c_int(-1)
# `ans` holds the error code, and `x` holds the device count
ans = ctypes.CDLL('libcuda.so.1').cuDeviceGetCount(ctypes.byref(x))

# normally, `import torch` does not initialize cuda, so we get CUDA_ERROR_NOT_INITIALIZED , which is 3
# check https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__TYPES.html for detailed error code
if ans == 3 and x.value == -1 :
    print("your torch version is good!")

if ans == 0:
    print("your torch version contains a bug!")

I suspect your issue might be relevant with the deadlock https://github.com/vllm-project/vllm/issues/3455 I'm investigating.
Basically, the ray worker raised some error and waits for the main process to receive the error; but the main process is conducting some communication op and waiting for the ray worker to join for collective op (like allreduce).

@JasonTaoY can you try to execute the following code and paste your result?
import torch
import ctypes
x = ctypes.c_int(-1)
# `ans` holds the error code, and `x` holds the device count
ans = ctypes.CDLL('libcuda.so.1').cuDeviceGetCount(ctypes.byref(x))

# normally, `import torch` does not initialize cuda, so we get CUDA_ERROR_NOT_INITIALIZED , which is 3
# check https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__TYPES.html for detailed error code
if ans == 3 and x.value == -1 :
    print("your torch version is good!")

if ans == 0:
    print("your torch version contains a bug!")

Oh, it showed your torch version contains a bug!.

How do you install torch? I use pip install torch==2.1.2 and it is good. Typically this buggy torch only occurs in nightly build or custom build.

pip install torch==2.1.2

My bad. I use cloud docker image to install torch directly and torch version is 2.2.0.

Can you give more details about the docker image you use?

Can you give more details about the docker image you use?

pytorch/pytorch:2.2.1-cuda12.1-cudnn8-devel

I use the pytorch 2.1.2version and still deadlock. I think I face the same issue https://github.com/vllm-project/vllm/issues/3455

You can modify the following code:
https://github.com/vllm-project/vllm/blob/93348d9458af7517bb8c114611d438a1b4a2c3be/vllm/engine/ray_utils.py#L35-L38
Into:
        def execute_method(self, method, *args, **kwargs):
            try:
                executor = getattr(self, method)
                return executor(*args, **kwargs)
            except Exception as e:
                print(str(e))
                raise e

Although it does not solve the deadlock issue, you will be able to see the underlying error that caused the deadlock. Looking forward to your reply.

pytorch/pytorch:2.2.1-cuda12.1-cudnn8-devel

That's even strange then. I tested the image, and the torch version is good.

You log is showing
2024-03-18 03:37:44,013 INFO worker.py:1558 -- Calling ray.init() again after it has already been called.

Did you happen to have multiple instantiation of vLLM in the same FastAPI server or running it with --reload mode? This can cause the issue.

You log is showing
2024-03-18 03:37:44,013 INFO worker.py:1558 -- Calling ray.init() again after it has already been called.

Did you happen to have multiple instantiation of vLLM in the same FastAPI server or running it with --reload mode? This can cause the issue.

Ah, I load multiple async engines, which should be the issue.

You can modify the following code:
https://github.com/vllm-project/vllm/blob/93348d9458af7517bb8c114611d438a1b4a2c3be/vllm/engine/ray_utils.py#L35-L38
Into:
        def execute_method(self, method, *args, **kwargs):
            try:
                executor = getattr(self, method)
                return executor(*args, **kwargs)
            except Exception as e:
                print(str(e))
                raise e

Although it does not solve the deadlock issue, you will be able to see the underlying error that caused the deadlock. Looking forward to your reply.

Tested. No error exception exists.

Thanks for the update. And would you please check which exactly pytorch version you are using, that caused the print of your torch version contains a bug! ?

Thanks for the update. And would you please check which exactly pytorch version you are using, that caused the print of your torch version contains a bug! ?

For previous one, yes. But I changed image and works fine.

Yeah, my question is, public pytorch versions are usually fine. It is quite strange how you get this buggy pytorch version. I want to investigate whether something is wrong from pytorch team.

Yeah, my question is, public pytorch versions are usually fine. It is quite strange how you get this buggy pytorch version. I want to investigate whether something is wrong from pytorch team.

I am not sure. I tried to use the previous image and call the function you provided, but It shows that the torch version is good. I cannot reproduce it.

您可以修改以下代码：
https://github.com/vllm-project/vllm/blob/93348d9458af7517bb8c114611d438a1b4a2c3be/vllm/engine/ray_utils.py#L35-L38
进入：
        def execute_method(self, method, *args, **kwargs):
            try:
                executor = getattr(self, method)
                return executor(*args, **kwargs)
            except Exception as e:
                print(str(e))
                raise e

虽然它不能解决死锁问题，但您将能够看到导致死锁的潜在错误。期待你的答复。

这个exception catch很有用，帮我找到tensor_parallel_size > 1不能执行的原因。

Any solution to this problem?


download link not accessible

Hi I was trying to download the dataset but it took forever to open the url: https://portal.nersc.gov/project/ClimateNet/climatenet_new
Could you help me take a look at this issue, please? Your time is greatly appreciated.

Hey Bill,
I just tried it and am also not able to access the data. This is unexpected behaviour, so I will investigate and then get back to you.

Hi Andre,
The link worked for a while early this morning and stopped working again.
Thanks,
Cong
On Sun, May 16, 2021 at 11:06 PM André Graubner @.***>
wrote:

Hey Bill,
I just tried it and am also not able to access the data. This is
unexpected behaviour, so I will investigate and then get back to you.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/andregraubner/ClimateNet/issues/7#issuecomment-842020502,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQO6CNAYFYNZFDCNBRC653TOCW7JANCNFSM447SC7HQ
.

Hey Bill,
I have not heard back from the relevant support so I can't diagnose the problem yet. I assume there's some hosting issues on our side, but I'll let you know as soon as it's resolved or I get more information.

Thank you very much for the update!
Regards,
Cong
On Mon, May 17, 2021 at 10:03 AM André Graubner @.***>
wrote:

Hey Bill,
I have not heard back from the relevant support so I can't diagnose the
problem yet. I assume there's some hosting issues on our side, but I'll let
you know as soon as it's resolved or I get more information.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/andregraubner/ClimateNet/issues/7#issuecomment-842486928,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQO6CJZXCVFVKSEGEMMBGDTOFD75ANCNFSM447SC7HQ
.

I just got word that the issue is being investigated internally starting now. In the meantime, please let me know if you have any questions regarding the data set, Lukas and me are happy to provide any details you might need.

The issue should be resolved now. Please let me know if you can access the data set, then I can close this issue. Have a nice day!

Hi Andre,
I am still NOT able to access the link:
https://portal.nersc.gov:8000/project/ClimateNet/climatenet_new/
I tried to open it with Chrome and Safari and both failed.
Regards,
Cong
On Mon, May 17, 2021 at 11:01 AM André Graubner @.***>
wrote:

The issue should be resolved now. Please let me know if you can access the
data set, then I can close this issue. Have a nice day!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/andregraubner/ClimateNet/issues/7#issuecomment-842522553,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQO6CNMDOR66HKD7RZK2WTTOFKXPANCNFSM447SC7HQ
.

Yes, I can access the data now! Thank you very much for your time!


BUG | none srd domain syntax in datasets

What is the problem you are experiencing?
I am experiencing a problem where...
As I'm working on my search script I come a cross the following data in phishing_database/phishing.database/domain.csv:T.me
I believe this should be ensured all records are rfc compliant.
How can we reproduce the problem?
To reproduce the problem:

Do you have a screenshot?
Screenshot

What did you expect to happen?
I expected that...
Is there a workaround?
I found a workaround...
Additional context
I would like to add...
Log information
Click to expand
Paste your log file here between the back tics.

I can make every domains lowercase, but please look at the 4§ in page 10 of https://www.ietf.org/rfc/rfc1034.txt ... 🙄

Hehe, yeah it says the DNS should permit mixed case and none lowercase, not the same as uppercase are the right thing 😉  And one major recursor actually fails to be rfc compliant, as it can't handle uppercase/mixedcase...
So year, lowercase all is the right thing to do, also to avoid dubles


[WIP] new page for adding node in kubernetes cluster

 here is the screenshot of the page being added

Thanks. You only need to provide a preview link rather than screenshots across screens.

Thank you for your feedback! I appreciate your attention to detail. I will now add the missing URL in parentheses. Please let me know if there's anything else you'd like me to address.

This PR title is “new page for adding node in kubernetes cluster”, but it only covers Windows nodes. Can you explain the discrepancy?
(Kubernetes also supports Linux nodes)

I'm currently working on the documentation for Linux nodes as well and wanted to streamline the process by submitting a combined pull request. I understand that the current title might not clearly convey this intention.

Okay.

Hi @sftim, I'm currently facing challenges in drafting documentation for Linux nodes. I would greatly appreciate assistance from someone experienced in this domain. Alternatively, if someone else feels more comfortable, I'm open to changing the pull request to focus solely on Windows nodes.

I'd prefer not to document only the Windows node story, unless we had a clear plan to also cover setting up Linux nodes.
Most Kubernetes clusters use Linux nodes and ignoring that OS would not be ideal.


Configure Azure Pipelines

This pipeline configuration builds the application and produces a build for the Release configuration.

@microsoft-github-policy-service agree

@jabin-sultana-primesilicon please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree company="dev.azure.com/jabinsultana"


Crippled performance, sometimes crashing on longer strings

I've found that setting strings longer than about 50 characters crawls to a halt. Sometimes crashes. A simple fix would be to just not animate if the length is greater than a certain number. I attempted to do this by modifying the setter for the text variable, pausing the display link and setting super.text to the value if it was above a threshold. This sometimes works, but I think I'm missing something, as I still get issues with performance. Advice appreciated. Would love to use this in the next rev of Slated if I can get it reliable.

I guess the latest Swift 1.2 comes with a lot of performance enhancements. Please try Xcode 6.3 Beta.
https://github.com/lexrus/LTMorphingLabel/tree/swift1_2

I think the performance and crashing are just due to inherent design issues. I wish I understood the code enough to modify it. It's a really good effect when it works!

On Feb 12, 2015, at 12:19 AM, Lex Tang<EMAIL_ADDRESS>wrote:
I guess the latest Swift 1.2 comes with a lot of performance enhancements. Please try Xcode 6.3 Beta.
https://github.com/lexrus/LTMorphingLabel/tree/swift1_2
—
Reply to this email directly or view it on GitHub.

:+1: UILabel is not designed to take long text. However what is long and not is defined by the use case of your App. Forcing a specific length would make this library unusable for many developers.
Instead I would make an effort to optimize the animation so that multiline and long text is not an issue for animation.


Right-click shows black rectangle instead of context menus #74751

VSCode Version: 1.36.1
OS Version: Ubuntu 16.04 LTS Running on Virtual Box(Version 6.0.10 r132072 (Qt5.6.2)).
Steps to Reproduce:

In virtual Box, enable Virtual Screen 2. (View -> Virtual Screen 2-> Enable)
Open any file (I open .c/.cpp)
Do right click on a function or a type name

Observation:

A black context menu pops up Nothing is visible.
As soon as virtual Screen 2 is disabled, the context menu is populated correctly.

Other Information.
Version: 1.36.1
Commit: 2213894
Date: 2019-07-08T22:55:08.091Z
Electron: 4.2.5
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Linux x64 4.15.0-55-generic

Does this issue occur when all extensions are disabled?: Yes

@singh-arulraj can you try the following builds which is based on Electron 6, to see if the issue appears there. Thanks!

macOS: Download
Linux (DEB): Download
Linux (RPM): Download
Windows: Download

If the issue still appears, can you also run them with --dsiable-gpu command line flag.

@singh-arulraj can you try the following builds which is based on Electron 6, to see if the issue appears there. Thanks!

macOS: Download
Linux (DEB): Download
Linux (RPM): Download
Windows: Download

If the issue still appears, can you also run them with --dsiable-gpu command line flag.

Same issue here (Ubuntu 18.04.03 LTS on VirtualBox 6.0.12 r133076 (Qt5.6.2):
Version: 1.39.1
Commit: 88f15d17dca836346e787762685a40bb5cce75a8
Date: 2019-10-10T23:30:33.955Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Linux x64 5.0.0-31-generic
--disable-gpu works for me. Thanks.

@singh-arulraj
Can you see if it still reproduces when disabling the GPU support in VSCode? You can do that by running VSCode from the command line like this: code --disable-gpu
Unfortunately due to the nature of this flag, we currently cannot support a setting to set this on each startup.


Cannot use edit on a website that already uses hashes urls

I am trying to integrate simpla with Vaadin. It uses hashes in URLs to recognize pages, for example http://website.com/#!contact.
I have placed <simpla-text> there. I tried going to http://website.com/#edit or http://website.com/#!contact#edit and the simpla login form appearead correctly. However, Vaadin shows 404 error page for these URLs. When I go back to http://website.com/#!contact, I can not edit the contents.
IMHO, once I have authenticated in simpla by going to the #edit, there should be a button on every page that enables its editing without changing URL of the application.

@fracz we're aware of this bug and looking at a workaround. What we're going to have is a function on our Simpla JS object that you can call to open / close edit mode - basically so you can control how you turn on and off Simpla if you don't want to use hashes.
We don't have a firm ETA on this, but will update here as soon as we have something in the works :)

Going to rename this issue to reflect @bedeoverend's comments

@fracz I agree how we currently handle edit mode isn't ideal - the problem with staying in edit mode across pages/once you've authenticated is that you'd have to logout/login every time you wanted to enter/exit edit mode on your site, which would get frustrating pretty quickly.
There are other considerations too, for example if you leave a page with unsaved changes, do you lose those changes or does pressing 'save' save content site-wide?

Site-wide save would be confusing to me. It should rather warn me before page change that I have some unsaved edits (window.onbeforeunload?). However, it would tricky work for SPAs that use the HTML5 pushState() because changing view with pushState() does not fire onbeforeunload. Perhaps, you should listen for DOM removal events of simpla-elements? Just a hunch.
And yes - I meant the toggle button. IMO, when I enter new page, the edit should be disabled by default (event if I have edited the previous one). But instead of "Save" button in the top right corner, there should be an "Edit this page" button if I'm authenticated in Simpla.

Yep I agree (as I think @bedeoverend does) that we wouldn't want to persist unsaved changes across pages. And warning on leaving a page with unsaved changes is already in an issue (https://github.com/simplaio/simpla/issues/13).
Interesting idea re: toggle button if authed. That could potentially be a clean way to handle this and not have to continually enter edit mode.

I've made dedicated issues for all the points raised in this thread:

#29
#28
#13

Follow along in those for progress/discussion. Closing this thread for now.


Instagram broken

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2022.05.18 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and I'm willing to share it if required

Region
No response
Description
It seems that videos on Instagram raise error (same result from any video tried)
Verbose log
[debug] Command-line config: ['-u', 'PRIVATE', '-p', 'PRIVATE', '-F', 'https://www.instagram.com/p/xxxxxxxxxxx/', '-v']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.05.18 [b14d52355]
[debug] Python version 3.8.12 (CPython 64bit) - Linux-4.4.180+-x86_64-with-glibc2.2.5
[debug] Checking exe version: ffprobe -bsfs
[debug] Checking exe version: avprobe -bsfs
[debug] Checking exe version: ffmpeg -bsfs
[debug] exe versions: ffmpeg 4.1.8
[debug] Optional libraries: Cryptodome-3.14.1, brotli-1.0.9, certifi-2022.05.18, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[Instagram] Downloading login webpage
[Instagram] Logging in
[debug] [Instagram] Extracting URL: https://www.instagram.com/p/xxxxxxxxxxx/
[Instagram] xxxxxxxxxxx: Downloading webpage
WARNING: [Instagram] unable to extract username; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
ERROR: [Instagram] CeLlL_xARkv: Unable to extract video url; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/volume1/web/bin/yt-dlp/yt_dlp/extractor/common.py", line 642, in extract
    ie_result = self._real_extract(url)
  File "/volume1/web/bin/yt-dlp/yt_dlp/extractor/instagram.py", line 415, in _real_extract
    video_url = self._og_search_video_url(webpage, secure=False)
  File "/volume1/web/bin/yt-dlp/yt_dlp/extractor/common.py", line 1340, in _og_search_video_url
    return self._html_search_regex(regexes, html, name, **kargs)
  File "/volume1/web/bin/yt-dlp/yt_dlp/extractor/common.py", line 1235, in _html_search_regex
    res = self._search_regex(pattern, string, name, default, fatal, flags, group)
  File "/volume1/web/bin/yt-dlp/yt_dlp/extractor/common.py", line 1226, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)

https://github.com/yt-dlp/yt-dlp/issues?q=is%3Aissue+is%3Aopen+instagram


IDL does not reflect types in libraries

I'm developing a project that is composed of three contracts. These contracts have in common a couple of types that I moved to a Rust library. Everything works well but the types are ignored by the IDL generator, throwing a IdlError: Type not found error.
Is there any way to include in the IDL types in another Rust library?
Thanks in advance.

Related to https://github.com/project-serum/anchor/issues/454.

@juliotpaez I have a very similar use case and didn't find anything either here or discord. Did you find any workaround/solution to this or the only way to go is to redefine the types in every program separately? Thank you.

Thank you @juliotpaez, as I thought we have to add them everywhere. Hopefully we will have a fix soon.

This is a known issue but maybe if we're lucky kklas's new IDL code might fix this, I still have to check it out.

Fixed in https://github.com/coral-xyz/anchor/pull/2824.


Remove broken debug depth options in Scene.js

This PR removes some code that's been broken for a while: https://github.com/CesiumGS/cesium/issues/6763. If we ever fix this code these commits can be reverted, but for now it's helpful to simplify Scene.js, GlobeDepth.js, and PickDepth.js so the Framebuffer code can be refactored.

Removes debugGlobeDepthViewportCommand in GlobeDepth
Removes debugPickDepthViewportCommand in PickDepth
Removes debugShowGlobeDepth and debugShowPickDepth (which was only set through the inspector) options from Scene
Removes debugGlobeDepths array in View
Removes globe depth and pick depth toggles in the CesiumInspector widget and view model
Removes a test testing debug globe depth in SceneSpec

Thanks for the pull request @ebogo1!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.

@lilleyse I made the changes above. Should the CHANGES.md entry have any more info? The original issue says the debug depths may have been broken since 1.45, but usually any extra info in the Breaking section is for alternative APIs to use after deprecation.

That should be fine. Thanks @ebogo1.


openssl rehash fails on non existing certificates

I backported #6083 to current Debian unstable due to #895482.
There still seems to be on difference in the behavior of "openssl rehash" vs "c_rehash":

/etc/ssl/certs# ln -sv /notting Swisscom_Root_CA_1.pem
'Swisscom_Root_CA_1.pem' -> '/notting'
/etc/ssl/certs# ls -lh Swisscom_Root_CA_1.pem
lrwxrwxrwx 1 root root 8 Jun 12 23:29 Swisscom_Root_CA_1.pem -> /notting
/etc/ssl/certs# openssl rehash
rehash: error: skipping Swisscom_Root_CA_1.pem, cannot open file
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
/etc/ssl/certs# echo $?
1
/etc/ssl/certs# c_rehash
Doing /usr/lib/ssl/certs
WARNING: Swisscom_Root_CA_1.pem does not contain a certificate or CRL: skipping
WARNING: Skipping duplicate certificate ca-certificates.crt
WARNING: Skipping duplicate certificate ca-certificates.crt
root@bazinga:/etc/ssl/certs# echo $?
0

The problematic is:
 static int do_file(const char *filename, const char *fullpath, enum Hash h)
 {
…
    /* Does it have X.509 data in it? */
     if ((b = BIO_new_file(fullpath, "r")) == NULL) {
         BIO_printf(bio_err, "%s: error: skipping %s, cannot open file\n",
                    opt_getprog(), filename);
         errs++;
         goto end;
     }

May I drop that "errs++" in order to align with "c_rehash" behaviour?

It's true that openssl rehash is stricter than c_rehash in some cases (c_rehash doesn't check for errors at all when opening files)....  @richsalz, do you have an opinion on this?

no opinion except that i'd like to see the perl script go away some time.

This was addressed on 1.1.1; could this to be closed?

Sure


fix indent depth

This PR is not change original logic.
When I read your source, I realized that indent is not same.
Therefore I send PR for arrange it.

I saw @tristanhimmelman recently uses 4-spaces over tabs from AlamofireObjectMapper. Should we re-indent whole source code someday? 🤷♂

@devxoul I don't have a strong preference with regards to indenting with spaces/tabs. Consistency is all that really matters to me.
If you want to clean the indentation, feel free 👍


Deck Calibration Check: Set Active Pipette

Overview
We want the server to hold responsibility over which pipette to use specifically for any move to location step after a pipette has picked up a tip.
Acceptance Criteria

Session status should display an active pipette UUID when relevant
State machine should be dependent on the correct pipette UUID when moving to a "Calibration Step"
The following steps should be dependent on a pipette UUID:
1. move to slots 1,2,3,5
2. drop tip

closed by #5583


WebUI: The user can control how many pieces of data are in the table per page

Had supported in v0.5


Some emojis and the emoji picker icon dont render on Pop OS 21.04

Im using chatterino 7.3.4 AppImage on PopOS 21.04 .. it worked properly on ubuntu 20.04 ..

This looks like an issue with your font. As for the icon, you might be missing a qt package for svg formats / imgaeformats. I don't know how it's called exactly on Ubuntu / PopOS but you should be able to find something.
I'm gonna close this issue since it's not directly problem related to Chatterino nor this fork, but feel free to comment on this issue if you manage to fix the issue / find something about it.


Design callouts for merging in main

This PR is used to embed only a part of https://github.com/Orange-OpenSource/Orange-Boosted-Bootstrap/pull/1614 so that we can release it in a 2-steps approach.

@MewenLeHo and @louismaximepiton, I've assigned you the review of this PR. The principle is to flag content that you're not sure about. The goal here is to include as a first-step only things we are comfortable with. If some callouts need more discussion, it'll be removed from this PR and tackled in the main one.


Removed few critical issues pointed out by Sonar

PR to reduce our number of critical issues

retest this please

@rafaelweingartner LGTM, ready to merge.

@GabrielBrascher done


Path params are not validated

Describe the bug
Path-level path parameters are not validated with their schema.
To Reproduce
openapi: 3.0.0
servers:
  - url: 'http://localhost:3000'
paths:
  '/path/{param}':
    parameters:
      - type: string
        name: param
        in: path
        required: true
        schema:
          type: string
          pattern: '^[A-Z]$'
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: {}

curl <IP_ADDRESS>:4010/path/123

Expected behavior
Get a validation error in response.
Actual
I get empty JSON object and OK status
Environment (remove any that are not applicable):

Library version: v3.1.1

Update: it doesn't work method-level path params neither.

Yeah I think for some parameter types http-spec is incorrectly writing down its generated schema. If you could post the example regarding the second bug as well that'd be great and I can look into it.

FYI query param validation works

Note to self: this is a feature that has never been implemented in Prism.


Add Date component

Similar to Number approach: https://github.com/morewings/koval-ui/issues/438
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat

:tada: This issue has been resolved in version 0.15.9 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


NewTab-Redirect on terminal server

Hi,
Thanks for you great Add-On.
I would like to ask if it is possible to use it on Windows 2012R2 Terminal Server, so all users are forced to a specific NewTab Page with NewTab-Redirect icon hidden from main view in Chrome?
Any instructions on how to do it are much appreciated.
Regards,

@daviddrum
https://support.google.com/chrome/a/answer/188453?hl=en
I haven't had experience doing this, nor do I have access to any version of Windows other than Windows 10 Home. But it looks like that article explains things for your purposes.
If you want the same new tab page on all devices, consider using a more basic new tab override extension (like this https://github.com/jimschubert/duckduckgo-newtab).  New Tab Redirect allows the user to set their own new tab page, which sounds like something you don't want.

Thank you Jim, will try that. Regards,

@daviddrum were you able to figure it out?

Hi Jim,
No, sorry, I gave up eventually.
Regards,
From: Jim Schubert<EMAIL_ADDRESS>Sent: 30 October 2016 01:27
To: jimschubert/NewTab-Redirect<EMAIL_ADDRESS>Cc: daviddrum<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>
Subject: Re: [jimschubert/NewTab-Redirect] NewTab-Redirect on terminal
server (#127)
@daviddrum https://github.com/daviddrum were you able to figure it out?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jimschubert/NewTab-Redirect/issues/127#issuecomment-257126169,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUBFeUjDuODxWXB1vGaPNqj51A5KIoxyks5q4_JNgaJpZM4Ji_O0
.
--
Notice:  This email is confidential and may contain copyright material of
members of the Ocado Group. Opinions and views expressed in this message
may not necessarily reflect the opinions and views of the members of the
Ocado Group.
If you are not the intended recipient, please notify us immediately and
delete all copies of this message. Please note that it is your
responsibility to scan this message for viruses.
Fetch and Sizzle are trading names of Speciality Stores Limited and Fabled
is a trading name of Marie Claire Beauty Limited, both members of the Ocado
Group.
References to the “Ocado Group” are to Ocado Group plc (registered in
England and Wales with number 7098618) and its subsidiary undertakings (as
that expression is defined in the Companies Act 2006) from time to time.
The registered office of Ocado Group plc is Titan Court, 3 Bishops Square,
Hatfield Business Park, Hatfield, Herts. AL10 9NE.

Thanks for looking into this for me Jim. I will go back to it at some
point. Regards
From: Jim Schubert<EMAIL_ADDRESS>Sent: 31 October 2016 15:21
To: jimschubert/NewTab-Redirect<EMAIL_ADDRESS>Cc: daviddrum<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>
Subject: Re: [jimschubert/NewTab-Redirect] NewTab-Redirect on terminal
server (#127)
Closed #127 https://github.com/jimschubert/NewTab-Redirect/issues/127.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jimschubert/NewTab-Redirect/issues/127#event-842056082,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUBFeUTI05u5bLvzVJVFcYrDNciFsXytks5q5gdVgaJpZM4Ji_O0
.
--
Notice:  This email is confidential and may contain copyright material of
members of the Ocado Group. Opinions and views expressed in this message
may not necessarily reflect the opinions and views of the members of the
Ocado Group.
If you are not the intended recipient, please notify us immediately and
delete all copies of this message. Please note that it is your
responsibility to scan this message for viruses.
Fetch and Sizzle are trading names of Speciality Stores Limited and Fabled
is a trading name of Marie Claire Beauty Limited, both members of the Ocado
Group.
References to the “Ocado Group” are to Ocado Group plc (registered in
England and Wales with number 7098618) and its subsidiary undertakings (as
that expression is defined in the Companies Act 2006) from time to time.
The registered office of Ocado Group plc is Titan Court, 3 Bishops Square,
Hatfield Business Park, Hatfield, Herts. AL10 9NE.


Getting IL and Native Code Addresses...

                    // Unfortunately there's not a great way to get the size of the code, or the end address.                     // This is partly due to the fact that we don't *have* to put all the JIT'ed code into one                     // contiguous chunk, though I think an implementation detail is that we actually do.                     // You are supposed to do code flow analysis like "uf" in windbg to find the size, but                     // in practice you can use the IL to native mapping:
However, the related code does NOT look right.... It seems to be getting the memory for a METHOD, and that method may not even be related to the TYPE (it is always looking at GetHashCode)...
Am I Missing something?

Can you point me to the code you are referring to?

@leculver  - Thanks for the response. I think it was one of the samples, and am currently going back to find the original source material. This is hampered because many of the links (e.g. those on the FAQ.md page) are broken (they appear to still reference a "master" branch which has not been rtenamed to "main)....That should probably be a distinct issue...
I will keep you posted...

Thanks!  I'm just now starting a sprint of ClrMD work.  I'll take a look at this as soon as I'm done with the current in-flight NativeAOT support...but that may take me a few days to churn through.  I'll see if I can get the links updated too.  There's already an issue tracking that.


Support for input groups in Angular

Describe the bug
Misaligned input and select when on same line/row.
How to reproduce
https://stackblitz.com/edit/clarity-light-theme-v2-f4sha7
Expected behavior
Correctly aligned input and select.
Versions
App

Angular: 8.2.4
Node: 10
Clarity: 2.1.2

Note: one of the issues is that the 2 demonstrated demos have different alignment.
This should be avoided by adding a .clr-input-wrapper container on the input, as shown here:
https://stackblitz.com/edit/forms-alignment-issue?file=src/app/app.component.html
This is the result:

Apart from this, I am not sure if we would want to have total alignment of the adjacent items without any padding between them, as this can be a bit confusing for the users.
Leaving this open for some time, so the team can give more comment if needed.

We don't currently have documented nor built into the Angular components. We do have the static version that you can use for now though if you look at our dev app here. https://github.com/vmware/clarity/blob/master/src/dev/src/app/forms/input-group/input-group.html#L25
I'll repurpose this as a feature request for the Angular component support and documentation.

If I change the order of select and input, the layout is broken.
https://stackblitz.com/edit/clarity-light-theme-v2-qaqlje
Changing .clr-input-group max-width to 100% the problem does not occur.
clr-input-group {
    max-width: calc(100% - 1rem);
}

clr-input-group {
    max-width: 100%;
}

Ok, we'll have to take that into account when working on this. Its not documented because we weren't ready to support it, so right now your milage may vary.

@bdryanovski it looks to me as if #4403 should not close this issue, since the PR only provides static CSS styling and no Angular component to achive the input group layout.
Is the Angular component tracked elsewhere?

@erabl-identos  We need first to resolve some small design miss alignment before a component wrapper could be created. There is still discussion internally so I'm gonna leave it like that for now.
Keeping in mind your comment.

This is possible with using CSS form controls in Clarity Angular, or upgrading to the Clarity Core forms which have better input groups built-in. Closing as resolved.


Date column sort with blanks entries

I've got a table with two columns of dates in the format yyyy-mm-dd
When I have blank dates (or replace blank dates with a "-" symbol) sorting on that column produces seemingly random  results.  In a post on your website (http://tablefilter.free.fr/comments.php?l=en&a=1) is suggests using v2.5
I've got the table filter from github:
tablefilter v0.0.14 by Max Guglielmi
build date: 2015-12-06T11:22:34.280Z
Am I doing something wrong?
C

Have you configured the data type for those columns ?
There are many ways to configure them, if those are the only format for dates in your table:
var yourConfig = {
...
  default_date_type: 'YMD',
...
};

Check this demo out: http://koalyptus.github.io/TableFilter/data-types.html


Improve option selection

We may want to try experimenting with multiple-choice style options t register user information
I think this is the best option: https://github.com/magmax/python-inquirer
But windows support is still experimental so we may want to wait a little bit longer before integrating

This looks like an even better and simpler option https://github.com/wong2/pick
This should also work cross-platform out of the box


Logger obsolete warnings are not helpful.

If you try to add loggers the old-fashioned way you are alerted of a deprecation warning:

[Obsolete("This method is obsolete and will be removed in a future version. The recommended alternative is to call the Microsoft.Extensions.Logging.AddConsole() extension method on the Microsoft.Extensions.Logging.LoggerFactory instance.")]

However, that deprecation warning is on the extension method:
Microsoft.Extensions.Logging.AddConsole(this ILoggerFactory) where Microsoft.Extensions.Logging.LoggeryFactory implements ILoggerFactory.
The Obsolete message appears to be self referential to the casual observer with the only difference being really subtle.  After a bunch of googling I was able to figure out the new way to log but I think the obsolete message should be more useful, perhaps indicating that you now must configure logging via ConfigureLogging extension method on WebHostBuilder.

I ran into an equally unclear scenario trying to use the following overload:
public static ILoggerFactory AddConsole(this ILoggerFactory factory, LogLevel minLevel)
It's a very recent change, so I understand if the docs just need time to update, however I could find no clear example of how to simply AddConsole() while providing the log level.
I ultimately achieved it with the code below.  I'm not convinced I this is the most elegant way to do it, if there's a better way please advise.  Obviously, running everything through filters is more flexible and perhaps maintainable, but without lots of samples and documentation, the below is much less intuitive and clean for the simple case.  Also, to get the same effect I had to parameterize the category to satisfy the API which is fundamentally new, more work, and unnecessary in my case.  If there's a way to wildcard the category or set to "All", that would be helpful.
            Log = new LoggerFactory().AddFilter(new Dictionary<string, LogLevel>
                {
                    { logCategory , logLevel },
                })
                .AddConsole()
                .CreateLogger(GetType().Name);

My solution was (Kestrel app, in Main function):
new WebHostBuilder()
	.ConfigureLogging((context, factory) =>
	{
		factory.AddFilter(new Dictionary<String, LogLevel> { ["Default"] = LogLevel.Trace });
		factory.AddConsole();
	})
	...
	.Build()
	.Run();

@MicahZoltu  Yeah, the way you provider does work. I wanna a better way to use it when deploying into production  without change any code.  Could any one have some tips ?

AddFilter takes in an IConfiguration I believe, you can use whatever configuration mechanism you won't that way.  I just opted for hard coded config for my tiny project.

We removed the obsolete warning in 2.0.0, and plan to bring them back in 3.0.0.


Decode binary

My friend keeps sending me messages encoded in binary lol, it'd make my life easier if I didn't have to open a binary decoder every couple of minutes.

2 years old, very much stale


HDDS-11209. Avoid insufficient EC pipelines in the container pipeline cache

What changes were proposed in this pull request?
OM cached pipeline may not cache container's all datanode information (for example, some DNs may not report in time), which can be problematic for EC files. If the nodes num is less than the EC data-blocks num, an error will occur when reading data:
There are insufficient datanodes to read the EC block

This err will persist until the cache expires (after 6 hours) even if all DNs corresponding to the EC file are completely normal.
So, it should not cache EC pipelines with incomplete data-nodes.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-11209
How was this patch tested?

unit tests,
and manual tests

It looks like the code will also cache incomplete Ratis pipelines, just not those that are empty. While the reads will technically still work, this could cause under-replicated containers to be sitting in the cache for a while, and may skew the read load for some time even after replication completes. Should we make the cache more strict to only keep pipelines that have all nodes present?

There are insufficient datanodes to read the EC block
This err will persist until the cache expires (after 6 hours) even if all DNs corresponding to the EC file are completely normal.

The client should force a cache refresh on read failures like this or corrupted data since SCM likely made new copies since the last cache refresh. It looks like that is not happening which is another problem.
cc @duongkame

Should we make the cache more strict to only keep pipelines that have all nodes present?

@errose28 Sorry for late reply.  I am inclined to make the cache more strict. At the very least, EC pipelines that do not have enough datanodes for reconstruction should not be cached, as they are invalid.
I believe the following approaches can be considered:

datanodes < data num : uncache
datanodes >= data num: cache
datanodes < data num + parity num: uncache
datanodes = data num + parity num: cache
datanodes loss data index: uncache
datanodes contain all data index: cache

The current submission is based on point 3.

The client should force a cache refresh on read failures like this or corrupted data since SCM likely made new copies since the last cache refresh. It looks like that is not happening which is another problem.

Now no retry when InsufficientLocationsException. I tested some cases, such as incorrect locations (cached expired locations), all of these can retry with forceFreshPipeline = true.
Perhaps in the current, we can just deal with the case InsufficientLocationsException. Of course, it can be processed in another ticket.

@whbing thanks for working on this.

datanodes loss data index: uncache
datanodes contain all data index: cache

I like this approach. Will review the code soon.

OM cached pipeline may not cache container's all datanode information (for example, some DNs may not report in time), which can be problematic for EC files.

This makes me wonder if the scm safe-mode rule for EC containers should be stricter than just seeing 1 replica.

This makes me wonder if the scm safe-mode rule for EC containers should be stricter than just seeing 1 replica.

@siddhantsangwan see #7008

please add a test?

@siddhantsangwan  Added test for refreshing container when missing ec data indexes.

Three methods for filtering benchmark:
        <dependency>
            <groupId>org.openjdk.jmh</groupId>
            <artifactId>jmh-core</artifactId>
            <version>1.21</version>
        </dependency>
        <dependency>
            <groupId>org.openjdk.jmh</groupId>
            <artifactId>jmh-generator-annprocess</artifactId>
            <version>1.21</version>
            <scope>provided</scope>
        </dependency>

import org.openjdk.jmh.annotations.*;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.MILLISECONDS)
@State(Scope.Benchmark)
public class ECDataIndexesBenchmark {

  private static final Map<Integer, Set<Integer>> EC_DATA_INDEXES = new ConcurrentHashMap<>();
  private static final int D = 6;
  private Set<Integer> replicaIndexes;

  @Setup
  public void setup() {
    EC_DATA_INDEXES.clear();
    // Initialize a mock collection
    replicaIndexes = IntStream.rangeClosed(1, 9).boxed().collect(Collectors.toSet());
  }

  @Benchmark
  @Threads(100)
  public boolean testComputeIfAbsentAndContainsAll() {
    Set<Integer> dataIndexes = EC_DATA_INDEXES.computeIfAbsent(D, k ->
        IntStream.rangeClosed(1, k).boxed().collect(Collectors.toSet()));
    return !replicaIndexes.containsAll(dataIndexes);
  }

  @Benchmark
  @Threads(100)
  public boolean testDirectPutAndContainsAll() {
    Set<Integer> dataIndexes = IntStream.rangeClosed(1, D).boxed().collect(Collectors.toSet());
    EC_DATA_INDEXES.put(D, dataIndexes);
    return !replicaIndexes.containsAll(dataIndexes);
  }

  @Benchmark
  @Threads(100)
  public boolean testIndexCompare() {
    List<Integer> indexes = replicaIndexes.stream()
        .sorted()
        .collect(Collectors.toList());
    // Check if the D-th element (0-based index D-1) is equal to D
    return !(indexes.size() >= D && indexes.get(D - 1) == D);
  }

  public static void main(String[] args) throws Exception {
    org.openjdk.jmh.Main.main(args);
  }
}

# JMH version: 1.21
# VM version: JDK 1.8.0_171, Java HotSpot(TM) 64-Bit Server VM, 25.171-b11
# VM invoker: /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/bin/java
# VM options: -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=64676:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8
# Warmup: 2 iterations, 10 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 100 threads, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: cn.whbing.hadoop.benchmark.ECDataIndexesBenchmark.testComputeIfAbsentAndContainsAll

# Run progress: 0.00% complete, ETA 00:04:00
# Fork: 1 of 2
# Warmup Iteration   1: 0.016 ±(99.9%) 0.001 ms/op
# Warmup Iteration   2: 0.017 ±(99.9%) 0.001 ms/op
Iteration   1: 0.019 ±(99.9%) 0.001 ms/op
Iteration   2: 0.018 ±(99.9%) 0.001 ms/op

# Run progress: 16.67% complete, ETA 00:03:25
# Fork: 2 of 2
# Warmup Iteration   1: 0.017 ±(99.9%) 0.001 ms/op
# Warmup Iteration   2: 0.018 ±(99.9%) 0.001 ms/op
Iteration   1: 0.018 ±(99.9%) 0.001 ms/op
Iteration   2: 0.018 ±(99.9%) 0.001 ms/op

Result "cn.whbing.hadoop.benchmark.ECDataIndexesBenchmark.testComputeIfAbsentAndContainsAll":
  0.018 ±(99.9%) 0.004 ms/op [Average]
  (min, avg, max) = (0.018, 0.018, 0.019), stdev = 0.001
  CI (99.9%): [0.014, 0.022] (assumes normal distribution)

# JMH version: 1.21
# VM version: JDK 1.8.0_171, Java HotSpot(TM) 64-Bit Server VM, 25.171-b11
# VM invoker: /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/bin/java
# VM options: -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=64676:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8
# Warmup: 2 iterations, 10 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 100 threads, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: cn.whbing.hadoop.benchmark.ECDataIndexesBenchmark.testDirectPutAndContainsAll

# Run progress: 33.33% complete, ETA 00:02:44
# Fork: 1 of 2
# Warmup Iteration   1: 0.024 ±(99.9%) 0.001 ms/op
# Warmup Iteration   2: 0.023 ±(99.9%) 0.001 ms/op
Iteration   1: 0.023 ±(99.9%) 0.001 ms/op
Iteration   2: 0.023 ±(99.9%) 0.001 ms/op

# Run progress: 50.00% complete, ETA 00:02:03
# Fork: 2 of 2
# Warmup Iteration   1: 0.022 ±(99.9%) 0.001 ms/op
# Warmup Iteration   2: 0.023 ±(99.9%) 0.001 ms/op
Iteration   1: 0.023 ±(99.9%) 0.001 ms/op
Iteration   2: 0.023 ±(99.9%) 0.001 ms/op

Result "cn.whbing.hadoop.benchmark.ECDataIndexesBenchmark.testDirectPutAndContainsAll":
  0.023 ±(99.9%) 0.001 ms/op [Average]
  (min, avg, max) = (0.023, 0.023, 0.023), stdev = 0.001
  CI (99.9%): [0.021, 0.024] (assumes normal distribution)

# JMH version: 1.21
# VM version: JDK 1.8.0_171, Java HotSpot(TM) 64-Bit Server VM, 25.171-b11
# VM invoker: /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/bin/java
# VM options: -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=64676:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8
# Warmup: 2 iterations, 10 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 100 threads, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: cn.whbing.hadoop.benchmark.ECDataIndexesBenchmark.testIndexCompare

# Run progress: 66.67% complete, ETA 00:01:22
# Fork: 1 of 2
# Warmup Iteration   1: 0.004 ±(99.9%) 0.001 ms/op
# Warmup Iteration   2: 0.004 ±(99.9%) 0.001 ms/op
Iteration   1: 0.004 ±(99.9%) 0.001 ms/op
Iteration   2: 0.004 ±(99.9%) 0.001 ms/op

# Run progress: 83.33% complete, ETA 00:00:41
# Fork: 2 of 2
# Warmup Iteration   1: 0.004 ±(99.9%) 0.001 ms/op
# Warmup Iteration   2: 0.004 ±(99.9%) 0.001 ms/op
Iteration   1: 0.004 ±(99.9%) 0.001 ms/op
Iteration   2: 0.005 ±(99.9%) 0.001 ms/op

Result "cn.whbing.hadoop.benchmark.ECDataIndexesBenchmark.testIndexCompare":
  0.004 ±(99.9%) 0.002 ms/op [Average]
  (min, avg, max) = (0.004, 0.004, 0.005), stdev = 0.001
  CI (99.9%): [0.002, 0.006] (assumes normal distribution)

# Run complete. Total time: 00:04:08

REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
experiments, perform baseline and negative tests that provide experimental control, make sure
the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
Do not assume the numbers tell you what you want them to tell.

Benchmark                                                 Mode  Cnt  Score   Error  Units
ECDataIndexesBenchmark.testComputeIfAbsentAndContainsAll  avgt    4  0.018 ± 0.004  ms/op
ECDataIndexesBenchmark.testDirectPutAndContainsAll        avgt    4  0.023 ± 0.001  ms/op
ECDataIndexesBenchmark.testIndexCompare                   avgt    4  0.004 ± 0.002  ms/op

Process finished with exit code 0

So, testIndexCompare  better.

@siddhantsangwan  Could you have another look? cc @duongkame @errose28

@whbing thanks for the update and benchmark. I agree, the map introduces a bit more complexity than necessary. Have you also considered another simple approach - using a nested loop to check if the index is present?
      List<Long> uncachePipelines = result.entrySet().stream()
          .filter(e -> {
            Pipeline pipeline = e.getValue();
            // filter empty pipelines
            if (pipeline.isEmpty()) {
              return true;
            }
            // filter insufficient EC pipelines which missing any data index
            ReplicationConfig repConfig = pipeline.getReplicationConfig();
            if (repConfig instanceof ECReplicationConfig) {
              int d = ((ECReplicationConfig) repConfig).getData();
//              List<Integer> indexes = pipeline.getReplicaIndexes().values().stream()
//                  .sorted()
//                  .distinct()
//                  .collect(Collectors.toList());
//              return !(indexes.size() >= d && indexes.get(d - 1) == d);
              for (int i = 1; i <= d; i++) { // another approach
                if (!pipeline.getReplicaIndexes().containsValue(i)) {
                  return true;
                }
              }
            }
            return false;
          })
          .map(Map.Entry::getKey)
          .collect(Collectors.toList());

The tests you wrote pass with this approach. We expect the number of indexes for EC to be less than 20, so this should barely take any time and is also thread-safe. Let me know if you see any problems with this.

@whbing thanks for the update. Is it ready for review?

Is it ready for review?

@siddhantsangwan  Thanks! it's ready.

Let me know if you see any problems with this.

No problem! The giving method is more concise and efficient.
  @Benchmark
  @Threads(500)
  public boolean testIndexCompare() {
    List<Integer> indexes = replicaIndexes.stream()
        .sorted()
        .distinct()
        .collect(Collectors.toList());
    return !(indexes.size() >= D && indexes.get(D - 1) == D);
  }

  @Benchmark
  @Threads(500)
  public boolean testLoop() {
    for (int i = 1; i <= D; i++) {
      if (replicaIndexes.contains(i)) {
        return true;
      }
    }
    return false;
  }
Benchmark                                 Mode  Cnt  Score   Error  Units
ECDataIndexesBenchmark1.testIndexCompare  avgt    4  0.035 ± 0.035  ms/op
ECDataIndexesBenchmark1.testLoop          avgt    4  0.001 ± 0.001  ms/op

No problem! The giving method is more concise and efficient.

Ah, that's good. Thanks for benchmarking this as well. LGTM, pending green CI.

Thanks @errose28 and @siddhantsangwan for view, thanks @siddhantsangwan for merge!


starseed-sahandSoleimani

This art piece of mine is called "Starseed" and the reason I chose this name was because it kind of looks like planting random stars on the canvas.
I have the main star centered and static in the canvas, but the rest of a stars are all randomly generated and you can change the randomness of their generation through the "randomnessfactor" in the "Customizable Parameters" section.
This project was really exciting for me and I enjoyed the process of making my art piece a lot, so overall, Blot was amazing!

[x] I have read the steps to getting a blot
[x] I have read all the submission requirements and follow them
[x] I am submitting art that...

[x] is algorithmically generated (will meaningfully change each time the program is run)
[x] is your own work that is not copied from somewhere else
[x] is drawable through the editor(does not use outside tools)
[x] doesn't call Math.random() (See the documentation on randomness)
[x] is drawable on Blot itself (doesn't have lines overlap more than 5 times)

[x] Doesn't overlap lines more than 5 times
[x] Fits in the working area of 125x125mm
[x] Doesn't rely on colour to look good

Hello! Sorry it's been so long. The main reviewer has been swamped lately, so I wanted to give you a few hints so you have the best chance of getting a blot.
I love where you're going with the randomly generated stars! You managed to make the perfect star shape :)
To get a blot, you need to make a project that has a bit more complexity. Generally, people spend ~15-20 hrs to have a 'blot-worthy' project. The submission guidelines are here
Some suggestions to enhance your complexity:

Add planets or other celestial bodies!
Make it a whole star map that has some constellations or some other cool secrets
Make a few different shapes of stars

You have a great start, though, and I'm excited to see where it goes from here!


GDScript: variant_temporary.get_object() returns bool instead of Object

Godot version
v4.0.rc.custom_build [1bd0b296e]
System information
Kubuntu 22.10
Issue description
When a method that returns Object is called on an Variant temporary, true or false is returned, not the object. The bug does not occur when:

call on a variable;
call on a Object-derived temporary;
or the method returns not an Object.

See also #70637 (similar but unrelated issue) and #73889 (note that RefCounted-derived temporaries have a different bug).
Steps to reproduce
@tool
extends EditorScript

class TestObject extends Object:
    pass

func _run() -> void:
    var lambda = func (): pass
    var _signal = Signal(property_list_changed)
    var button = OptionButton.new()
    var object = TestObject.new()

    print(lambda.hash()) #<PHONE_NUMBER>
    print((func (): pass).hash()) # 606297262

    print(lambda.get_object()) # <GDScript#-9223370338782411611>
    print((func (): pass).get_object()) # true

    print(_signal.get_name()) # property_list_changed
    print(Signal(property_list_changed).get_name()) # property_list_changed

    print(_signal.get_object()) # <EditorScript#-9223369888683202401>
    print(Signal().get_object()) # false
    print(Signal(property_list_changed).get_object()) # true

    print(button.get_popup()) # @@18073:<PopupMenu#2145134916941>
    print(OptionButton.new().get_popup()) # @@18079:<PopupMenu#2145671771020>

    print(object.get_script()) # <GDScript#-9223369888699960432>
    print(TestObject.new().get_script()) # <GDScript#-9223369888699960432>

I also noticed that after editing this script, it cannot be reloaded without restarting the editor. It looks like the Signal() is causing this error.
modules/gdscript/gdscript.cpp:828
Condition "!p_keep_state && has_instances" is true. Returning: ERR_ALREADY_IN_USE

Minimal reproduction project
N/A

I have a feeling this might be the same root problem as #73889. I found a fix for this that also solves that one.

The bug no longer reproduces in master, probably some other PR fixed it?
3148492367
962957497
<GDScript#-9223370258000053803>
<GDScript#-9223370258000053803>
property_list_changed
property_list_changed
<EditorScript#-9223369322502485518>
<Object#null>
<EditorScript#-9223369322502485518>
@PopupMenu@18837:<PopupMenu#2714419399134>
@PopupMenu@18843:<PopupMenu#2714788497874>
<GDScript#-9223369322519262753>
<GDScript#-9223369322519262753>


SkBitmap.GetPixel crashes occasionally

I'm getting a SIGSEGV occasionally when calling SKBitmap GetPixel, does it it need a SkAutoLockPixels statement before the getColor method is called? All other access to pixels seems to require that looking at the c api.

Please provide a test case, not clear if this is a bug in your code or in Skia.

I'm having problems duplicating this, so it could have been an issue with my code.

Closing until we get this data.


Fixed usage description for yq and added documentation.

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

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

Thanks a lot for the PR @pnvnd
I've asked to double check on thing, and we need to look at failing tests, but your changes look good. Thanks a lot

@kidk This failure may be because we're merging from a forked repository and the fork doesn't have all of the required secrets for our actions to run.  The failure is due to a missing PGP_PRIVATE_KEY envar; these are present in our non-forked PR action runs.  Considering these are all content changes, we can ignore/merge IMO if that's alright with you


Update handling of Linux LIBEXEC and DATADIR paths

This patch updates the handling of the Linux LIBEXEC and DATADIR paths so that savagewheels
files are stored in ${LIBEXEC}/savagewheels and ${DATADIR}/savagewheels instead of
${LIBEXEC} and ${DATADIR}.  This change reduces the risk of filename collision with
other installed packages by placing savagewheels files in their own subdirectory.  This
change also provides a clean method of adding additional files to the LIBEXEC and
DATADIR tree if that ever becomes necessary.

CPack complains:
CMake Error at /home/test/cpp/savagewheels/debug/cmake_install.cmake:54 (file):
  file cannot create directory: /usr/local/libexec/savagewheels.  Maybe need
  administrative privileges.

CMake Error at /home/test/cpp/savagewheels/debug/cmake_install.cmake:84 (file):
  file cannot create directory: /usr/local/share/savagewheels.  Maybe need
  administrative privileges.

Any reason to use CMAKE_INSTALL_FULL_DATADIR and  CMAKE_INSTALL_FULL_LIBEXECDIR instead of CMAKE_INSTALL_DATADIR and CMAKE_INSTALL_LIBEXECDIR?

cmake's handling of CMAKE_INSTALL_* variables  is consistent with autotool's handling when installing.  Therefore, if the variable CMAKE_INSTALL_LIBEXEC directory is not set to an absolute path, cmake prepends CMAKE_INSTALL_EPREFIX to it and CMAKE_INSTALL_EPREFIX is usually set to the same value as CMAKE_INSTALL_PREFIX.  However, cmake does not rewrite the CMAKE_INSTALL_LIBEXEC and CMAKE_INSTALL_DATADIR variables to hold these absolute paths.  It instead stores the absolute paths in CMAKE_INSTALL_FULL_LIBEXECDIR and CMAKE_INSTALL_FULL_DATADIR.
Therefore, to ensure that INSTALL_DATADIR and INSTALL_LIBEXECDIR store files into the same directories cmake uses, their set to the CMAKE_INSTALL_FULL_* counterparts.  The archlinux  package appears to define all of CMAKE_INSTALL_* variables with  absolute paths, so this change shouldn't affect how files get installed in archlinux (however, I find it a bit odd that archlinux is installing some of these files to sbin, but I'm not an archlinux user or maintainer, so that may be correct).
Ideally though, if any Linux distribution follows the File-system Hierarchy Standard (or adopts a very similar structure), the only CMAKE_INSTALL variable that would need to be defined is CMAKE_INSTALL_PREFIX as cmake would handle properly setting the rest.
Additionally, the shell script used to start savagewheels has the following lines:
export SAVAGEWHEELS_SYS_DATADIR="${SAVAGEWHEELS_SYS_DATADIR-@INSTALL_DATADIR@}"
export SAVAGEWHEELS_LIBEXECDIR="${SAVAGEWHEELS_LIBEXECDIR-@INSTALL_LIBEXECDIR@}"

and the variables INSTALL_DATADIR and INSTALL_LIBEXECDIR need to always point to absolute directories so that the game starts correctly when SAVAGEWHEELS_SYS_DATADIR and SAVAGEWHEELS_LIBEXECDIR are not explicitly set by the user.


github: build-container: Fix cached image loading

Before cached images meant that the e2e tests would fail.
Additionally, before changing go dependencies meant that the
image would not rebuild. Now if backend dependencies change
a new image is built and tested.
In this job you'll see that it uses a cached image, and the job fails. https://github.com/headlamp-k8s/headlamp/actions/runs/10042659886/job/27753598525
It seems to be because when things are cached we were skipping loading the images into kind. So we change it to always load the images into kind... no matter if the image is built or restored from cache.

There's a test of the caching behavior in the PR here: https://github.com/headlamp-k8s/headlamp/pull/2189
The job that successfully builds even though it is using caching is here: https://github.com/headlamp-k8s/headlamp/actions/runs/10044873649/job/27795185747

kind docs for loading images into a kind cluster https://kind.sigs.k8s.io/docs/user/quick-start/#loading-an-image-into-your-cluster


Script not working on Windows

Description
[mirror of a conversation taken via email, redacted to preserve privacy of the sender]
I am trying to follow the instructions with the bulk-bwav-to-wav-converter. So I am trying to compile the bstrm converter but I am having trouble compiling it. I am getting a syntax error, treating it as a linker script, and an error message saying "ID returned 1 exit status" So I did download the 2.70 one that was already compiled. Then I put the .bwav file inside the "in" folder. But for the "make convert" there isn't anything I can't find in the source code with a file like that so I can't convert any .bwav files at all. I do have a g++ installed as it says in the requirements and I am running Windows 10. I am not entirely sure if I am misunderstanding something or missing something.
Version
Latest
Steps to Reproduce
As described.
Screenshots
No response
Device
Windows
Operating System
Windows
Additional Context
No response

I assume you're using WSL (Windows Subsystem for Linux) if you're running this on Windows?
If not, the scripts aren't designed to run on Windows, at the moment its only Linux/macOS as the underlying leg work is all done via Bash scripts, the makefile is just a wrapper around it for easy calling.
If you install or use WSL though (which is just installing a Linux kernel and exposing it to Windows within your existing Windows installation), it should be usable on Windows, as long as you have a Bash shell accessible.
Make is an OS level tool built into Linux (Unix) and macOS (BSD), in which executes Makefile's (you'll find one at the root of the repo), which are designed simply to execute a repeat set of instructions.
They're common in C and C derrivative projects to build them, or just as an easy replacement to bash scripts for project orchestration.
Searching around on StackOverflow, here are some posts that should point you in the right direction on running this on Windows:
https://stackoverflow.com/a/54133058/4494375
As mentioned before, you will have to run the scripts via WSL on Windows otherwise they won't work, and it appears WSL has the 'make' tool pre-installed, which would make sense given its built into *unix flavours anyway.


Correct k8sgpt image name

Image is missing the "s" in k8s

Closes #
📑 Description

✅ Checks

[X ] My pull request adheres to the code style of this project
[ X] My code requires changes to the documentation
[ X] I have updated the documentation as required
[X ] All the tests have passed

ℹ Additional Information

Ouch, we should have caught this. thanks @kevincichon


C# Wrapper TextureCoordinates are always 0.

Required Info

Camera Model
D435

Firmware Version
<IP_ADDRESS>

Operating System & Version
Win 10

Platform
PC

SDK Version
Intel® RealSense™ SDK 2.0 (Build 2.10.2)

Dear intel realsense developers !
I want to get back the TextureCoordinates of the DepthImage, but instead u,v for all TextureCoordinates are always 0.
Points worldPoints;
PointCloud world = new PointCloud();
public Points.TextureCoordinate[] texturepoints = new Points.TextureCoordinate[640 * 480];
using (var f = q.WaitForFrame() as DepthFrame)
{
worldPoints = world.Calculate(f);
worldPoints.CopyTo(texturepoints);
}
=====> texturepoints[i].u, texturepoint[i].v ---> are alway 0.
Getting back the Vertex Coordinates with nearly the same code is no problem:
Points worldPoints;
PointCloud world = new PointCloud();
public Points.Vertex[] worldpoints= new Points.Vertex[640*480];
using (var f = q.WaitForFrame() as DepthFrame)
{
worldPoints = world.Calculate(f);
worldPoints.CopyTo(worldpoints);
}
====> worldpoints[i].x,worldpoints[i].y,worldpoints[i].z  ---->are always have the correct Pointcloud WorldCoordinates.

Hi @telemetrieTP23
Texture coordinates only make sense when you specify a second stream to map the texture from.
Given color or IR frame, please try adding world.MapTo(color);. pointcloud C++ example can offer the high-level reference. If it doesn't work for you please post your code here and we will do our best to help.

Hey @dorodnic  !
I read the pointcloud c++ example and tried the same in c#:
// INITALIZING STREAMS START //
depthSensor = dev.Sensors[0];
sp = depthSensor.VideoStreamProfiles
.Where(p => p.Stream == Intel.RealSense.Stream.Depth)
.OrderByDescending(p => p.Framerate)
.Where(p => p.Width == 640 && p.Height == 480)
.First();
depthSensor.Open(sp);
depthSensor.Start(q);
        rgbSensor = dev.Sensors[1];
        spRGB = rgbSensor.VideoStreamProfiles
                                .Where(p => p.Stream == Intel.RealSense.Stream.Color)
                                .OrderByDescending(p => p.Framerate)
                                .Where(p => p.Width == 640 && p.Height == 480 && p.Format == Format.Rgb8)
                                .First();
        rgbSensor.Open(spRGB);
        rgbSensor.Start(q);

// INITALIZING STREAMS END //
using (var f = q.WaitForFrames() as FrameSet)
{
DepthFrame depthFrame = f.DepthFrame;
worldPoints = world.Calculate(depthFrame);
VideoFrame colorFrame = f.ColorFrame;
world.MapTexture(colorFrame);
worldPoints.CopyTo(texturepoints);
}
After the line "DepthFrame depthFrame = f.DepthFrame" in the "using block"  this runtimerror happens:
"Object does not support  "librealsense::composite_frame" interface!
rs2_embedded_frames_count(composite:000000002F0087E8)"
Greetings

What if you change the initialising block to:
var p = new Pipeline();
p.Start();

and then loop on using (var f = p.WaitForFrames() as FrameSet)?
I think the frame queue object should not expose WaitForFrames method, will look into it.

[Realsense Customer Engineering Team Comment]
@telemetrieTP23
have you tried the suggestion from dorodnic?


Fixing a bug when having a NodeExtraConfigPost template present

Fixing a bug where routes would be entered twice when having post-install templates declared in the overcloud installation
Getting routes from /proc/net/route is not really necessary since director will push whatever configured route into /etc/sysconfig/network-scripts/route-$iface which is easyer to parse and will stay present even when the interface is down (i.e when doing a stack update)

will vhost0 interface be created by os-net-config?

vhost0 is still created by contrail scripts here ... the check regarding the presence and size of route-vhost0 is meant for stack update and NodeExtraConfigPost steps since in those case, the script will run again whilst the route file already exists (therefore creating duplicate routes in the route files)


Remove OpenJDK 7 from the Travis CI build matrix

Some context (from a question I just asked on Gitter):

How do people feel about removing OpenJDK 7 from the Travis CI build matrix? There are new spurious failures happening that look similar to a Travis CI issue that I reported in a completely different context almost a year ago: travis-ci/travis-ci#3120 https://travis-ci.org/travisbrown/circe/builds/97200247
I've never personally seen a real failure on OpenJDK 7 that didn't also turn up on Oracle's 7, and I'm not sure the possibility is worth the fussiness it takes to keep OpenJDK 7 happy on Travis CI.

Current coverage is 74.38%

Merging #140 into master will decrease coverage by -0.08% as of 7b39141

Powered by Codecov. Updated on successful CI builds.


purpur api download latest not recent

Timings link
timings not needed
Expected behavior
expect to get the latest build number download
Observed/Actual behavior
using version 1.18.2 actually get build 1573
Steps/models to reproduce
check json output of https://api.purpurmc.org/v2/purpur/1.18.2/latest
Purpur version
[14:28:44 INFO]: Checking version, please wait...
[14:28:44 INFO]: Current: git-Purpur-1602 (MC: 1.18.2)*
Previous: git-Purpur-1573 (MC: 1.18.2)

You are 1 version(s) behind
Download the new version at: https://purpurmc.org/downloads

Agreements

[X] I am running the latest version of Purpur available from https://purpurmc.org/downloads.
[X] I have searched for and ensured there isn't already an open issue regarding this.
[X] My version of Minecraft is supported by Purpur.

Other
No response

This is an issue with caching, as it works perfectly fine for most people.


State is undefined

I have a simple reducer as following:
import * as ActionTypes from '../../shared/ActionTypes'

const initialState = {
  authorized : 0
}

export default (state = initialState, action) => {
  switch (action.type) {
    case ActionTypes.LOGIN:
      return {
        authorized : 1
      }
    case ActionTypes.LOGOUT:
      return  {
        authorized : 0
      }
    default:
      return state;
  }
};

When I try to access authorized from my popup, it throws an error: authorized is undefined. However, if I changed the initial state to const initialState = 0, it works.
This does not simply work: <h1>{this.props.auth.authorized}</h1>.
If I remove this line and try to print this.props.auth.authorized inside render(), I see that it is undefined first, then 0.
I guess the state is not initialized properly?
Full code : https://github.com/onurhb/Test

Hi @onurhb !
There is a slight race condition at the beginning of a store setup due to how chrome ports work. Let me know if this is helpful to you: https://github.com/tshaddix/react-chrome-redux/wiki/Advanced-Usage#initializing-ui-components

Thanks! That works perfectly. 🥇

@onurhb Glad to hear it!


remove beta

this PR is part of a bigger set of changes required as the Textbook gets re-organized/versioned: https://github.com/Qiskit/platypus/issues/2046
Changes
this PR removes references to beta and remove the banner to old textbook
Implementation details

remove beta word from title/name in various docs

How to read this PR

review changes in updated file

Screenshots
before

after

Does this PR also include removing the banner at the top of this page?

closing in favor of the updated banner in https://github.com/Qiskit/platypus/pull/2042

Does this PR also include removing the banner at the top of this page?

that is taken care of in this PR https://github.com/Qiskit/qiskit.org/pull/3096


All dates are reseted when document is changed

When the document is updated, reactivity reset all input with date pickers to value in document. On other fields, the input is only changed when the property have changed.
If I have a schema like :
new SimpleSchema({
    one: {
        type: Date,
        autoform: { afFieldInput: { type: "bootstrap-datepicker" } }
    },
    two: {
        type: String,
    }
});

If an update is made on the document to change the value of two, one is also reseted and the value selected by the user is lost. I expected to react like the normal input helper, the value is updated only if it had been modified. (In my case, an update on one does not reset two)
I suspect the problem is caused by the autorun but i did not find how to access the previous value to check if changed.

Should be fixed in latest release


Try Functions

Went to functions.azure.com and selected webhook + api with Javascript.
Using the default provided I opened the logs window and clicked on the Run button ... no response at all. Simplified the javascript to just log something, saved and hit Run ... nothing.
The 1 hour demo timed out leaving an endless loop - select Functions > try Functions > select web hook with javascript > Create this function > sign in with microsoft > back to the beginning > select Functions > try Functions > ...
Not clear if this is because:

the trial capability is broken
using a mac - Safari or Chrome
I have an existing azure account

Sorry about the late response. This may be interesting to investigate. I havent been able to repro it.
If this still reproes could you reply back. If not I'll close this issue in a week

Shoudl be fixed now


Fix repeating count of yearly calendar events

#568
The occurrence counter for a yearly repeating event e was calculated by "current year" - "e.firstYear", instead of "e.year" - "e.firstYear". That leads to a repeating event counter - 1 at the end of the year. E.g.
event e: first Date: 2015-01-02, yearly repetition
repeating count evaluated on 2015-12-31: 2015-2015 = 0 => incorrect
repeating count evaluated on 2016-01-01: 2016-2015 = 1 => correct
Fix: repeating count has to be calculated from event date instead of current date.

Thanks!


re-add /data section

The CLI updates are automatically pulled from the CLI repo and lunr is re-indexed. I've just changed runtime.md

In that case, LGTM :)


[AMBARI-23484] Update Kerberos service documentation for Ambari 2.7.0

What changes were proposed in this pull request?
Update Kerberos service documentation for Ambari 2.7.0
How was this patch tested?
No tests are necessary
Please review Ambari Contributing Guide before opening a pull request.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1665/
Test FAILed.
Test FAILured.

Unit test failures are not relevant, merging anyways.


Effectful Rework

TODO: Cost of separating World into multiple separate states?

Separating States

Effectful one state item: 40micros
Effectful multiple state items (6): 160micros
Effectful mtl one state: 80micros
Effectful pure: 266micros


transfer problem

Hi,How to transfer tokens from one address to another

Did this succeed? source.create_account(owner=sender.public_key()?

How to judge whether it is successful or not?

Did this succeed? source.create_account(owner=sender.public_key()?

I run and response this:

and I look at：
https://explorer.solana.com/tx/4EqtspBaAphnepZghqjp9sEdaB1syUkpQXDkb2XcrTHP4YzTeE4jbFueZr3M97Cwxbru3KoWFG24nZKrnf5iLwBf

So What’s the problem?

I have the same problem.
raise Exception("Unable to confirm transaction %s" % tx_sig)
Exception: Unable to confirm transaction xxx

https://www.reddit.com/r/solana/comments/npmfuq/error_send_transaction_spltoken_solana_web3/
It's likely because your destination address has a 0 balance. adding the skip preflight to your options should resolve this.
opts=TxOpts(skip_confirmation=False,skip_preflight=True)

https://www.reddit.com/r/solana/comments/npmfuq/error_send_transaction_spltoken_solana_web3/
You're probably trying to send USDC to a sol address, you'll need to get the usdc address from the corresponding sol address as the destination.

The mint param is not Mint authority owner, it's just Token Address, FYI @ctycode

Heyo!
I am trying to send a custom SPL token I want to distribute to my holders. This is my code:
from solana.publickey import PublicKey
from solana.account import Account
from solana.rpc.api import Client
from solana.transaction import Transaction
from solana.keypair import Keypair
from spl.token.instructions import transfer, TransferParams
from spl.token.constants import TOKEN_PROGRAM_ID

client = Client("https://api.mainnet-beta.solana.com")

secret_key= [...]

sender = Keypair.from_secret_key(bytes(secret_key))
receiver = PublicKey("BkoXyZy4Poam3E97Urd7rmwAvcyC3tZFBap1GHvFCjdS") # TOKEN Account

amount = int(10e6 * 5)

chick_coin = PublicKey("3RXTenk2bvx5cTYY8JrN94EFi3AkYCz9tzJzE7oRhSgf") # Mainnet address
chick_acc = PublicKey("6u4vEaj59irczDu17ydB6E9DTM4XVXZErTVe9LvFyNUG")

# https://michaelhly.github.io/solana-py/spl/intro/
transaction = Transaction().add(transfer(TransferParams(
    source=chick_acc, # PK of token account you're transfering FROM
    dest=receiver, # PK of token account you're transfering TO
    owner=sender.public_key, # Account that owns your source token account
    program_id = TOKEN_PROGRAM_ID,
    amount=amount
)))

res = client.send_transaction(transaction, sender)

Obtaining next result:
{
  'jsonrpc': '2.0',
  'result': '9cmfZ1zHkxwwUMzHdNAc15Ld2y5Y1PDbRpeuPhLcniPAEFRPTQrHW2akt3cpiYUX5Sgi2rSgTVz3zQPk99jaf2h',
  'id': 2
}

But the tokens sometimes are transferred, most of the time no, and never got a bad/error result from the res...
Can you help me? @vcyleung @michaelhly

Hello everyone,
I didn't expect everyone to encounter the problems I encountered in the development. I checked your problems, and most of them are not your fault, but this open source library solana-py completely violates the code development standards.
I think The author ( @michaelhly )  of this open source library should have absolutely no idea how solana works. His coding style is comparable to that of Ukrainian neo-Nazis, which makes no sense.
I strongly recommend everyone to use the Javascript version of the open source library solana-web3, which can solve all your problems. @MarioProjects @vcyleung

I get this error:
solana.rpc.core.RPCException: {'code': -32002, 'message': 'Transaction simulation failed: Attempt to debit an account but found no record of a prior credit.', 'data': {'accounts': Non
e, 'err': 'AccountNotFound', 'logs': [], 'unitsConsumed': 0}}
so I assume my owner parameter is incorrect
I am providing Keypair but it asks me Union[Keypair,PublicKey]
Could you help me out please?
`async def spl_transaction(token_address,receiver_key, amount):
async with AsyncClient(client_network) as client:
account = dbAccounts.get_zen_wallet()
byte_array = base58.b58decode(account["private_key"])
slicer = slice(32)
byte_array32 = byte_array[slicer]
    # sender = Keypair.from_secret_key(account['secret_key'].encode("latin-1"))
    sender = Keypair.from_seed(byte_array32)
    token_client = AsyncToken(client,PublicKey(token_address),TOKEN_PROGRAM_ID,sender)
    source_account = await token_client.create_account(owner=sender.public_key)
    print(sender)
    try:
        response = await token_client.transfer(
            source= source_account,
            dest=PublicKey(receiver_key),
            owner=sender,
            amount=int(amount*pow(10,9)),
            opts=TxOpts(skip_confirmation=False)
        )
        print(response)
        if 'result' in response:
            message = "View the transaction here: https://explorer.solana.com/tx/{}".format(response['result'])
            return message
        else:
            return None

    except Exception as e:
        print('error:', e)
        return None`

after downgrading to solana version 0.23 i am able to do token_client.create_account, but....
in transfer function, my "owner" seems to be incorrect. If i just enter the keypair, it says im missing something, incorrect account
pls help im desperate

this is how i solved mine.
first check if we have a token account, if not we create one
we also get a the token account from the sender.
took me hours to figure this out through trial and error, I'm available for further clarification

Please try following this example here for now:
https://github.com/michaelhly/solana-py/blob/815802fbfa6fa5f7c5c1ab1c481b7a7ce3666b2e/tests/integration/test_token_client.py#L110
I will try to create some new documentation on this..

hey what did you install to have the publickey import ?

i have this issues
thanks.

Please try following this example here for now:
https://github.com/michaelhly/solana-py/blob/815802fbfa6fa5f7c5c1ab1c481b7a7ce3666b2e/tests/integration/test_token_client.py#L110
I will try to create some new documentation on this..

hey what did you install to have the publickey import ?  i have this issues thanks.

See https://kevinheavey.github.io/solders/api_reference/pubkey.html


When ReadByKeyRestrictions is present with Readable=false value, the path entry is still emitted in the output JSON document with empty body

Short summary (3-5 sentences) describing the issue.
Assemblies affected
Which assemblies and versions are known to be affected?
The simplest set of steps to reproduce the issue. If possible, reference a commit that demonstrates the issue.
For an entity set, make it readable, however add restriction so that it is not readable by key,
in other words, you want to allow the client to call GET ALL API, but there is no GET ONE API implemented for them:
            <Annotation Term="Org.OData.Capabilities.V1.ReadRestrictions">
                <Record>
                    <PropertyValue Property="Readable" Bool="true" />
                    <PropertyValue Property="ReadByKeyRestrictions">
                        <Record>
                            <PropertyValue Property="Readable" Bool="false" />
                        </Record>
                    </PropertyValue>
                </Record>
            </Annotation>

Or in the code, this is how to accomplish it with Microsoft.OData.Builder library:
entitySetConfiguration.HasReadRestrictions().IsReadable(true).HasReadByKeyRestrictions(new ReadByKeyRestrictionsTypeConfiguration().IsReadable(false));
Here is also the code that generates the document
IEdmModel model = // defined somewhere.
        OpenApiConvertSettings settings = new OpenApiConvertSettings();
        settings.EnablePagination = true;
        settings.ShowSchemaExamples = true;
        settings.VerifyEdmModel = true;
        OpenApiDocument document = model.ConvertToOpenApi(settings);
        return document.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0);

Expected result
The final JSON document should not contain a path entry that corresponds to GET by Key request
What would happen if there wasn't a bug.
Actual result
The final JSON document contains a path entry that corresponds to GET by Key request even though the restriction was added to EDM model.
The following entry is added to the Paths with empty body ({ })
"/EntitySetName(Key1={Key1},Key2={Key2},Key3={Key3})": { },

What is actually happening.
Additional detail
*Optional, details of the root cause if known.

Hi @garegina I have tested this and I'm unable to repro the issue. Could you please try with the latest lib. version and let us know if you are still experiencing this.

Thanks for looking into this issue.
I tried upgrading to the latest version.
And still the issue is reproducing for me.

Sorry @garegina I understand your issue better now. Looking to resolve it.

no worries @irvinesunday ! thanks for fixing the issue.
is there an ETA when a new version will be released with this fixes?

no worries @irvinesunday ! thanks for fixing the issue. is there an ETA when a new version will be released with this fixes?

The latest preview version has this fix: 1.2.0-preview8


How to put multiple markers .

Hii ,
This is not an issue , but i want some help in distance between the current location and marker which i placed in screen.
I have placed all marker in AR screen but distance between the current location an markers is not correct.
It is showing the distance from last added marker.
Here is the code snippet.

I have put this code into screenView
ArrayList lm = getAllRibbonsInRenderSurface();
lm.add(layoutLocationMarker);
locationScene.mLocationMarkers.addAll(lm);

/**
* This method is used for putting all ribbons location.
*
* @return
*/
private ArrayList getAllRibbonsInRenderSurface() {
ArrayList lm = new ArrayList();
for (int k = 0; k < ribbonArrayList.size(); k++) {
layoutLocationMarker = new LocationMarker(
ribbonArrayList.get(k).getLongitude(),
ribbonArrayList.get(k).getLatitude(),
getExampleView(ribbonArrayList.get(k).getRibbonImageName())
);
        // An example "onRender" event, called every frame
        // Updates the layout with the markers distance
        int finalI = k;
        layoutLocationMarker.setRenderEvent(node -> {
            View eView = exampleLayoutRenderable.getView();
            TextView distanceTextView = eView.findViewById(R.id.textView2);
            imageViewRibbonShow = eView.findViewById(R.id.img_ribbon_show);
            double distance = node.getDistance();
            distanceInAr = node.getDistanceInAR();
            if (distanceInAr <= 25.000) {
                if (distanceInAr <= 15.000) {
                    imageViewRibbonShow.setImageDrawable(getResources().getDrawable(R.mipmap.ic_pink_ribbon));
                    imageViewRibbonShow.getBackground().setColorFilter(getResources().getColor(R.color.colorPink), PorterDuff.Mode.SRC_ATOP);

                } else {
                    imageViewRibbonShow.setImageDrawable(getResources().getDrawable(R.mipmap.ic_pink_ribbon));
                    imageViewRibbonShow.getBackground().setColorFilter(getResources().getColor(R.color.colorLightGray), PorterDuff.Mode.SRC_ATOP);
                }

            }

            /*distanceTextView.setText(finalI + "-" + node.getDistanceInAR() + "M");*/

//                distanceTextView.setText(roundTwoDecimals(node.getDistanceInAR()) + "M");
distanceTextView.setText((int) node.getDistanceInAR() + "M");
});
lm.add(layoutLocationMarker);
}
return lm;
}
Please help , thanks in advance.

you can see here how to add multiple markers to scene.
#20

Hi @basitsaleemmb
i have tried this it works fine and add different object but in my case distance between nodes are  incorrect because each time it adds same object at different location that is last object node.
but thanks for your answer.
In that case i have to create multiple object of ViewRenderable but it is crashing the application when there are more objects.
Code :
viewRenderables = new CompletableFuture[ribbonArrayList.size()];
//   CompletableFuture exampleLayout1;
for (int t = 0; t < ribbonArrayList.size(); t++) {
viewRenderables[t] =
ViewRenderable.builder()
.setView(LocationActivity.this, R.layout.item_ribbon_show)
.build();
}
Thanks

If it crashes,what does your logcat tell ? post that here..
and if you want to stabilize the anchors at a fixed position / you want to minimize the frequent callbacks from sensor
you can try setting the refresh rate like this
locationScene.setAnchorRefreshInterval(60);   locationScene.setMinimalRefreshing(true);
this makes sure that,your nodes will be updated only once in every 60 seconds.

@SheikhZayed  Hi if you use setAnchorRefreshInterval the problem you may encounter is that the first initialization of the marker in your scene is surely not precise it takes a little time for the sensor to put it in place so the fact of refresh every 60 seconds will provide you with an incorrect display
sorry for my bad english

PLEASE UNFOLLOW ME
On 11 October 2018 at 19:04, Shnafon<EMAIL_ADDRESS>wrote:

@SheikhZayed https://github.com/SheikhZayed Hi if you use
setAnchorRefreshInterval the problem you may encounter is that the first
initialization of the marker in your scene is surely not precise it takes a
little time for the sensor to put it in place so the fact of refresh every
60 seconds will provide you with an incorrect display
sorry for my bad english
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/appoly/ARCore-Location/issues/48#issuecomment-428957305,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AbnWXN2bs5RRJIJ6AibSgVVt4ZU1w7b_ks5uj0j4gaJpZM4XAaAh
.


#45 display business metrics as lines in the column chart

the brief documentation regarding metrics has been added, also make some refactoring and minor improvements
Signed-off-by: Long Zhang<EMAIL_ADDRESS>

@emillg improved this feature based on your feedback, now the code is ready for a review :)


Use the working directory/workspace when you want to install a .vsix file by default (not $HOME)

When you open a folder, say source code of a VSCode extension, if you want to install the .vsix file in it, installing a .vsix open by default the home directory.  What about using the current directory/workspace?

I feel like this shouldn't be the default, it shouldn't be assumed, that you wanna install your own extension, just any, so therefore it shouldn't specifically look in the current folder. But I could see this as a secondary command Extensions: Install from VSIX in current directory

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!

IMO this is opinionated and that's why it has to be user configurable.