Become part of Docker stdlib / the official Docker image: _/tusd

I think it would increase confidence and hence re-usability if our docker image were to become part of the Docker standard library. For reference, here's the guide with the requirements.
At first glance, it seems we'd be a good candidate already, and that it would not take much more than a few tweaks, a PR, and (this weighs heavier) commitment to provide security updates and respond to community feedback in a timely manner.
I believe the way the Docker image is now built is fully automatic tho, and so it would be as easy as making changes to the Dockerfile in master, correct?
If so, I for one would not mind taking that responsibility on me. I wanted to invite some discussion here first tho and see if there are things I'm overlooking and if there are maybe other volunteers, before taking this plunge.
/cc @Acconut @tersmitten @trickkiste
Refs: #127 #129

Sound like a good idea to me, thank you for looking into this :+1: Could you explain how exact it would work, if we would join the stdlib (or whatever it's called)? It seems as if a new docker-library/tusd repository is needed which hosts the Dockerfiles. How do we ensure that this repository is updated? Could this be automated?

good point, I guess there's three ways:

we move the Dockerfile there, so there's one source of truth (and perhaps keep a local Dockerfile in a .infra dir just for experimentation around)
we maintain it here and automate a sync (but i don't suppose Docker will like having bots push to their repo)
we maintain it here and sync changes manually

I think 1. is probably best/easiest?

Count me in on supporting the effort. I have created the initial Dockerfile and had this in mind also. Business got my attention drained from the effort till now.
@Acconut did you guys create a tusio organisation on your own in the meantime? I have registered the name "tusio" there, but have not gotten further due to lack of time. However, since I am working on the tusd part of our project again, I will finish the process now.
Could you confirm, that my build process is correct. Because I am unable to get tusd to resume my uploads (through an NGINX reverse-proxy) but am having no problem to do so with master.tus.io with the exact same client setup.
Maybe I have not compiled some plugins ...?

@trickkiste we're using https://hub.docker.com/r/tusproject/tusd/ now.
I doubt that has to do with your build, more likely an Nginx config that's slightly off? Seeing any errors? Preferably paste them into a new issue to keep this thread clean-ish.

@kvz I added you to the owners team of the "tusio" Docker organisation, in case you prefer this name. I do not have any usernames of other core team members like @Acconut.
Would you care to add me to the Docker team on "tusproject"? I would like to collaborate on any efforts surrounding Docker.

Please add me to the "tusproject/tusd" Docker team. I would like to take care of having all tagged tusd versions available as Docker images.

I would like to take care of having all tagged tusd versions available as Docker images.

Very much appreciated, what's your username or email?

Docker Hub
user: zitabel
email<EMAIL_ADDRESS>Github
user: trickkiste
email<EMAIL_ADDRESS>Please add me to the tusd organisation on Github as well, so I can hook up my own Docker builds to that repo as well! Read access is sufficient, as long as Third-party application access policy is set to No restrictions. Otherwise my Docker account will not see the repo.

I don't seem to be able to do anything on that Docker repo. Probably would need to be in the owners team to work on the build settings, trigger builds, etc.

Once things are settled here @trickkiste, i think you should be the lead in this, since you are obviously more experienced than I am. If at any point you feel you don't have the time/interest anymore to maintain that position, just let me know and I'll try to step up. How does that sound?

@kvz, I accept. I will see, that I get tusd accepted. For ongoing maintenance, I would certainly appreciate assistance though!

Very well! We have a big stake in that so happy to assist where needed, just ping!

@kvz can you please fork this to tus github organisation and give me admin/owner access to the repo: https://github.com/docker-library/official-images
My github user is trickkiste.

It's done! 👌👍
Sent from mobile, pardon the brevity.

On 16 Jul 2017, at 20:35, DI FH Markus Kienast<EMAIL_ADDRESS>wrote:
trickkiste

Hi @trickkiste I was wondering what the next steps are for getting _/tusd off the ground? I know you're busy so perhaps our crew can take a few of your plate?

@trickkiste don't want to be rude but if you could just let us know where you left off and what's still to do, i'd like to continue this one! :)

Hi @trickkiste and @kvz, any update on this? I'd like to help as well!
@kvz If ok, I'll send you a pr for adding the current Dockerfile to the official-images clone. But could you please update the fork before I'm starting to work on it? Is it possible to join directly in the group for tus or should I fork on my organization and send a pr from there?
Best regards,
Thomas

@thirsch Unfortunately, there have been no updates since the latest message from @kvz. However, we are still very much interested in continuing with this journey, so I recreated the fork at https://github.com/tus/official-images to be up-to-date and also provided you with write access. Is there anything else we can help you with?

@Acconut thanks! Yes, there is something else. Could you please fork https://github.com/docker-library/docs as well and grant write access to me? We have to supply a doc along with the PR for the image refs.
As we have to keep the Dockerfile somewhere on our own repo, shall we go for a separate repo with only the Dockerfiles or a directory structure like docker/{platform}/Dockerfile for example, in this repo, where platform is alpine at the moment?

Could you please fork https://github.com/docker-library/docs as well and grant write access to me?

Sure, consider it done.

As we have to keep the Dockerfile somewhere on our own repo, shall we go for a separate repo with only the Dockerfiles or a directory structure like docker/{platform}/Dockerfile for example, in this repo, where platform is alpine at the moment?

I would prefer to keep them inside the tusd repository, so we when make changes to the tusd setup, we can also directly change the corresponding Dockerfile. One question though since I am not as experienced in Docker: Do we need multiple Dockerfiles? What would other platforms be and why would people choose another platform?

@thirsch very happy to see you taking charge of this :heart_eyes:

Could you please fork https://github.com/docker-library/docs as well and grant write access to me?

Sure, consider it done.

Thanks!

As we have to keep the Dockerfile somewhere on our own repo, shall we go for a separate repo with only the Dockerfiles or a directory structure like docker/{platform}/Dockerfile for example, in this repo, where platform is alpine at the moment?

I would prefer to keep them inside the tusd repository, so we when make changes to the tusd setup, we can also directly change the corresponding Dockerfile. One question though since I am not as experienced in Docker: Do we need multiple Dockerfiles? What would other platforms be and why would people choose another platform?

A common thing in docker is to choose whether to use alpine or debian as your base image. Most official images provide for example debian-stretch and alpine based images. But there could also be a ubuntu or another debian based version.
Let's start with the existing Dockerfile based on Alpine and get the image online at the official images repo. We can change the structure later as well.

Sounds like a good plan :+1:

@Acconut @kvz I've prepared the required files. Could one of you please review my changes before we create the pr? Unfortunately, the provided toolchain for generating the final README.md for Docker Hub does only work after the first version has been merged back to the official repo.
https://github.com/tus/official-images/blob/master/library/tusd
This file contains the references for building the images and listing the tags. I started with version 0.13.1 (aliased with tags 0.13 and latest). In the next couple of days I'll send you a pr for the tusd main repo to incorporate a bash script to generate the library-file automatically based on the git tags.
https://github.com/tus/docs/tree/add-tusd-to-hub/tusd
Within this folder all relevant parts for assembling the overview (docs) page for Docker Hub are provided. The above mentioned toolchain will produce a README.md based on this files.
It's not much to read, as I'd suggest to start small and add new things and features from time to time.
Well, maybe we have to change our Dockerfile according to https://github.com/tus/official-images#user-content-consistency, but as we're basically not providing a shell, it might be ok.
We have to send both pr's close together to the official-images repos.

Hi, I think this all looks really good, thank you! One thing I'd ask is for the docs repo to be called official-image-docs or similar, to group it with the other docker-required repo. Is that possible?

Hi, sure, I did the same with my local clone. As I don't have enough permissions, you have to do it. Should I create the pr's back to the official repo or do you want to do it?

Okay, renamed here: https://github.com/tus/official-images-docs
But i apologize I'm not sure what you mean by:

Should I create the pr's back to the official repo or do you want to do it?

But i apologize I'm not sure what you mean by:

Should I create the pr's back to the official repo or do you want to do it?

Sorry for my unclear statement. I was talking about who should open the PRs to bring back the changes from our forks to the upstream for both repos, official-images and docs.

First of all, I would like to apologize for the delay on my side. The last week was quite busy.

Could one of you please review my changes before we create the pr?

I had a look at the linked files and they all look fine, although I have to admit that my experience here is a bit limited :)

I was talking about who should open the PRs to bring back the changes from our forks to the upstream for both repos, official-images and docs.

It would likely be the easiest solution if you could open the PRs on your own. Or do you need additional permissions for this?

Thanks for your review, @Acconut! I just created the PRs and it looks like I've got sufficient permissions to do so. Let's see what the guys say to our request to add tusd to the official images list :-)

Perfect! Just for reference, those are the two PRs, aren't they?
https://github.com/docker-library/docs/pull/1523
https://github.com/docker-library/official-images/pull/6240

Hi @Acconut, we got the first feedback on our PR from the official-images maintainers. Please head over and have a look at the comments from @tianon.
Basically they say, we shouldn't build tusd during the Docker build as this will bloat up the build context and they don't need/want any diffs from the sources. He did a lot of work to show an example on to illustrate a new Dockerfile in his comment.
What do you think about? Should I change the Dockerfile to the new process?

Hey @Acconut, @kvz - We've got a ping from Tianon. I've been busy with other projects, sorry.
I've created another Dockerfile that would comply to the requirements. A few points are not handled within the file:

It's based on buster-slim and not alpine as our binaries here can't be used without modifying the build command.
The version is fixed to 1.2.0 and we would need some script or workflow to have new Dockerfiles for new version.
Same for the hash. I've manually created the hash for the current release 1.2.0 but this should be someone automated in the release workflow.

I'm asking Tianon over there, if it would be sufficient to start with this and come up with further optimisation later.
We should think about putting the official docker related stuff in a new repository as we first need to prepare a release here to have binaries and the download-page updated with the latest version to be able to get the docker image built. But then the Dockerfile is not in the same commit/tag and it might be confusing if the docker version (e. g.) 1.2.0 is not in the tag of the source 1.2.0.
Whats do you think about the open points?

Hi @thirsch, no worries, I am glad that you still find the time :)

I'm asking Tianon over there, if it would be sufficient to start with this and come up with further optimisation later.

That would be a good approach, I believe.

We should think about putting the official docker related stuff in a new repository as we first need to prepare a release here to have binaries and the download-page updated with the latest version to be able to get the docker image built.

I am not sure if a separate repository is needed. The releases of tusd are done automated in GitHub Actions (https://github.com/tus/tusd/blob/master/.github/workflows/main.yml#L40-L46). So after these lines are executed, the packed archives should be available on the download pages and the docker image can be built. Would that help with keeping the Dockerfile inside this repository?

Hi @thePanz, hope you are all well! I have also been quite busy in the meantime!

As I understand it, we must produce the binary as a release version and afterwards update the Dockerfile to contain the hash for the verification step?

Seems so, yes. This makes this matter much more complex though.

Is it possible to not only publish a release, but also commit a new Dockerfile within GitHub Actions? I've not done much with GitHub Actions so far, sorry for the question.

Yes, that should be possible. We can modify files in the workspace during GitHub Actions is running and then use an action like https://github.com/marketplace/actions/add-commit to commit the changes. Of course, we than have to make sure that this commit is then only used for producing the Docker image, if I understand this correctly.


Structure Project for setuptools and Expand Backwards Compatability

This PR restructures the genomics-benchmarks project for setuptools, which will allow the tool to be packaged and distributed on PyPI. Additionally, the genomics-benchmark executable and package names have been updated to match the GitHub repository name: genomics-benchmarks. Backwards compatibility has also been improved, and the package should now support Python versions 2.7, 3.4, 3.5, and 3.6.
The method for generating a default generation file has been updated so that it will work properly whether running genomics-benchmarks from the source code or when installed as a package from pip.
Unit tests for config.py have also been updated to point to the new default configuration file path. This path changed due to placing the default config file in the package directory, so that it will be included with the package.
This PR resolves #12 and resolves #22.

@ebegoli @alimanfoo
With this PR, I currently have the package name for PyPI set as "genomics-benchmarks" to match the GitHub repository name. I also changed the entry point script from "genomics-benchmark" to "genomics-benchmarks." However, the README file states that the package name and executable name will be "genomics-benchmark."
I have two questions:
(1) Should the entry-point script be called genomics-benchmark or genomics-benchmarks?
(2) Will the PyPI package be named as genomics-benchmark or genomics-benchmarks?
Here is what the README file currently says:

Eric,
You change it to what makes sense in terms of consistency and following the
general best practices.
What we did so far was an effort to just get started, with high likelihood
that we missed or misrepresented something.
Thank you,
Edmon
On Sun, Sep 30, 2018 at 8:37 PM Eric Auel<EMAIL_ADDRESS>wrote:

@ebegoli https://github.com/ebegoli @alimanfoo
https://github.com/alimanfoo
With this PR, I currently have the package name for PyPI set as
"genomics-benchmarks" to match the GitHub repository name. I also changed
the entry point script from "genomics-benchmark" to "genomics-benchmarks."
However, the README file states that the package name and executable name
will be "genomics-benchmark."
I have two questions:
(1) Should the entry-point script be called genomics-benchmark or
genomics-benchmarks?
(2) Will the PyPI package be named as genomics-benchmark or
genomics-benchmarks?
Here is what the README file currently says:
[image: image]
https://user-images.githubusercontent.com/12630368/46264952-ebf91e80-c4ef-11e8-99d8-6f76d1b85050.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ornl-oxford/genomics-benchmarks/pull/30#issuecomment-425764354,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABc5RlZHA_8gw1XysISNJgdnutVzZbdAks5ugWPVgaJpZM4XAvRZ
.

Thanks Edmon, I will change the package name and executable name to genomics-benchmarks for consistency with the repository's name.
-Eric

Updated to allow for backwards compatibility for older versions of Python.
Ready for merge.


numba.cuda.cudadrv.error.NvvmError: Failed to compile

Thank you for your outstanding work！
My Environment
`fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
sys.platform: linux
Python: 3.7.10 (default, Feb 26 2021, 18:47:35) [GCC 7.3.0]
CUDA available: True
GPU 0,1: GeForce RTX 3090
CUDA_HOME: /usr/local/cuda-11.2
NVCC: Build cuda_11.2.r11.2/compiler.29558016_0
GCC: gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
PyTorch: 1.7.1+cu110
PyTorch compiling details: PyTorch built with:

GCC 7.3
C++ Version: 201402
Intel(R) Math Kernel Library Version 2020.0.0 Product Build 20191122 for Intel(R) 64 architecture applications
Intel(R) MKL-DNN v1.6.0 (Git Hash 5ef631a030a6f73131c77892041042805a06064f)
OpenMP 201511 (a.k.a. OpenMP 4.5)
NNPACK is enabled
CPU capability usage: AVX2
CUDA Runtime 11.0
NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80
CuDNN 8.0.5
Magma 2.5.2
Build settings: BLAS=MKL, BUILD_TYPE=Release, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DUSE_VULKAN_WRAPPER -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, USE_CUDA=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON,

TorchVision: 0.8.2+cu110
OpenCV: 4.5.1
MMCV: 1.2.7
MMCV Compiler: GCC 7.5
MMCV CUDA Compiler: 11.2
MMDetection: 2.10.0
MMDetection3D: 0.12.0+
**The command I run**python tools/train.py configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py`
Describe the bug.
"Import Error in mmdet3d.models.builder", I downgrade mmdet to 2.10.0 and downgrade mmcv to 1.2.7 to solve it.
When I start to train, the training looks good. After a while, there is a new error.
`2021-05-01 15:46:44,930 - mmdet - INFO - Saving checkpoint at 2 epochs
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 3769/3769, 47.5 task/s, elapsed: 79s, ETA:     0s
Converting prediction to KITTI format
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 3769/3769, 451.3 task/s, elapsed: 8s, ETA:     0s
Result is saved to /tmp/tmp13fakuid/results.pkl.
Traceback (most recent call last):
File "tools/train.py", line 212, in
main()
File "tools/train.py", line 208, in main
meta=meta)
File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/mmdet/apis/train.py", line 170, in train_detector
runner.run(data_loaders, cfg.workflow)
File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 125, in run
epoch_runner(data_loaders[i], **kwargs)
File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 54, in train
self.call_hook('after_train_epoch')
File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/mmcv/runner/base_runner.py", line 308, in call_hook
getattr(hook, fn_name)(self)
File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/mmdet/core/evaluation/eval_hooks.py", line 147, in after_train_epoch
key_score = self.evaluate(runner, results)
File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/mmdet/core/evaluation/eval_hooks.py", line 177, in evaluate
results, logger=runner.logger, **self.eval_kwargs)
File "/home/qf/mm/mmdetection3d/mmdet3d/datasets/kitti_dataset.py", line 355, in evaluate
self.CLASSES)
File "/home/qf/mm/mmdetection3d/mmdet3d/core/evaluation/kitti_utils/eval.py", line 707, in kitti_eval
eval_types)
File "/home/qf/mm/mmdetection3d/mmdet3d/core/evaluation/kitti_utils/eval.py", line 613, in do_eval
min_overlaps)
File "/home/qf/mm/mmdetection3d/mmdet3d/core/evaluation/kitti_utils/eval.py", line 479, in eval_class
rets = calculate_iou_partly(dt_annos, gt_annos, metric, num_parts)
File "/home/qf/mm/mmdetection3d/mmdet3d/core/evaluation/kitti_utils/eval.py", line 382, in calculate_iou_partly
dt_boxes).astype(np.float64)
File "/home/qf/mm/mmdetection3d/mmdet3d/core/evaluation/kitti_utils/eval.py", line 116, in bev_box_overlap
from .rotate_iou import rotate_iou_gpu_eval
File "/home/qf/mm/mmdetection3d/mmdet3d/core/evaluation/kitti_utils/rotate_iou.py", line 292, in
criterion=-1):
File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/decorators.py", line 101, in kernel_jit
kernel.bind()
File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/compiler.py", line 548, in bind
self._func.get()
File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/compiler.py", line 426, in get
ptx = self.ptx.get()
File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/compiler.py", line 397, in get
**self._extra_options)
File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/cudadrv/nvvm.py", line 496, in llvm_to_ptx
ptx = cu.compile(**opts)
File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/cudadrv/nvvm.py", line 233, in compile
self._try_error(err, 'Failed to compile\n')
File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/cudadrv/nvvm.py", line 251, in _try_error
self.driver.check_error(err, "%s\n%s" % (msg, self.get_log()))
File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/cudadrv/nvvm.py", line 141, in check_error
raise exc
numba.cuda.cudadrv.error.NvvmError: Failed to compile
 (66, 23): parse expected comma after load's type
NVVM_ERROR_COMPILATION
`

It seems the error is caused by
File "/home/qf/mm/mmdetection3d/mmdet3d/core/evaluation/kitti_utils/eval.py", line 116, in bev_box_overlap
from .rotate_iou import rotate_iou_gpu_eval

What's your numba version? Maybe you can try with numba 0.48.0?

It's very strange, the version of numba is 0.48.0.

Can you directly import the module in the interactive session of python?

Yes, I can't import rotate_iou_gpu_eval in the interactive session of python. How can I check my compilation process？

Is it an error caused by my version reduction？

I am not sure whether they are directly related but if you downgrade mmcv and mmdet, I would recommend you delete the build folder and recompile mmdet3d.

I have tried, but it doesn't work. Do you have any environment configuration for cuda11.2？

I have not tried using MMDet3D on cuda11.2. It seems that your NVCC version is not the same as your torch's cuda version and the CUDA runtime version, which could probably cause the compilation error. I think you can try compiling torch, mmcv, mmdet and mmdet3d all from source because this will ensure the environment consistency?

I experienced similar issue with CUDA 11.2 days ago. It was resolved by using cuda 11.0 instead.

Maybe simply numba 0.48.0 does not fully support CUDA 11.2. You may refer to the changelog of numba here.

I have tried using MMDet3D on cuda 11.2, which causes the above error... There i have followed suggestions and i have experienced as bellow
Successfully uninstalled numba-0.50.1
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
mmdet3d 0.18.0 requires numba==0.48.0, but you have numba 0.53.0 which is incompatible.
Note: To solve this issue, It might resolved by using cuda 11.0 and less than 11.0 instead.

Thank you for your outstanding work！ My Environment
`fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). sys.platform: linux Python: 3.7.10 (default, Feb 26 2021, 18:47:35) [GCC 7.3.0] CUDA available: True GPU 0,1: GeForce RTX 3090 CUDA_HOME: /usr/local/cuda-11.2 NVCC: Build cuda_11.2.r11.2/compiler.29558016_0 GCC: gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 PyTorch: 1.7.1+cu110 PyTorch compiling details: PyTorch built with:

GCC 7.3
C++ Version: 201402
Intel(R) Math Kernel Library Version 2020.0.0 Product Build 20191122 for Intel(R) 64 architecture applications
Intel(R) MKL-DNN v1.6.0 (Git Hash 5ef631a030a6f73131c77892041042805a06064f)
OpenMP 201511 (a.k.a. OpenMP 4.5)
NNPACK is enabled
CPU capability usage: AVX2
CUDA Runtime 11.0
NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80
CuDNN 8.0.5
Magma 2.5.2
Build settings: BLAS=MKL, BUILD_TYPE=Release, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DUSE_VULKAN_WRAPPER -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, USE_CUDA=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON,

TorchVision: 0.8.2+cu110 OpenCV: 4.5.1 MMCV: 1.2.7 MMCV Compiler: GCC 7.5 MMCV CUDA Compiler: 11.2 MMDetection: 2.10.0 MMDetection3D: 0.12.0+ **The command I run**python tools/train.py configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py`
Describe the bug. "Import Error in mmdet3d.models.builder", I downgrade mmdet to 2.10.0 and downgrade mmcv to 1.2.7 to solve it.  When I start to train, the training looks good. After a while, there is a new error. `2021-05-01 15:46:44,930 - mmdet - INFO - Saving checkpoint at 2 epochs [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 3769/3769, 47.5 task/s, elapsed: 79s, ETA: 0s Converting prediction to KITTI format [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 3769/3769, 451.3 task/s, elapsed: 8s, ETA: 0s Result is saved to /tmp/tmp13fakuid/results.pkl. Traceback (most recent call last): File "tools/train.py", line 212, in main() File "tools/train.py", line 208, in main meta=meta) File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/mmdet/apis/train.py", line 170, in train_detector runner.run(data_loaders, cfg.workflow) File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 125, in run epoch_runner(data_loaders[i], **kwargs) File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 54, in train self.call_hook('after_train_epoch') File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/mmcv/runner/base_runner.py", line 308, in call_hook getattr(hook, fn_name)(self) File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/mmdet/core/evaluation/eval_hooks.py", line 147, in after_train_epoch key_score = self.evaluate(runner, results) File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/mmdet/core/evaluation/eval_hooks.py", line 177, in evaluate results, logger=runner.logger, **self.eval_kwargs) File "/home/qf/mm/mmdetection3d/mmdet3d/datasets/kitti_dataset.py", line 355, in evaluate self.CLASSES) File "/home/qf/mm/mmdetection3d/mmdet3d/core/evaluation/kitti_utils/eval.py", line 707, in kitti_eval eval_types) File "/home/qf/mm/mmdetection3d/mmdet3d/core/evaluation/kitti_utils/eval.py", line 613, in do_eval min_overlaps) File "/home/qf/mm/mmdetection3d/mmdet3d/core/evaluation/kitti_utils/eval.py", line 479, in eval_class rets = calculate_iou_partly(dt_annos, gt_annos, metric, num_parts) File "/home/qf/mm/mmdetection3d/mmdet3d/core/evaluation/kitti_utils/eval.py", line 382, in calculate_iou_partly dt_boxes).astype(np.float64) File "/home/qf/mm/mmdetection3d/mmdet3d/core/evaluation/kitti_utils/eval.py", line 116, in bev_box_overlap from .rotate_iou import rotate_iou_gpu_eval File "/home/qf/mm/mmdetection3d/mmdet3d/core/evaluation/kitti_utils/rotate_iou.py", line 292, in criterion=-1): File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/decorators.py", line 101, in kernel_jit kernel.bind() File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/compiler.py", line 548, in bind self._func.get() File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/compiler.py", line 426, in get ptx = self.ptx.get() File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/compiler.py", line 397, in get **self._extra_options) File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/cudadrv/nvvm.py", line 496, in llvm_to_ptx ptx = cu.compile(**opts) File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/cudadrv/nvvm.py", line 233, in compile self._try_error(err, 'Failed to compile\n') File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/cudadrv/nvvm.py", line 251, in _try_error self.driver.check_error(err, "%s\n%s" % (msg, self.get_log())) File "/home/qf/conda/envs/open-mmlab/lib/python3.7/site-packages/numba/cuda/cudadrv/nvvm.py", line 141, in check_error raise exc numba.cuda.cudadrv.error.NvvmError: Failed to compile
(66, 23): parse expected comma after load's type NVVM_ERROR_COMPILATION `

Hi..... Have you resolved this issue?

I experienced this issue with CUDA 11.6. It was resolved by using cuda 11.1 instead.

cuda>=11.3
pip show numba
pip list --outdated --format=columns -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install --upgrade numba -i https://pypi.tuna.tsinghua.edu.cn/simple
ok！


Search button copy

We should update the search bar text from Search documentation to Search

can you assign to me?

and actually you can just
<input spellcheck="false" class="nx-block nx-w-full nx-appearance-none nx-rounded-lg nx-px-3 nx-py-2 nx-transition-colors nx-text-base nx-leading-tight md:nx-text-sm nx-bg-black/[.05] dark:nx-bg-gray-50/10 focus:nx-bg-white dark:focus:nx-bg-dark placeholder:nx-text-gray-500 dark:placeholder:nx-text-gray-400 contrast-more:nx-border contrast-more:nx-border-current" type="search" placeholder="Search documentation…" value="">
Change placeholder to
 placeholder="Search" value=""

@safe049  go ahead, you can refer to https://nextra.site/docs/docs-theme/theme-configuration there is a config to change the search placeholder

@safe049 let me know if you have already checked, I can handle this if you don't have time 🙏🏻

Ah i been busy a while,i got time now,i will handle it

glad it's already fixed,i been busy a while,sorry that i didn't reply you in time.


Backport PyCode_New fix for 0.29.x branch

This resolves #2938 for 0.29.x branch.
Note that some tests fail due to changes in 3.8 string encoding. I suggest that to be handled as a separate issue.

The fix for encoding tests in present in #2958.

Ah, sorry, I didn't mean to backport the feature itself to 0.29.x. New features only go into master right now. I only wanted to have the necessary compile fixes, with zero pos-only args.


<EMAIL_ADDRESS>hash check failed

Installing 'wise-disk-cleaner' (<IP_ADDRESS>8) [64bit] from naderi bucket
WDCFree_<IP_ADDRESS>8.zip (7,2 MB) [=============================================================================] 100%
Checking hash of WDCFree_<IP_ADDRESS>8.zip ... ERROR Hash check failed!
App:         naderi/wise-disk-cleaner
URL:         http://downloads.wisecleaner.com/soft/WDCFree_<IP_ADDRESS>8.zip
First bytes: 50 4B 03 04 14 00 00 00
Expected:    39349fbb61cb7a2dac31d320efb94bf928916875eec40fb96544fe35924cba12
Actual:      bac548b9380bf7580cac558c308f7f0da885c8739558ca249336afd8ad70c38f
Also didn't work in second try.

@reaseno Thank you for reporting!


feat: upgrade native sdk <IP_ADDRESS>.MINI.VIDEO

Update native sdk <IP_ADDRESS>.MINI.VIDEO dependencies

This pull request is trigger by bot, you can checkout this branch and update it.

Examples built:

This comment is commented by bot, do not edit it directly

Examples built:

https://download.agora.io/demo/test/agora_rtc_engine_android_6.1.1-sp.41113.mv_20230818033418.zip
https://download.agora.io/demo/test/agora_rtc_engine_ios_6.1.1-sp.41113.mv_20230818033735.zip
https://download.agora.io/demo/test/agora_rtc_engine_macos_6.1.1-sp.41113.mv_20230818033324.zip
https://download.agora.io/demo/test/agora_rtc_engine_windows_6.1.1-sp.41113.mv_20230818033019.zip

This comment is commented by bot, do not edit it directly


CodeGen generates scalar vector (vector<f32>) during vectorization

During code generation we often generate a scalar-vector type for constants. This is problematic as no arith operations
are valid on a scalar vector type, therefore if a casting operation is performed (e.g. arith.extf) it produces an illegal
operation.
We should either support scalar vector operations for arith operations (ultimately lowering to a standard scalar). Or
require all vector types be at least rank-1`.

As an intermediate fix we could include a pass to convert all vector<f32> to f32, with appropriate vector
broadcasting inserted.

If we want to preserve the vector semantics, we could generate vector<1xf32> and let the backends decide what to do with them (scalarize them). Scalarizing them in MLIR could be complicated as some ops are only defined in the vector world (e.g., vector.fma)

@qcolombet We may want someone to take a look at this. Can you triage?

@rsuderman Could you share a reproducer?
I'd like to see what the implications are.

require all vector types be at least rank-1`.

Although I like this goal, I believe this is not possible in practice. @dcaballe or @nicolasvasilache may know but I think it was like that before but then 0-D tensors (and thus vector) needed to appear for some operations.

@rsuderman is this a problem specific to IREE?
I am thinking that this issue would probably make more sense in the LLVM tracker, in particular if we decide that 0-D vectors are illegal.

Should be pretty trivial to extend all arith operations to work on 0-D vectors.
Without going into full details and tradeoffs I am not in favor to just dropping 0-D vectors.

Also, context: https://discourse.llvm.org/t/should-we-have-0-d-vectors/3097
0-d vectors have not been around from day 1 and support is still lacking in a few corners (e.g. arith).

This is probably something we want to discuss deeper before making any big investments in extending arith or other dialects. I don't think the initial discussion about 0-D vectors went deep enough into pros/cons, challenges, etc., and we now have much more context and expertise about the matter that may help us make a more informed decision.

Set as P2 for now to come back to when time permits.


windows-curses does not get installed alongside guildai on Windows

Hey there, been trying out guild for a bit and love it so far, thank you for the hard work.
I just want to report a minor bug that I think is related to #242 and #244. The solution right now is to do a pip install windows-curses, but I think removing this extra step for the user could help.
It seems like windows-curses still does not get installed alongside guildai on Windows. I've tested this on both WSL and Mac OS and it does not happen.
To Reproduce:

create new directory & virtualenv
activate virtualenv
pip install guildai
guild check to ensure guild is being run from the virtualenv
guild view raises the ModuleNotFoundError due to missing ncurses
pip list to check version of guildai (0.7.2)

C:\Users\khuynh\me\temp\test>virtualenv venv
created virtual environment CPython3.8.8.final.0-64 in 517ms
  creator CPython3Windows(dest=C:\Users\khuynh\me\temp\test\venv, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\khuynh\AppData\Local\pypa\virtualenv)
    added seed packages: pip==21.0.1, setuptools==52.0.0, wheel==0.36.2
  activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

C:\Users\khuynh\me\temp\test>venv\Scripts\activate

(venv) C:\Users\khuynh\me\temp\test>pip install guildai
Collecting guildai
  Using cached guildai-0.7.2-cp38-cp38-win_amd64.whl (6.6 MB)
Collecting Werkzeug>=0.15
  Using cached Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
Collecting requests>=2
  Using cached requests-2.25.1-py2.py3-none-any.whl (61 kB)
Collecting scikit-optimize>=0.7.1
  Using cached scikit_optimize-0.8.1-py2.py3-none-any.whl (101 kB)
Collecting scikit-learn>=0.19.1
  Using cached scikit_learn-0.24.1-cp38-cp38-win_amd64.whl (6.9 MB)
Collecting filelock>=3.0.12
  Using cached filelock-3.0.12-py3-none-any.whl (7.6 kB)
Requirement already satisfied: setuptools>=40.6.3 in c:\users\khuynh\me\temp\test\venv\lib\site-packages (from guildai) (52.0.0)
Collecting virtualenv>=15.1.0
  Using cached virtualenv-20.4.2-py2.py3-none-any.whl (7.2 MB)
Collecting click<8,>=7.1.2
  Using cached click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting chardet>=3.0.4
  Using cached chardet-4.0.0-py2.py3-none-any.whl (178 kB)
Collecting numpy>=1.16
  Using cached numpy-1.20.1-cp38-cp38-win_amd64.whl (13.7 MB)
Collecting six>=1.10.0
  Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting tabview>=1.4.3
  Using cached tabview-1.4.4-py3-none-any.whl (25 kB)
Collecting daemonize>=2.4.7
  Using cached daemonize-2.5.0-py2.py3-none-any.whl (5.2 kB)
Collecting jinja2>=2.10
  Using cached Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)
Collecting PyYAML>=2.12
  Using cached PyYAML-5.4.1-cp38-cp38-win_amd64.whl (213 kB)
Collecting Pillow>=5.0
  Using cached Pillow-8.1.1-cp38-cp38-win_amd64.whl (2.2 MB)
Collecting tensorboard>=2.0.0
  Using cached tensorboard-2.4.1-py3-none-any.whl (10.6 MB)
Collecting pkginfo
  Using cached pkginfo-1.7.0-py2.py3-none-any.whl (25 kB)
Collecting MarkupSafe>=0.23
  Using cached MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl (16 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
Collecting idna<3,>=2.5
  Using cached idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.3-py2.py3-none-any.whl (137 kB)
Collecting threadpoolctl>=2.0.0
  Using cached threadpoolctl-2.1.0-py3-none-any.whl (12 kB)
Collecting joblib>=0.11
  Using cached joblib-1.0.1-py3-none-any.whl (303 kB)
Collecting scipy>=0.19.1
  Using cached scipy-1.6.1-cp38-cp38-win_amd64.whl (32.7 MB)
Collecting pyaml>=16.9
  Using cached pyaml-20.4.0-py2.py3-none-any.whl (17 kB)
Collecting markdown>=2.6.8
  Using cached Markdown-3.3.4-py3-none-any.whl (97 kB)
Requirement already satisfied: wheel>=0.26 in c:\users\khuynh\me\temp\test\venv\lib\site-packages (from tensorboard>=2.0.0->guildai) (0.36.2)
Collecting absl-py>=0.4
  Using cached absl_py-0.11.0-py3-none-any.whl (127 kB)
Collecting grpcio>=1.24.3
  Using cached grpcio-1.36.1-cp38-cp38-win_amd64.whl (3.0 MB)
Collecting google-auth-oauthlib<0.5,>=0.4.1
  Using cached google_auth_oauthlib-0.4.3-py2.py3-none-any.whl (18 kB)
Collecting google-auth<2,>=1.6.3
  Using cached google_auth-1.27.1-py2.py3-none-any.whl (136 kB)
Collecting protobuf>=3.6.0
  Using cached protobuf-3.15.5-py2.py3-none-any.whl (173 kB)
Collecting tensorboard-plugin-wit>=1.6.0
  Using cached tensorboard_plugin_wit-1.8.0-py3-none-any.whl (781 kB)
Collecting cachetools<5.0,>=2.0.0
  Using cached cachetools-4.2.1-py3-none-any.whl (12 kB)
Collecting rsa<5,>=3.1.4
  Using cached rsa-4.7.2-py3-none-any.whl (34 kB)
Collecting pyasn1-modules>=0.2.1
  Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)
Collecting requests-oauthlib>=0.7.0
  Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)
Collecting pyasn1<0.5.0,>=0.4.6
  Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
Collecting oauthlib>=3.0.0
  Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)
Collecting distlib<1,>=0.3.1
  Using cached distlib-0.3.1-py2.py3-none-any.whl (335 kB)
Collecting appdirs<2,>=1.4.3
  Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Installing collected packages: urllib3, pyasn1, idna, chardet, certifi, six, rsa, requests, pyasn1-modules, oauthlib, numpy, cachetools, threadpoolctl, scipy, requests-oauthlib, PyYAML, joblib, google-auth, Werkzeug, tensorboard-plugin-wit, scikit-learn, pyaml, protobuf, MarkupSafe, markdown, grpcio, google-auth-oauthlib, filelock, distlib, appdirs, absl-py, virtualenv, tensorboard, tabview, scikit-optimize, pkginfo, Pillow, jinja2, daemonize, click, guildai
Successfully installed MarkupSafe-1.1.1 Pillow-8.1.1 PyYAML-5.4.1 Werkzeug-1.0.1 absl-py-0.11.0 appdirs-1.4.4 cachetools-4.2.1 certifi-2020.12.5 chardet-4.0.0 click-7.1.2 daemonize-2.5.0 distlib-0.3.1 filelock-3.0.12 google-auth-1.27.1 google-auth-oauthlib-0.4.3 grpcio-1.36.1 guildai-0.7.2 idna-2.10 jinja2-2.11.3 joblib-1.0.1 markdown-3.3.4 numpy-1.20.1 oauthlib-3.1.0 pkginfo-1.7.0 protobuf-3.15.5 pyaml-20.4.0 pyasn1-0.4.8 pyasn1-modules-0.2.8 requests-2.25.1 requests-oauthlib-1.3.0 rsa-4.7.2 scikit-learn-0.24.1 scikit-optimize-0.8.1 scipy-1.6.1 six-1.15.0 tabview-1.4.4 tensorboard-2.4.1 tensorboard-plugin-wit-1.8.0 threadpoolctl-2.1.0 urllib3-1.26.3 virtualenv-20.4.2

(venv) C:\Users\khuynh\me\temp\test>guild check
guild_version:             0.7.2
guild_install_location:    c:\users\khuynh\me\temp\test\venv\lib\site-packages\guild
guild_home:                C:\Users\khuynh\me\temp\test\venv\.guild
guild_resource_cache:      C:\Users\khuynh\me\temp\test\venv\.guild\cache\resources
installed_plugins:         config_flags, cpu, disk, exec_script, gpu, ipynb, keras, memory, perf, python_script, queue, skopt
python_version:            3.8.8 (tags/v3.8.8:024d805, Feb 19 2021, 13:18:16) [MSC v.1928 64 bit (AMD64)]
python_exe:                c:\users\khuynh\me\temp\test\venv\scripts\python.exe
platform:                  Windows 10 AMD64
psutil_version:            5.6.3
tensorboard_version:       2.4.1
cuda_version:              not installed
nvidia_smi_version:        not installed
latest_guild_version:      0.7.2

(venv) C:\Users\khuynh\me\temp\test>guild view
Traceback (most recent call last):
  File "c:\users\khuynh\appdata\local\programs\python\python38\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\users\khuynh\appdata\local\programs\python\python38\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\khuynh\me\temp\test\venv\Scripts\guild.exe\__main__.py", line 7, in <module>
  File "c:\users\khuynh\me\temp\test\venv\lib\site-packages\guild\main_bootstrap.py", line 40, in main
    _main()
  File "c:\users\khuynh\me\temp\test\venv\lib\site-packages\guild\main_bootstrap.py", line 66, in _main
    guild.main.main()
  File "c:\users\khuynh\me\temp\test\venv\lib\site-packages\guild\main.py", line 33, in main
    main_cmd.main(standalone_mode=False)
  File "c:\users\khuynh\me\temp\test\venv\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "c:\users\khuynh\me\temp\test\venv\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "c:\users\khuynh\me\temp\test\venv\lib\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "c:\users\khuynh\me\temp\test\venv\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\users\khuynh\me\temp\test\venv\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "c:\users\khuynh\me\temp\test\venv\lib\site-packages\guild\click_util.py", line 213, in fn
    return fn0(*(args + (Args(**kw),)))
  File "c:\users\khuynh\me\temp\test\venv\lib\site-packages\guild\commands\view.py", line 63, in view
    from . import view_impl
  File "c:\users\khuynh\me\temp\test\venv\lib\site-packages\guild\commands\view_impl.py", line 37, in <module>
    from . import compare_impl
  File "c:\users\khuynh\me\temp\test\venv\lib\site-packages\guild\commands\compare_impl.py", line 35, in <module>
    from guild import tabview
  File "c:\users\khuynh\me\temp\test\venv\lib\site-packages\guild\tabview.py", line 18, in <module>
    import curses
  File "c:\users\khuynh\appdata\local\programs\python\python38\lib\curses\__init__.py", line 13, in <module>
    from _curses import *
ModuleNotFoundError: No module named '_curses'

(venv) C:\Users\khuynh\me\temp\test>pip list
Package                Version
---------------------- ---------
absl-py                0.11.0
appdirs                1.4.4
cachetools             4.2.1
certifi                2020.12.5
chardet                4.0.0
click                  7.1.2
daemonize              2.5.0
distlib                0.3.1
filelock               3.0.12
google-auth            1.27.1
google-auth-oauthlib   0.4.3
grpcio                 1.36.1
guildai                0.7.2
idna                   2.10
Jinja2                 2.11.3
joblib                 1.0.1
Markdown               3.3.4
MarkupSafe             1.1.1
numpy                  1.20.1
oauthlib               3.1.0
Pillow                 8.1.1
pip                    21.0.1
pkginfo                1.7.0
protobuf               3.15.5
pyaml                  20.4.0
pyasn1                 0.4.8
pyasn1-modules         0.2.8
PyYAML                 5.4.1
requests               2.25.1
requests-oauthlib      1.3.0
rsa                    4.7.2
scikit-learn           0.24.1
scikit-optimize        0.8.1
scipy                  1.6.1
setuptools             52.0.0
six                    1.15.0
tabview                1.4.4
tensorboard            2.4.1
tensorboard-plugin-wit 1.8.0
threadpoolctl          2.1.0
urllib3                1.26.3
virtualenv             20.4.2
Werkzeug               1.0.1
wheel                  0.36.2

(venv) C:\Users\khuynh\me\temp\test>

Thank you for the excellent detailed report! I'm able to recreate this. Please look for a fix in the next release.

It looks like this was fixed in the packaging rework that @tekumara prompted in #249. You can verify that this work by installing the pre-release version of Guild using pip install --upgrade --pre guildai.

I'm going to close this for now. If there's a recurring issue with 0.7.3 we can reopen. Thanks again!

Thanks! I haven't had a chance to come back to this yet, I'll update if I do.


Extracting files into game folder does nothing?

Just downloaded v.0.7.8 and extracted into game the correct game folder, does not seem to work? Intro is still there. sprinting still has the blur effect.

Would you be able to copy and paste your MetaphorFix.ini? I've run into the same issue, but editing the fields in MetaphorFix doesn't seem to do anything for me.

Can you please take a screenshot of your game folder contents? Also if you have a MetaphorFix.log file, please upload that too.

Would you be able to copy and paste your MetaphorFix.ini? I've run into the same issue, but editing the fields in MetaphorFix doesn't seem to do anything for me.

what did you change specifically?

You guys need to download the latest version of the mod (here), not the master folder. And then edit the "MetaphorFix.ini" as you like.


Update minimum PHP version to 5.3.2

bin/validate-json uses stream_resolve_include_path() which is only available in PHP >= 5.3.2

We may as well bump it to 5.3.3

Bumped to 5.3.3 (note that this is the version used by RHEL 6 so hopefully min PHP version won't go beyond 5.3.3)

:-1: Composer depends on this package.

I'm fine with 5.3.2 but was requested to change it to 5.3.3.  Whichever the maintainers prefer I will make it so.

Rebased and repushed.

Re-based to current master and to reverted commits to original pull request of min PHP version of 5.3.2

:+1:

Also, composer itself depends on php 5.3.2+, so you literally can't install this package on php 5.3.0...

Could we get this merged?

+1


Allow to define rename fields in $filterFields

Currently, if we need to restrict fields and rename fields, we have to define both $availableFields and $renamedFields. It causes code duplication. We can avoid it with this feature.

@Lakshan-Madushanka Hi.
You are right. This may confuse developers. However if someone added a field to renamedFilterFields() in the controller he certainly want to allow using it.
I suggest we apply this feature only for renamedFilterFields() function and not for $renamedFilterFields variable in the model. this means adding a field to $renamedFilterFields in model will not allow it. but adding it through renamedFilterFields() will allow using it. Thoughts?

Hey @Lakshan-Madushanka.
Please inform me of your solution before applying it so we can discuss it. And remember in Purity simplicity and extendibility is a priority.

Currently, FilterFields values act as restrictions for filters
$filterFields = [
  'title' => ['$eq'],  // title will be limited to the eq operator
  'title' => '$eq',    // works only for one restricted operator
  'title:$eq',         // same as above
  'title',             // this won't be restricted to any operator
];

which itself is $restrictedFilters responsibility. However, we decided to merge it with $filterFields as it's more continent and easier to implement and prevents duplication.
The restriction feature is more important and is used more often than renaming fields. If you have any implementation of defining renamed columns in $filterFields it should not conflict with the current functionalities of that variable.

@abbasudo What we do about this ?. How about something like following,
$filterFields = [   'title as post_title' => ['$eq'],  // title will be limited to the eq operator ];
We don't need to break any existing functionality. We can check for 'as' keyword existence, if so we can consider right side string as renamed column.

@abbasudo How should we handle this?


Codecov uploader hangs at the end of uploading.

Describe the bug
It seems like the codecov uploader hangs at the end.
It seems the command shell was never returned to Jenkins.
After codecov loader say it was successful with the upload, our Jenkins job sits there for 3 hours until it timeout.
To Reproduce
This seems to be random so I dont have a repo yet.
Expected behavior
I except the uploader to finish successful.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
[2023-10-17T01:29:20.379Z] Info: Running script `codecov --verbose --nonZero --rootDir /home/ubuntu/jenkins/workspace --flags faucet-authenticator --dir .`

[Pipeline] isUnix

[Pipeline] sh

[2023-10-17T01:29:20.744Z] + codecov --verbose --nonZero --rootDir /home/ubuntu/jenkins/workspace --flags faucet-authenticator --dir .

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.812Z] ['verbose'] Start of uploader:<PHONE_NUMBER>812...

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.814Z] ['info']

[2023-10-17T01:29:21.011Z]      _____          _

[2023-10-17T01:29:21.011Z]     / ____|        | |

[2023-10-17T01:29:21.011Z]    | |     ___   __| | ___  ___ _____   __

[2023-10-17T01:29:21.011Z]    | |    / _ \ / _` |/ _ \/ __/ _ \ \ / /

[2023-10-17T01:29:21.011Z]    | |___| (_) | (_| |  __/ (_| (_) \ V /

[2023-10-17T01:29:21.011Z]     \_____\___/ \__,_|\___|\___\___/ \_/

[2023-10-17T01:29:21.011Z]

[2023-10-17T01:29:21.011Z]   Codecov report uploader 0.6.2

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.814Z] ['info'] => Project root located at: /home/ubuntu/jenkins/workspace

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.819Z] ['info'] ->  Token found by environment variables

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.820Z] ['verbose'] Start of network processing...

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.820Z] ['verbose'] Searching for files in /home/ubuntu/jenkins/workspace

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.838Z] ['verbose'] coveragepy is not installed

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.839Z] ['info'] Searching for coverage files...

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.965Z] ['info'] Warning: Some files located via search were excluded from upload.

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.965Z] ['info'] If Codecov did not locate your files, please review https://docs.codecov.com/docs/supported-report-formats

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.965Z] ['verbose'] Preparing to clean the following coverage paths: coverage/lcov.info,coverage/tmp/coverage-207-1697506151474-0.json,coverage/tmp/coverage-219-1697506151415-0.json

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.965Z] ['info'] => Found 3 possible coverage files:

[2023-10-17T01:29:21.011Z]   coverage/lcov.info

[2023-10-17T01:29:21.011Z]   coverage/tmp/coverage-207-1697506151474-0.json

[2023-10-17T01:29:21.011Z]   coverage/tmp/coverage-219-1697506151415-0.json

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.965Z] ['verbose'] End of network processing

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.966Z] ['info'] Processing coverage/lcov.info...

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.967Z] ['info'] Processing coverage/tmp/coverage-207-1697506151474-0.json...

[2023-10-17T01:29:21.011Z] [2023-10-17T01:29:20.969Z] ['info'] Processing coverage/tmp/coverage-219-1697506151415-0.json...

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.058Z] ['info'] Detected Jenkins CI as the CI provider.

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.058Z] ['verbose'] -> Using the following env variables:

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.058Z] ['verbose']      BRANCH_NAME: dev

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.058Z] ['verbose']      BUILD_NUMBER: 178

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.058Z] ['verbose']      BUILD_URL: https://jenkins.symboldev.com/job/Symbol/job/generated/job/product/job/faucet-authenticator/job/dev/178/

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.059Z] ['verbose']      CHANGE_ID: undefined

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.059Z] ['verbose']      GIT_BRANCH: dev

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.059Z] ['verbose']      GIT_COMMIT: bbd2ece4ade8b8e64f88d9d68c95c4e2ba368c70

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.059Z] ['verbose']      JENKINS_URL: https://jenkins.symboldev.com/

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.059Z] ['verbose']      ghprbActualCommit: undefined

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.059Z] ['verbose']      ghprbPullId: undefined

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.059Z] ['verbose']      ghprbSourceBranch: undefined

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.067Z] ['verbose'] Using the following upload parameters:

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.067Z] ['verbose'] branch

[2023-10-17T01:29:21.268Z] [2023-10-17T01:29:21.067Z] ['verbose'] build

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.067Z] ['verbose'] buildURL

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.067Z] ['verbose'] commit

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.067Z] ['verbose'] job

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.067Z] ['verbose'] pr

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.067Z] ['verbose'] service

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.067Z] ['verbose'] slug

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.067Z] ['verbose'] name

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.067Z] ['verbose'] tag

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.067Z] ['verbose'] flags

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.067Z] ['verbose'] parent

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.069Z] ['info'] Pinging Codecov: https://codecov.io/upload/v4?package=uploader-0.6.2&token=*******&branch=dev&build=178&build_url=https%3A%2F%2Fjenkins.symboldev.com%2Fjob%2FSymbol%2Fjob%2Fgenerated%2Fjob%2Fproduct%2Fjob%2Ffaucet-authenticator%2Fjob%2Fdev%2F178%2F&commit=bbd2ece4ade8b8e64f88d9d68c95c4e2ba368c70&job=&pr=&service=jenkins&slug=Symbol%2Fproduct&name=&tag=&flags=faucet-authenticator&parent=

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.069Z] ['verbose'] Passed token was 36 characters long

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.069Z] ['verbose'] https://codecov.io/upload/v4?package=uploader-0.6.2&branch=dev&build=178&build_url=https%3A%2F%2Fjenkins.symboldev.com%2Fjob%2FSymbol%2Fjob%2Fgenerated%2Fjob%2Fproduct%2Fjob%2Ffaucet-authenticator%2Fjob%2Fdev%2F178%2F&commit=bbd2ece4ade8b8e64f88d9d68c95c4e2ba368c70&job=&pr=&service=jenkins&slug=Symbol%2Fproduct&name=&tag=&flags=faucet-authenticator&parent=

[2023-10-17T01:29:21.269Z]         Content-Type: 'text/plain'

[2023-10-17T01:29:21.269Z]         Content-Encoding: 'gzip'

[2023-10-17T01:29:21.269Z]         X-Reduced-Redundancy: 'false'

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.208Z] ['info'] https://app.codecov.io/github/symbol/product/commit/bbd2ece4ade8b8e64f88d9d68c95c4e2ba368c70

[2023-10-17T01:29:21.269Z] https://storage.googleapis.com/codecov/v4/raw/2023-10-17/FBE5B1B0EDC96BFF7A0B1CD19EF20BCC/bbd2ece4ade8b8e64f88d9d68c95c4e2ba368c70/f031280a-a06f-4d1e-8b12-abde1a04c139.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GOOG1EJOGFN2JQ4OCTGA2MU5AEIT7OT5Z7HTFOAN2SPG4NWSN2UJYOY5U6LZQ%2F20231017%2FUS%2Fs3%2Faws4_request&X-Amz-Date=20231017T012921Z&X-Amz-Expires=10&X-Amz-SignedHeaders=host&X-Amz-Signature=0a84c468a9311690d68058e5de04c50b5e9f91f6c20a9453d842e49053a889fa

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.208Z] ['verbose'] Returned upload url: https://storage.googleapis.com/codecov/v4/raw/2023-10-17/FBE5B1B0EDC96BFF7A0B1CD19EF20BCC/bbd2ece4ade8b8e64f88d9d68c95c4e2ba368c70/f031280a-a06f-4d1e-8b12-abde1a04c139.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GOOG1EJOGFN2JQ4OCTGA2MU5AEIT7OT5Z7HTFOAN2SPG4NWSN2UJYOY5U6LZQ%2F20231017%2FUS%2Fs3%2Faws4_request&X-Amz-Date=20231017T012921Z&X-Amz-Expires=10&X-Amz-SignedHeaders=host&X-Amz-Signature=0a84c468a9311690d68058e5de04c50b5e9f91f6c20a9453d842e49053a889fa

[2023-10-17T01:29:21.269Z] [2023-10-17T01:29:21.208Z] ['info'] Uploading...

[2023-10-17T01:29:21.528Z] [2023-10-17T01:29:21.364Z] ['info'] {"status":"success","resultURL":"https://app.codecov.io/github/symbol/product/commit/bbd2ece4ade8b8e64f88d9d68c95c4e2ba368c70"}

[2023-10-17T01:29:21.528Z] [2023-10-17T01:29:21.364Z] ['verbose'] End of uploader: 552 milliseconds

[2023-10-17T04:27:44.613Z] Cancelling nested steps due to timeout

[2023-10-17T04:27:44.623Z] Sending interrupt signal to process

[2023-10-17T04:27:51.989Z] Terminated

[2023-10-17T04:27:51.993Z] script returned exit code 143

We're also hit with this bug. Environment is powershell in Azure DevOps.

[2023-10-17T01:29:21.528Z] [2023-10-17T01:29:21.364Z] ['verbose'] End of uploader: 552 milliseconds

This tells me the uploader is completing. Is it wrapped in a script or some other process that may not realize this and is hanging?

I've re-run out pipelines with -Z removed and --verbose added which no longer triggers the hang.

That's really strange. The relevant code:
https://github.com/codecov/uploader/blob/02e1554e7f969024c703c9908bf3a0b16929560e/bin/codecov.ts#L32
and
https://github.com/codecov/uploader/blob/02e1554e7f969024c703c9908bf3a0b16929560e/src/helpers/logger.ts#L18-L22
Should not cause a hang at exit time in any way that I can think of. 🤔

Re-run a couple of times with original settings too and can no longer reproduce.

@Wayonb , as the reporter, are you still seeing this issue?

No, I haven't seen the issue since we upgraded to 0.7

Appears to no longer be an issue


Problem with gradlew jacocoRootMerge with gradle project using kotlin DSL

If the project is configured using gradle kotlin DSL, the jacoco aggregation tasks

jacocoRootMerge
jacocoRootReports

fail. Find the Reproducer here.
Note: A quite similarly configured project - albeit using groovy syntax - runs both commands successfully. Reproducer.

The jacoco tasks that run on the subprojects directly succeed.
I have the impression that - using kotlin DSL - gradle tries to find an existing *.exec file even in the root module (within build\jacoco). Instead it should only try to write the aggregated files into that directory.

It may well be that the problem comes from some misconfiguration on my behalf.

I somewhat simplified the two reproducers and made sure the jacoco config is equivalent. I had missed to base jacoco enabling based on src/test in the kotlin configured reproducer 2.
Unfortunately, the problem persists...

There's indeed a difference in the setup in each project. If you run gradlew :jacocoRootReportTaskSettings (new Rule in 0.30.0-SNAPSHOT ;-) on each project you'll notice that the java/groovy project lists only dependencies on its subprojects while the kotlin project adds a dependency on the root a if it contained test sources.  This change causes the jacoco plugin to configure the project such that it's expected of it to generate test data, but of course it does not as the root is not a real Java project.

@aalmiray Thank a lot for the analysis (that's a very handy plugin that will reach us in 0.30.0 :-) ).
I will apply your findings to my reproducer and the actual repo where I stumbled into this issue and will update asap (probably this evening).
Thanks a lot so far...

Perhaps there's a way to set a root project to have some Java conventions but not all. Wonder it that makes sense at all.

You're of course right, it was the java plugin applied in the plugins section of the root build.gradle file.
It's not so trivial to avoid the problem using kotlin dsl though. It's the java plugin that provides the accessor functions such as testImplementation I use in the subproject section.
See https://github.com/gradle/kotlin-dsl-samples/issues/916.
I managed to get it working, but it's not as clean as I'd like it to have (I had to apply the java plugin in the submodule gradle files to get access to the accessors in those configuration files. It would be much easier to just be able to apply the java plugin as I initially did.
It would be very convenient if the kordamp project plugin was able to prevent the application of the jacocoRootMerge/Report plugins to the project root. But I'm not even sure if this would apply to all scenarios or even makes sense. What do you think?

Well as it turns out jacocoRootMerge/jacocoRootReport ought to be applied to the root only. The problem is that the kordamp jacoco plugin "believes" that any project with the java-base plugin applied to it should be included in the jacoco aggregation. A workaround is to set jacoco.enabled = false but this only works on a subdir. If that property is set on the root the the root jacoco reports are completely skipped.
Perhaps the root can have java-base/java applied to it but also check if it actually has any test source sets.

That latter suggestion simply leads to the jacocoRootMerge or jacocoRootReport being skipped entirely.

I updated the reproducer with that suggestion (and also reverted it).

Hey, very neat. Thanks a lot for the quick resolution :-)


Filter for Datagrid in cds-modal is obscured

Describe the bug
We've been moving over the Cds versions of components but I have a need to display some data in a Datagrid. When I have a Clr Datagrid in a Cds Modal and column filters are enabled, the filter boxes are displayed behind the modal content and are inaccessible.
I've tried adding a high z-index to the filter with the following but although the filter is now visible, you can't enter text into the input box.
.datagrid-filter {
  z-index: 1000001;
}

How to reproduce
Stackblitz: https://stackblitz.com/edit/clarity-light-theme-clr12-cds5-thpyqk?file=src/app/app.component.ts
Steps to reproduce the behavior:

Click on the button titled "Click Me"
Click on the filter icon in the header of "User ID"
The box that should display the filter input box displays behind the modal.

Expected behavior
The filter input box should appear in front of the modal content and the input box should accept text input.
Versions
Clarity version:

[x] v12.x
[x] v13.x
[ ] Other:

Framework:

[x] Angular
[ ] React
[ ] Vue
[ ] Other:

Framework version:
Angular 12, 13
Device:

Type: MacBook
OS: macOS
Browser: Vivaldi/Chrome
Version: 5.3.2679.68

clarity-ng has a dependency on Core and not the other way around, so Core is never going to care about NG's z-indexes.
HOWEVER, I think Core has it's own positioning logic (that doesn't use z-index if I remember correctly) and we obviously need to make sure it more broadly works with positioned elements with zindexes


Info on the frontpage

I have published the vendor assets, but if I edit the info.blade.php file, nothing happens, the changes does not show up on the generated document

Had the same issue. I found that I had to delete the entire docs folder so it would regenerate them.  I'm sure there's a reason but I can't figure out how it works. The code where this is happening is in the method writeMarkdown($parsedRoutes) of the GenerateDocumentation.php file inside
/vendor/mpociot/laravel-apidoc-generator/src/Mpociot/ApiDoc/Commands

Ah alright. Did deleting the directory fix the issue?

Yes! If I delete it, and run the generate command then it works. It's a very bad workaround, and I am hoping we can get some more insight from a more experienced developer or Marcel himself.

Hmm an update: I tried without deleting and now it seems to work when you re-run the generator. I'm not sure why the first time didn't work, and hopefully you could test and let me know if that worked for you as well.

@JapSeyz does your PR #120 address this issue?

@mpociot Yes it does

I'm having this issue too... but when I try deleting it an re generating docs it's still the same. Any ideas?


Email as login issues

There are a few issues with public registration and the option "use email address as login":

uName remains empty after registration
The isLoggedIn doesn't work because it checks for get('uName')
dashboard/users/search shows empty cells in the username column
It's not possible to edit a user via the GUI, because the link is set on the username
The username field is still visible on the /register single page (displayUserName is set to true in the controller)

deece36 resolves the second point...the others need to be verified.

I'm unable to replicate the other issues. @akodde if you can still reproduce this on the core, please add more info and reopen.

Regarding the final issue – we do require you to have a user name – you
just don't use it to log in.
On Mon, Nov 2, 2015 at 4:42 PM, Korvin Szanto<EMAIL_ADDRESS>wrote:

I'm unable to replicate the other issues. @akodde
https://github.com/akodde if you can still reproduce this on the core,
please add more info and reopen.
—
Reply to this email directly or view it on GitHub
https://github.com/concrete5/concrete5/issues/2963#issuecomment-153205361
.

On the page /index.php/dashboard/users/search the only clickable thing is the username, right? If the username is empty, you can't go to the user detail page.

Yeah but Korvin is saying he was unable to create an account where the
username was empty.
On Tue, Nov 3, 2015 at 6:51 AM, akodde<EMAIL_ADDRESS>wrote:

On the page /index.php/dashboard/users/search the only clickable thing is
the username, right? If the username is empty, you can't go to the user
detail page.
—
Reply to this email directly or view it on GitHub
https://github.com/concrete5/concrete5/issues/2963#issuecomment-153377524
.

Ok. What is the recommended approach for websites that want to use email addresses instead of usernames? Just copy the email address to uName?
Btw, in User::add($data) there is no check for uName. So if you add a user programmatically it can be null. https://github.com/concrete5/concrete5/blob/develop/web/concrete/src/User/UserInfo.php#L218


docs(readme)!: fleshup readme, graduate v1

We forgot to bump the package to v1. oopsie.
KIT-3065

I don't see the v1 bump itself ?

The major bump is 'ordered' through conventional commit and will be done by the CD.
That's why the scope of the PR title includes a ! before the :
https://www.conventionalcommits.org/en/v1.0.0/#commit-message-with-scope-and--to-draw-attention-to-breaking-change
Moreover, I will include a BREAKING CHANGE footer.


FormControlLabel undefined

material-ui-next
import { FormControlLabel } from 'material-ui/Form';
// FormControlLabel - undefined

playgroud - https://www.webpackbin.com/bins/-KptLacsE_et199xmxfa
your example - https://material-ui-1dab0.firebaseapp.com/component-demos/selection-controls#radio-buttons

FormControlLabel was released with 1.0.0-alpha.22 and in webpackbin you're using 1.0.0-alpha.20.

@kgregory Thank you. Topic is closed


Issue in levenberg-marquardt optimization

Hello,
I am rewriting my code from Matlab to Python.
In levenberg-marquardt optimzation, my python code can't get the right result.
I set "xtol=1e-10", but the optimization is terminated by gtol or ftol...
I am not sure whether the termination causes the problem. I also set gtol and ftol to EPS, but the optimization is still not terminated by xtol....
The callable function, arguments, parameters should be correct....
Matlab code:
Options = optimoptions('lsqnonlin','Display','iter-detailed','Algorithm','levenberg-marquardt','TolX', 1e-10);
result = lsqnonlin(@(X) test(a, X, b),X0,[],[],Options);

Python code:
result = least_squares(test, X0, args=(a, b),method='lm', xtol=1e-10)

Hi, thanks for reporting. Without a minimal non working example, it will be difficult to help you.

Hi, thanks for reporting. Without a minimal non working example, it will be difficult to help you.

Matlab Callable Function:
function E = costFunctionMendoncaCipolla(F, X, Method)
%% COSTFUNCTIONMENDONCACIPOLLA computes Mendonca & Cipolla Cost function to find the Optimal Intrinsic Parameters
%   Input
%       F      - Fundamental Matrix between given two Images
%       X      - Approximate Values of Intrinsics
%       Method - Cost Function Formula {'1' or '2'}
%
%   Output
%       E    - Computed Cost
%% Function starts here
% Transform Intrinsics to Matrix Form
K = [X(1) X(2) X(3); 0 X(4) X(5); 0 0 1];
% Initialize Cost
E = [];
% For the Denominator term of Mendonca & Cipolla's Equation
N = size(F,3);
Den = N*(N-1)/2; % For N Images we can find N(N-1)/2 Fundamental Matrix
% Compute the Cost using Mendonca & Cipolla's Equation
for i = 1:size(F,3)-1
    for j = i+1:size(F,3)
        % Compute the Essential Matrix 'EM'
        EM = K' * F(:,:,i,j) * K;
        % Compute SVD of Essential Matrix
        [~,D,~] = svd(EM);
        % Singular Values (3rd value, D(3,3) is 0)
        r = D(1,1);
        s = D(2,2);
        % Compute Cost
        switch Method
            case '1'
                % Use the  Mendonca & Cipolla's Equation-1
                E1 = 1/Den * (r - s)/s;

            case '2'
                % Use the  Mendonca & Cipolla's Equation-2
                E1 = 1/Den * (r - s)/(r + s);
        end
        % Append Computed Cost
        E = [E E1];
    end
end
end

Python Callable Function:
def costFuncMendoncaCipolla(X, Fs, Method):
    K = np.array([
        X0[:3],
        [0, X0[3], X0[4]],
        [0, 0, 1]
        ])
    E = []
    N = Fs.shape[2]
    Den = N*(N-1)/2
    for i in range(Fs.shape[2]-1):
        for j in range(i+1, Fs.shape[2]):
            F = Fs[:,:,i,j]
            EM = np.dot(K.T, np.dot(F, K))
            _, D, _ = np.linalg.svd(EM)
            r = D[0]
            s = D[1]
            if Method == 1:
                E1 = 1/Den * (r-s)/s
            else:
                E1 = 1/Den * (r-s)/(r+s)
            E.append(E1)
    return np.array(E)

Please, make an example which is self contained from start to finish (no need for the matlab code for instance) showing what it produces and writing what you expected.

Please, make an example which is self contained from start to finish (no need for the matlab code for instance) showing what it produces and writing what you expected.

I also added the python version in the previous reply...
I am not sure what problem I have in the code...
I don't get the optimized result produced by Matlab.
The python code stops because other tolerances are reached(like ftol, gtol)...
The optimized result is the same as the initial guess
def costFuncMendoncaCipolla(X, Fs, Method):
    K = np.array([
        X0[:3],
        [0, X0[3], X0[4]],
        [0, 0, 1]
        ])
    E = []
    N = Fs.shape[2]
    Den = N*(N-1)/2
    for i in range(Fs.shape[2]-1):
        for j in range(i+1, Fs.shape[2]):
            F = Fs[:,:,i,j]
            EM = np.dot(K.T, np.dot(F, K))
            _, D, _ = np.linalg.svd(EM)
            r = D[0]
            s = D[1]
            if Method == 1:
                E1 = 1/Den * (r-s)/s
            else:
                E1 = 1/Den * (r-s)/(r+s)
            E.append(E1)
    return np.array(E)

result = least_squares(costFuncMendoncaCipolla, X0, args=(a, b),method='lm', xtol=1e-10)

SciPy is not a copy of Matlab. It is not expected to have the same results nor exact API. Your example is still missing the values for X0, a, b.
Again, please update so that I can copy paste your code to reproduce your results. Also you still did not write the current output and the output you expect to get.

SciPy is not a copy of Matlab. It is not expected to have the same results nor exact API. Your example is still missing the values for X0, a, b.
Again, please update so that I can copy paste your code to reproduce your results. Also you still did not write the current output and the output you expect to get. So far it seems more like a user question and I would advice to ask on StackOverflow for help.

Sorry, I don't know how to ask a question.....
The compressed data file is attached below. The difference in the result produced by both codes is OK, but I don't know what mistake I have in the python version. The python version returns the initial guess... The message implies the optimization is terminated by the other tolerance.
data.zip
def costFuncMendoncaCipolla(X, Fs, Method):
    K = np.array([
        X0[:3],
        [0, X0[3], X0[4]],
        [0, 0, 1]
        ])
    E = []
    N = Fs.shape[2]
    Den = N*(N-1)/2
    for i in range(Fs.shape[2]-1):
        for j in range(i+1, Fs.shape[2]):
            F = Fs[:,:,i,j]
            EM = np.dot(K.T, np.dot(F, K))
            _, D, _ = np.linalg.svd(EM)
            r = D[0]
            s = D[1]
            if Method == 1:
                E1 = 1/Den * (r-s)/s
            else:
                E1 = 1/Den * (r-s)/(r+s)
            E.append(E1)
    return np.array(E)

if __name__ == "__main__":

    mat_fname = "data.mat"
    mat_contents = sio.loadmat(mat_fname)
    A = mat_contents['A']
    print("Initial Guess: ")
    print(A)
    Fs = mat_contents['Fs']
    X0 = np.array(np.hstack((A[0,:],A[1,1:3])))
    print(X0)
    print(X0.shape)
    m = 1
    K_MC1 = least_squares(costFuncMendoncaCipolla, X0, args=(Fs, m),method='lm', xtol=1e-10)

The optimized result is shown below. The result in Python is the same as the initial input. message is "'gtol termination condition is satisfied.'"
Initial Guess:
[[870.25827161   0.<PHONE_NUMBER>9]
 [  0.<PHONE_NUMBER>3<PHONE_NUMBER>2]
 [  0.           0.           1.        ]]
 active_mask: array([0, 0, 0, 0, 0])
        cost: 5.895294297046658e-05
         fun: array([2.19166200e-03, 4.06603944e-04, 4.09750878e-04, 2.46457960e-03,
       1.12571796e-03, 1.37732734e-03, 3.03963554e-04, 1.63876437e-03,
       1.16603240e-03, 2.12069690e-03, 1.36327386e-03, 1.68861634e-03,
       1.78799389e-03, 8.61006032e-05, 1.46106953e-03, 1.22988885e-03,
       1.04324192e-03, 3.53866770e-04, 2.50799785e-03, 7.40889856e-04,
       7.40591423e-04, 6.70134238e-04, 1.79509725e-03, 1.25869159e-03,
       2.90749559e-03, 1.46049547e-03, 4.46239316e-04, 2.83185848e-04,
       2.03869573e-03, 1.44650217e-03, 9.77402297e-04, 3.26153727e-03,
       2.73285338e-03, 9.39577905e-04, 1.69905855e-03, 2.05209142e-03,
       1.39529115e-03, 9.77713478e-04, 1.33617858e-03, 8.68000466e-04,
       2.75335172e-03, 1.85644525e-03, 2.55187957e-03, 1.36066554e-03,
       6.98900592e-04])
        grad: array([0., 0., 0., 0., 0.])
         jac: array([[0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.]])
     message: '`gtol` termination condition is satisfied.'
        nfev: 6
        njev: None
  optimality: 0.0
      status: 1
     success: True
           x: array([870.25827161,   0.        ,<PHONE_NUMBER>9,<PHONE_NUMBER>3,
<PHONE_NUMBER>2])

The result in Matlab is shown below,
Approximate Intrinsics (Given)
   1.0e+02 *

   8.702582716108395                   0   2.791007468913193
                   0   8.121786285338063   2.609300502222471
                   0                   0   0.010000000000000

Intrinsics computed by Mendonca & Cipolla`s Self Calibration(Method 1)
   1.0e+02 *

   8.000000021823629  -0.000000001980934   2.559999984147310
                   0   8.000000023038165   2.559999995324477
                   0                   0   0.010000000000000

I am sorry but issues are not for answering questions. I will close this for now. Feel free to add more details and I could reopen if there is indeed an issue.
As now it just seems you have to play with your tolerances (try to channge gtol,ftol as well) or check that the input dimensions/shapes are correct.


Add Clear Containers Tests

ci: Add Clear Containers tests to the CI of virtcontainers
With this commit, the tests of Clear Containers will be executed
against every change of the virtcontainers repository and will
prevent from making changes that do not work properly when
revendoring virtcontainers on runtime and proxy repositories.

Fixes: #408.

Coverage remained the same at 65.545% when pulling 500b881b7ff6d453670d9f4b2eef81f960ccab15 on chavafg:topic/improve_ci into bad7e7437b173ab22f858d0f43f85a4c201af604 on containers:master.

Thanks for the PR @chavafg, we're close from being fully covered by Jenkins here ;)

and just to note, looks like the first run failed from what looks like some unexpected debug appearing in a 'quiet' test (or two):
Running command '/usr/local/bin/cc-runtime [cc-runtime list --quiet]'
20:52:05 [cc-runtime list --quiet]
20:52:05 Timeout: 15 seconds
20:52:05 Exit Code: 0
20:52:05 Stdout:
20:52:05 Stderr:
20:52:05
20:52:05 ------------------------------
20:52:05 • Failure [2.043 seconds]
20:52:05 run
20:52:05 /home/jenkins/go/src/github.com/clearcontainers/tests/functional/run_test.go:103
20:52:05   container
20:52:05   /home/jenkins/go/src/github.com/clearcontainers/tests/vendor/github.com/onsi/ginkgo/extensions/table/table.go:96
20:52:05     without '--pid-file' option [It]
20:52:05     /home/jenkins/go/src/github.com/clearcontainers/tests/vendor/github.com/onsi/ginkgo/extensions/table/table_entry.go:46
20:52:05
20:52:05     Expected
20:52:05         <string>: time="2017-10-19T20:52:03Z" level=info msg="launching qemu with: [-name pod-IT5q0CH3nl6UfygB4zcP -uuid 35304333-3666-4234-6300-000000000000 -machine pc,accel=kvm,kernel_irqchip,nvdimm -cpu host,pmu=off -qmp unix:/run/virtcontainers/pods/IT5q0CH3nl6UfygB4zcP/monitor.sock,server,nowait -qmp unix:/run/virtcontainers/pods/IT5q0CH3nl6UfygB4zcP/ctrl.sock,server,nowait -m 2048M,slots=2,maxmem=17054M -smp 4,cores=4,threads=1,sockets=1 -device virtio-9p-pci,disable-modern=true,fsdev=ctr-9p-0,mount_tag=ctr-rootfs-0 -fsdev local,id=ctr-9p-0,path=/tmp/bundle317695191/rootfs,security_model=none -device virtio-serial-pci,disable-modern=true,id=serial0 -device virtconsole,chardev=charconsole0,id=console0 -chardev socket,id=charconsole0,path=/run/virtcontainers/pods/IT5q0CH3nl6UfygB4zcP/console.sock,server,nowait -device nvdimm,id=nv0,memdev=mem0 -object memory-backend-file,id=mem0,mem-path=/usr/share/clear-containers/clear-18220-containers.img,size=235929600 -device virtserialport,chardev=charch0,id=channel0,name=sh.hyper.channel.0 -chardev socket,id=charch0,path=/run/virtcontainers/pods/IT5q0CH3nl6UfygB4zcP/hyper.sock,server,nowait -device virtserialport,chardev=charch1,id=channel1,name=sh.hyper.channel.1 -chardev socket,id=charch1,path=/run/virtcontainers/pods/IT5q0CH3nl6UfygB4zcP/tty.sock,server,nowait -device virtio-9p-pci,disable-modern=true,fsdev=extra-9p-hyperShared,mount_tag=hyperShared -fsdev local,id=extra-9p-hyperShared,path=/tmp/hyper/shared/pods/IT5q0CH3nl6UfygB4zcP,security_model=none -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -vga none -no-user-config -nodefaults -nographic -daemonize -kernel /usr/share/clear-containers/vmlinuz-4.9.47-77.container -append root=/dev/pmem0p1 rootflags=dax,data=ordered,errors=remount-ro rw rootfstype=ext4 tsc=reliable no_timer_check rcupdate.rcu_expedited=1 i8042.direct=1 i8042.dumbkbd=1 i8042.nopnp=1 i8042.noaux=1 noreplace-smp reboot=k panic=1 console=hvc0 console=hvc1 initcall_debug iommu=off cryptomgr.notests net.ifnames=0 debug systemd.show_status=true systemd.log_level=debug init=/usr/lib/systemd/systemd systemd.unit=clear-containers.target systemd.mask=systemd-networkd.service systemd.mask=systemd-networkd.socket ip=::::::IT5q0CH3nl6UfygB4zcP::off::]" subsystem=qmp
20:52:05         time="2017-10-19T20:52:03Z" level=info msg="{\"QMP\": {\"version\": {\"qemu\": {\"micro\": 0, \"minor\": 7, \"major\": 2}, \"package\": \"\"}, \"capabilities\": []}}" subsystem=qmp
20:52:05         time="2017-10-19T20:52:03Z" level=info msg="{\"execute\":\"qmp_capabilities\"}" subsystem=qmp
20:52:05         time="2017-10-19T20:52:03Z" level=info msg="{\"return\": {}}" subsystem=qmp
20:52:05         time="2017-10-19T20:52:05Z" level=info msg="{\"QMP\": {\"version\": {\"qemu\": {\"micro\": 0, \"minor\": 7, \"major\": 2}, \"package\": \"\"}, \"capabilities\": []}}" subsystem=qmp
20:52:05         time="2017-10-19T20:52:05Z" level=info msg="{\"execute\":\"qmp_capabilities\"}" subsystem=qmp
20:52:05         time="2017-10-19T20:52:05Z" level=info msg="{\"return\": {}}" subsystem=qmp
20:52:05         time="2017-10-19T20:52:05Z" level=info msg="{\"execute\":\"quit\"}" subsystem=qmp
20:52:05         time="2017-10-19T20:52:05Z" level=info msg="{\"return\": {}}" subsystem=qmp
20:52:05         time="2017-10-19T20:52:05Z" level=info msg="{\"timestamp\": {\"seconds\":<PHONE_NUMBER>, \"microseconds\": 94849}, \"event\": \"SHUTDOWN\"}" subsystem=qmp
20:52:05
20:52:05     to be empty

Coverage remained the same at 65.435% when pulling 8ad0cef2ae231f71ff8650ec4112fb0085f2e416 on chavafg:topic/improve_ci into cc690c440a85d255cb3b4269f274703b437d3e80 on containers:master.

Coverage remained the same at 66.154% when pulling d6c123e279c64b1f0160dcc9002e8b9b29ae6177 on chavafg:topic/improve_ci into 13b649f0fe6b72958bd5a21d7e63f5289bb2fdb4 on containers:master.

@sboeuf, @grahamwhaley fixed all comments. can you please re-check?
@sboeuf Can you take a look at the error that @grahamwhaley posted above? I reproduced locally and seems that this not happen with the version that is currently vendored in the runtime repo. So maybe something got broken in the latest commit.
Thanks.

@chavafg Thanks for this new version, I'll take a look on Monday.
About the error posted by @grahamwhaley, I think this is something that we have to fix in virtcontainers first, so that we get this PR CI passing, but thanks for the confirmation it has nothing to do with this PR !

Although I would prefer that we use dep for doing the runtime vendoring, it is still fine. This is an urgent one to merge, we need that badly.
LGTM

Please rebase, the stderr issues should be fixed now.

lgtm

Coverage remained the same at 65.986% when pulling 29ffbb52b60f02293c204d2d9753446a33c5dc3d on chavafg:topic/improve_ci into db99bdff3281c93adee501b614db1047f5f9d2ee on containers:master.

Ok so here is a bit of context. I had suggested that we should use dep for doing the vendoring more cleanly, but I and @chavafg have realized that we get into big issues because of that. I mean that if we remove vendor/github.com/containers/virtcontainers from the runtime, then we would expect the build to rely on what is found inside $GOPATH for virtcontainers. BUT, the blocker is about dependencies both used by the runtime and virtcontainers. The problem is that they are both defined in the runtime vendoring and in virtcontainers vendorings...
I guess we're gonna go with this solution for now and we can still make this better in the future, but I don't know how to make this happen properly with dep though...


OrderBook update logic query

void
OrderBookDB::setup(std::shared_ptr<ReadView const> const& ledger)
{
    if (!app_.config().standalone() && app_.getOPs().isNeedNetworkLedger())
    {
        JLOG(j_.warn()) << "Eliding full order book update: no ledger";
        return;
    }

    auto seq = seq_.load();

    if (seq != 0)
    {
        if ((seq > ledger->seq()) && ((ledger->seq() - seq) < 25600))
            return;

        if ((ledger->seq() <= seq) && ((seq - ledger->seq()) < 16))
            return;
    }

This part seems a bit confusing to me:
        if ((seq > ledger->seq()) && ((ledger->seq() - seq) < 25600))

If bigger > smaller && (smaller - bigger) < 25600
The old logic:
        auto seq = ledger->info().seq;

        // Do a full update every 256 ledgers
        if (mSeq != 0)
        {
            if (seq == mSeq)
                return;
            if ((seq > mSeq) && ((seq - mSeq) < 256))
                return;
            if ((seq < mSeq) && ((mSeq - seq) < 16))
                return;
        }

Maybe it was supposed to be:
if ((ledger->seq() > seq) && ((ledger->seq() - seq) < 25600))

I see before the variable seq was used for the passed in ledger' sequence, but now seq is the last sequence (which before was mSeq) so maybe there was some copy/paste issues?

Thanks @sublimator. After a quick look this does look like a bug to me. Let me take a closer look now.

@sublimator There's a PR for this here: https://github.com/XRPLF/rippled/pull/4890


Add version for libraries

@RayNguyent fixed that, but need to add our package and its version number 0.0.9!


What's the difference between "stayed here" and "visited here"

Kinda seems like the same thing. Would be nice to have a little tooltip to explain each option.

I'm also confused by this.

Hi! I was confused by this too, but if you check the README of the world map version (see #18) (and use a little help to translate), you can find that:

"stayed there" means you stayed for a 1 month long trip (at least)
whereas "visited here" means that you travelled there

Discussed here.


[2.0.2] peerDependency warning with the new release

Checks

[X] I understand project setup issues should be asked on StackOverflow or in GitHub Discussions.
[X] I updated to latest http-proxy-middleware.

Describe the bug (be clear and concise)
Latest version requires @types/express as  a peerDependency, printing warnings for non-typescript projects as well.
Step-by-step reproduction instructions
mkdir testproxy
cd testproxy
yarn init -y
yarn add http-proxy-middleware

see message:
`warning " ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>
Expected behavior (be clear and concise)
No warnings when installing package. Don't require users to install @types packages as if everyone is using typescript.
How is http-proxy-middleware used in your project?
via `webpack-dev-server`, like half the web.

What http-proxy-middleware configuration are you using?
Irrelevant

What OS/version and node/version are you seeing the problem?
Fedora 35; Node 16.13.2; yarn 1.22.17

Additional context (optional)
Regressed by https://github.com/chimurai/http-proxy-middleware/pull/700

Hi thanks for your report.
Those types provide a better developer experience in you IDE with autocompletion; Also in non-typescript projects.
With @types/express you'll get autocompletion of express' req and res objects, which was broken as reported here: https://github.com/chimurai/http-proxy-middleware/issues/692
Perhaps the yarn warning can suppressed by marking as optional:
  "peerDependenciesMeta": {
    "@types/express": {
      "optional": true
    }
  },

https://docs.npmjs.com/cli/v7/configuring-npm/package-json#peerdependenciesmeta

Marking a peer dependency as optional ensures npm will not emit a warning if the @types/express package is not installed on the host. This allows you to integrate and interact with a variety of host packages without requiring all of them to be installed.

I have to double check if this will solve the issue.

Specifying the peerDependenciesMeta field would probably solve the warning.

fixed in v2.0.3


posix_router: move to canonical directory

Also rename generated binaries and docker containers to posix_router.

This change is

Or scion-open-router?

Moved to posix-router instead.
The reasoning for the naming here, is that we plan to package applications in docker containers, and thus they are name spaced by them.
If you feel the name is still not expressive enough, we can add another bazel target that creates the binary name of your choosing in a follow-up PR.


runaway exception in pyrk core versions <IP_ADDRESS>/6 on windows 7

Describe the issue
When starting up Pyrk core versions <IP_ADDRESS> to version <IP_ADDRESS> the first time a runaway exception is thrown and the application does not run. The corresponding 'debug.log' entries are appended below.
From a quick search in the code base it appears that the error points to 'src/nlohmann/detail/input/parser.hpp' and 'src/nlohmann/detail/exceptions.hpp' as well as other files.
Installation and creation of all files were processed as expected.
Expected behaviour
If Pyrk does not run on Windows 7, it should not install or an appropiate warning should be issued...
Screenshots.

Machine specs:

OS: Windows 7 64 bit

Any extra information that might be useful in the debugging process.
2020-08-24 17:53:44 GUI: Qt has caught an exception thrown from an event handler.
Throwing exceptions from an event handler is not supported in Qt.
You must not let any exception whatsoever propagate through Qt code.
If that is not possible, in Qt 5 you must at least reimplement QCoreApplication::notify() and catch all exceptions there.
EXCEPTION: N8nlohmann6detail11parse_errorE
[json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - invalid literal; last read: '<'       C:\Pyrk\pyrk-qt.exe in Runaway exception

Greetings.   Can you check if you get this error in the latest release (v0.13.0).   The package for nlohmann was upgraded in this version

Hi, thx for your response.
I've checked the updated <IP_ADDRESS> version, the error stays exactly the same, as seen in the screenshot below.
Also, the same error message appears in the 'debug.log' file (see initial post).
I'm out of the programming business for a while and I do not have knowledge about the nlohmann package,
but as the error appears to be related to a file parsing function and assuming that the application runs on linux o/s 's,
the error might be due to processing of EOL (end-of-line)/EOF (end-of-file) control chars, done differently on unix and windows
systems...
I remember though, that I've come across a similar error (but not fatal in that case) of the nlohmann package in an implementation of an IPFS (interplanetary file system) application, which does not mean the package is faulty,
but is maybe restricted in its usage to certain o/s platforms.

We are not prioritizing windows 7 support since it is no longer receiving Microsoft support. You can still upgrade for free to Win 10, so I would suggest doing so especially for something you will want to secure like wallets.

We are not prioritizing windows 7 support since it is no longer receiving Microsoft support. You can still upgrade for free to Win 10, so I would suggest doing so especially for something you will want to secure like wallets.


chore(main): release 6.0.7

:robot: I have created a release beep boop
6.0.7 (2024-09-08)
Bug Fixes

opening a LazyVim session with folke/persistence.nvim starting yazi (#442) (b8f4cc7)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v6.0.7
:sunflower: