Can glfm provide an OpenGL context for Android in purely native code?

I'm interested primarily in supporting OpengL ES 2.0 unit tests (GTest, etc) from CMake without the need for Java wrappers.  This would entail building NDK native apps and running in /data/local/tmp/
https://github.com/brackeen/glfm/blob/master/src/glfm_platform_android.c

GLFM for Android doesn't require developers to write any Java code, although AFAIK you'll need to build GLFM Android apps with the gradle toolchain.
Does that answer your question?

I'm not sure 😄
I'll try to clarify.
The usual simple "hello world" console app:
#include <stdio.h>
int main(int arg, char **argv)
{
   printf ("HELLO WORLD\n");
   return 0;
}

can be compiled via the NDK and run on an Android device in /data/local/tmp using adb without the need for gradle or Java.  (This is very convenient for OpenGL ES C++ unit testing directly from CMake, for example.)  I was curious if the NDK provided enough hooks to create an OpenGL context for rendering entirely from native code.  (I don't know enough about Android applications to know if this is possible or not.)

although AFAIK you'll need to build GLFM Android apps with the gradle toolchain

Are you aware of something in particular that requires Gradle?
I can try it out.
Thanks!

Follow up:  http://stackoverflow.com/a/39820460

Are you aware of something in particular that requires Gradle?

Building the APK. Maybe it's possible to make an APK without gradle, but I do not know.
I think the question is: can it run as a plain executable and not an APK? I have no idea.
If you're trying to automate a test process via the command line (build, upload to device, and execute), yes, this is possible via gradle and the adb tools.

Building the APK. Maybe it's possible to make an APK without gradle, but I do not know.

I'm able to build and launch your Android sample with the help of the CMake android_create_apk script in the Hunter package manager (originally from Pixellight):
https://github.com/headupinclouds/glfm/blob/hunter/example/CMakeLists.txt#L43-L71
If you have any interest in this, I can make this optional, add documentation, and submit a PR.
FWIW, I'm interested in using this to automate OpenGL ES 2.0 shader testing via GTest.

I think the question is: can it run as a plain executable and not an APK? I have no idea.

For the GTest use case, I believe the main gotcha will be differences between APK and standard int main() {} return codes.  I will take a look and can share what I find.
I'll go ahead and close this.  Thanks.

Thanks for pointing out Hunter. I tried the branch you created, but could not create a build (errors involving the toolchain). Perhaps I can take a look later, but it's not a priority right now.

Perhaps I can take a look later, but it's not a priority right now.

Sure, here is the toolchain I tested:
$ git branch -a | grep -e "*"
* hunter
$ git status
On branch hunter
Your branch is up-to-date with 'headupinclouds/hunter'.
nothing to commit, working tree clean
$ 2>/dev/null polly.py --toolchain android-ndk-r10e-api-19-armeabi-v7a-neon --fwd GLFM_BUILD_EXAMPLE=ON --verbose --clear | tail -10

Log saved: /Users/dhirvonen/devel/glfm/_logs/polly/android-ndk-r10e-api-19-armeabi-v7a-neon/log.txt
-
Generate: 0:00:05.344082s
Build: 0:00:01.735071s
-
Total: 0:00:07.079477s
-
SUCCESS

Install APK vis adb or use Makefile launch target:
(cd _builds/android-ndk-r10e-api-19-armeabi-v7a-neon/ && make launch-GlfmExample | tail -4)

Stopping: com.example.glfmexample
Starting: Intent { cmp=com.example.glfmexample/.LoadLibraries VirtualScreenParam=Params{mDisplayId=-1, null, mFlags=0x00000000)} }
[100%] Built target launch-GlfmExample
/usr/local/Cellar/cmake/HEAD-f1b9fe5/bin/cmake -E cmake_progress_start /Users/dhirvonen/devel/glfm/_builds/android-ndk-r10e-api-19-armeabi-v7a-neon/CMakeFiles 0

This launches the app with the rainbow triangle.
glfm is very convenient.  I will probably add this package to hunter in the near future and can run through more android toolchains in CI tests.
FWIW, and in case anyone else stumbles onto this, apparently you can perform off screen rendering in Android with a standard int main(int argc, char **argv){} application.   glfm was very helpful for sorting through the details.  Android simply requires eglCreatePbufferSurface as mentioned in this post:
https://mkonrad.net/2014/12/08/android-off-screen-rendering-using-egl-pixelbuffers.html
For iOS you can create your main() in an objective-c++ file (*.mm) and create a context directly (the iOS CMake add_executable default *.app will work):
        EAGLContext egl = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
        [EAGLContext setCurrentContext:egl];
        // do your rendering

FYI: https://github.com/ruslo/hunter/issues/808
Thanks!


Working with several web driver instances

Is it possible to work with several (more than one) web driver instances?
As far as I see after brief look to the documentation, I have to use static imports
import static com.codeborne.selenide.Selenide.*
import static com.codeborne.selenide.Condition.*

On the first invocation of any method of Selenide DSL the real instance of web driver is created (together with browser firefox/chrome/???). However, I need to open several browser with different sessions (let's say I want to test interaction between different uses of the same application) with cookies. How to do that? Is is possible?
I would be possible if I bind every open/click/??? to the context, which refers to the specific web driver.

Hi @fancywriter !
Currently it's not easy, and I recommend not to use 2+ browsers in test. If you need to test integration between user, I recommend to mock the second user's behaviour. It makes your tests fast and stable.
Though, there is issue https://github.com/codeborne/selenide/issues/354 that suggests to implement 2+ browsers in Selenide. Probably we will do it soon.


Performance of

I followed the steps of this project: downloading demo videos(HD and 4K) in paper, loading the resnet50 model, seting the default parameters. However, i got not so good performance, not only the slow speed.
Would you please tell  me  where and how I should modify to improve the performance?
https://user-images.githubusercontent.com/37203710/111164720-4b244e00-85d9-11eb-94a6-33870364369b.mp4

sorry,I checked it out and found that the demo video in paper was handheld, we should set preprocess-alignment=True, because the background of handheld data was not still, we should alignment fistly.


webpack cache -- immediate cache created

Feature request
Webpack cache to force create a cache if cache state is empty and with no changes to the code base.
What is the expected behavior?
For webpack cache to save cache state on the initial build even with no changes to the code base.
What is motivation or use case for adding/changing the behavior?
This used to be the functionality in hard-source-webpack-plugin; and since webpack cache replaced hard-source-webpack-plugin I think this would be useful to have. If someone runs development webpack and does not make any changes, and then kills the process, and then re-ups webpack again it would be nice to have a warm cache from the initial state.
How should this be implemented in your opinion?
I think if webpack cache sees that the cache directory is empty, it should create a cache based on the current build state.
Are you willing to work on this yourself?
yes -- with guidance on which files I should look at, I would love to work on it :)

For webpack cache to save cache state on the initial build even with no changes to the code base.

What do you mean? I did not understand at all what you expect

For webpack cache to save cache state on the initial build even with no changes to the code base.

What do you mean? I did not understand at all what you expect

Yes, I am referring to setting the cache to filesystem.
When I set the cache to filesystem during the initial run, none of the cache files are saved for the bundles until I edit one of the files, then it triggers a cache save. Maybe this is a bug then? I thought it was expected behavior.

Yes, I am referring to setting the cache to filesystem.
When I set the cache to filesystem during the initial run, none of the cache files are saved for the bundles until I edit one of the files, then it triggers a cache save. Maybe this is a bug then? I thought it was expected behavior.

You can use https://webpack.js.org/configuration/other-options/#cacheidletimeout and https://webpack.js.org/configuration/other-options/#cacheidletimeoutforinitialstore

You can use https://webpack.js.org/configuration/other-options/#cacheidletimeout and https://webpack.js.org/configuration/other-options/#cacheidletimeoutforinitialstore

Oh so sorry I missed that -- Thank you so much.

Oh so sorry I missed that -- Thank you so much.


Hello World in Serbian

#351

ISO 639-1
Translation

SR
Хало Свет

33926149a84a1513ec75e15fedfda11b2b8a18f0222950f79548161ebeaf96a7

ISO: correct
Translation: correct
Approved

@odetolataiwo I have paid this earlier. Don't send coins. Can you make sure this is logged into the system?

@odetolataiwo I have paid this earlier. Don't send coins. Can you make sure this is logged into the system?

done


Update ebucore.owl

Tidy up properties that was wrongfully datatypesproperties. Standard properties for role

As discussed in the meeting.


How to install on Windows?

is there any instructions? I want to debug at local windows.
Thanks

@maplewang sorry for a long time no reply, and sorry too for no instructions for windows, but you still can deploy vanilla manually in your Window.
set up framework
./configure --prefix=$VANILLA_FRAMEWORK_ROOT --openresty-path=$OPENRESTY_ROOT
make install

set up your first vanilla app
$VANILLA_BIN new $VANILLA_APP_ROOT
#you can find $VANILLA_BIN in your $VANILLA_FRAMEWORK_ROOT/bin path
#$VANILLA_APP_ROOT is the full path where you want to put your app.


adding profile for Frank Boucher

bio, socials, and headshot

OPS Build status updates of commit 6117dd3:
:clock10: Preparing: average preparing time is 40 sec(s)

OPS Build status updates of commit 6117dd3:
:clock10: Incremental building: average incremental building time is 36 sec(s)

OPS Build status updates of commit 6117dd3:
:warning: Validation status: warnings

File
Status
Preview URL
Details

advocates/frank-boucher.yml
:warning:Warning
View
Details

advocates/media/profiles/frank-boucher.png
:white_check_mark:Succeeded
View

advocates/frank-boucher.yml

[Warning] Failed to find Git account for the committer<EMAIL_ADDRESS>Solution: 1) File creator to associate email address<EMAIL_ADDRESS>with his or her Git account, or 2) Anyone to explicitly add "author: <Git account>" into markdown YAML header.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

OPS Build status updates of commit 02cad52:
:clock10: Preparing: average preparing time is 40 sec(s)

OPS Build status updates of commit 02cad52:
:clock10: Incremental building: average incremental building time is 36 sec(s)

OPS Build status updates of commit 02cad52:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

advocates/frank-boucher.yml
:white_check_mark:Succeeded
View

advocates/media/profiles/frank-boucher.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


How to let setting bar can't cover the image?

How can I let setting can not cover my image ?
can anyone help me ?
Thanks.

@coolman200
Thank you for your question.
It's the same issue as #205, #338.
We are planning to improve considering usability.

Is there any way to fix this?

@Icc-thang
It hasn't been fixed yet.

It hasn't been fixed yet.


The clrModalSize is not working when pop up modal dialog in a WIZARD step.

Select one ...  (check one with "x")
[*] bug
[ ] feature request
[ ] enhancement

Expected behavior

We need to popup a modal dialog in a wizard step.
The height of the modal dialog should be a fixed height(min) when the dialog init.
It should be auto increase the height when the content increase and also should have a max-height
that should not over the wizard.
Actual behavior

The height of the modal dialog is always same with the wizard no matter what's the clrModalSize.
Reproduction of behavior

Include a link to the reproduction scenario you created by forking one of the Clarity Plunker Templates:

--latest version---

.....

<clr-modal [(clrModalOpen)]="certModalOpened"  [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true">
xxxx

    xxxxxxxxx

        cancel

        ok

Environment details

Angular version: 4.1.0

Clarity version: 0.10.x

OS and version: win7

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

<clr-wizard #wizard [(clrWizardClosable)]="vIOWizardClosable" [clrWizardSize]="'lg'" (clrWizardOnCancel)="onCancel()" [(clrWizardOpen)]="vIOWizardOpened">
<clr-wizard-page [clrWizardPagePreventDefaultNext]="true"
(clrWizardPageOnCommit)="on_commit()"
(clrWizardPageOnLoad)= "on_load()">
<clr-modal [(clrModalOpen)]="certModalOpened" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true">

   xxxxx

Stacking modals on top of wizards is a pattern that Clarity UX does not recommend.
From the website:
Stacking modals
Modals shouldn’t launch other modals. Stacking modals makes it hard to dismiss them and confuses the user on their levels of importance.

What is the reasoning behind opening a modal inside a wizard? Is there a better pattern that could be used?

@ghvm20142
I haven't heard back on this. Was my comment sufficient to help you think through this workflow?

Hi Mathi
During our VIO deployment wizard, we need user to provide VC(nsxv,nsxt,ldap) address. Then retrieve the server ssl certificate and  pop up it (VC,NSXV,NSXT,LDAP) in a modal dialog.
Then user can have chance to take a look at the ssl certificate,  and click ok to trust it or cancel if user find the ssl cert is not right.
lichao

@ghvm20142
I see. Is layering a modal on top of a wizard better UX than dynamically adding a step to the wizard where users must review the ssl cert?
A modal on top of a wizard is not a pattern that Clarity recommends or supports. If you want to custom size the modal on top of the wizard, your best course of action may be styling it on your end with either custom CSS or inline styles.


Feature/hd cherry pick

Child key derivation PR to master

@yycen thanks for reviewing, I've removed the use of *big.Int#FillBytes from the test since it is not available in go 1.13, so tests should be passing now.


Change Throughput Limit Exceeded

I started running the dynamic-dynamodb and ran into an issue where I configured the application to aggressively and it quickly ran out of the maximum of 4 updates per day within the first couple hours.
Here are some thoughts:

Does anyone have any recommended suggestions for settings that would best compliment the limit of 4 changes per day?
Do you think the documentation should be updated to warn users about the update limit?
Do you think there should be a notification when updates can no longer be performed due to the throughput change limit of 4 being reached? (I think it should because it can be confusing as to why the dynamic-dynamodb isn't issuing changes.)

Thanks for the help.
Richard

Hi Richard,
We use dynamic-dynamodb in Production to handle throughput to some 60~ tables. It took us a while to get the settings straight, but now we rarely see a ProvisionedThroughputExceededException. It boils down to you knowing your application and it's variations.
Here's the throughput char for the last week of one of our tables:

You can see we overprovision to avoid exceptions in sudden spikes, and the downscale only happens after the levels have stabilised for a while. The setting num-*-checks-before-scale-down plays a big part in not downscaling "too soon", when the usage drops just for a little while. Also use always-decrease-rw-together, as AWS only gives you 4 provision changes per table.
Some of our settings in percent:

*-upper-threshold: 80
*-lower-threshold: 40
increase-*-with: 50
decrease-*-with: 45
num-*-checks-before-scale-down: 5
always-decrease-rw-together = true

So IMO, in response to your questions:

Does anyone have any recommended suggestions for settings that would best compliment the limit of 4 changes per day?

Study you app's usage and use num-*-checks-before-scale-down and always-decrease-rw-together to avoid unnecessary downscaling

Do you think the documentation should be updated to warn users about the update limit?

This is an AWS limitation that people using DynamoDB should be aware of. The dynamic-dynamodb docs do mention, in passing, stuff about "unnecessary downscale".

Do you think there should be a notification when updates can no longer be performed due to the throughput change limit of 4 being reached? (I think it should because it can be confusing as to why the dynamic-dynamodb isn't issuing changes.)

The logs do throw an exception already:
[WARNING] - TableName - LimitExceededException: Subscriber limit exceeded: Provisioned throughput can be decreased 4 times within the same day. Number of Decreases Today: 4. Last decrease time: Monday, July 3, 2015 4:05:00 AM UTC. Request time: Monday, July 3, 2015 10:45:19 AM UTC

@tcanabarro Thanks so much for the detail answers. These all make sense.
You're explanation of how you do it and your recommendation is excellent. It would be nice to capture it into the docs somehow for others following behind me. Thoughts?

@tcanabarro thanks for a good answer on this.
@radleta. It could probably be mentioned more clearly in the docs. But I also think that the limitations of DynamoDB is things that the user base should in general be aware of. I also try to avoid being tied to hard to those limits as they change over time as AWS are releasing new functionality and remove or loosens some of the current limitations.
If you are interested in supplying a pull request with more clear documentation I'd gladly review and merge it.
Closing this for now. Reopen if need be.

@tcanabarro Makes sense. Thanks. To your point, I was able to open a request with Amazon Customer Service and they were nice enough to increase our the limit. It might not work for everyone but we had ours increased to 24 per day to help smooth out the usage levels.


feat: now OSCR appears on repository page contributor grid view

Description
Now the OSCR appears on the repository page contributor grid view.
Note: I need to make a small PR to the API so that it returns updated at for contributors.
Related Tickets & Documents
Closes #3883
Mobile & Desktop Screenshots/Recordings
Before

After

Steps to QA
Logged Out

Go to any repository contributor page, e.g. http://localhost:3000/s/denoland/deno/contributors?range=30
Notice the grid view (default view) displays OSCRs with the lock button for contributors.
Log in.
Notice the grid view (default view) displays OSCRs for contributors.

Logged In

Go to any repository contributor page, e.g. http://localhost:3000/s/denoland/deno/contributors?range=30
Notice the grid view (default view) displays OSCRs for contributors.

Tier (staff will fill in)

[ ] Tier 1
[ ] Tier 2
[x] Tier 3
[ ] Tier 4

[optional] What gif best describes this PR or how it makes you feel?

Looks awesome: way to turn this around so quickly. Let me know if you need anything on the API!

Thanks John! I’ll make the small changes in the API. It’s just returning an updated_at for the endpoint getting repo contributor data.


Update SoapUI testrunner version up to 5.1.3

Update SoapUI testrunner version up to 5.1.3

Coverage remained the same at 33.871% when pulling 375a8fe5b480d9d85b951775e12c99b53b3d03f8 on daggerok:master into 667adf8f3de91cc8c088487976b417099e41820c on byte-shifter-ltd:master.


[Bug]: NameError: name 'ncclGetVersion' is not defined

On head of main
Your current environment
Collecting environment information...

(RayWorkerWrapper pid=6311) INFO 04-24 02:01:15 pynccl_utils.py:18] It is expected if you are not running on NVIDIA GPUs.
(RayWorkerWrapper pid=6396) INFO 04-24 02:01:17 selector.py:28] Using FlashAttention backend.
INFO 04-24 02:01:17 selector.py:28] Using FlashAttention backend.
ERROR 04-24 02:01:17 worker_base.py:157] Error executing method init_device. This might cause deadlock in distributed execution.
ERROR 04-24 02:01:17 worker_base.py:157] Traceback (most recent call last):
ERROR 04-24 02:01:17 worker_base.py:157]   File "/usr/local/lib/python3.10/dist-packages/vllm/worker/worker_base.py", line 149, in execute_method
ERROR 04-24 02:01:17 worker_base.py:157]     return executor(*args, **kwargs)
ERROR 04-24 02:01:17 worker_base.py:157]   File "/usr/local/lib/python3.10/dist-packages/vllm/worker/worker.py", line 110, in init_device
ERROR 04-24 02:01:17 worker_base.py:157]     init_worker_distributed_environment(self.parallel_config, self.rank,
ERROR 04-24 02:01:17 worker_base.py:157]   File "/usr/local/lib/python3.10/dist-packages/vllm/worker/worker.py", line 301, in init_worker_distributed_environment
ERROR 04-24 02:01:17 worker_base.py:157]     pynccl_utils.init_process_group(
ERROR 04-24 02:01:17 worker_base.py:157]   File "/usr/local/lib/python3.10/dist-packages/vllm/distributed/device_communicators/pynccl_utils.py", line 46, in init_process_group
ERROR 04-24 02:01:17 worker_base.py:157]     logger.info(f"vLLM is using nccl=={ncclGetVersion()}")
ERROR 04-24 02:01:17 worker_base.py:157] NameError: name 'ncclGetVersion' is not defined
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.10/dist-packages/vllm/entrypoints/openai/api_server.py", line 159, in <module>
    engine = AsyncLLMEngine.from_engine_args(
  File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 361, in from_engine_args
    engine = cls(
  File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 319, in __init__
    self.engine = self._init_engine(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 437, in _init_engine
    return engine_class(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/vllm/engine/llm_engine.py", line 148, in __init__
    self.model_executor = executor_class(
  File "/usr/local/lib/python3.10/dist-packages/vllm/executor/ray_gpu_executor.py", line 382, in __init__
    super().__init__(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/vllm/executor/executor_base.py", line 41, in __init__
    self._init_executor()
  File "/usr/local/lib/python3.10/dist-packages/vllm/executor/ray_gpu_executor.py", line 45, in _init_executor
    self._init_workers_ray(placement_group)
  File "/usr/local/lib/python3.10/dist-packages/vllm/executor/ray_gpu_executor.py", line 181, in _init_workers_ray
    self._run_workers("init_device")
  File "/usr/local/lib/python3.10/dist-packages/vllm/executor/ray_gpu_executor.py", line 318, in _run_workers
    driver_worker_output = self.driver_worker.execute_method(
  File "/usr/local/lib/python3.10/dist-packages/vllm/worker/worker_base.py", line 158, in execute_method
    raise e
  File "/usr/local/lib/python3.10/dist-packages/vllm/worker/worker_base.py", line 149, in execute_method
    return executor(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/vllm/worker/worker.py", line 110, in init_device
    init_worker_distributed_environment(self.parallel_config, self.rank,
  File "/usr/local/lib/python3.10/dist-packages/vllm/worker/worker.py", line 301, in init_worker_distributed_environment
    pynccl_utils.init_process_group(
  File "/usr/local/lib/python3.10/dist-packages/vllm/distributed/device_communicators/pynccl_utils.py", line 46, in init_process_group
    logger.info(f"vLLM is using nccl=={ncclGetVersion()}")
NameError: name 'ncclGetVersion' is not defined

dbrx on 0.4.0.post1 release was broken with KeyError, so I build docker image off main as in instructions.  Specifically this hash: 1e8f4252aa163041094a8fedbb701a98d7087d7c

Seems nccl2 is not built into the image when using the instructions.
(RayWorkerWrapper pid=6313) INFO 04-24 02:10:53 pynccl_utils.py:17] Failed to import NCCL library: Cannot find libnccl.so.2 in the system.

Can you try the latest main? It should install vllm-nccl-cu12, which should work and bring the correct nccl version.

I tried:
DOCKER_BUILDKIT=1 docker build . --target vllm-openai --tag vllm/vllm-openai

or
DOCKER_BUILDKIT=1 docker build . --target vllm-openai --tag vllm/vllm-openai --build-arg max_jobs=20 --build-arg nvcc_threads=20

following the documentation here:
https://docs.vllm.ai/en/latest/serving/deploying_with_docker.html
Is this command wrong for nccl?

PyTorch version: N/A
Is debug build: N/A
CUDA used to build PyTorch: N/A
ROCM used to build PyTorch: N/A
Versions of relevant libraries:
[pip3] No relevant packages
[conda] No relevant packages

Your environment must be incorrect.

I'm confused.  If I build docker image my environment is not relevant.

Please report the environment inside the docker.

I don't understand.  I am running the docker command to build the image, there is nothing "inside" docker to run.  It's being built.
I can of course run after the fact, but that is not relevant to my environment as building Docker image should be independent of the environment.

attach a shell into the docker image, report the environment inside it.

ubuntu@compute-permanent-node-171:~/vllm$ docker run -ti    --runtime=nvidia     --gpus '"device=0,1,2,6"'     --shm-size=10.24gb --entrypoint=bash     -p 5004:5004         -e NCCL_IGNORE_DISABLED_P2P=1     -e HUGGING_FACE_HUB_TOKEN=$HUGGING_FACE_HUB_TOKEN     --env "HUGGING_FACE_HUB_TOKEN=$HUGGING_FACE_HUB_TOKEN"     -v /etc/passwd:/etc/passwd:ro     -v /etc/group:/etc/group:ro     -u root:root     -v "${HOME}"/.cache:$HOME/.cache/ -v "${HOME}"/.config:$HOME/.config/   -v "${HOME}"/.triton:$HOME/.triton/     --network host     fee8ae2c9682
WARNING: Published ports are discarded when using host network mode
root@compute-permanent-node-171:/vllm-workspace# apt-get install wget
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  wget
0 upgraded, 1 newly installed, 0 to remove and 38 not upgraded.
Need to get 367 kB of archives.
After this operation, 1008 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 wget amd64 1.21.2-2ubuntu1 [367 kB]
Fetched 367 kB in 1s (283 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package wget.
(Reading database ... 19331 files and directories currently installed.)
Preparing to unpack .../wget_1.21.2-2ubuntu1_amd64.deb ...
Unpacking wget (1.21.2-2ubuntu1) ...
Setting up wget (1.21.2-2ubuntu1) ...
root@compute-permanent-node-171:/vllm-workspace# 0586d79778d5^C
root@compute-permanent-node-171:/vllm-workspace# wget https://raw.githubusercontent.com/vllm-project/vllm/main/collect_env.py
--2024-04-24 05:39:32--  https://raw.githubusercontent.com/vllm-project/vllm/main/collect_env.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 24877 (24K) [text/plain]
Saving to: 'collect_env.py'

collect_env.py                                              100%[=========================================================================================================================================>]  24.29K  --.-KB/s    in 0s

2024-04-24 05:39:32 (145 MB/s) - 'collect_env.py' saved [24877/24877]

root@compute-permanent-node-171:/vllm-workspace# /usr/bin/python3.10 collect_env.py
Collecting environment information...

I ran as root so I could install wget since that is not installed by default in the image you make for vllm.
Do you have a targeted question w.r.t. the actual issue of the vllm startup not finding nccl lib?

try to add environment variable export VLLM_NCCL_SO_PATH=/root/.config/vllm/nccl/cu12/libnccl.so.2.18.1

I don't know what is the problem in your side. You can try to debug this function:
https://github.com/vllm-project/vllm/blob/468d761b32e3b3c5d64eeaa797e54ab809b7e50c/vllm/utils.py#L584

It's not the function.  I showed it was not able to load the nccl library.  It finds it but was unable to use it.
The function error is just a cascade.
In case helps:
root@compute-permanent-node-171:/vllm-workspace# ldconfig -v /root/.config/vllm/nccl/cu12/libnccl.so.2.18.1
/sbin/ldconfig.real: Path `/usr/local/cuda-12/targets/x86_64-linux/lib' given more than once
(from /etc/ld.so.conf.d/988_cuda-12.conf:1 and /etc/ld.so.conf.d/000_cuda.conf:1)
/sbin/ldconfig.real: Can't stat /usr/local/nvidia/lib: No such file or directory
/sbin/ldconfig.real: Can't stat /usr/local/nvidia/lib64: No such file or directory
/sbin/ldconfig.real: Can't stat /usr/local/lib/x86_64-linux-gnu: No such file or directory
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once
(from /etc/ld.so.conf.d/x86_64-linux-gnu.conf:4 and /etc/ld.so.conf.d/x86_64-linux-gnu.conf:3)
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once
(from <builtin>:0 and /etc/ld.so.conf.d/x86_64-linux-gnu.conf:3)
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once
(from <builtin>:0 and /etc/ld.so.conf.d/x86_64-linux-gnu.conf:3)
/sbin/ldconfig.real: Path `/usr/lib' given more than once
(from <builtin>:0 and <builtin>:0)
/root/.config/vllm/nccl/cu12/libnccl.so.2.18.1: (from <cmdline>:0)
/sbin/ldconfig.real: Can't open directory /root/.config/vllm/nccl/cu12/libnccl.so.2.18.1: Not a directory
/usr/local/cuda/targets/x86_64-linux/lib: (from /etc/ld.so.conf.d/000_cuda.conf:1)
        libcudart.so.12 -> libcudart.so.12.1.55
/usr/lib/x86_64-linux-gnu/libfakeroot: (from /etc/ld.so.conf.d/fakeroot-x86_64-linux-gnu.conf:1)
        libfakeroot-0.so -> libfakeroot-tcp.so
/usr/local/lib: (from /etc/ld.so.conf.d/libc.conf:2)
/lib/x86_64-linux-gnu: (from /etc/ld.so.conf.d/x86_64-linux-gnu.conf:3)
        libsqlite3.so.0 -> libsqlite3.so.0.8.6
        libsasl2.so.2 -> libsasl2.so.2.0.25
        libhistory.so.8 -> libhistory.so.8.1
        libldap-2.5.so.0 -> libldap-2.5.so.0.1.11
        liblber-2.5.so.0 -> liblber-2.5.so.0.1.11
        libksba.so.8 -> libksba.so.8.14.0
        libnpth.so.0 -> libnpth.so.0.1.2
        libreadline.so.8 -> libreadline.so.8.1
        libassuan.so.0 -> libassuan.so.0.8.5
        libubsan.so.1 -> libubsan.so.1.0.0
        libjbig.so.0 -> libjbig.so.0
        libopcodes-2.38-system.so -> libopcodes-2.38-system.so
        libquadmath.so.0 -> libquadmath.so.0.0.0
        libgd.so.3 -> libgd.so.3.0.8
        libmd.so.0 -> libmd.so.0.0.5
        libpython3.10.so.1.0 -> libpython3.10.so.1.0
        libfreetype.so.6 -> libfreetype.so.6.18.1
        libasan.so.6 -> libasan.so.6.0.0
        libXdmcp.so.6 -> libXdmcp.so.6.0.0
        libtiff.so.5 -> libtiff.so.5.7.0
        libgpm.so.2 -> libgpm.so.2
        libnghttp2.so.14 -> libnghttp2.so.14.20.1
        libexpat.so.1 -> libexpat.so.1.8.7
        libgomp.so.1 -> libgomp.so.1.0.0
        libmpfr.so.6 -> libmpfr.so.6.1.0
        libwebp.so.7 -> libwebp.so.7.1.3
        libdeflate.so.0 -> libdeflate.so.0
        libbrotlicommon.so.1 -> libbrotlicommon.so.1.0.9
        libmpdec++.so.3 -> libmpdec++.so.2.5.1
        libedit.so.2 -> libedit.so.2.0.68
        libmpdec.so.3 -> libmpdec.so.2.5.1
        libjpeg.so.8 -> libjpeg.so.8.2.2
        libctf-nobfd.so.0 -> libctf-nobfd.so.0.0.0
        libitm.so.1 -> libitm.so.1.0.0
        libisl.so.23 -> libisl.so.23.1.0
        libcurl-gnutls.so.4 -> libcurl-gnutls.so.4.7.0
        libtsan.so.0 -> libtsan.so.0.0.0
        libctf.so.0 -> libctf.so.0.0.0
        libX11.so.6 -> libX11.so.6.4.0
        libsodium.so.23 -> libsodium.so.23.3.0
        libbrotlidec.so.1 -> libbrotlidec.so.1.0.9
        libmpc.so.3 -> libmpc.so.3.2.1
        librtmp.so.1 -> librtmp.so.1
        libbsd.so.0 -> libbsd.so.0.11.5
        libXext.so.6 -> libXext.so.6.4.0
        libcbor.so.0.8 -> libcbor.so.0.8.0
        libbrotlienc.so.1 -> libbrotlienc.so.1.0.9
        libexpatw.so.1 -> libexpatw.so.1.8.7
        libatomic.so.1 -> libatomic.so.1.2.0
        libxcb.so.1 -> libxcb.so.1.1.0
        libperl.so.5.34 -> libperl.so.5.34.0
        libpsl.so.5 -> libpsl.so.5.3.2
        libfontconfig.so.1 -> libfontconfig.so.1.12.0
        libXau.so.6 -> libXau.so.6.0.0
        libbfd-2.38-system.so -> libbfd-2.38-system.so
        libfido2.so.1 -> libfido2.so.1.10.0
        libXmuu.so.1 -> libXmuu.so.1.0.0
        libssh.so.4 -> libssh.so.4.8.7
        liblsan.so.0 -> liblsan.so.0.0.0
        libpng16.so.16 -> libpng16.so.16.37.0
        libgdbm_compat.so.4 -> libgdbm_compat.so.4.0.0
        libXpm.so.4 -> libXpm.so.4.11.0
        libgdbm.so.6 -> libgdbm.so.6.0.0
        libcc1.so.0 -> libcc1.so.0.0.0
        libnvidia-pkcs11-openssl3.so.535.161.07 -> libnvidia-pkcs11-openssl3.so.535.161.07
        libnvidia-allocator.so.1 -> libnvidia-allocator.so.535.161.07
        libnvidia-pkcs11.so.535.161.07 -> libnvidia-pkcs11.so.535.161.07
        libcuda.so.1 -> libcuda.so.535.161.07
        libnvidia-ml.so.1 -> libnvidia-ml.so.535.161.07
        libnvidia-opencl.so.1 -> libnvidia-opencl.so.535.161.07
        libnvidia-cfg.so.1 -> libnvidia-cfg.so.535.161.07
        libnvidia-nvvm.so.4 -> libnvidia-nvvm.so.535.161.07
        libcudadebugger.so.1 -> libcudadebugger.so.535.161.07
        libnvidia-ptxjitcompiler.so.1 -> libnvidia-ptxjitcompiler.so.535.161.07
        libselinux.so.1 -> libselinux.so.1
        libpthread.so.0 -> libpthread.so.0
        libthread_db.so.1 -> libthread_db.so.1
        libk5crypto.so.3 -> libk5crypto.so.3.1
        libudev.so.1 -> libudev.so.1.7.2
        libnsl.so.1 -> libnsl.so.1
        libhogweed.so.6 -> libhogweed.so.6.4
        libBrokenLocale.so.1 -> libBrokenLocale.so.1
        libnettle.so.8 -> libnettle.so.8.4
        libnss_dns.so.2 -> libnss_dns.so.2
        libapt-pkg.so.6.0 -> libapt-pkg.so.6.0.0
        libsemanage.so.2 -> libsemanage.so.2
        libc.so.6 -> libc.so.6
        libbz2.so.1.0 -> libbz2.so.1.0.4
        libanl.so.1 -> libanl.so.1
        libncurses.so.6 -> libncurses.so.6.3
        liblz4.so.1 -> liblz4.so.1.9.3
        libmenuw.so.6 -> libmenuw.so.6.3
        libsmartcols.so.1 -> libsmartcols.so.1.1.0
        libpcreposix.so.3 -> libpcreposix.so.3.13.3
        libmvec.so.1 -> libmvec.so.1
        libgcc_s.so.1 -> libgcc_s.so.1
        libm.so.6 -> libm.so.6
        libnss_compat.so.2 -> libnss_compat.so.2
        libnss_files.so.2 -> libnss_files.so.2
        libc_malloc_debug.so.0 -> libc_malloc_debug.so.0
        libsepol.so.2 -> libsepol.so.2
        libnsl.so.2 -> libnsl.so.2.0.1
        libdl.so.2 -> libdl.so.2
        libe2p.so.2 -> libe2p.so.2.3
        libaudit.so.1 -> libaudit.so.1.0.0
        libapt-private.so.0.0 -> libapt-private.so.0.0.0
        libpamc.so.0 -> libpamc.so.0.82.1
        libtinfo.so.6 -> libtinfo.so.6.3
        librt.so.1 -> librt.so.1
        libgssapi_krb5.so.2 -> libgssapi_krb5.so.2.2
        libkeyutils.so.1 -> libkeyutils.so.1.9
        libformw.so.6 -> libformw.so.6.3
        libtic.so.6 -> libtic.so.6.3
        libxxhash.so.0 -> libxxhash.so.0.8.1
        libpam.so.0 -> libpam.so.0.85.1
        libseccomp.so.2 -> libseccomp.so.2.5.3
        libpcre.so.3 -> libpcre.so.3.13.3
        libutil.so.1 -> libutil.so.1
        libz.so.1 -> libz.so.1.2.11
        libssl.so.3 -> libssl.so.3
        libdebconfclient.so.0 -> libdebconfclient.so.0.0.0
/sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 is the dynamic linker, ignoring

        ld-linux-x86-64.so.2 -> ld-linux-x86-64.so.2
        libgcrypt.so.20 -> libgcrypt.so.20.3.4
        libpcre2-8.so.0 -> libpcre2-8.so.0.10.4
        libdb-5.3.so -> libdb-5.3.so
        libcap-ng.so.0 -> libcap-ng.so.0.0.0
        libprocps.so.8 -> libprocps.so.8.0.3
        libkrb5.so.3 -> libkrb5.so.3.3
        libncursesw.so.6 -> libncursesw.so.6.3
        libuuid.so.1 -> libuuid.so.1.3.0
        libss.so.2 -> libss.so.2.0
        libcom_err.so.2 -> libcom_err.so.2.1
        libform.so.6 -> libform.so.6.3
        libpcprofile.so -> libpcprofile.so
        libresolv.so.2 -> libresolv.so.2
        libtirpc.so.3 -> libtirpc.so.3.0.0
        libgpg-error.so.0 -> libgpg-error.so.0.32.1
        libblkid.so.1 -> libblkid.so.1.1.0
        libmount.so.1 -> libmount.so.1.1.0
        libgmp.so.10 -> libgmp.so.10.4.1
        libcrypt.so.1 -> libcrypt.so.1.1.0
        libnss_hesiod.so.2 -> libnss_hesiod.so.2
        libcrypto.so.3 -> libcrypto.so.3
        libcap.so.2 -> libcap.so.2.44
        libp11-kit.so.0 -> libp11-kit.so.0.3.0
        libkrb5support.so.0 -> libkrb5support.so.0.1
        libsystemd.so.0 -> libsystemd.so.0.32.0
        libtasn1.so.6 -> libtasn1.so.6.6.2
        libstdc++.so.6 -> libstdc++.so.6.0.30
        libacl.so.1 -> libacl.so.1.1.2301
        libffi.so.8 -> libffi.so.8.1.0
        libpanel.so.6 -> libpanel.so.6.3
        libidn2.so.0 -> libidn2.so.0.3.7
        libpanelw.so.6 -> libpanelw.so.6.3
        libattr.so.1 -> libattr.so.1.1.2501
        libmemusage.so -> libmemusage.so
        libunistring.so.2 -> libunistring.so.2.2.0
        libext2fs.so.2 -> libext2fs.so.2.4
        libpam_misc.so.0 -> libpam_misc.so.0.82.1
        libgnutls.so.30 -> libgnutls.so.30.31.0
        libmenu.so.6 -> libmenu.so.6.3
        liblzma.so.5 -> liblzma.so.5.2.5
        libzstd.so.1 -> libzstd.so.1.4.8
/lib: (from <builtin>:0)
root@compute-permanent-node-171:/vllm-workspace#

Is it possible to know your exact command for building the docker image?
Also, is there a docker image for the pre-release 0.4.1?

The relevant error after adding the env you suggested:
ubuntu@compute-permanent-node-171:~/vllm$ docker logs ac406d9bc86d
INFO 04-24 06:02:06 api_server.py:151] vLLM API server version 0.4.1
INFO 04-24 06:02:06 api_server.py:152] args: Namespace(host='<IP_ADDRESS>', port=5004, uvicorn_log_level='info', allow_credentials=False, allowed_origins=['*'], allowed_methods=['*'], allowed_headers=['*'], api_key=None, served_model_name=None, lora_modules=None, chat_template=None, response_role='assistant', ssl_keyfile=None, ssl_certfile=None, ssl_ca_certs=None, ssl_cert_reqs=0, root_path=None, middleware=[], model='databricks/dbrx-instruct', tokenizer=None, skip_tokenizer_init=False, revision=None, code_revision=None, tokenizer_revision=None, tokenizer_mode='auto', trust_remote_code=True, download_dir='/home/ubuntu/.cache/huggingface/hub', load_format='auto', dtype='auto', kv_cache_dtype='auto', quantization_param_path=None, max_model_len=None, guided_decoding_backend='outlines', worker_use_ray=True, pipeline_parallel_size=1, tensor_parallel_size=4, max_parallel_loading_workers=None, ray_workers_use_nsight=False, block_size=16, enable_prefix_caching=False, use_v2_block_manager=False, num_lookahead_slots=0, seed=1234, swap_space=4, gpu_memory_utilization=0.98, num_gpu_blocks_override=None, max_num_batched_tokens=32768, max_num_seqs=256, max_logprobs=5, disable_log_stats=False, quantization=None, enforce_eager=True, max_context_len_to_capture=8192, disable_custom_all_reduce=False, tokenizer_pool_size=0, tokenizer_pool_type='ray', tokenizer_pool_extra_config=None, enable_lora=False, max_loras=1, max_lora_rank=16, lora_extra_vocab_size=256, lora_dtype='auto', max_cpu_loras=None, device='auto', image_input_type=None, image_token_id=None, image_input_shape=None, image_feature_size=None, scheduler_delay_factor=0.0, enable_chunked_prefill=False, speculative_model=None, num_speculative_tokens=None, speculative_max_model_len=None, model_loader_extra_config=None, engine_use_ray=False, disable_log_requests=False, max_log_len=100)
2024-04-24 06:02:28,968 INFO worker.py:1749 -- Started a local Ray instance.
INFO 04-24 06:02:29 llm_engine.py:98] Initializing an LLM engine (v0.4.1) with config: model='databricks/dbrx-instruct', speculative_config=None, tokenizer='databricks/dbrx-instruct', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=True, dtype=torch.bfloat16, max_seq_len=32768, download_dir='/home/ubuntu/.cache/huggingface/hub', load_format=auto, tensor_parallel_size=4, disable_custom_all_reduce=False, quantization=None, enforce_eager=True, kv_cache_dtype=auto, quantization_param_path=None, device_config=cuda, decoding_config=DecodingConfig(guided_decoding_backend='outlines'), seed=1234)
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
INFO 04-24 06:02:46 utils.py:598] Found nccl from environment variable VLLM_NCCL_SO_PATH=/root/.config/vllm/nccl/cu12/libnccl.so.2.18.1
ldd: /root/.config/vllm/nccl/cu12/libnccl.so.2.18.1: No such file or directory
ERROR 04-24 06:02:46 pynccl.py:45] Failed to load NCCL library from /root/.config/vllm/nccl/cu12/libnccl.so.2.18.1 .It is expected if you are not running on NVIDIA/AMD GPUs.Otherwise, the nccl library might not exist, be corrupted or it does not support the current platform Linux-6.5.0-1018-oracle-x86_64-with-glibc2.35.One solution is to download libnccl2 version 2.18 from https://developer.download.nvidia.com/compute/cuda/repos/ and extract the libnccl.so.2 file. If you already have the library, please set the environment variable VLLM_NCCL_SO_PATH to point to the correct nccl library path.
INFO 04-24 06:02:46 pynccl_utils.py:17] Failed to import NCCL library: Failed to load NCCL library from /root/.config/vllm/nccl/cu12/libnccl.so.2.18.1 .
INFO 04-24 06:02:46 pynccl_utils.py:18] It is expected if you are not running on NVIDIA GPUs.
(RayWorkerWrapper pid=6433) INFO 04-24 06:02:46 utils.py:598] Found nccl from environment variable VLLM_NCCL_SO_PATH=/root/.config/vllm/nccl/cu12/libnccl.so.2.18.1
(RayWorkerWrapper pid=6433) ldd: /root/.config/vllm/nccl/cu12/libnccl.so.2.18.1: No such file or directory
(RayWorkerWrapper pid=6433) ERROR 04-24 06:02:46 pynccl.py:45] Failed to load NCCL library from /root/.config/vllm/nccl/cu12/libnccl.so.2.18.1 .It is expected if you are not running on NVIDIA/AMD GPUs.Otherwise, the nccl library might not exist, be corrupted or it does not support the current platform Linux-6.5.0-1018-oracle-x86_64-with-glibc2.35.One solution is to download libnccl2 version 2.18 from https://developer.download.nvidia.com/compute/cuda/repos/ and extract the libnccl.so.2 file. If you already have the library, please set the environment variable VLLM_NCCL_SO_PATH to point to the correct nccl library path.
(RayWorkerWrapper pid=6433) INFO 04-24 06:02:46 pynccl_utils.py:17] Failed to import NCCL library: Failed to load NCCL library from /root/.config/vllm/nccl/cu12/libnccl.so.2.18.1 .
(RayWorkerWrapper pid=6433) INFO 04-24 06:02:46 pynccl_utils.py:18] It is expected if you are not running on NVIDIA GPUs.
INFO 04-24 06:02:47 selector.py:28] Using FlashAttention backend.
(RayWorkerWrapper pid=6433) INFO 04-24 06:02:47 selector.py:28] Using FlashAttention backend.

I'll try running as root with the env.

Why ldd /root/.config/vllm/nccl/cu12/libnccl.so.2.18.1 returned error? I don't know why your environment is broken.

I'm just building image with the documented command.  It has nothing to do with my environment.  The same exact commands work on the release version of 0.4.0.post1 docker image.
For non-root it only finds /usr/local/lib/python3.10/dist-packages/nvidia/nccl/lib/libnccl.so.2 so I'll set env to that.

Ok that env worked for non-root user with that non-root path:
docker run -d     --runtime=nvidia     --gpus '"device=0,1,2,6"'     --shm-size=10.24gb     -p 5004:5004  -e VLLM_NCCL_SO_PATH=/usr/local/lib/python3.10/dist-packages/nvidia/nccl/lib/libnccl.so.2       -e NCCL_IGNORE_DISABLED_P2P=1     -e HUGGING_FACE_HUB_TOKEN=$HUGGING_FACE_HUB_TOKEN     --env "HUGGING_FACE_HUB_TOKEN=$HUGGING_FACE_HUB_TOKEN"     -v /etc/passwd:/etc/passwd:ro     -v /etc/group:/etc/group:ro     -u `id -u`:`id -g`     -v "${HOME}"/.cache:$HOME/.cache/ -v "${HOME}"/.config:$HOME/.config/   -v "${HOME}"/.triton:$HOME/.triton/     --network host     fee8ae2c9682         --port=5004         --host=<IP_ADDRESS>         --model=databricks/dbrx-instruct         --seed 1234         --trust-remote-code         --tensor-parallel-size=4 --max-num-batched-tokens=32768 --max-log-len=100 --trust-remote-code --worker-use-ray --enforce-eager --gpu-memory-utilization 0.98         --download-dir=$HOME/.cache/huggingface/hub &>> logs.vllm_server.dbrx.txt

I think there must be some bug in the docker image that this would be required.  You keep blaming my env, but for docker that can't be.  I told you my command, same as documented.

It might be the case that you are using a non-root user, which cannot access the /root/.config/vllm/nccl/cu12/libnccl.so.2.18.1 file because it is created by root user.

I've always run prior docker images as non-root.  If the build command is somehow wrong or the image is wrong and isn't correctly supporting non-root user, there could be issue yes.  But has nothing to do with my env.

I think that is the key. You are running the image as non-root.

Thanks for your help.  I hope the released version doesn't have the same problems.

The docker image is meant to be run as a root user. That's the issue we fight very hard with nccl :(

You can drop me an email if you have further questions<EMAIL_ADDRESS>. I would like to hear if your issue can be resolved when you run the image as root user.

@youkaichao Ok, but I've been running the releases of vllm and my own build of vllm inside h2ogpt as non-root for many months now.  So this must be a new problem.
@ttbachyinsda Unsure what you mean, I'm building docker image using documented commands, so it's whatever is in the Dockerfile.

This is a new problem. Until nccl team address this issue https://github.com/NVIDIA/nccl/issues/1234 , we will suffer a lot with nccl :(

document (in the docker run part) that env and what to set it to for the 2 cases of running as root and running as some user like I shared

will do.


Fix inferAll to allow fields with embedded periods

datalib.type.all and datalib.read were failing when datasets had field names with embedded periods. This implements and tests a new utility function inferAll which calls datalib.infer in a way that ensures periods won't be split.

Current coverage is 58.19% (diff: 84.21%)

Merging #380 into master will increase coverage by 0.68%

@@             master       #380   diff @@
==========================================
  Files            26         26
  Lines           699        708     +9
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            402        412    +10
+ Misses          297        296     -1
  Partials          0          0

Powered by Codecov. Last update ab8a0ea...fb6d024

LGTM


Hanging on startup

Describe the Bug
The boot sequence hangs on BeginTearingDown without a save file.
[2021.11.04-04.37.11:592][  0]LogWorld: BeginTearingDown for /Temp/Untitled_0
Hangs on
[2021.11.04-04.45.06:006][  0]LogWorld: UWorld::CleanupWorld for Untitled, bSessionEnded=true, bCleanupResources=true
with a save file.
Your Runtime Command or Docker Compose File
version: '3'
services:
    satisfactory-server:
        container_name: 'satisfactory-server'
        hostname: 'satisfactory-server'
        image: 'wolveix/satisfactory-server:latest'
        ports:
            - '7777:7777/udp'
            - '15000:15000/udp'
            - '15777:15777/udp'
        volumes:
            - './config:/config'
        environment:
            - DEBUG=false
            - MAXPLAYERS=8
            - PGID=1000
            - PUID=1000
            - SKIPUPDATE=false
            - STEAMBETA=true
        restart: unless-stopped

System Specs (please complete the following information):
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

Any insight into this?

Looks to be an issue that appeared after IPv6 support was added.
See the links below.
https://questions.satisfactorygame.com/post/61830560831c852052359b1c
https://satisfactory.fandom.com/wiki/Dedicated_servers#Post-Update_Note_[2021-11-03]
Apparently the fix is adding the -multihome switch to the startup command.
-multihome <IP_ADDRESS>

I think it might be a separate problem. The issue you're describing was fixed in #70

Hey! Thanks for opening this issue :)
Would you mind sharing your full log file, please? From start to finish with no overlapping logs would be ideal!

Thanks for taking a look at this.
Attaching to satisfactory-server
satisfactory-server    | Setting max players to 8
satisfactory-server    | Experimental flag is set. Experimental will be downloaded instead of Early Access.
satisfactory-server    | Checking available space...103GB detected
satisfactory-server    | Downloading the latest version of the game...
satisfactory-server    | Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
satisfactory-server    | [  0%] Checking for available updates...
satisfactory-server    | [----] Verifying installation...
satisfactory-server    | Steam Console Client (c) Valve Corporation
satisfactory-server    | -- type 'quit' to exit --
satisfactory-server    | Loading Steam API...OK
satisfactory-server    |
satisfactory-server    | Connecting anonymously to Steam Public...OK
satisfactory-server    | Waiting for client config...OK
satisfactory-server    | Waiting for user info...OK
satisfactory-server    | Success! App '1690800' already up to date.
satisfactory-server    | Project file not found: /config/gamefiles/FactoryGame/FactoryGame.uproject
satisfactory-server    | sh: 1: xdg-user-dir: not found
satisfactory-server    | 4.26.1-171407+++FactoryGame+main 522 3
satisfactory-server    | Disabling core dumps.
satisfactory-server    | LogInit: Display: Running engine for game: FactoryGame
satisfactory-server    | LogInit: Display: Project file not found: /config/gamefiles/FactoryGame/FactoryGame.uproject
satisfactory-server    | LogInit: Display: 	Attempting to find via project info helper.
satisfactory-server    | LogUProjectInfo: Found projects:
satisfactory-server    | LogPakFile: Display: Found Pak file ../../../FactoryGame/Content/Paks/FactoryGame-LinuxServer.pak attempting to mount.
satisfactory-server    | LogPakFile: Display: Mounting pak file ../../../FactoryGame/Content/Paks/FactoryGame-LinuxServer.pak.
satisfactory-server    | LogPakFile: PakFile PrimaryIndexSize=587106
satisfactory-server    | LogPakFile: PakFile PathHashIndexSize=670496
satisfactory-server    | LogPakFile: PakFile FullDirectoryIndexSize=1860564
satisfactory-server    | LogPakFile: OnPakFileMounted2Time == 0.000001
satisfactory-server    | LogPlatformFile: Using cached read wrapper
satisfactory-server    | LogTaskGraph: Started task graph with 4 named threads and 7 total threads with 1 sets of task threads.
satisfactory-server    | LogICUInternationalization: ICU TimeZone Detection - Raw Offset: +0:00, Platform Override: ''
satisfactory-server    | LogPluginManager: Mounting plugin ReplicationGraph
satisfactory-server    | LogPluginManager: Mounting plugin DTLSHandlerComponent
satisfactory-server    | LogPluginManager: Mounting plugin Wwise
satisfactory-server    | LogPluginManager: Mounting plugin GeometryMode
satisfactory-server    | LogPluginManager: Mounting plugin ApexDestruction
satisfactory-server    | LogPluginManager: Mounting plugin BlueprintStats
satisfactory-server    | LogPluginManager: Mounting plugin OnlineFramework
satisfactory-server    | LogPluginManager: Mounting plugin OnlineSubsystem
satisfactory-server    | LogPluginManager: Mounting plugin OnlineSubsystemUtils
satisfactory-server    | LogPluginManager: Mounting plugin LensDistortion
satisfactory-server    | LogPluginManager: Mounting plugin WindowsDeviceProfileSelector
satisfactory-server    | LogPluginManager: Mounting plugin SteamController
satisfactory-server    | LogPluginManager: Mounting plugin SteamShared
satisfactory-server    | LogPluginManager: Mounting plugin RawInput
satisfactory-server    | LogPluginManager: Mounting plugin MfMedia
satisfactory-server    | LogPluginManager: Mounting plugin OnlineSubsystemSteam
satisfactory-server    | LogPluginManager: Mounting plugin OnlineSubsystemEOS
satisfactory-server    | LogPluginManager: Mounting plugin SignificanceManager
satisfactory-server    | LogPluginManager: Mounting plugin PythonScriptPlugin
satisfactory-server    | LogPluginManager: Mounting plugin EditorScriptingUtilities
satisfactory-server    | LogPluginManager: Mounting plugin EditorTests
satisfactory-server    | LogPluginManager: Mounting plugin FbxAutomationTestBuilder
satisfactory-server    | LogPluginManager: Mounting plugin FunctionalTestingEditor
satisfactory-server    | LogPluginManager: Mounting plugin RuntimeTests
satisfactory-server    | LogPluginManager: Mounting plugin ScreenshotTools
satisfactory-server    | LogPluginManager: Mounting plugin CSSEditorToolsExtension
satisfactory-server    | LogPluginManager: Mounting plugin Paper2D
satisfactory-server    | LogPluginManager: Mounting plugin AISupport
satisfactory-server    | LogPluginManager: Mounting plugin EnvironmentQueryEditor
satisfactory-server    | LogPluginManager: Mounting plugin LightPropagationVolume
satisfactory-server    | LogPluginManager: Mounting plugin AnimationSharing
satisfactory-server    | LogPluginManager: Mounting plugin PluginUtils
satisfactory-server    | LogPluginManager: Mounting plugin PropertyAccessEditor
satisfactory-server    | LogPluginManager: Mounting plugin UObjectPlugin
satisfactory-server    | LogPluginManager: Mounting plugin AssetManagerEditor
satisfactory-server    | LogPluginManager: Mounting plugin FacialAnimation
satisfactory-server    | LogPluginManager: Mounting plugin SpeedTreeImporter
satisfactory-server    | LogPluginManager: Mounting plugin DatasmithContent
satisfactory-server    | LogPluginManager: Mounting plugin VariantManagerContent
satisfactory-server    | LogPluginManager: Mounting plugin AlembicImporter
satisfactory-server    | LogPluginManager: Mounting plugin GeometryCache
satisfactory-server    | LogPluginManager: Mounting plugin AutomationUtils
satisfactory-server    | LogPluginManager: Mounting plugin BackChannel
satisfactory-server    | LogPluginManager: Mounting plugin ChaosClothEditor
satisfactory-server    | LogPluginManager: Mounting plugin ChaosCloth
satisfactory-server    | LogPluginManager: Mounting plugin ChaosEditor
satisfactory-server    | LogPluginManager: Mounting plugin PlanarCut
satisfactory-server    | LogPluginManager: Mounting plugin GeometryProcessing
satisfactory-server    | LogPluginManager: Mounting plugin EditableMesh
satisfactory-server    | LogPluginManager: Mounting plugin GeometryCollectionPlugin
satisfactory-server    | LogPluginManager: Mounting plugin ProceduralMeshComponent
satisfactory-server    | LogPluginManager: Mounting plugin ChaosSolverPlugin
satisfactory-server    | LogPluginManager: Mounting plugin ChaosNiagara
satisfactory-server    | LogPluginManager: Mounting plugin Niagara
satisfactory-server    | LogPluginManager: Mounting plugin CharacterAI
satisfactory-server    | LogPluginManager: Mounting plugin MotoSynth
satisfactory-server    | LogPluginManager: Mounting plugin PlatformCrypto
satisfactory-server    | LogPluginManager: Mounting plugin ImgMedia
satisfactory-server    | LogPluginManager: Mounting plugin MediaCompositing
satisfactory-server    | LogPluginManager: Mounting plugin MeshPainting
satisfactory-server    | LogPluginManager: Mounting plugin TcpMessaging
satisfactory-server    | LogPluginManager: Mounting plugin UdpMessaging
satisfactory-server    | LogPluginManager: Mounting plugin ActorSequence
satisfactory-server    | LogPluginManager: Mounting plugin LevelSequenceEditor
satisfactory-server    | LogPluginManager: Mounting plugin MatineeToLevelSequence
satisfactory-server    | LogPluginManager: Mounting plugin TemplateSequence
satisfactory-server    | LogPluginManager: Mounting plugin OnlineSubsystemNull
satisfactory-server    | LogPluginManager: Mounting plugin LauncherChunkInstaller
satisfactory-server    | LogPluginManager: Mounting plugin ActorLayerUtilities
satisfactory-server    | LogPluginManager: Mounting plugin AppleImageUtils
satisfactory-server    | LogPluginManager: Mounting plugin AssetTags
satisfactory-server    | LogPluginManager: Mounting plugin AudioCapture
satisfactory-server    | LogPluginManager: Mounting plugin CableComponent
satisfactory-server    | LogPluginManager: Mounting plugin ChunkDownloader
satisfactory-server    | LogPluginManager: Mounting plugin CustomMeshComponent
satisfactory-server    | LogPluginManager: Mounting plugin ExampleDeviceProfileSelector
satisfactory-server    | LogPluginManager: Mounting plugin GooglePAD
satisfactory-server    | LogPluginManager: Mounting plugin LinuxDeviceProfileSelector
satisfactory-server    | LogPluginManager: Mounting plugin PhysXVehicles
satisfactory-server    | LogPluginManager: Mounting plugin RuntimePhysXCooking
satisfactory-server    | LogPluginManager: Mounting plugin SoundFields
satisfactory-server    | LogPluginManager: Mounting plugin Synthesis
satisfactory-server    | LogPluginManager: Mounting plugin AudioSynesthesia
satisfactory-server    | LogInit: Using libcurl 7.65.3-DEV
satisfactory-server    | LogInit:  - built for x86_64-unknown-linux-gnu
satisfactory-server    | LogInit:  - supports SSL with OpenSSL/1.1.1c
satisfactory-server    | LogInit:  - supports HTTP deflate (compression) using libz 1.2.8
satisfactory-server    | LogInit:  - other features:
satisfactory-server    | LogInit:      CURL_VERSION_SSL
satisfactory-server    | LogInit:      CURL_VERSION_LIBZ
satisfactory-server    | LogInit:      CURL_VERSION_IPV6
satisfactory-server    | LogInit:      CURL_VERSION_ASYNCHDNS
satisfactory-server    | LogInit:      CURL_VERSION_LARGEFILE
satisfactory-server    | LogInit:      CURL_VERSION_TLSAUTH_SRP
satisfactory-server    | LogInit:  CurlRequestOptions (configurable via config and command line):
satisfactory-server    | LogInit:  - bVerifyPeer = true  - Libcurl will verify peer certificate
satisfactory-server    | LogInit:  - bUseHttpProxy = false  - Libcurl will NOT use HTTP proxy
satisfactory-server    | LogInit:  - bDontReuseConnections = false  - Libcurl will reuse connections
satisfactory-server    | LogInit:  - MaxHostConnections = 16  - Libcurl will limit the number of connections to a host
satisfactory-server    | LogInit:  - LocalHostAddr = Default
satisfactory-server    | LogInit:  - BufferSize = 65536
satisfactory-server    | Shutdown handler: initalize.
satisfactory-server    | LogOnline: OSS: Creating online subsystem instance for: EOS
satisfactory-server    | LogOnline: OSS: FOnlineSubsystemEOS: Init success.
satisfactory-server    | LogSteamShared: Display: Loading Steam SDK 1.47
satisfactory-server    | LogCore: Warning: dlopen failed: /config/gamefiles/Engine/Binaries/Linux/libsteam_api.so: cannot open shared object file: No such file or directory
satisfactory-server    | LogSteamShared: Warning: Could not find system one, loading bundled libsteam_api.so.
satisfactory-server    | LogSteamShared: Display: Loaded libsteam_api.so at 0x5d8340
satisfactory-server    | LogSteamShared: Steam SDK Loaded!
satisfactory-server    | LogOnline: OSS: Creating online subsystem instance for: STEAM
satisfactory-server    | LogOnline: Warning: STEAM: Steam API failed to initialize!
satisfactory-server    | LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
satisfactory-server    | LogOnline: OSS: Unable to create OnlineSubsystem module STEAM
satisfactory-server    | LogOnline: OSS: TryLoadSubsystemAndSetDefault: Loaded subsystem for module [EOS]
satisfactory-server    | LogOnline: OSS: Creating online subsystem instance for: STEAM
satisfactory-server    | LogOnline: Warning: STEAM: Steam API failed to initialize!
satisfactory-server    | LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
satisfactory-server    | LogInit: Build: ++FactoryGame+main-CL-171407
satisfactory-server    | LogInit: Engine Version: 4.26.1-171407+++FactoryGame+main
satisfactory-server    | LogInit: Compatible Engine Version: 4.26.1-171407+++FactoryGame+main
satisfactory-server    | LogInit: Net CL: 171407
satisfactory-server    | LogInit: OS: GenericOSVersionLabel (GenericOSSubVersionLabel), CPU: Common KVM processor, GPU: GenericGPUBrand
satisfactory-server    | LogInit: Compiled (64-bit): Nov  3 2021 09:15:02
satisfactory-server    | LogInit: Compiled with Clang: 10.0.1 (https://github.com/llvm/llvm-project ef32c611aa214dea855364efd7ba451ec5ec3f74)
satisfactory-server    | LogInit: Build Configuration: Shipping
satisfactory-server    | LogInit: Branch Name: ++FactoryGame+main
satisfactory-server    | LogInit: Command Line:  -log -NoSteamClient -unattended -multihome=<IP_ADDRESS>
satisfactory-server    | LogInit: Base Directory: /config/gamefiles/Engine/Binaries/Linux/
satisfactory-server    | LogInit: Allocator: binned2
satisfactory-server    | LogInit: Installed Engine Build: 0
satisfactory-server    | LogInit: Launcher File: /config/gamefiles/launcher_id
satisfactory-server    | LogInit: Launcher ID:
satisfactory-server    | LogInit: Launcher Artifact:
satisfactory-server    | LogInit: Presizing for max 2097152 objects, including 1 objects not considered by GC, pre-allocating 0 bytes for permanent pool.
satisfactory-server    | LogStreaming: Display: Async Loading initialized: Event Driven Loader: true, Async Loading Thread: false, Async Post Load: false
satisfactory-server    | LogInit: Object subsystem initialized
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogLinux: Selected Device Profile: [LinuxServer]
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit: Applying CVar settings loaded from the selected device profile: [LinuxServer]
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogHAL: Display: Platform has ~ 4 GB [8348368896 /<PHONE_NUMBER> / 8], which maps to Smallest [LargestMinGB=32, LargerMinGB=12, DefaultMinGB=8, SmallerMinGB=6, SmallestMinGB=0)
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit: Going up to parent DeviceProfile [Linux]
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit: Going up to parent DeviceProfile []
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit: Unix hardware info:
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - we are the first instance of this executable
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - this process' id (pid) is 54, parent process' id (ppid) is 23
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - we are not running under debugger
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - machine network name is 'satisfactory-server'
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - user name is 'steam' (steam)
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - we're logged in locally
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - we're running without rendering
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - CPU: GenuineIntel 'Common KVM processor' (signature: 0xF61)
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - Number of physical cores available for the process: 4
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - Number of logical cores available for the process: 4
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - Cache line size: 64
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - Memory allocator used: binned2
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - This binary is optimized with LTO: no, PGO: no, instrumented for PGO data collection: no
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - This is a licensee build.
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogCore: Benchmarking clocks:
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogCore:  - CLOCK_MONOTONIC (id=1) can sustain 59242686 (59243K, 59M) calls per second without zero deltas.
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogCore:  - CLOCK_MONOTONIC_RAW (id=4) can sustain 58435312 (58435K, 58M) calls per second without zero deltas.
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogCore:  - CLOCK_MONOTONIC_COARSE (id=6) can sustain 212738991 (212739K, 213M) calls per second with 99.999878% zero deltas.
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogCore: Selected clock_id 1 (CLOCK_MONOTONIC) since it is the fastest support clock without zero deltas.
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit: Unix-specific commandline switches:
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  -ansimalloc - use malloc()/free() from libc (useful for tools like valgrind and electric fence)
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  -jemalloc - use jemalloc for all memory allocation
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  -binnedmalloc - use binned malloc  for all memory allocation
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  -filemapcachesize=NUMBER - set the size for case-sensitive file mapping cache
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  -useksm - uses kernel same-page mapping (KSM) for mapped memory (OFF)
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  -ksmmergeall - marks all mmap'd memory pages suitable for KSM (OFF)
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  -preloadmodulesymbols - Loads the main module symbols file into memory (OFF)
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  -sigdfl=SIGNAL - Allows a specific signal to be set to its default handler rather then ignoring the signal
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  -httpproxy=ADDRESS:PORT - redirects HTTP requests to a proxy (only supported if compiled with libcurl)
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  -reuseconn - allow libcurl to reuse HTTP connections (only matters if compiled with libcurl)
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  -virtmemkb=NUMBER - sets process virtual memory (address space) limit (overrides VirtualMemoryLimitInKB value from .ini)
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - Physical RAM available (not considering process quota): 8 GB (7961 MB, 8152704 KB,<PHONE_NUMBER> bytes)
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - VirtualMemoryAllocator pools will grow at scale 1.4
satisfactory-server    | [2021.11.04-08.13.55:743][  0]LogInit:  - MemoryRangeDecommit() will will evict the memory from RAM (re-run with -novmapoolevict to change)
satisfactory-server    | [2021.11.04-08.13.55:754][  0]LogInit: Physics initialised using underlying interface: PhysX
satisfactory-server    | [2021.11.04-08.13.55:754][  0]LogInit: Overriding language with engine language configuration option (en-US-Posix).
satisfactory-server    | [2021.11.04-08.13.55:754][  0]LogInit: Overriding language with engine locale configuration option (en-US-Posix).
satisfactory-server    | [2021.11.04-08.13.55:757][  0]LogTextLocalizationResource: LocRes '../../../Engine/Content/Localization/Engine/en-US-POSIX/Engine.locres' could not be opened for reading!
satisfactory-server    | [2021.11.04-08.13.55:757][  0]LogTextLocalizationResource: LocRes '../../../Engine/Plugins/Online/OnlineFramework/Content/Localization/OnlineFramework/en-US-POSIX/OnlineFramework.locres' could not be opened for reading!
satisfactory-server    | [2021.11.04-08.13.55:757][  0]LogTextLocalizationResource: LocRes '../../../Engine/Plugins/Online/OnlineSubsystem/Content/Localization/OnlineSubsystem/en-US-POSIX/OnlineSubsystem.locres' could not be opened for reading!
satisfactory-server    | [2021.11.04-08.13.55:757][  0]LogTextLocalizationResource: LocRes '../../../Engine/Plugins/Online/OnlineSubsystemUtils/Content/Localization/OnlineSubsystemUtils/en-US-POSIX/OnlineSubsystemUtils.locres' could not be opened for reading!
satisfactory-server    | [2021.11.04-08.13.55:757][  0]LogTextLocalizationResource: LocRes '../../../Engine/Plugins/Online/OnlineSubsystemSteam/Content/Localization/OnlineSubsystemSteam/en-US-POSIX/OnlineSubsystemSteam.locres' could not be opened for reading!
satisfactory-server    | [2021.11.04-08.13.55:767][  0]LogRendererCore: Ray tracing is disabled. Reason: r.RayTracing=0.
satisfactory-server    | [2021.11.04-08.13.55:774][  0]LogInit: Overriding language with engine language configuration option (en-US-Posix).
satisfactory-server    | [2021.11.04-08.13.55:774][  0]LogInit: Overriding language with engine locale configuration option (en-US-Posix).
satisfactory-server    | [2021.11.04-08.13.55:777][  0]LogTextLocalizationResource: LocRes '../../../FactoryGame/Content/Localization/Game/en/Game.locres' could not be opened for reading!
satisfactory-server    | [2021.11.04-08.13.55:780][  0]LogTextLocalizationManager: Compacting localization data took   0.90ms
satisfactory-server    | [2021.11.04-08.13.55:844][  0]LogAssetRegistry: FAssetRegistry took 0.0546 seconds to start up
satisfactory-server    | [2021.11.04-08.13.55:881][  0]LogStreaming: Display: FlushAsyncLoading: 1 QueuedPackages, 0 AsyncPackages
satisfactory-server    | [2021.11.04-08.13.55:881][  0]LogPackageLocalizationCache: Processed 23 localized package path(s) for 2 prioritized culture(s) in 0.000064 seconds
satisfactory-server    | [2021.11.04-08.13.55:881][  0]LogPakFile: New pak file ../../../FactoryGame/Content/Paks/FactoryGame-LinuxServer.pak added to pak precacher.
satisfactory-server    | [2021.11.04-08.13.55:881][  0]LogLinux: Selected Device Profile: [LinuxServer]
satisfactory-server    | [2021.11.04-08.13.55:882][  0]LogInit: Active device profile: [0x7fd49f4c7d80][0x7fd4c0f37630 49] LinuxServer
satisfactory-server    | [2021.11.04-08.13.55:882][  0]LogInit: Profiles: [0x7fd49f4c7f00][0x7fd4c0f389e0 49] Linux, [0x7fd49f4c7d80][0x7fd4c0f37630 49] LinuxServer,
satisfactory-server    | [2021.11.04-08.13.55:888][  0]LogSerialization: Display: AllowBulkDataInIoStore: 'true'
satisfactory-server    | [2021.11.04-08.13.55:888][  0]LogNetVersion: FactoryGame 1.0.0, NetCL: 171407, EngineNetVer: 16, GameNetVer: 0 (Checksum:<PHONE_NUMBER>)
satisfactory-server    | [2021.11.04-08.13.56:072][  0]LogActor: Warning: SetReplicates called on non-initialized actor Default__FGSimulatedWheeledVehicle. Directly setting bReplicates is the correct procedure for pre-init actors.
satisfactory-server    | [2021.11.04-08.13.56:134][  0]LogNiagara: Warning: NiagaraSystem /Game/FactoryGame/VFX/Factory/Doors/NS_DoorClose_01.NS_DoorClose_01 IsReadyToRunInternal() failed due to missing SystemScript.  Spawn[<none>] Update[<none>]
satisfactory-server    | [2021.11.04-08.13.56:671][  0]LogPakFile: Precache HighWater 16MB
satisfactory-server    |
satisfactory-server    | [2021.11.04-08.13.56:671][  0]LogPakFile: Precache HighWater 32MB
satisfactory-server    |
satisfactory-server    | [2021.11.04-08.13.56:671][  0]LogPakFile: Precache HighWater 48MB
satisfactory-server    |
satisfactory-server    | [2021.11.04-08.13.56:671][  0]LogPakFile: Precache HighWater 64MB
satisfactory-server    |
satisfactory-server    | [2021.11.04-08.13.56:671][  0]LogNiagara: Warning: NiagaraSystem /Game/FactoryGame/VFX/World/AmbientLife/Flies/NS_Fireflies_01.NS_Fireflies_01 IsReadyToRunInternal() failed due to missing SystemScript.  Spawn[<none>] Update[<none>]
satisfactory-server    | [2021.11.04-08.13.56:671][  0]LogNiagara: Warning: NiagaraSystem /Game/FactoryGame/VFX/World/AmbientLife/Bats/NS_Bats_01.NS_Bats_01 IsReadyToRunInternal() failed due to missing SystemScript.  Spawn[<none>] Update[<none>]
satisfactory-server    | [2021.11.04-08.13.56:745][  0]GameAnalyticsModule: Display: GameAnalyticsModule has started!
satisfactory-server    | [2021.11.04-08.13.56:745][  0]LogStreaming: Warning: Failed to read file '../../../FactoryGame/Saved/SaveGames/GameAnalytics.sav' error.
satisfactory-server    | [2021.11.04-08.13.56:804][  0]LogAudioCaptureCore: Display: No Audio Capture implementations found. Audio input will be silent.
satisfactory-server    | [2021.11.04-08.13.56:804][  0]LogAudioCaptureCore: Display: No Audio Capture implementations found. Audio input will be silent.
satisfactory-server    | [2021.11.04-08.13.56:816][  0]LogUObjectArray: 49700 objects as part of root set at end of initial load.
satisfactory-server    | [2021.11.04-08.13.56:816][  0]LogUObjectArray: 2 objects are not in the root set, but can never be destroyed because they are in the DisregardForGC set.
satisfactory-server    | [2021.11.04-08.13.56:816][  0]LogUObjectAllocator: 15807376 out of 0 bytes used by permanent object pool.
satisfactory-server    | [2021.11.04-08.13.56:816][  0]LogUObjectArray: CloseDisregardForGC: 49700/49700 objects in disregard for GC pool
satisfactory-server    | [2021.11.04-08.13.56:816][  0]LogEngine: Initializing Engine...
satisfactory-server    | [2021.11.04-08.13.56:817][  0]LogStats: UGameplayTagsManager::InitializeManager -  0.001 s
satisfactory-server    | [2021.11.04-08.13.56:821][  0]LogInit: Initializing FReadOnlyCVARCache
satisfactory-server    | [2021.11.04-08.13.56:821][  0]LogNetVersion: Set ProjectVersion to <IP_ADDRESS>. Version Checksum will be recalculated on next use.
satisfactory-server    | [2021.11.04-08.13.56:821][  0]LogInit: Texture streaming: Disabled
satisfactory-server    | [2021.11.04-08.13.56:833][  0]LogOnline: OSS: Creating online subsystem instance for: STEAM
satisfactory-server    | [2021.11.04-08.13.56:833][  0]LogOnline: Warning: STEAM: Steam API failed to initialize!
satisfactory-server    | [2021.11.04-08.13.56:833][  0]LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
satisfactory-server    | [2021.11.04-08.13.56:833][  0]LogOnline: OSS: Creating online subsystem instance for: STEAM
satisfactory-server    | [2021.11.04-08.13.56:833][  0]LogOnline: Warning: STEAM: Steam API failed to initialize!
satisfactory-server    | [2021.11.04-08.13.56:833][  0]LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
satisfactory-server    | [2021.11.04-08.13.56:833][  0]LogOnline: OSS: Creating online subsystem instance for: STEAM
satisfactory-server    | [2021.11.04-08.13.56:833][  0]LogOnline: Warning: STEAM: Steam API failed to initialize!
satisfactory-server    | [2021.11.04-08.13.56:833][  0]LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
satisfactory-server    | [2021.11.04-08.13.56:834][  0]LogServerQuery: Binding Server Query Socket to address '<IP_ADDRESS>:15777'
satisfactory-server    | [2021.11.04-08.13.56:834][  0]LogGame: MaxNumBackupsaves: 25
satisfactory-server    | [2021.11.04-08.13.56:834][  0]GameAnalyticsModule: Display: Loaded GUID 8FCA5983-DC9F-4B17-B31D-3737E6D2947C
satisfactory-server    | [2021.11.04-08.13.56:834][  0]LogOnline: Warning: OSS: [EOS SDK | Plugin] Begin Player Session...
satisfactory-server    | [2021.11.04-08.13.56:834][  0]LogInit: Display: Game Engine Initialized.
satisfactory-server    | [2021.11.04-08.13.56:834][  0]LogNetVersion: Set ProjectVersion to ++FactoryGame+main-CL-171407. Version Checksum will be recalculated on next use.
satisfactory-server    | [2021.11.04-08.13.56:834][  0]LogConsoleResponse: Display: Can't switch to RHI thread mode when we are not running a multithreaded renderer.
satisfactory-server    | [2021.11.04-08.13.56:834][  0]LogConsoleResponse: Display: RHIThread is disabled.
satisfactory-server    | [2021.11.04-08.13.56:834][  0]LogInit: OnPostEngineInit has been broadcasted successfully.
satisfactory-server    | [2021.11.04-08.13.56:836][  0]LogInit: Display: Starting Game.
satisfactory-server    | [2021.11.04-08.13.56:836][  0]LogNet: Browse: /Game/FactoryGame/Map/DedicatedserverEntry?name=Host?sessionName=SatisfactoryServer?Visibility=SV_FriendsOnly?loadgame=savefile?listen?bUseIpSockets
satisfactory-server    | [2021.11.04-08.13.56:836][  0]LogLoad: LoadMap: /Game/FactoryGame/Map/DedicatedserverEntry?name=Host?sessionName=SatisfactoryServer?Visibility=SV_FriendsOnly?loadgame=savefile?listen?bUseIpSockets
satisfactory-server    | [2021.11.04-08.13.56:836][  0]LogWorld: BeginTearingDown for /Temp/Untitled_0
satisfactory-server    | [2021.11.04-08.13.56:837][  0]LogWorld: UWorld::CleanupWorld for Untitled, bSessionEnded=true, bCleanupResources=true

No problem!
I'm not sure if it's hanging or not. Are you able to see the server using the in-game server browser? You must be running the experimental build of the game.

Does the STEAMBETA variable need to be set to true?

Turns out restarting satisfactory a couple times sorted itself out. I changed port forward destinations around from testing deployment on a couple of different servers and connected to them from a domain in satisfactory. For some reason when changing these around, satisfactory wouldn't pick it up until after a restart. Thanks for taking a look into this, turns out it's a nonissue.


Please expose I2C Bus number and address

At present your library uses default values for both the I2C bus and the OLED I2C address. Sometimes this same module has a different addres (0x3d instead of 0x3c) and depending on the platform, it may be in a different I2C bus. For example in my RPI it is in I2C Bus #1 rather than the default (and immutable) bus #0.

Hey @lordofscripts ,
I have not worked on this project for quite a while. Please feel free to make a change and submit a pull request.


Missing language attribute

Add a lang attribute to the html element across the different pages.

Thanks for catching this! Would you like to submit a PR?

I'd be happy to deal with this issue to start with.

Sure, fine by me! Let me know if you have any issues with it.

Alright then, I've assigned you to the issue. :) When submitting a PR, please link it to this issue:
https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue

Pull request added


middleware Golang (Running Python Code)

Basic Test of where golang executes python code is completed.


Grouping adjacent hexes

Discussed in https://github.com/uber/h3/discussions/546

Originally posted by dipeshmr December  3, 2021
In h3-go there is a method called SetToLinkedGeo which returns LinkedGeoPolygon but i want GeoPolygon type so that i can pass it to polyfill method to get grouped adjacent hexes. It would be great if anyone can help me to convert LinkedGeoPolygon to GeoPolygon.

Hi @dipeshmr this question doesn't make too much sense to me?
If you take a set of hexagons, and then convert that into a LinkedGeoPolygon, then converted it into the other polygon type and ran polyfill on it, you'd get the original set of hexagons, you wouldn't get any adjacent hexagons.
It's true that they're different types and we have intended to eventually unify the two, but your desire to get adjacent hexes won't come out of this.
Why not just take each hexagon in your set, run kRing with a ring size of 1, and insert them into a new set (to remove duplicates)?


[NC | NSFS] add support for DMAPI xattr based GLACIER storage class

Explain the changes
This PR adds support expands the GLACIER storage class by automatically deriving the state of the object if config.NSFS_GLACIER_USE_DMAPI = true (not the default).
Testing Instructions:

./node_modules/.bin/mocha src/test/unit_tests/test_nsfs_glacier_backend.js

[ ] Doc added/updated
[x] Tests added

@tangledbytes still relevant?

@guymguym we still want this right?


ARC is not supported on versions of OS X prior to 10.6

This build error is produced by MASPreferences after a clean and a fresh pod update:
-fobjc-arc is not supported on versions of OS X prior to 10.6

I could build successfully only after manually setting the deployment target for it to 10.7.

Ah yes, we do need to fix how we set our deployment target. I forgot about this!

This doesn’t fix the issue for me. I still have to manually delete the MACOSX_DEPLOYMENT_TARGET = 10.5 for the MASPreferences Pods target.

I don't understand how you get this, as the Podfile already contains :
platform :osx, '10.8'

I know, but I think that is only used to produce warnings if you try to install a pod that isn't compatible with that version of OS X. It doesn't seem to help with the project setup.
I will try to look through cocoapods sources and see. I would like to look at moving to Carthage as cocoapods is getting too complicated.

OK so I remembered to look in to it:
The MASPreferences podspec file contains s.osx.deployment_target = "10.5".
According to https://guides.cocoapods.org/syntax/podspec.html#deployment_target that means it should work on OS X >= 10.5.
The problem is that because 10.5 doesn't have ARC but our project is configured to use it, we get that error. Hooray.

I'm closing this because it is an upstream issue from MASPreferences and will be fixed when they push 1.1.3 to cocoapods (which will be soon I think).


WeasyPrint implementation

That would be great to have a pdfkit implementation of WeasyPrint.
Are there other users of this engine?
http://weasyprint.org/
https://github.com/Kozea/WeasyPrint

Opening pdfkit up with an API would be great. Since wkhtmltopdf doesn't really work on ARM – neither does phantom.js – it would be great to have more options available. In this case slimer.js. There seems to be a Ruby wrapper for each of these renderers but they're all different and not easily replaced. One project to rule them all would be greatly appreciated and so far pdfkit does the best job :)


[terra-tabs] Selected tab name getting cut off while other unselected tabs are face up

Feature Request
Description
I am logging this as a feature request since I don't think it is an actual bug, but just something that can be slightly improved as a delighter.
We noticed that when we have multiple available tabs and the last tab is selected in the tiny viewport, if the tab label is relatively long, it will be shortened while other unselected tabs remain face up. We were thinking that ideally, the selected tab would be prioritized the highest to have its name fully visible if possible, and then the other unselected tabs would be hidden behind the dropdown as necessary.
If I collapse the view to a small enough size, I can make it so that the full tab name is visible once the other unselected tabs are hidden.
Additional Context / Screenshots

Closing per my comment above.


Jim continue

Changes

Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[ ] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[ ] Commit messages follow commit message best practices

See the contribution guide for more details.
Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS.
Release Notes
Describe any user facing changes here, or delete this block.

Examples of user facing changes:
- API changes
- Bug fixes
- Any changes in behavior

/retest

/test ?

/lgtm

/test ?

/test all

/lgtm

/lgtm

/approve

/merge


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative-sandbox/networking-wg-leads
/assign knative-sandbox/networking-wg-leads
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping knative.dev/pkg d02dcd0...4a03844:
  > 4a03844 fix double close of channel (# 2575)
  > f78a006 upgrade to latest dependencies (# 2573)
bumping knative.dev/networking 50ab590...e51df7c:
  > e51df7c upgrade to latest dependencies (# 703)
  > cb90216 upgrade to latest dependencies (# 702)
bumping knative.dev/control-protocol 75cf857...f18dbde:
  > f18dbde upgrade to latest dependencies (# 205)
  > 4dcc992 upgrade to latest dependencies (# 200)
  > b90407f Update actions (# 202)
  > 75e0629 Update community files (# 201)
  > 22f4855 bump go1.18 (# 203)

/lgtm
/approve
/retest


Fix bad host.

Looks good to me.

Thanks for fixing!
@aG0aep6G seems like we really need to get rid of all these macros a la WEB/HTTP/HTTPS, ...
How about:
sed 's/(HTTPS /(LINK2 https:\/\//' -i **/*.d
sed 's/(HTTP /(LINK2 http:\/\//' -i **/*.d
sed 's/(WEB /(LINK2 http:\/\//' -i **/*.d

... and they are all gone?

Sorry, misclicked :)

How about:
sed 's/(HTTPS /(LINK2 https:///' -i **/.d
sed 's/(HTTP /(LINK2 http:///' -i **/.d
sed 's/(WEB /(LINK2 http:///' -i **/*.d
... and they are all gone?

Sure. Need to do phobos, druntime, and dmd as well. Also look for cases where the macro name is at the end of a line. Though they would probably make broken links. In any case, when done, check with a simpler grep (e.g. grep -r HTTPS) that you got everything. And make sure that latex.ddoc or some such don't do anything funky with the macros.
Myself, I'd like to finish the XREF thing before I start the next sed adventure.


Divide a link into plain text + link

On the onboarding page, we should only link "Help with your poster" (in French: "Aide pour votre affiche").
reference in Figma: https://www.figma.com/file/0CvVmmVb0EhnCmChzel70P/QR-Code-Registration-Website?node-id=1138%3A2
Currently all the text is linked:

The changes for this issue were merged


[Question] Proxy to a pathRewrite with params

I would like to catch this POST to: http://old.url/method/[my_param] proxied to http://new.url/method/[my_param]
my_param is an username and constantly changes. I would like to catch johndoe from /dispatch/eyes/businessTypes/johndoe and to call /api/businesstypes/johndoe instead
My code:
const pathRewrite: {
    '^/dispatch/eyes/businessTypes': '/api/businesstypes'
}
const filter = (pathname, req) => {
    return (pathname.match('^/dispatch'));
}

gulp.task("start-browsersynch", () => {
    return browserSync.init({
        port: 9000,
        startPath: "app/index.jsp",
        server: {
          baseDir: "./",
          middleware: [
            proxy(filter, {
              target: 'http://<IP_ADDRESS>:3000/', // new API by StrongLoop LoopBack
              pathRewrite: pathRewrite,
              changeOrigin: true
            }),
            proxy(['**'], {
              target: 'http://<IP_ADDRESS>:7001/', // default Java server
              changeOrigin: true
          })]
        },
    });
});

Not sure what you question is. Think your configuration look o.k.

I will close this for now as I achieved the result in a different way

what different way


Version and .deb

Hi,
On one of your user demand,
I've added the ov .deb file into my repository https://packages.azlux.fr/
The issue is the .deb have the version 1:XXXX instead of the good version from the github release.
root@packages:~$ dpkg-deb -I ov_0.36.0-1_amd64.deb
 new Debian package, version 2.0.
 size 6664752 bytes: control archive=370 bytes.
       1 bytes,     0 lines      conffiles
     238 bytes,     9 lines      control
      47 bytes,     1 lines      md5sums
 Package: ov
 Version: 1:0.36.0
 Section:
 Priority: optional
 Architecture: amd64
 Maintainer: Noboru Saito<EMAIL_ADDRESS> Installed-Size: 12078
 Homepage: https://github.com/noborus/ov
 Description: ov is a feature rich terminal pager.

To have a good consistency, the version number should be the exact same as the release one.
Best regards
Azlux

Thanks for the issue.
I think #637 will fix it.
Please let me know if you have any problems.


Add formal definition of  workloads

Adding the formal definition of  workloads
fixes #11285

/hold
/assign

@RA489 What do you think of @Bradamant3 's suggestions? We appreciate the contribution and definitely want to include it!

@zparnold sure, i will include it

@Bradamant3 @zparnold updated as per suggestion. PTAL

@Bradamant3 could you please take a look at the updates made to this PR.

@zparnold @Bradamant3 could you please review this PR.

@Bradamant3 thanks for the review.

@Bradamant3 PTAL.

/hold cancel

/lgtm
/approve


Update to syn 2.0

Update sov-modules-macros to use the latest major syn version (2.0 at the time of writing) instead of 1.0.
Dependabot PR for context: https://github.com/Sovereign-Labs/sovereign-sdk/pull/533.

Unassigned myself because the API changed quite a bit and it's taking some effort to figure out how things work in 2.0. It's not urgent enough as of now.


List local directory, return file info as DataFrame

No human available for review. I therefore ask ChatGPT with below prompts ...
>  Review this python unit and the corresponding unit test:
[attachments: list_directory.py, test_list_directory.py]

> Please provide your review as downloadable markdown file for inclusion as comment into a GitHub pull request.

[Review by CHatGPT]
Code Review for list_directory.py
Overview
The list_directory function is designed to efficiently list files and directories within a specified directory, providing detailed attributes like file size and modification times. It offers configurable options to search recursively, exclude directories, and include hidden files.
Code Analysis

Directory Validation: Transforms the input into a Path object, verifying both existence and directory status.
File Selection: Allows for recursive or flat listing, with optional filtering to exclude directories or include hidden files.
Attribute Collection: Collects comprehensive attributes for each item, assembling these into a DataFrame for easy manipulation.
Error Management: Effectively handles errors, raising FileNotFoundError with informative messages when appropriate.

Suggestions

Performance Considerations: For large directories or deep recursive searches, performance could degrade, particularly when collecting extensive attributes. Consider profiling the function under these conditions and exploring optimization opportunities.
Error Message Clarity: Current error messages are informative. Ensure they align with common user expectations and provide actionable guidance.

Unit Tests Review for test_list_directory.py
Test Suite Composition

Functional Coverage: Tests include checks for both recursive and non-recursive listings, with variations for excluding directories and handling hidden files.
Edge Case Handling:

Checks behavior when the directory does not exist.
Verifies correct handling of an empty directory.
Ensures proper inclusion or exclusion of hidden files based on parameters.

Testing Strategy

Fixture Usage: Leverages pytest fixtures to construct a mock directory structure, isolating tests from the system's actual filesystem.
Assertions: Utilizes assert statements effectively to validate expected outcomes, such as set comparisons for file listings and properties checks on the resultant DataFrame.

Recommendations

Test Coverage Expansion: Consider adding tests for more complex directory structures or symbolic links if relevant.
Robustness Enhancements: Evaluate the handling of special characters or unusual filenames to ensure robustness across different environments and file systems.

Conclusion
The code and its corresponding tests are well-structured and provide a comprehensive approach to directory listing with robust configurability. Both the function and tests are well-prepared for integration, pending consideration of the suggested improvements for optimization and expanded coverage.


nixos/cmt: Update error message when enabling cmt and plasma5

Updated error message for the assertion failure when enabling both cmt and plasma5. Fixes https://github.com/NixOS/nixpkgs/issues/69282

Motivation for this change
Clearer error message for the user
Things done
Updated the error message on assertion failure when enabling libinput in cmt.nix

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

Updated the PR to include clearer error message rather than disabling libinput in cmt.nix


New release

Support VULN integration
Small fixes

@slashben I reverted the opa pkg since I did not manage to run the unitest with the new version

@slashben I reverted the opa pkg since I did not manage to run the unitest with the new version
@rotemamsa Please do not merge until @slashben approves the dependency revert.

@dwertent  What is the decision at the end? Also, I don't think that @xdavidel sees notifications

@slashben I reverted the opa pkg since I did not manage to run the unitest with the new version
@rotemamsa Please do not merge until @slashben approves the dependency revert.

@dwertent What is the decision at the end? Also, I don't think that @xdavidel sees notifications

I need to push the new controls name requested by @leonidsandler.
Wondering if we should also change the file names as well.

@slashben I fixed the dependencies issues and updated the package to latest


chore(transform_conformance): skip transform-destructuring

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#3136  👈
#3135
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Boshen and the rest of your teammates on  Graphite

Merge activity

Apr 29, 12:08 PM EDT: Graphite rebased this pull request after merging its parent, because this pull request is set to merge when ready.


Make single primary key column virtual

Use case:
Faster insert performance and lower disk space requirements
Feature description:
Currently with a table like
create table tbl (
  id text primary key,
  x int
)

The value for id is stored twice:
cr> select *, _id, _raw from tbl;
+----+----+-----+-------------------+
| id |  x | _id | _raw              |
+----+----+-----+-------------------+
| 1  | 10 | 1   | {"x":10,"id":"1"} |
+----+----+-----+-------------------+

The "id": "1" payload in _raw could be skipped by making a single primary key column virtual and have it link to _id.
Relates to https://github.com/crate/crate/issues/9810 and https://github.com/crate/crate/issues/10370

Dependant on https://github.com/crate/crate/issues/15548:
If we still expose _raw by constructing it from available data sources, it can become an implementation detail of smth like ColumnValueResolver(columnName) with _id implementation always accessing _id field for single column PK.

As this was asked in chat:
This isn't really relevant for partitioned tables. On partitioned tables, a partitioned column must always be part of the primary key definition. Defining a partitioned table where the primary key is equal to the partitioned column would result in one partition per primary key value which isn't a usual nor recommended use case. In this case the primary key (and partition column) value is also stored twice, in the _id column and encoded into the internal partition name. This could be optimized in theory but I don't see it worth the effort as it isn't a common nor recommended scenario.

I think this is at least partially fixed now that we no longer store _source?  The ID field is written as a separate stored field but not anywhere else.

The ID field is written as a separate stored field but not anywhere else.

We could avoid even that if it is a single primary key and use the _id data instead.

We could avoid even that if it is a single primary key and use the _id data instead.

+1. We could also add an option to not store the _id if there is no primary key defined on a table (which would mean that accessing _id at runtime would result in an exception of some kind).


Add explanation for 'Current class' cleanup range

In #42 I found the wording of 'Current class' confusing, so I'd like to propose adding an explanation to the documentation.

Hi ConjuringCoffee,
excellent, first ever open source pull request on ABAP cleaner! (Apart from the PRs from those who initiated the project)
Kind regards,
Jörg-Michael


Cannot add Sapling Zcash address

Keybase does not let my add my sapling z_address. I can only use t_addresses and sprout z_addresses.

We are working on it
On Mon, Oct 29, 2018 at 1:38 AM Soham3-1415<EMAIL_ADDRESS>wrote:

Keybase does not let my add my sapling z_address. I can only use
t_addresses and sprout z_addresses.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/issues/14453, or mute the thread
https://github.com/notifications/unsubscribe-auth/AOXH39D1Lagdh0Afn19xeT-87FCEcBcPks5uppRFgaJpZM4X-foV
.

dupe see #14364

Oh. My bad. I forgot to search for duplicated.


Update message_users.py

Can now send messages to medialikers of a particular page

Codecov Report

Merging #487 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #487   +/-   ##
=======================================
  Coverage   42.16%   42.16%
=======================================
  Files          28       28
  Lines        2111     2111
=======================================
  Hits          890      890
  Misses       1221     1221

Continue to review full report at Codecov.

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

Good job! Thank you!