'BaseModel' object has no attribute 'to_static_state_dict'

Please fill in the information below so that we can solve the problem quickly, Thanks !
Describe the bug
A clear and concise description of what the bug is.
I just upgraded from 0.9 to 0.9.1 and get the below error trace during export of my model.
Informations (please complete the following information):

Inference engine for deployment:

paddlepaddle_gpu-2.1.2.post112-cp39-cp39-linux_x86_64.whl
onnx==1.9.0
onnxruntime-gpu==1.10.0

Why convert to onnx: for inference
Paddle2ONNX Version: 0.9.1
Email/Wechat/Phone:

Screenshots
   paddle.onnx.export(
    │      │    └ <function export at 0x7ff6fce4d700>
    │      └ <module 'paddle.onnx' from '/usr/local/lib/python3.9/dist-packages/paddle/onnx/__init__.py'>
    └ <module 'paddle' from '/usr/local/lib/python3.9/dist-packages/paddle/__init__.py'>

  File "/usr/local/lib/python3.9/dist-packages/paddle/onnx/export.py", line 100, in export
    p2o.dygraph2onnx(
    │   └ <function dygraph2onnx at 0x7ff56c6d0ca0>
    └ <module 'paddle2onnx' from '/usr/local/lib/python3.9/dist-packages/paddle2onnx/__init__.py'>

  File "/usr/local/lib/python3.9/dist-packages/paddle2onnx/convert.py", line 167, in dygraph2onnx
    paddle_graph = PaddleGraph.build_from_dygraph(layer, inner_input_spec,
                   │           │                  │      └ None
                   │           │                  └ BaseModel(
                   │           │                      (backbone): ResNet(
                   │           │                        (conv1_1): ConvBNLayer(
                   │           │                          (_pool2d_avg): AvgPool2D(kernel_size=1, stride=1, padding=...
                   │           └ <staticmethod object at 0x7ff56c71bf10>
                   └ <class 'paddle2onnx.graph.paddle_graph.PaddleGraph'>

  File "/usr/local/lib/python3.9/dist-packages/paddle2onnx/graph/paddle_graph.py", line 271, in build_from_dygraph
    program, feed_var_names, fetch_vars = dg_helper.get_program(
                                          │         └ <function get_program at 0x7ff56c6ef0d0>
                                          └ <module 'paddle2onnx.graph.dygraph_helper' from '/usr/local/lib/python3.9/dist-packages/paddle2onnx/graph/dygraph_helper.py'>

  File "/usr/local/lib/python3.9/dist-packages/decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
           │      │       │        │        └ {}
           │      │       │        └ (BaseModel(
           │      │       │            (backbone): ResNet(
           │      │       │              (conv1_1): ConvBNLayer(
           │      │       │                (_pool2d_avg): AvgPool2D(kernel_size=1, stride=1, padding...
           │      │       └ ()
           │      └ <function get_program at 0x7ff56c6ef040>
           └ <function wrap_decorator.<locals>.__impl__ at 0x7ff70a2f5940>

  File "/usr/local/lib/python3.9/dist-packages/paddle/fluid/wrapped_decorator.py", line 25, in __impl__
    return wrapped_func(*args, **kwargs)
           │             │       └ {}
           │             └ (BaseModel(
           │                 (backbone): ResNet(
           │                   (conv1_1): ConvBNLayer(
           │                     (_pool2d_avg): AvgPool2D(kernel_size=1, stride=1, padding...
           └ <function _switch_to_static_graph_.<locals>.__impl__ at 0x7ff58a4f3ee0>

  File "/usr/local/lib/python3.9/dist-packages/paddle/fluid/dygraph/base.py", line 40, in __impl__
    return func(*args, **kwargs)
           │     │       └ {}
           │     └ (BaseModel(
           │         (backbone): ResNet(
           │           (conv1_1): ConvBNLayer(
           │             (_pool2d_avg): AvgPool2D(kernel_size=1, stride=1, padding...
           └ <function get_program at 0x7ff56c6ef040>

  File "/usr/local/lib/python3.9/dist-packages/paddle2onnx/graph/dygraph_helper.py", line 211, in get_program
    dygraph_state_dict = inner_layer.to_static_state_dict()
                         └ BaseModel(
                             (backbone): ResNet(
                               (conv1_1): ConvBNLayer(
                                 (_pool2d_avg): AvgPool2D(kernel_size=1, stride=1, padding=...

  File "/usr/local/lib/python3.9/dist-packages/paddle/fluid/dygraph/layers.py", line 1050, in __getattr__
    return object.__getattribute__(self, name)
                                   │     └ 'to_static_state_dict'
                                   └ BaseModel(
                                       (backbone): ResNet(
                                         (conv1_1): ConvBNLayer(
                                           (_pool2d_avg): AvgPool2D(kernel_size=1, stride=1, padding=...

AttributeError: 'BaseModel' object has no attribute 'to_static_state_dict'

Additional context

Hello, will the Paddle2ONNX V.0.9.0 report this error ?

Hello, will the Paddle2ONNX V.0.9.0 report this error ? You can use paddle.jit.save to save the inference model first, will you get the same error ?

I should have checked this before submitting the issue, sorry.
Everything works fine with 0.9.0, this issue only happens on 0.9.1.

You can use paddle.jit.save to save the inference model first, will you get the same error ?

This does indeed work with 0.9.1! :heavy_check_mark:
output_path = "/tmp/my_model"
paddle.jit.save(model, output_path)
model = paddle.jit.load(output_path)
paddle.onnx.export(layer=model, path="/tmp/my_onnx_model", opset_version=11)


[dns] return all matching local records

ATM, weavedns only returns the first matching record for a local name / reverse lookup. But there can be multiple matching records; all of them should be returned.

This should apply to both direct queries and queries received over mDNS.
@squaremo @bboreham any gotchas here? I suppose it could be deemed somewhat inconsistent/strange/surprising to respond with all matching records from one peer, but not across all peers.

any gotchas here?

Nope, don't think so. There is still the problem of having a consistent way of answering a query for which there are multiple answers on the network, which this may or may not help; just doing this will muddy the waters a bit, since instead of getting one answer from some host or no answer, a question will get some answers all from the same host or no answer.

@rade Current WeaveDNS can return all the answers with "--max-answers=0", so is this issue still valid?  If so, what is missing?

Users shouldn't have to supply special configuration parameters for something that should just work.
I suspect this issue will get resolved as part of #733.

I suspect this issue will get resolved as part of #733.

Pretty sure that is the case, in the light of #826.


[macOS v2.0-beta] APP Crashes at Launch if productName contains Chinese characters

Describe the bug
I recently upgraded from Tauri v1.x to v2.0-beta, and after the upgrade, I discovered that if the productName is in Chinese, the APP crashes at launch.
Using a Chinese package name was normal in v1.0 and there are so many APP using Chinese product name, like 微信, 百度 etc., so I believe this is a new bug introduced in version 2.0.
Reproduction

Create a new Tauri project.
Set the productName to Chinese, e.g., "测试" (meaning "test").
Run tauri dev on macOS to launch the project.
The APP window opens and immediately crashes.

Expected behavior
The productName should be allowed to contain Chinese characters without causing the APP to crash at launch.
Full tauri info output
[✔] Environment
    - OS: Mac OS 13.6.3 X64
    ✔ Xcode Command Line Tools: installed
    ✔ rustc: 1.76.0 (07dca489a 2024-02-04)
    ✔ cargo: 1.76.0 (c84b36747 2024-01-18)
    ✔ rustup: 1.26.0 (5af9b9484 2023-04-05)
    ✔ Rust toolchain: stable-x86_64-apple-darwin (default)
    - node: 18.17.1
    - pnpm: 8.15.4
    - npm: 9.6.7

[-] Packages
    - tauri [RUST]: 2.0.0-beta.10
    - tauri-build [RUST]: 2.0.0-beta.8
    - wry [RUST]: 0.37.0
    - tao [RUST]: 0.26.1
    - @tauri-apps/api [NPM]: 2.0.0-beta.5
    - @tauri-apps/cli [NPM]: 2.0.0-beta.9

[-] App
    - build-type: bundle
    - CSP: default-src x-http: x-https: blob: data: filesystem: ws: http: https: 'unsafe-eval' 'unsafe-inline'
    - frontendDist: ../feiyu/dist
    - devUrl: http://localhost:3000/

Stack trace
No response
Additional context
No response

Calling [NSBundle bundleWithIdentifier:] with CFBundleDisplayName contains non-ASCII characters and the app crashes for some reason. This looks like an Apple bug.
We've removed the logic that uses the bundleWithIdentifier: https://github.com/tauri-apps/wry/pull/1186. This issue should be fixed after the next Wry and Tauri releases.

Awesome, thanks for your help;)  I will close this issue after the next Wry and Tauri releases.


Silent Crash when loaded alongside GroovyModLoader

Steps:

Install GroovyModLoader and Neurina
Load the game
The game silently crashes with an Exit Code 1, nothing in logs and nothing in crash reports

Launcher Log: log
Screenshots discussing with the dev of GML:

https://discord.com/channels/313125603924639766/1128972595249819769/1306325786302615552


Windows build missing on PyPI?

🐛 Bug
Is there a reason torchaudio is not pushed to PyPI?
To Reproduce
Steps to reproduce the behavior:

pip install torch==1.7.1 torchaudio==0.7.2

Output:
Collecting torch==1.7.1
  Downloading torch-1.7.1-cp38-cp38-win_amd64.whl (184.0 MB)
     |████████████████████████████████| 184.0 MB 201 kB/s
ERROR: Could not find a version that satisfies the requirement torchaudio==0.7.2
ERROR: No matching distribution found for torchaudio==0.7.2

Expected behavior
torch (CPU build) and torchaudio are installed.
Environment

OS: Windows
Python version: 3.8.6

Additional context
I'm wondering why the torchaudio and torchvision wheels for Windows are not available on PyPI (btw, I have opened a similiar issue for torchvision. While torchvision used to be pushed to PyPI, torchaudio has never been available on PyPI, as far as I can see.
I'm aware the standard/recommended way of installing is through the pytorch.org index. However, the main torch package (CPU only) is being pushed to PyPI, so I'm wondering whether it is inteded that both torchvision and torchaudio are not or if it's just a bug?
The only somewhat related information I could find for torchaudio is #425. However, this should not be a reason to not publish the wheel to PyPI?
Does anybody have some information on this? :)

Hi @1enn0
Thanks for reporting. I believe Windows build should be available and if it's not, there is an issue.
@seemethere could you take a look into this?

FYI the new release 0.8 has been uploaded to pypi :)

@vincentqb thanks, that's great news! 👍
Just out of curiosity: How does this upload actually happen? Is it automatically done by the CI or is it a manual script someone with access to the PyPI repo has to run? I had a look around the repo but could not really figure this out. :)

Most of it is automated, see #682, but there is a little more "human supervision" for releases to make sure there are no surprises there :)

Windows builds started to be uploaded to PyPI as of torchaudio 0.8.0, please use those binaries moving forward.
We will most likely not upload windows binaries for 0.7.2

Closing issue following comment from @seemethere. @1enn0, please feel free to re-open the issue if this does not address it.


fix: error when sampling from an empty namespace

I found this bug when generating data from an empty namespace. Just went to 100% and hang as generated < target.

This was introduced in 96a9b46e as the sampler was refactored to allow for the dependency ordering worked out by the compiler to be surfaced to export strategies. There was a basic check in there that got swept up and removed inadvertently.
The fix you have won't solve the problem as it is still possible to specify generators not outputting anything and they will end up locking the sampler in an infinite loop:
{
    "type": "array",
    "length": 0,
    "content": {
	"type": "null"
    }
}

All we need to do is re-introduce the check that was removed in the sampler loop.


Embed Block Responsiveness

Feature Description
We received a report on Twitter that the embed block wasn't fully responsive.
WordPress and the WordPress block editor handle responsive embeds in various way.
First of all, they require themes to opt in. But even without that, there is some responsiveness for embeds.
Then there are differences between iframes like the WordPress embeds and embeds with a fixed aspect ratio like YouTube videos.
They do it with this ol' trick using padding and pseudo elements.
Some code references:
https://github.com/WordPress/gutenberg/blob/4fe937c2188e0677b03e6eb5d2c54292705f6c45/packages/block-library/src/embed/style.scss#L37-L84
https://github.com/WordPress/gutenberg/blob/4857ad58c1241b3d63d21a6880c989b85746c3dc/packages/block-library/src/embed/util.js#L132-L185
Our embed block has one big difference to that: users can set width & height to their liking, so we have to do the aspect ratio calculation on the fly.
This is not really an issue with the embed block itself, but more of a question about how to style the player correctly.
Possible solution

Add a new div with the class  name wp-block-embed__wrapper around <amp-story-player>
Give the player itself the following inline style:position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;

Give the wp-block-embed__wrapper element the following inline style:position: relative;
overflow: hidden;
padding-top: calc(600 / 360 * 100%);
height: 0;

where 600 and 360 are the user provided numbers, hence the calc()

This is basically the Gutenberg solution but with support for arbitrary aspect ratios. That's why we cannot use a pseudo element here, since pseudo elements cannot be styled via inline styling.
Using custom properties for the aspect ratio could be an alternative.
Alternatives Considered
a) Don't let users edit the height, maintain a fixed aspect ratio
b) Solve this in the <amp-story-player> component
Additional Context
Player docs: https://github.com/ampproject/amphtml/blob/master/spec/amp-story-player.md

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

@enriqe Pinging you to hear your thoughts on responsiveness for <amp-story-player>. Has this come up before?
cc @pbakaus

Yeah, I think we could certainly provide an option at the <amp-story-player> level. Our current recommendation for responsive sizing is using vw, but I think we can do better given that your users provide a set width & height.
cc @gmajoulet @newmuis for thoughts

From what I remember you should be able to size the player using any CSS you like. You could set a width/height directly on the player element, or make it fill its container with the CSS you mentioned or position relative and width/height 100%.

Just seeing this now.  Feels to me like an aspect-ratio attribute or custom property on the player could make sense too!

I think having the size set from the first HTML render is important. If the story player sets the size after reading an attribute or after its CSS is loaded, we might have a layout shift.

Fair point.  Ideally the aspect-ratio CSS property will eventually make this easy for everyone 🙂

Thanks for the insights so far everyone!
Not sure the vw approach would work well for our use case. For consistency with rest of WordPress blocks and to meet user expectations it sounds like we might want to move forward with the CSS solution outlined in the original post.

@enriqe @newmuis @gmajoulet Quick follow-up question about this: are there any updated docs for using the player on AMP pages? I can resize it using any CSS I like on non-AMP pages, but for AMP pages I'm gonna need to set the width and height explicitly.

Currently it only supports any size-defined layouts. Here is the existing docs for the AMP version of the player: https://github.com/ampproject/amphtml/blob/master/extensions/amp-story-player/0.1/amp-story-player.md#layout
Maybe the responsive or fill layout could work for your use case here?

For extra context, you can learn more about AMP layouts here: https://amp.dev/documentation/guides-and-tutorials/learn/amp-html-layout/layouts_demonstrated/?format=websites#container

Recategorizing this as a Bug rather than Enhancement. While it will certainly improve and enhance the product, the current implementation seems "broken" to a user as responsiveness is assumed for this type of embedding, so want to treat this with higher importance than a typical enhancement/feature request.

@o-fernandez Makes sense & I agree. Just note that since this is already in progress / in review it's probably not that impactful of a change :)

Verified in QA

Related proposal for a "responsive" option for the embed block vs. static sizing status quo: https://github.com/google/web-stories-wp/issues/4977#issuecomment-713807086

The current default size is too wide for most mobile devices (I've seen a lot of unintentional horizontal truncation). Change default static size 360x600 to 280x500.

Given that we've fixed the truncation issue with this ticket, this seems less of a concern now.

Support a new "responsive sizing" mode that preserves 9:16 aspect-ratio with the padding-bottom trick

That's exactly what we already did here (using padding-bottom trick).

Add this as an option to the "Story dimensions" settings section and make it the default (enabling it disables the static size text fields and vice versa).

The text field currently acts for setting the aspect ratio and the maximum size for the responsive player.


DBZ-1039 Ensure no brace-less if() blocks are used in the code base

https://issues.jboss.org/browse/DBZ-1039

https://github.com/debezium/debezium-incubator/pull/78 must be applied after this PR

Thanks a lot, @ShubhamRwt! That's a good improvement, as the previous style leads easily to programming errors. 👍

Thanks @gunnarmorling and a big thanks @jpechane for squashing the commits into one :) .


When trying to register a partner in the created IDP and filling in all the required data, an error occurs with the following details:

Defect
TEST-1762, TEST-1763, TEST-1764
Summary: Error occurs when trying to register a partner in the created IDP
Description:
When trying to register a partner in the created IDP and filling in all the required data, an error occurs with the following details:
Request URL:
https://portal-backend.int.demo.catena-x.net/api/administration/registration/Network/partnerRegistration
Error Response:
{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "One or more validation errors occurred.",
    "status": 400,
    "errors": {
        "UniqueIds": [
            "invalid uniqueIds for country DE: '0' (Parameter 'UniqueIds')"
        ]
    }
}

Reproduction Steps:

Navigate to the partner registration page in the IDP
Click on Details and then Register Partner
Fill in all the required data for a new partner
Attempt to submit the registration form
Observe the error message indicating an issue with the "UniqueIds" parameter

Expected Behavior:
The partner registration should be successful without any errors.
Actual Behavior:
The partner registration fails with an error message indicating an issue with the "UniqueIds" parameter.

Frontend Issue - Defect created: https://github.com/eclipse-tractusx/portal-frontend/issues/826
This ticket is getting closed


clang-format set BreakBeforeBraces to Linux style

this keeps things mostly consistent with PX4/Firmware formatting

Anyone feel strongly about this? @bresch @kamilritz
Last call for bikeshedding?

Anyone feel strongly about this?

No, I am okay with both options.

Anyone feel strongly about this?

No, I am okay with both options.

Likewise, consistency is my only real requirement.


Websocket is not updated for non-admins

@tananaev
I've noticed rather critical issue in current git. Websocket is not updated for non-admin users, for admins it is OK. I'm trying to figure out why. If you have any ideas, please share.

Oh, really sorry for noise. It was my mistake.


winpr/clipboard: Also save lastWriteTime for FILEDESCRIPTORW

Quoting the commit message here:
Currently, when a local uri-list is converted into a FILEDESCRIPTORW
list, WinPR doesn't submit the last write time for each file.
The result of this is that the last write time of each file on the
other peer will have the current time and not the actual last write
time that is present on the peer, where the files were copied from.

Fix this by also writing the last write time in addition to the
FD_WRITESTIME flag.

Tested with the stable-2.0 branch, but should also work fine with current master.

test

test

Seems that the FD_SHOWPROGRESSUI flag has been renamed on the master branch to FD_PROGRESSUI.
@freerdp-bot test

Seems that the FD_SHOWPROGRESSUI flag has been renamed on the master branch to FD_PROGRESSUI.
@freerdp-bot test

Seems that the FD_SHOWPROGRESSUI flag has been renamed on the master branch to FD_PROGRESSUI.
@freerdp-bot test

Seems that the FD_SHOWPROGRESSUI flag has been renamed on the master branch to FD_PROGRESSUI.
@freerdp-bot test

@freerdp-bot test

@freerdp-bot test


Vulnerability roundup 97: subversion-1.9.12: 1 advisory [6.5]

search, files

[ ] CVE-2020-2304 CVSSv3=6.5 (nixos-20.09, nixos-unstable)

Scanned versions: nixos-20.09: 50c8d1e0deb; nixos-unstable: 83cbad92d73.
Cc @edolstra
Cc @lovek323

See also: #90993

The CVE is for the Jenkins subversion plugin rather than subversion itself.


change: [M3-7383] - Replace hardcoded prices for LKE HA with data from lke/types API endpoint

Description 📝
The changes in this PR replace the hardcoded price values for LKE High Availability with the data from the lke/types endpoint.
Changes  🔄
List any change relevant to the reviewer.

Removal of the LK_HA_PRICE const.
Replacement of outstanding default imports with named imports.
ClusterDetail is renamed to KubernetesClusterDetail.
New kubernetesTypeFactory type factory and corresponding tests.
New DC Specific Pricing queries for Kubernetes (LKE HA).
New lke/types API endpoint.

How to test 🧪

Go through the normal Kubernetes Create workflow.

Verification steps
(How to verify changes)

Verify that existing LKE create workflows behave as expected.
Verify that switching between different regions changes the price. In particular Jakarta, ID (id-cgk) and Sao Paulo, BR (br-gru) should update the price for LKE HA from $60.00 to $72.00 and $84.00, respectively.
Verify that the total price reflects the LKE HA selection based on the appropriate region.
Verify there are no visual regressions as a result of these changes.

As an Author I have considered 🤔
Check all that apply

[x] 👀 Doing a self review
[ ] ❔ Our contribution guidelines
[ ] 🤏 Splitting feature into small PRs
[x] ➕ Adding a changeset
[x] 🧪 Providing/Improving test coverage
[ ] 🔐 Removing all sensitive information from the code and PR description
[ ] 🚩 Using a feature flag to protect the release
[x] 👣 Providing comprehensive reproduction steps
[ ] 📑 Providing or updating our documentation
[ ] 🕛 Scheduling a pair reviewing session
[ ] 📱 Providing mobile support
[ ] ♿  Providing accessibility support

Please Note:
Aside from resolving the merge conflicts, there's some optimizations that need to be implemented. There were additional use cases discovered and I'm waiting for input from UX on how to address them. For now, I've labeled this PR as Work in Progress.

@carrillo-erik can we resolve the conflict before review?

@abailly-akamai @mjac0bs
There's been a few updates to this PR and it continually got bigger (although the changes were minimal). I'm more than happy to schedule a pair review session before merging this PR.

@carrillo-erik you have to fix conflicts and address feedback before this gets out of date again

@carrillo-erik you have to fix conflicts and address feedback before this gets out of date again

@abailly-akamai I've pushed my recent changes addressing the feedback.


Support forms with GET method

It seems there has been very brief discussion about this previously but to me it seems flask-wtf does not support forms with GET method as much as it could be. Current state causes issues with validation, keeping the form values when response is returned and causes extra confusion as the form fields cannot be used.
I have an idea to fix it.
Current state: One could do this
In forms:
class MyForm(FlaskForm):
    myfield = StringField("My label")
    submit = SubmitField("Search")

In tmpl.html
<form method="GET">
   {{ form.myfield.label() }}
   {{ form.myfield() }}
   {{ form.submit.label() }}
   {{ form.submit() }}
</form>

In app.py
@app.route("/my-url")
def my_route():
    form = MyForm()

    # Use the form args (if exists) for querying etc.
    qry_args = request.args
    ...

    return render_template("tmpl.html", form=form)

However, the issue is that:

The form does not maintain the field values. When the server returns the response, it does not have the form values anymore unless they are forced to the form which increases complexity.
The form cannot be used to manipulate the data.
Validation cannot be effectively used.

And why this is relevant:

I found that using GET forms to make a query panel is pretty handy. Using flask-wtf could avoid some extra boilerplate but then I encountered this issue.

Solution: Make it support forms with GET method
In FlaskForm's Meta:
        def wrap_formdata(self, form, formdata):
            if formdata is _Auto:
                if _is_submitted():
                    if request.files:
                        return CombinedMultiDict((request.files, request.form))
                    elif request.form:
                        return request.form
                    elif request.get_json():
                        return ImmutableMultiDict(request.get_json())
                    elif request.args:
                        # Make the form use URL parameters if nothing else
                        return request.args

                return None

            return formdata

Then the _is_submitted should be changed to support "GET". However, it seems some tests will fail if that is done thus I think either:

We need an attribute to identify whether the form is meant to be used as GET method
or then we had another class (FlaskGetForm) for the job. However, because the Meta is embedded in the FlaskForm, it is non-trivial (to me) how to subclass FlaskForm in user code.

Is this sensible? If so, I would be happy to work on the PR related to this.

Your "current state" code isn't correct, it should be MyForm(request.args), then the listed issues are resolved.


ROMAN NUMBERS ARE NOT ACCURATE

According to roman numbering convention 999 is IM but here its gives other answer

Roman Numerals: 999 = CMXCIX.


[UTOPIA-1460] - Separate auto save function from src\frontend\src\pages\PIAForm\index.tsx

🎯 Summary

UTOPIA-1460

seperated autosave function to its own utility file
reorganized and refactored autosave function
added comments to autosave util file

🔰 Checklist

[x] I have read and agree with the following checklist and am following the guidelines in our Code of Conduct document.

I have performed a self-review of my code.
I have commented my code, particularly in hard-to-understand areas.
I have made corresponding changes to the documentation where required.
I have tested my changes to the best of my ability.
I have consulted with the team if introducing a new dependency.
My changes generate no new warnings.

Not sure if related but I get an autosave and forbidden error on ppq when editing the "Reason for the proposed deadline." field.

Okay thanks, ill take a look at that!


Update editing.mdx

I Updated the Use Custom Editing Components section in Editing Guide Page because the codes are quite confusing. please review and update ASAP

This is even more confusing and wrong. column.isCreating isn't a thing. You probably don't need an if statement at all. I just wanted to let you know that there is a difference between editing and creating


keylime_tenant initiated action on verifier timeouts occasionally

Is your an issue a feature request? If so, please raise it as an enhancement
Environment

OS / version: Fedora 35
Processor architecture: x86_64
TPM Manufacturer: swtpm
Keylime version: current upstream 3ab5531

Description
There are occasional failures in CI where keylime_tenant command timeouts.
For example in /functional/keylime_tenant-commands-on-localhost
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   -c delete
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:: [ 22:00:17 ] :: [  BEGIN   ] :: Running 'lime_keylime_tenant -c delete'
Reading configuration from ['/etc/keylime.conf']
2022-04-05 22:00:18.460 - keylime.tpm - INFO - TPM2-TOOLS Version: 5.2
2022-04-05 22:00:18.467 - keylime.tenant - INFO - Setting up client TLS in /var/lib/keylime/cv_ca
2022-04-05 22:00:18.467 - keylime.tenant - WARNING - Using default UUID d432fbb3-d2f1-4a97-9ef7-75bd81c00000
2022-04-05 22:00:18.507 - keylime.tenant - INFO - Agent Info:
{"d432fbb3-d2f1-4a97-9ef7-75bd81c00000": {"operational_state": "Get Quote", "v": "FNBiXOpxPMP8BaUwkTiJ0yzRy9epqjHO6Nxd2TAAO8k=", "ip": "<IP_ADDRESS>", "port": 9002, "tpm_policy": "{\"22\": [\"0000000000000000000000000000000000000001\", \"0000000000000000000000000000000000000000000000000000000000000001\", \"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\", \"ffffffffffffffffffffffffffffffffffffffff\", \"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\", \"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"], \"15\": [\"0000000000000000000000000000000000000000\", \"0000000000000000000000000000000000000000000000000000000000000000\", \"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"], \"mask\": \"0x408400\"}", "vtpm_policy": "{\"23\": [\"ffffffffffffffffffffffffffffffffffffffff\", \"0000000000000000000000000000000000000000\"], \"15\": [\"0000000000000000000000000000000000000000\"], \"mask\": \"0x808000\"}", "meta_data": "{}", "allowlist_len": 6, "mb_refstate_len": 0, "accept_tpm_hash_algs": ["sha512", "sha384", "sha256", "sha1"], "accept_tpm_encryption_algs": ["ecc", "rsa"], "accept_tpm_signing_algs": ["ecschnorr", "rsassa"], "hash_alg": "sha1", "enc_alg": "rsa", "sign_alg": "rsassa", "verifier_id": "default", "verifier_ip": "<IP_ADDRESS>", "verifier_port": 8881, "severity_level": null, "last_event_id": null}}
2022-04-05 22:00:23.650 - keylime.tenant - ERROR - Timed out waiting for delete of agent d432fbb3-d2f1-4a97-9ef7-75bd81c00000 to complete at CV
:: [ 22:00:23 ] :: [   PASS   ] :: Command 'lime_keylime_tenant -c delete' (Expected 0, got 0)
:: [ 22:00:23 ] :: [   FAIL   ] :: File '/var/tmp/rlRun_LOG.V2GeHCau' should contain 'INFO - CV completed deletion of agent d432fbb3-d2f1-4a97-9ef7-75bd81c00000'
:: [ 22:00:23 ] :: [  BEGIN   ] :: Running 'lime_keylime_tenant -c cvstatus'
Reading configuration from ['/etc/keylime.conf']
2022-04-05 22:00:24.549 - keylime.tpm - INFO - TPM2-TOOLS Version: 5.2
2022-04-05 22:00:24.564 - keylime.tenant - INFO - Setting up client TLS in /var/lib/keylime/cv_ca
2022-04-05 22:00:24.564 - keylime.tenant - WARNING - Using default UUID d432fbb3-d2f1-4a97-9ef7-75bd81c00000
2022-04-05 22:00:24.612 - keylime.tenant - INFO - Agent Info:
{"d432fbb3-d2f1-4a97-9ef7-75bd81c00000": {"operational_state": "Get Quote", "v": "FNBiXOpxPMP8BaUwkTiJ0yzRy9epqjHO6Nxd2TAAO8k=", "ip": "<IP_ADDRESS>", "port": 9002, "tpm_policy": "{\"22\": [\"0000000000000000000000000000000000000001\", \"0000000000000000000000000000000000000000000000000000000000000001\", \"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001\", \"ffffffffffffffffffffffffffffffffffffffff\", \"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\", \"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"], \"15\": [\"0000000000000000000000000000000000000000\", \"0000000000000000000000000000000000000000000000000000000000000000\", \"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"], \"mask\": \"0x408400\"}", "vtpm_policy": "{\"23\": [\"ffffffffffffffffffffffffffffffffffffffff\", \"0000000000000000000000000000000000000000\"], \"15\": [\"0000000000000000000000000000000000000000\"], \"mask\": \"0x808000\"}", "meta_data": "{}", "allowlist_len": 6, "mb_refstate_len": 0, "accept_tpm_hash_algs": ["sha512", "sha384", "sha256", "sha1"], "accept_tpm_encryption_algs": ["ecc", "rsa"], "accept_tpm_signing_algs": ["ecschnorr", "rsassa"], "hash_alg": "sha1", "enc_alg": "rsa", "sign_alg": "rsassa", "verifier_id": "default", "verifier_ip": "<IP_ADDRESS>", "verifier_port": 8881, "severity_level": null, "last_event_id": null}}
:: [ 22:00:24 ] :: [   PASS   ] :: Command 'lime_keylime_tenant -c cvstatus' (Expected 0, got 0)
:: [ 22:00:24 ] :: [   FAIL   ] :: File '/var/tmp/rlRun_LOG.Hch1Aeie' should contain 'Verifier at <IP_ADDRESS> with Port 8881 does not have agent d432fbb3-d2f1-4a97-9ef7-75bd81c00000'

Verifier log contains following records
22:00:18.510 - tornado.access - INFO - 200 GET /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 9.08ms
Apr 05 22:00:18 testsystem coverage[29317]: 2022-04-05 22:00:18.515 - keylime.tpm - INFO - Checking IMA measurement list on agent: d432fbb3-d2f1-4a97-9ef7-75bd81c00000
22:00:18.540 - tornado.access - INFO - 202 DELETE /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 16.52ms
22:00:18.541 - keylime.cloudverifier - INFO - DELETE returning 202 response for agent id: d432fbb3-d2f1-4a97-9ef7-75bd81c00000
22:00:18.552 - tornado.access - INFO - 200 GET /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 6.10ms
Apr 05 22:00:18 testsystem coverage[29317]: 2022-04-05 22:00:18.983 - tornado.access - INFO - 200 GET /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 2.74ms
Apr 05 22:00:19 testsystem coverage[29317]: 2022-04-05 22:00:19.400 - tornado.access - INFO - 200 GET /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 3.44ms
Apr 05 22:00:19 testsystem coverage[29317]: 2022-04-05 22:00:19.816 - tornado.access - INFO - 200 GET /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 2.70ms
Apr 05 22:00:20 testsystem coverage[29317]: 2022-04-05 22:00:20.253 - tornado.access - INFO - 200 GET /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 10.40ms
Apr 05 22:00:20 testsystem coverage[29317]: 2022-04-05 22:00:20.318 - keylime.tpm - INFO - Checking IMA measurement list on agent: d432fbb3-d2f1-4a97-9ef7-75bd81c00000
Apr 05 22:00:20 testsystem coverage[29317]: 2022-04-05 22:00:20.649 - keylime.tpm - INFO - Checking IMA measurement list on agent: d432fbb3-d2f1-4a97-9ef7-75bd81c00000
Apr 05 22:00:20 testsystem coverage[29316]: 2022-04-05 22:00:20.706 - tornado.access - INFO - 200 GET /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 18.88ms
Apr 05 22:00:21 testsystem coverage[29317]: 2022-04-05 22:00:21.119 - tornado.access - INFO - 200 GET /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 2.88ms
Apr 05 22:00:21 testsystem coverage[29317]: 2022-04-05 22:00:21.558 - tornado.access - INFO - 200 GET /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 7.27ms
Apr 05 22:00:21 testsystem coverage[29316]: 2022-04-05 22:00:21.971 - tornado.access - INFO - 200 GET /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 2.88ms
Apr 05 22:00:22 testsystem coverage[29316]: 2022-04-05 22:00:22.402 - tornado.access - INFO - 200 GET /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 7.28ms
Apr 05 22:00:22 testsystem coverage[29317]: 2022-04-05 22:00:22.445 - keylime.tpm - INFO - Checking IMA measurement list on agent: d432fbb3-d2f1-4a97-9ef7-75bd81c00000
Apr 05 22:00:22 testsystem coverage[29317]: 2022-04-05 22:00:22.796 - keylime.tpm - INFO - Checking IMA measurement list on agent: d432fbb3-d2f1-4a97-9ef7-75bd81c00000
Apr 05 22:00:22 testsystem coverage[29316]: 2022-04-05 22:00:22.833 - tornado.access - INFO - 200 GET /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 15.96ms
Apr 05 22:00:23 testsystem coverage[29316]: 2022-04-05 22:00:23.248 - tornado.access - INFO - 200 GET /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 3.24ms
Apr 05 22:00:24 testsystem coverage[29316]: 2022-04-05 22:00:24.615 - tornado.access - INFO - 200 GET /v2.0/agents/d432fbb3-d2f1-4a97-9ef7-75bd81c00000 (<IP_ADDRESS>) 9.58ms
Apr 05 22:00:24 testsystem coverage[29317]: 2022-04-05 22:00:24.634 - keylime.tpm - INFO - Checking IMA measurement list on agent: d432fbb3-d2f1-4a97-9ef7-75bd81c00000
Apr 05 22:00:24 testsystem coverage[29317]: 2022-04-05 22:00:24.951 - keylime.tpm - INFO - Checking IMA measurement list on agent: d432fbb3-d2f1-4a97-9ef7-75bd81c00000
Apr 05 22:00:26 testsystem coverage[29317]: 2022-04-05 22:00:26.676 - keylime.cloudverifier - INFO - Connection to <IP_ADDRESS> refused after 1/5 tries, trying again in 2.000000 seconds
Apr 05 22:00:27 testsystem coverage[29317]: 2022-04-05 22:00:27.014 - keylime.cloudverifier - INFO - Connection to <IP_ADDRESS> refused after 1/5 tries, trying again in 2.000000 seconds

I have uploaded complete test log to
https://controlc.com/ca9b48be
This could be related to a fact that keylime services are running under the coverage script and therefore could be slower. Still, maybe the timeout should be increased (or made configurable).
Also, it could be due to a IMA measurements happening at the same time.
Expected behavior vs. actual behavior
keylime_tenant command timeouts while it should not.
Steps to reproduce problem

not reliable, can be seen in CI sometimes.

This might have something to do with the sqlite driver and running multiple verifier processes on the same DB.

After requesting the agent deletion, the tenant verifies that the agent was actually deleted by requesting the agent to the verifier and checking that it returns 404. The problem is that the tenant tries a maximum of 12 times waiting 0.4s in between, which gives approximately 5 seconds for the verifier to delete the agent.
I think this checking could follow the exponential back off between retries,

Commit 9e5c13388daafe6b393997040abe90eb758addd4 fixes it


Clarify license for Debian packaging

Currently I am working on creating Debian package for pylama (https://bugs.debian.org/779449). However, the content of pylama/__init__.py is confused. The comment string says it is BSD license, but the LICENSE file is LGPL-3+.
    """
Code audit tool for python.
:copyright: 2013 by Kirill Klenov.
:license: BSD, see LICENSE for more details.
"""

__version__ = "7.0.9"
__project__ = "pylama"
__author__ = "Kirill Klenov<EMAIL_ADDRESS>__license__ = "GNU LGPL"

Please help to clarify the actual license of this package by removing other license name/text in pylama so that we can work on Debian packaging, thanks.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/34617584-clarify-license-for-debian-packaging?utm_campaign=plugin&utm_content=tracker%2F394650&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F394650&utm_medium=issues&utm_source=github).

@klen
Can you help to clarify the license of pylama/__init__.py. Is it BSD or LGPL?
We want to provide pylama into Debian, and this is the only thing we need to fix before uploading.

I'd like to know that as well!

Here is the commit history details regarding the licensing terms:

Commit f6f4aab6 (2012-08-17) is the initial commit that shows that the project was originally licensed under GNU LGPL.
Commits b1b10d14 (2013-05-21), 868b5337 (2013-06-06) and dcb35e46 (2013-08-07) mention BSD license.
Commit a6ce4655 (2013-06-06) shows the intention of moving from GNU LGPL to BSD license.
Commit 4f13f63a (2014-06-30) mentions GNU LGPL in the classifiers metadata.

In the latest master branch (at commit c38d598):

Files LICENSE and setup.py mention GNU LGPL only.
Files docs/index.rst, pylama/libs/inirama.py, and README.rst mention BSD license only.
File pylama/__init__.py mentions both BSD license and GNU LGPL.

The project was originally licensed under GNU LGPL but later the author appears to have an intention of moving to BSD license. While there are several commits that provide evidence in favour of this conclusion, commit 4f13f63a contradicts this conclusion. The only place in the project that attempts to communicate the license explicitly to users or readers is README.rst which mentions:

Licensed under a BSD license.

It is unclear which BSD license (BSD-3-Clause or BSD-2-Clause) is meant here.
Here is Debian's interpretation of the licensing terms (quoting from /usr/share/doc/pylama/copyright of Debian GNU/Linux 9 (stretch)):
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: pylama
Source: https://github.com/klen/pylama

Files:     *
Copyright: 2013 copyright Kirill Klenov<EMAIL_ADDRESS>License:   LGPL-3+

Files:     pylama/__init__.py
Copyright: 2013 copyright Kirill Klenov<EMAIL_ADDRESS>License:   LGPL-3+ or BSD-3-clause

Files:     pylama/libs/inirama.py
Copyright: 2013 copyright Kirill Klenov<EMAIL_ADDRESS>License:   BSD-3-clause

Files:     debian/*
Copyright: ChangZhuo Chen (陳昌倬<EMAIL_ADDRESS>License:   LGPL-3+

@klen No update about this? LGPL-3+ and BSD-3-clause is a very big difference.

From the version 8.0.0+ Pylama has the MIT license.


Synchronous XMLHttpRequest on the main thread is deprecated

Hi, jsor
Your js is awesome. I love it.
However, there are a bit confusions whether what happened. Sorry if this bother you.
I don't know much about this and I followed your instruction respectively.
I got this error in Inspect Element console after a second of lity iframe box showing on my screen.
It's look just what I want for a second and then, it redirects to the target website immediately.
It changed the URL to be the link in href attribute.
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.

I believe that there isn't any problem about lity in my code and it's all about the previous error I've shown.
Could you please kindly suggest me the solution of this problem?
Thank you

I have no idea from the top of my head. Could you setup a reproducible test-case?


Make auxiliary lines magnetic

Auxiliary lines should attract dragged nodes within a certain threshold, and once docked need a bit more fore to release them.
Needs thorough testing, as it might annoy users when they cannot place elements as they want. Consider using a modifier key to switch this behavior off.

Fixed on master


Move and update PulumiUP demo to examples

Hello!

Vote on this issue by adding a 👍 reaction
If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details
Add PulumiUP demos to examples

Affected area/feature

Same as #476?

duplicate of #476


print loss: nan when I train CAE.

Branch
1.x branch (1.x version, such as v1.0.0rc2, or dev-1.x branch)
Prerequisite

[X] I have searched Issues and Discussions but cannot get the expected help.
[X] I have read the documentation but cannot get the expected help.
[X] The bug has not been fixed in the latest version.

Environment
consistent with the official
Describe the bug

Hellow,I change the input resolution to 416*416 when I train custom datasets. When the network is trained for 49 epochs, the print loss is nan.What could be the reason for this?
Reproduces the problem - code sample
No response
Reproduces the problem - command or script
No response
Reproduces the problem - error message
No response
Additional information
his is my parameters. I train the model with two 2080ti cards.
model = dict(
type='CAE',
backbone=dict(
type='CAEViT',
arch='b',
patch_size=16,
init_values=0.1,
qkv_bias=False),
neck=dict(
type='CAENeck',
patch_size=16,
embed_dims=768,
num_heads=12,
regressor_depth=4,
decoder_depth=4,
mlp_ratio=4,
init_values=0.1),
head=dict(
type='CAEHead', tokenizer_path='cae_ckpt/dalle_encoder.pth', lambd=2),
base_momentum=0.0)
data_source = 'ImageNet'
dataset_type = 'SingleViewDataset'
img_norm_cfg = dict(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
train_pipeline = [
dict(type='RandomHorizontalFlip', p=0.5),
dict(
type='RandomResizedCropAndInterpolationWithTwoPic',
size=416,
second_size=208,
interpolation='bicubic',
second_interpolation='lanczos',
scale=(0.08, 1.0)),
dict(type='ToTensor'),
dict(
type='BEiTMaskGenerator',
input_size=(26, 26),
num_masking_patches=75,
max_num_patches=None,
min_num_patches=16)
]
prefetch = False
data = dict(
samples_per_gpu=5,
workers_per_gpu=8,
train=dict(
type='SingleViewDataset',
data_source=dict(
type='ImageNet',
data_prefix='data_own/imagenet/train/n01440764/',
ann_file='data_own/imagenet/meta/train.txt'),
pipeline=[
dict(type='RandomHorizontalFlip', p=0.5),
dict(
type='RandomResizedCropAndInterpolationWithTwoPic',
size=416,
second_size=208,
interpolation='bicubic',
second_interpolation='lanczos',
scale=(0.08, 1.0)),
dict(type='ToTensor'),
dict(
type='BEiTMaskGenerator',
input_size=(26, 26),
num_masking_patches=75,
max_num_patches=None,
min_num_patches=16)
],
prefetch=False))
optimizer = dict(
type='AdamW',
lr=0.0015,
betas=(0.9, 0.999),
weight_decay=0.05,
paramwise_options=dict(
norm=dict(weight_decay=0.0),
bias=dict(weight_decay=0.0),
gamma=dict(weight_decay=0.0)))
optimizer_config = dict(grad_clip=dict(max_norm=3.0))
lr_config = dict(
policy='StepFixCosineAnnealing',
min_lr=1e-05,
warmup='linear',
warmup_iters=10,
warmup_ratio=0.0001,
warmup_by_epoch=True,
by_epoch=False)
runner = dict(type='EpochBasedRunner', max_epochs=300)

Better tune these hyperparameters, since your config is not consistent with that we provide.

Thank you for your reply. I train my custom datasets, so I change these hyperparameters. Now I turn the learning rate down.

Closed with being solved. If you have problems, feel free to reopen this issue.

Closed with being solved. If you have problems, feel free to reopen this issue.

OK


Add hybrid support

Both for KEMs (#16) as well as for SIGs (quite some upstream integration points missing; possibly requiring some X.509/encode wizardry)

KEM's basically done (#16) ; SIG's can follow after #33 is merged.


Losing info when reading maf file

Hi there,
I am reading a maf file, converted with vcf2maf.pl  from https://github.com/mskcc/vcf2maf
I converted it from a VCF which only have PASS variants like this:
perl vcf2maf.pl --input-vcf /Users/abelgd/Desktop/training_bioinfo/VCFs_pipeline_curro/tejidos_vcfs_PASS/descomp/PCT75.filtered.PASS.vcf --output-maf ~/Desktop/PCT75_pass.vep.maf --tumor-id PCT75T.tumor --normal-id PCT75P.normal --ref-fasta /Users/abelgd/.vep/homo_sapiens/107_GRCh38/Homo_sapiens.GRCh38.dna.toplevel.fa --vep-path ~/ensembl-vep --ncbi-build GRCh38
The original VCF have 27 variants, but when I see the maf object it only has 4 variants.
Does anyone know why is this happening? Maybe is something about VEP or vcf2maf command? My VEP version installed is v_107 from the official website: https://www.ensembl.org/info/docs/tools/vep/script/index.html

Check the silent slot of the MAF object?

Hi thanks for the reply,
How do I do that?

@eibol1 an example
library(maftools)
laml.maf = system.file("extdata", "tcga_laml.maf.gz", package = "maftools") #MAF file
laml.clin = system.file('extdata', 'tcga_laml_annot.tsv', package = 'maftools') #clinical data
laml = read.maf(maf = laml.maf, clinicalData = laml.clin)

<EMAIL_ADDRESS>

><EMAIL_ADDRESS>     Hugo_Symbol Entrez_Gene_Id           Center NCBI_Build Chromosome Start_Position
  1:      ABCC11          85320 genome.wustl.edu         37         16       48244997
  2:        ACAN            176 genome.wustl.edu         37         15       89401084
  3:       ACAT1             38 genome.wustl.edu         37         11      108009744
  4:       ACCN2             41 genome.wustl.edu         37         12       50452780
  5:       ACTA2             59 genome.wustl.edu         37         10       90695109
 ---
471:      ZNF473          25888 genome.wustl.edu         37         19       50549971
472:      ZNF648         127665 genome.wustl.edu         37          1      182027086
473:      ZNF721         170960 genome.wustl.edu         37          4         437878
474:     ZSCAN21           7589 genome.wustl.edu         37          7       99654638
475:     ZSCAN5A          79149 genome.wustl.edu         37         19       56734093
     End_Position Strand Variant_Classification Variant_Type Reference_Allele
  1:     48244997      +                 Silent          SNP                G
  2:     89401084      +                 Silent          SNP                C
  3:    108009744      +                 Silent          SNP                T
  4:     50452780      +                 Silent          SNP                C
  5:     90695109      +                 Silent          SNP                C
 ---
471:     50549971      +                 Silent          SNP                T
472:    182027086      +                 Silent          SNP                A
473:       437878      +                 Silent          SNP                T
474:     99654638      +                 Silent          SNP                C
475:     56734093      +                 Silent          SNP                T
     Tumor_Seq_Allele1 Tumor_Seq_Allele2 Tumor_Sample_Barcode Protein_Change
  1:                 G                 A         TCGA-AB-2830        p.I490I
  2:                 C                 T         TCGA-AB-2898       p.S1756S
  3:                 T                 G         TCGA-AB-2887        p.T185T
  4:                 C                 G         TCGA-AB-3009         p.L77L
  5:                 C                 T         TCGA-AB-2973        p.P335P
 ---
471:                 T                 G         TCGA-AB-2857        p.P757P
472:                 A                 C         TCGA-AB-2915         p.T20T
473:                 T                 C         TCGA-AB-2977        p.Q114Q
474:                 C                 T         TCGA-AB-2858          p.T3T
475:                 T                 C         TCGA-AB-2930        p.L202L
     i_TumorVAF_WU i_transcript_name
  1:    34.2700000       NM_032583.3
  2:    38.3000000       NM_013227.2
  3:    49.0400000       NM_000019.3
  4:    48.1000000       NM_020039.2
  5:     0.2012072       NM_001613.1
 ---
471:    18.8600000    NM_001006656.1
472:    56.2800000    NM_001009992.1
473:    45.1700000       NM_133474.2
474:    21.3600000       NM_145914.2
475:    50.0000000       NM_024303.1

Thanks!
I am reading the my own maf file like this:
laml.clin = system.file('extdata', 'tcga_laml_annot.tsv', package = 'maftools')
maffile = read.maf('/Users/abelgd/Desktop/PCT75_pass.vep.maf', clinicalData = laml.clin)

Where PCT75_pass.vep.maf is maf file converted with vcf2maf. The original VCF has 27 variants. Checking maffile has a total of 4 variants. When I check<EMAIL_ADDRESS>I can see 8 variants:
<EMAIL_ADDRESS>    Hugo_Symbol Entrez_Gene_Id Center NCBI_Build Chromosome Start_Position End_Position Strand Variant_Classification
 1:        DDR2           4921      .     GRCh38       chr1      162770193    162770193      +                 Intron
 2:        DDR2           4921      .     GRCh38       chr1      162772540    162772540      +                 Intron
 3:       NLRP3         114548      .     GRCh38       chr1      247417746    247417746      +                 Intron
 4:       NLRP3         114548      .     GRCh38       chr1      247417916    247417917      +                 Intron
 5:       NLRP3         114548      .     GRCh38       chr1      247429360    247429360      +                 Intron
 6:         ALK            238      .     GRCh38       chr2       29239946     29239946      +                 Intron
 7:      CTNNB1           1499      .     GRCh38       chr3       41195126     41195126      +                5'Flank
 8:       PITX2           5308      .     GRCh38       chr4      110618971    110618971      +                 Intron

What do you think?

Have you got some msg about the filtering when input with read.maf()? Actually you can change read.maf() to data.table::fread() and see if you can get 27 variants. If so, some filtering step must be enabled in the read.maf(), e.g., you have some duplicated variants. Details you can check the source code: https://github.com/PoisonAlien/maftools/blob/adaadfba94a80e2400544d88a58cf5f506ce4589/R/read_maf_dt.R#L38.

I do not have any message neither warning messages, everything is OK.
I realised thtat checking<EMAIL_ADDRESS>I got 23 (entries), instead of 8. Sorry about that. So it is ok, but maybe some variant is duplicated.
But something is confusing for me is when I check the basic summary of my maf file I only see 4 mutations in total:
> maffile
An object of class  MAF
                  ID summary Mean Median
1:        NCBI_Build  GRCh38   NA     NA
2:            Center       .   NA     NA
3:           Samples       1   NA     NA
4:            nGenes       4   NA     NA
5: Missense_Mutation       3    3      3
6: Nonsense_Mutation       1    1      1
7:             total       4    4      4

How is that?
P.S.: Is there any possibility to merge many maf files into one? I mean a MAF file that have all the info of all my samples. Is it possible to do with read.maf or should I do it previously with vcf2maf.pl?

As silent mutations are excluded from summary and analysis.
For merging, there is function merge_mafs() in maftools.


make the vllm setup mode configurable and make install mode as default for end-user friendly

FILL IN THE PR DESCRIPTION HERE
Currently, the vllm install mode is "develop", and when first starting the container, we faced the problem of the following:
ImportError: cannot import name '_custom_C' from 'vllm' (/app/vllm/vllm/__init__.py)

And user has to rerun the step of python3 setup.py develop.
Though develop mode is convenient for developers, it is not user friendly for the end users.
So for user friendly, and documentation purposes, it is better to make the "install" mode as the default.
FIX #xxxx (link existing issues this PR will resolve)
BEFORE SUBMITTING, PLEASE READ THE CHECKLIST BELOW AND FILL IN THE DESCRIPTION ABOVE

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

wrong repo


Fix binary name

This should fix https://github.com/slsa-framework/slsa-github-generator/issues/190

/cc @asraa @laurentsimon Small fix. fyi


install.sh updates, fixes and additions

Made the following updates, fixes and additions to install.sh.   Note:  each change was made in a separate commit, and details for each are provided in the commit descriptions.

fix typos in install.sh code that creates copies.  Specifically, the dest_dir var used without $, and link_copy called instead of copy_file
corrected cross-platform issues resulting from #!/bin/sh running dash or POSIX-only shells on some systems
modified Help Text for readability and standardization
re-Organized script into four sections: var-inits, functions, pre_exec, execution
added build-number & build-date vars, used in help text display and new '-V | --version' option

This is awesome, every change is spot on. Thanks for the great contributions!

Thanks, mnewt.
I have some additional updates coming for install.sh, including error checking, basic colorization of output text, and different output options.
error checking

check shell return status for each file-handling command
save name of each item that failed
count # of each error type (delete, copy, link, mkdir)
log any errors

basic colorization of output text - can be turned off via config-file setting or optional param

enable basic colors in output text if an environment check for color checking passes
green text - actions that were successful (the words copied, linked)
yellow text - actions that require force-mode (the words not overwritten and/or requires --force)
red text - actions that were un-successful due to errors (the words failed, error)
item count numbers - color TBD - display item count numbers in an easy to read color (maybe cyan?)

output options - different output views: summary (default), extended-summary, verbose, and quiet

summary - displays a summary of errors, and number of items: copied, linked, ignored (not-overwritten).  This is particularly useful when you want to determine if any files require "--force"

    5 items copied to destination
    15 items linked in destination
    12 items already exist and were not overwritten (requires --force)

extended-summary - display additional details in summary view.  In essence, list items that were not (or would not be) successful, due to lack of "--force", or file-handling command errors (potentially caused by file-permission issues).

    5 items copied to destination
    15 items linked in destination
    1 item failed during copy
         /dev/dotfiles/grc
    11 items already exist and were not overwritten (requires --force)
         /dev/dotfiles/.bash_profile
         /dev/dotfiles/.bashrc
         ...

verbose - displays results for every item (much like the output of the current version)
quiet - displays no output (useful when calling from other scripts)

Love it! I always meant to do the first two, never thought of the third but it’s a great idea. Error checking is the highest priority because the script can potentially do a lot of damage.

On Feb 2, 2016, at 10:16 AM, azrobbo<EMAIL_ADDRESS>wrote:
Thanks, mnewt.
I have some additional updates coming for install.sh, including error checking, basic colorization of output text, and different output options.
error checking
check shell return status for each file-handling command
save name of each item that failed
count # of each error type (delete, copy, link, mkdir)
log any errors
basic colorization of output text - can be turned off via config-file setting or optional param
enable basic colors in output text if an environment check for color checking passes
green text - actions that were successful (the words copied, linked)
yellow text - actions that require force-mode (the words not overwritten and/or requires --force)
red text - actions that were un-successful due to errors (the words failed, error)
item count numbers - color TBD - display item count numbers in an easy to read color (maybe cyan?)
output options - different output views: summary (default), extended-summary, verbose, and quiet
summary - displays a summary of errors, and number of items: copied, linked, ignored (not-overwritten). This is particularly useful when you want to determine if any files require "--force"
5 items copied to destination
15 items linked in destination
12 items already exist and were not overwritten (requires --force)
extended-summary - display additional details in summary view. In essence, list items that were not (or would not be) successful, due to lack of "--force", or file-handling command errors (potentially caused by file-permission issues).
5 items copied to destination
15 items linked in destination
1 item failed during copy
/dev/dotfiles/grc
11 items already exist and were not overwritten (requires --force)
/dev/dotfiles/.bash_profile
/dev/dotfiles/.bashrc
...
verbose - displays results for every item (much like the output of the current version)
quiet - displays no output (useful when calling from other scripts)
—
Reply to this email directly or view it on GitHub https://github.com/mnewt/dotfiles/pull/1#issuecomment-178731300.


Allow filtering / aggregating of events

What
This is a [WIP] PR to allow you to

Completely block certain events from being logged (optionally)
Aggregate certain events to be logged all at once together (optionally)

Why
If you have frequent repetitive events the current practice of logging everything indiscriminately can flood your console. More on this at #27
Highlights

I think I'll need to proxyquire nanoscheduler in order to test that it gets the data that we expect. Unless you have another idea in mind!

Reviewer Notes
Wanted to pause here and get a quick eye on the skeleton before proceeding. Surely not done or cleaned up - mainly hoping for any structural feedback. Namely.

Did I put the unit test in the correct place or would you prefer it elsewhere?
Do you see anything structurally in this WIP that you'd prefer to be changed.

Cheers!

Now that I've played with choo-devtools a bit more I'm seeing that your original, simpler solution actually solves all of my problems!

Sorry for not seeing this sooner! I'll update this PR to just use a simple filter!

@yoshuawuyts alright all done here - let me know if anything needs changing and I'm more than happy to.

v2.5.0 :tada:


Baseline - Refactor Azure check stack #381

Closes #381

krishna@turbotindias-MacBook-Pro azure_check_stack % terraform apply
var.turbot_profile
  Enter profile matching your turbot cli credentials.

  Enter a value: punisher

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # turbot_policy_setting.azure_subscription_monitor_stack will be created
  + resource "turbot_policy_setting" "azure_subscription_monitor_stack" {
      + id                           = (known after apply)
      + precedence                   = "REQUIRED"
      + resource                     = (known after apply)
      + resource_akas                = (known after apply)
      + type                         = "tmod:@turbot/azure#/policy/types/subscriptionStack"
      + value                        = "Check: Configured"
      + value_key_fingerprint        = (known after apply)
      + value_source                 = (known after apply)
      + value_source_key_fingerprint = (known after apply)
      + value_source_used            = (known after apply)
    }

  # turbot_policy_setting.azure_subscription_monitor_stack_source will be created
  + resource "turbot_policy_setting" "azure_subscription_monitor_stack_source" {
      + id                           = (known after apply)
      + precedence                   = "REQUIRED"
      + resource                     = (known after apply)
      + resource_akas                = (known after apply)
      + type                         = "tmod:@turbot/azure#/policy/types/subscriptionStackSource"
      + value                        = <<~EOT
            resource "azurerm_resource_group" "demo_rg" {
              name     = "turbot_stack_demo"
              location = "East US"

              tags = {
                environment = "demo"
              }
            }

            resource "azurerm_monitor_action_group" "demo_rg" {
                name = "turbot_monitor_action_group_demo"
                resource_group_name = "${azurerm_resource_group.demo_rg.name}"
                short_name  = "eventHandler"
                tags = {
                  environment = "demo"
              }
              }
              resource "azurerm_monitor_activity_log_alert" "turbot_azure_event_handler_activity_Log_Alert" {
                name                = "turbot_monitor_log_alert_demo"
                resource_group_name = "${azurerm_resource_group.demo_rg.name}"
                scopes              = ["${azurerm_resource_group.demo_rg.id}"]

                criteria {
                category       = "Administrative"
                status         = "Succeeded"
                level          = "Informational"
                }

                tags = {
                  environment = "demo"
                }

                action {
                  action_group_id = "${azurerm_monitor_action_group.demo_rg.id}"
                }
              }
        EOT
      + value_key_fingerprint        = (known after apply)
      + value_source                 = (known after apply)
      + value_source_key_fingerprint = (known after apply)
      + value_source_used            = (known after apply)
    }

  # turbot_policy_setting.azure_subscription_monitor_stack_tfversion will be created
  + resource "turbot_policy_setting" "azure_subscription_monitor_stack_tfversion" {
      + id                           = (known after apply)
      + precedence                   = "REQUIRED"
      + resource                     = (known after apply)
      + resource_akas                = (known after apply)
      + type                         = "tmod:@turbot/azure#/policy/types/subscriptionStackTerraformVersion"
      + value                        = "0.13.*"
      + value_key_fingerprint        = (known after apply)
      + value_source                 = (known after apply)
      + value_source_key_fingerprint = (known after apply)
      + value_source_used            = (known after apply)
    }

  # turbot_smart_folder.azure_stack will be created
  + resource "turbot_smart_folder" "azure_stack" {
      + description = "Defines sets of policies for the Azure Stack baseline"
      + id          = (known after apply)
      + parent      = "tmod:@turbot/turbot#/"
      + parent_akas = (known after apply)
      + title       = "Azure Stack Example Policies"
    }

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

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

   Resources: 4 added, 0 changed, 0 destroyed.

Outputs:

smart_folder_description = Defines sets of policies for the Azure Stack baseline
smart_folder_name = Azure Stack Example Policies
smart_folder_parent_resource = tmod:@turbot/turbot#/
turbot_profile = punisher


TransportAdapterOptions.MultipleCrlOperations unit test fails on Linux

I think it is an issue with the connection pool, not the example.com.
Maybe there is a newer Libcur version that started behaving differently on Linux.
But it repros consistently in CI now.
I compiled with Curl transport on Windows, it does not repro.
On Linux, it also fails with _LIVEONLY_.
CI failure logs:
first,
[  INFO ] /mnt/vss/_work/1/s/sdk/core/azure-core/test/ut/transport_policy_options.cpp:549:: Test https://www.example.com/
231: [2023-01-10T19:34:34.6835347Z] DEBUG : [CURL Transport Adapter]: Creating a new session.
231: [2023-01-10T19:34:34.6835697Z] DEBUG : [CURL Transport Adapter]: Spawn new connection.
231: [2023-01-10T19:35:38.7378656Z] DEBUG : [CURL Transport Adapter]: No Host in request headers. Adding it
231: [2023-01-10T19:35:38.7379044Z] DEBUG : [CURL Transport Adapter]: No content-length in headers. Adding it
231: [2023-01-10T19:35:38.7379310Z] DEBUG : [CURL Transport Adapter]: Send request without payload
231: [2023-01-10T19:35:38.7384886Z] DEBUG : [CURL Transport Adapter]: Parse server response
231: [2023-01-10T19:35:38.7459252Z] DEBUG : [CURL Transport Adapter]: Request completed. Moving response out of session and session to response.
231: [2023-01-10T19:35:38.7459741Z] DEBUG : Moving connection to pool...
231: [2023-01-10T19:35:38.7460087Z] DEBUG : Clean thread running. Won't start a new one.

then,
231:   Actual: it throws Azure::Core::Http::TransportException with description "Fail to get a new connection for: https://www.example.com. Timeout was reached".

Place in the test code where it fails:
https://github.com/Azure/azure-sdk-for-cpp/blob/01af6783b1ffa4be1717fd8d413e874dcee5620d/sdk/core/azure-core/test/ut/transport_policy_options.cpp#L578-L579
Log: https://dev.azure.com/azure-sdk/public/_build/results?buildId=2105545&view=logs&j=ca6c228c-7ba2-55ec-3482-b320fca07ebb&t=58b93069-ce09-5d02-79f9-e17c70ed0a5d

Ok, so I ran it on my local Gentoo machine - the test passes. So, something must be wrong with the CI machine, unless it is Ubuntu-specific. Good news, I think, is that it is not likely a bug in the code, either our SDK or libcurl, probably a setup issue. I think it could be related with some connection restrictions for CI machines.
@danieljurek, does this ring any bells? One of the unit tests started to fail about 2 days ago, that test is trying to reach some https endpoints (example.com, amazon.com, google.com) while doing something special with certificates (@LarryOsterman probably has more context). Could it be some firewall or proxy setting? Do you know if maybe some security setting got changed for Ubuntu machines recently?

@danieljurek, it is the machine pool:

Run inazsdk-pool-mms-ubuntu-*-general pool + MMSUbuntu* images - fails on Ubuntu: https://github.com/Azure/azure-sdk-for-cpp/pull/4238/checks?check_run_id=10590166919
Run in Azure Pipelines pool + ubuntu-* images - passes on Ubuntu: https://github.com/Azure/azure-sdk-for-cpp/pull/4238/checks?check_run_id=10591118292

So, what do we do now? Can I check in the change that changes the pool to Azure Pipelines?
Bad news: about an hour ago, it stated to fail on Mac machines. Whichever firewall changes getting applied to machine pools seem to be breaking our tests. This one with Linux pool started at the end of the last week or early this week.
cc @LarryOsterman

@LarryOsterman, and I am not sure if "example.com" is the only one that fails, or is it just the first one. But maybe "google.com" and "amazon.com" are in the 1ES firewall's allow list, but "example.com" is not, and that's why we're seeing problems with it.

@mikeharder -- Looks like there's a firewall rule impacting some CI tests for the C++ SDK.
@antkmsft -- Could you try using microsoft.com or a storage account (e.g. cppvcpkgcache.blob.core.windows.net)?

If I understand that test correctly, it wanted domains that are signed with different types of certificates/different root authorities, and the domains that are being used have that mix. I'll clarify with Larry, he knows more.

That is exactly what the test is doing. It also attempts to verify it multiple times to exercise the CRL cache in CURL.

How important is it for the test to talk to amazon.com, google.com, example.com instead of, let's say, microsoft.com, azure.com, xbox.com, github.com, office.com, etc? If it makes no difference, maybe we can use these domains, and the 1ES team would feel a little better about moving these domains to allow-list?
Does the fact that amazon, google, and example.com are using TLS certificates with different authorities, maybe even slightly different certificate types, matters at all?

How important is it for the test to talk to amazon.com, google.com, example.com instead of, let's say, microsoft.com, azure.com, xbox.com, github.com, office.com, etc? If it makes no difference, maybe we can use these domains, and the 1ES team would feel a little better about moving these domains to allow-list?
Does the fact that amazon, google, and example.com are using TLS certificates with different authorities, maybe even slightly different certificate types, matters at all?

The entire purpose of this test is to use non-microsoft assets. Every Microsoft asset uses the same CA, one owned by Microsoft.
If we believe that the HttpTransport is intended to work with arbitrary HTTP servers, then IMHO it's important to test against servers that have certificates issued by different CAs, and with different CRL/OCSP rules.
If, on the other hand, we believe that the HttpTransport in the "Azure C++ SDK" is only intended to communicate with Azure/Microsoft resources, then we can drop the checks for non-Microsoft CA based sites.
And to be clear: Both of these interpretations are completely accurate.


Issue with k8s.io/docs/concepts/storage/persistent-volumes/

This is a...

[ ] Feature Request
[ x] Bug Report

Problem:
Quote from the page:
"A PersistentVolume (PV) is a piece of storage in the cluster that has been provisioned by an administrator."
This implies that statically provisioned volumes are PV's, but dynamically provisioned volumes are not.  I assume this is not the intent (if I'm wrong about that, the proposed solution below should be ignored).  This implication is confusing for those trying to understand the differences between volumes specified and provisioned in these two different ways.
Proposed Solution:
Change the sentence to "A PersistentVolume (PV) is a piece of storage in the cluster that has a lifecycle independent of any particular pod."
Page to Update:
https://kubernetes.io/...

/language en


Break into tables documentation into logical sections

The 'tables' section had become difficult to navigate and find information quickly, so I've broken it down into 4 discrete sections:

Tables
Columns
Indexes
Foreign Keys

Makes sense to me! Thanks!


ClassLoaderContextSelector should create a separate context per classloader

The ClassLoaderContextSelector#locateContext currently implements the following logic:
https://github.com/apache/logging-log4j2/blob/f05864d4acf4198ec164e8ddfc2e325ffde21877/log4j-core/src/main/java/org/apache/logging/log4j/core/selector/ClassLoaderContextSelector.java#L189-L221
If the initial ContextSelector#getContext call does not provide a configLocation parameter and there is already a logger context associated to an ancestor of the loader classloader, no new context is created and the logger context of the ancestor is returned.
While this might be a feature to minimize the number of logger contexts, IMHO it should be optional and the default behavior should be to create a different logger context per classloader.
This behavior causes #1430 and the problems in #2311.

@rgoers, what do you think about removing the code above or at least activate it only if a property is set?

As I see it, the main problem to solve is: if getContext is called for a classloader loader, for which no logger context exists, should ClassLoaderContextSelector return a new logger context or the context for loader.getParent()?
There are obviously 3 solutions to this problem

always return the logger context for loader.getParent() (if it exists, etc.). In practice this is the current behavior.
always return a new logger context. This solution causes logger context proliferation, even for classloaders where it is not necessary (e.g. they have the same configuration as their parent classloader). However it is not a big problem: since most Log4j Core appenders rely on a reference counted manager 75 file appenders pointing to the same file will still only use one file manager.
the right balance between the two above.

The right balance might be tricky to achieve: the same configuration file can, due to lookups and arbiters, create two totally different configurations, therefore I would prefer to always create a new logger context unconditionally.
However, if we are looking for a middle way, the one used by Tomcat JULI seems viable: Tomcat JULI uses the same logger context for all applications, except those for which loader.findResource("WEB-INF/logging.properties") is not null (not the recursive getResource).


Create template from snapshot parallel allocating same NFS secondary storage on agent

ISSUE TYPE

Bug Report

COMPONENT NAME

Storage

CLOUDSTACK VERSION

4.19.0

But I assume also 4.18 is affected
CONFIGURATION

I could recreate this with Linstor primary storage and the config option:  lin.backup.snapshots disabled
I'm not sure yet which other storage combination could be used to trigger this.
OS / ENVIRONMENT

Ubuntu 22.04 non hyperconverged (2 storage nodes, 3 compute nodes (with agents)) setup.
SUMMARY

If I create 2 templates from snapshot (from different snapshots) at nearly the same time and the copy command is sent to the same agent,
both copy commands use the same storage pool object and the 1. finished will try to unmount
the still used storage pool (from the second copy command).
In the worst case the first copy command is finished while the second didn't even start yet to copy, resulting in the second copy command to write into the local mount directory.
STEPS TO REPRODUCE

* Create 2 snapshots from the same volume.
* Create a template from the first snapshot
* Create a template from the second snapshot (nearly after the first)

If the copy commands run on the same agent you would see the secondary storage created twice. e.g.:
2024-04-10 12:03:13,081 INFO  [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-1:null) (logid:1ec7c8ad) Attempting to create storage pool e9e15545-fceb-3d76-be34-37dfaf5af384 (NetworkFilesystem) in libvirt
2024-04-10 12:03:13,089 DEBUG [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-1:null) (logid:1ec7c8ad) Attempting to create storage pool e9e15545-fceb-3d76-be34-37dfaf5af384
2024-04-10 12:03:23,319 INFO  [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-4:null) (logid:1fab4dd4) Attempting to create storage pool e9e15545-fceb-3d76-be34-37dfaf5af384 (NetworkFilesystem) in libvirt
2024-04-10 12:03:43,257 INFO  [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-1:null) (logid:1ec7c8ad) Attempting to remove storage pool e9e15545-fceb-3d76-be34-37dfaf5af384 from libvirt
2024-04-10 12:03:48,862 INFO  [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-4:null) (logid:1fab4dd4) Attempting to remove storage pool e9e15545-fceb-3d76-be34-37dfaf5af384 from libvirt

Attached are management and agent logs.
management.log
agent.log
EXPECTED RESULTS

Either running the copy commands in sequence or having a ref counted storage pool, that doesn't remove itself
while still used.

ACTUAL RESULTS

2 storage pool objects created, pointing to the same mount point.
The first finished would unmount the mount point for the other.

@rp- , I used the scenario and a script
cmk create template name=1st ostypeid=a3bf2482-06d8-11ef-881c-1e0048000312 snapshotid=639c5966-2c93-4c05-91c4-38922f84d981 &
cmk create template name=2nd ostypeid=a3bf2482-06d8-11ef-881c-1e0048000312 snapshotid=09f04474-c261-4ad2-9148-482b5ccc2c45 &

but didn't reproduce the issue. I think it is credible though. By the looks of your description it shouldn't even be storage specific, but maybe there is a timing constrained that makes me not reproduce it.
Do you have a fix/idea/design to deal with this?

@DaanHoogland
I think it is kinda storage related, by the storage motion strategy CloudStack takes.
In this specific Linstor case CloudStack has to first copy the Snapshot into the secondary storage as template (as the snapshot in this case is only Linstor storage)
First I thought this is the only storage motion strategy to trigger that, but apparently a Customer reported that they still have problems with NFS mounts not correctly mounted/unmounted.
So it might either be that other storage motions are also affected, or the Customer setup has some extra flaw which I can't figure out.
Well my idea would be the 2 points from the "Expected results", either it is done in sequence OR the storage pool are refcounted.

Well my idea would be the 2 points from the "Expected results", either it is done in sequence OR the storage pool are refcounted.

@rp- ,

I do not like the in sequence idea as this is storage being copied over network this will no doubt be a performance hog.
keeping a mount-count could work, meaning that the SSVM would have to keep a tally of how many requests are using a certain mount, and on umount just returning success without action when the count is not zero. Only to really un-mount once the it is. One catcha is that the mount functionality must be centralised and may not be called by commands, but only requested. If we guarantee this it will work as you describe
€0,02

Hi Guys,
Just curious, does this issue happen with Ceph users? I havent heard of any so far,
So if its working with Ceph, means that Linstor is using a different method?

@rp- I am moving this to 4.19.2 (or later) as we do not have a way forward yet.

@DaanHoogland
Here would be some way to fix this, but no feedback yet if it helps:
https://github.com/LINBIT/cloudstack/commit/e53ea85cc882bf758c7fdcc839e0b848c27e570e

@DaanHoogland Here would be some way to fix this, but no feedback yet if it helps: LINBIT@e53ea85

@rp- , I imagine you propose to move that logic into a more generic place like LibvirtStorageAdaptor or LibvirtStoragePool ?

@rp- , I would not know off the top of my head. The more I think about it the more locations seem apropriat :exploding_head: CloudStackImageStoreDriverImpl could also be a location to put this.
@harikrishna-patnala @slavkap any ideas?

fixed in #9498 (cc @rp- ?)


Binaries for windows

Where can I download Tesseract for Windows?
All Links point to code.google.com, but since Tesseract has moved here all links are dead.
Also I would like to downoad different versions (2.x, 3.x) to see if any of them works.
The version I have right now (3.05 Setup) does not read any images but produces errors instead.

That might be caused by missing permissions: all but the latest versions try to create temporary files in the root directory c:.(that's caused by the code coming from Leptonica).

Leptonica can be built on windows. But by default it is built without any image libraries (i.e. cannot load/save images). So, no png,gif,tiff functions available.
In such mode tesseract will only handle raw image input from api, not any exe calls.

OK, thanks for the replies. Can I download a version somewhere that
a) Does not have the bug mentioned by stweil
b) Includes the image loading functionality
On https://github.com/tesseract-ocr/tesseract/wiki/Downloads it says "Currently, there is no official Windows installer for newer versions." :-(
The 3.05 setup from https://github.com/UB-Mannheim/tesseract/wiki does also not work (as mentioned above).

Try these binaries compiled by me.
https://dl.dropboxusercontent.com/u/19622060/tesseract-3.05.00dev-win32-vc19.zip
You have to install VC2015 x86 redist from microsoft.com

Also I would like to downoad different versions (2.x, 3.x) to see if any of them works.

http://sourceforge.net/projects/tesseract-ocr-alt/files/

Hi, I made a step by step guide how to compile Tesseract on Windows.. You can check my guide's here: http://gensanblog.com/2016/01/28/how-to-compile-tesseract-git-project-on-windows/
You can also download the compiled version..

@bantilan: please add it https://github.com/tesseract-ocr/tesseract/wiki/Compiling#windows (every github used can modify it)

It's a bad guide. Do not add it anywhere.

Windows binaries should be made with MSVC, not cygwin. Why do you install Visual Studio and do not use it? You use only cygwin stuff. Which won't run if you distribute it without cygwin.
https://github.com/egorpugin/leptonica.git is not correct leptonica distributive anymore. Use official https://github.com/DanBloomberg/leptonica/releases 1.73+ release.

I uploaded my local branch with almost all leptonica's deps sources to https://github.com/egorpugin/leptonica/tree/with_libs. You can find them in /dep. Most of those were taken from opencv distribution. They can be somewhere misconfigured etc. Also that branch is following master branch of leptonica, so probably not so stable as release.
When you build this leptonica branch, result library will support many image libraries, therefore tesseract does too when linked with it.

Hi Egor, thank you for correcting.. I am new to this and I made lots of edit's on the guide.. I will edit my post and focus on cygwin, I also added dll's so that it can run without cygwin.. I'll create a new guide for MSVC..

@egorpugin : Could you also build the training program - text2image for windows

No, I can't.
That's the single binary that cannot be easily built with MSVC.

@egorpugin: OK.
@zdenop : There are a number of older requests/issues for windows build. I'll add a comment to refer to this issue and you could close them. Thanks!

@egorpugin - Are the windows binaries at
https://www.dropbox.com/s/8t54mz39i58qslh/tesseract-3.05.00dev-win32-vc19.zip?dl=1

They are from master branch. Probably on this commit ec44221e336dd9

Thanks for clarifying, @egorpugin .
I was confused after seeing the following on the releases page:
on Jul 22, 2015
3.05.00dev  …
increase version number
 71e226c   zip   tar.gz

This build does not create PDFs, but the cygwin build does.

@egorpugin, can you confirm this?

Did not run tests on my binaries, so it's possible.

@nickbe, one more (unofficial) option for Windows:
https://github.com/UB-Mannheim/tesseract

The installers (made with MinGW-w64) are at https://github.com/UB-Mannheim/tesseract/wiki.

Yeah. For some reason I omitted the 'wiki' part from the link.

https://github.com/UB-Mannheim/tesseract doesn't seem to provide binaries right now.

@nickbe, just add /wiki to that URL...

But these do not seem to be the VC binaries, or are they? There's only a problem with generating PDFs with the VC runtimes.

That's right, the UB Mannheim executables are built with Mingw-w64.

What is this business about certain builds not supporting PDF output? There is nothing special or weird with that section of code. Are they just old builds from before the feature was created, or is there something else going on?

Is there a simple command to check pdf generation?
I'll try to debug the issue (if any).

The discussion about the PDF issue in egor build should be continued in #338

Latest VC binaries by @egorpugin with PDF generation are at following link, as per  #338: https://www.dropbox.com/s/pxu2hp6mg1a64zj/tesseract-3.05.00dev-win32-vc19-2016-jun-03.zip?dl=1

Great. Thanks !

Hi!
I'd like to share one more way of building tesseract(+leptonica+other_image_libraries) on Windows. Linux probably will work too.

Download and install Git, CMake and put them in PATH.
Download the latest CPPAN (C++ Archive Network https://cppan.org/) client from https://cppan.org/client/. CPPAN is a source package distribution system. (Like biicode or conan but for sources. Also the idea came from CPAN/CTAN/CRAN.) Add CPPAN client in PATH too. (VS2015 redist is required.)
Run

git clone https://github.com/tesseract-ocr/tesseract tesseract
cd tesseract
cppan
mkdir build && cd build
cmake .. -DSTATIC=1

Build a solution in VS tesseract.sln

So, the build should be pretty straightforward and available for everyone with installed Visual Studio. You can try it on any version supported by tesseract.
If you like the way of building tesseract with CPPAN, I could implement such easy way of integration of tesseract into user (your) apps.
Sorry for the noise.

@egorpugin: thanks! I tried it in VS2010 and I face one problem:
this version of giflib can not be built by VS2010 (Cannot open include file: 'stdbool.h': No such file or directory). Is it possible to make it optionable (to ignore gif library) or to use other version of library (older 4.? was possible to build with VS2010)?

During normal workflow this is not possible.
Because of the following:
tesseract is binded to leptonica (some version, e.g. future 1.74);
leptonica is binded to giflib (e.g. v5.1.2).
So you cannot control leptonica's dependencies.
And you must use appropriate and supported compilers of these libraries to compile your project.
Now you'd like to use an older version of giflib. The idea is clear, I understand this, you want to work on older compiler. But using old version of libraries can bring (and it does) potential security breaches.
But now  it's possible to introduce some changes to demo giflib itself. I've added some ifdefs to control usage of stdbool.h, so you can check if it works. Just re-run cppan command in tesseract dir and try to build a VS solution.

@egorpugin I have following the instruction.
However CPPAN returns

Requesting dependency list
SSL connect error

Is that any configuration I am missing?

Usually it means that you don't have a letsencrypt certificate installed on your system (old ubuntu etc.). I've added an option ('-k' or '--ignore-ssl-checks') to skip strict ssl checks. Please, re-download the client and run 'cppan -k'. For more info see 'cppan -h'. On windows you can upgrade the client with 'cppan --self-upgrade' (only if this option is available, check 'cppan -h').

FYI I've added simple guide how to build tesseract on Windows https://github.com/tesseract-ocr/tesseract/wiki/Compiling#master-branch-305-and-later
Also the simple user app example with tesseract (using cmake+cppan) is available here https://github.com/tesseract-ocr/tesseract/wiki/User-App-Example

@egorpugin I tried your way for getting static lib with -DSTATIC=1

I'd like to share one more way of building tesseract(+leptonica+other_image_libraries) on Windows. Linux probably will work too.

I built && installed it w/o any issues but linking my app with it failed with two issues:

Error LNK1104	cannot open file 'tesseract.lib'
I fixed it in [install-folder]/cmake/TesseractConfig.cmake
set(Tesseract_LIBRARIES tesseract) => set(Tesseract_LIBRARIES libtesseract)

Error LNK1104	cannot open file 'pvt.cppan.demo.danbloomberg.leptonica.lib'
I fixed it by editing [install-folder]/cmake/TesseractTargets-debug.cmake and removing the following line
set_target_properties(libtesseract PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
IMPORTED_LINK_INTERFACE_LIBRARIES_DEBUG "Ws2_32;pvt.cppan.demo.danbloomberg.leptonica"
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/tesseract400d.lib"
)

please advise if it is correct

This guide is quite old. I think it's about tesseract building, not linking to your app. It's quite different or might have additional steps.


CIV-6241 test pr

JIRA link
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

close as raising a new test pr due to changes to cui


Added backend authendication using Mongo node and express

Pull Request Format
PR Title
Issue #314   : Implement Authentication using MongoDB, Node.js, and Express.js [backend] solved

Type of PR

Add X in the box to specify the improvement type.
[] Bug fix
[ x] Feature enhancement
[ ] Documentation update
[x ] BackendUpdate

Description
This pull request includes the implementation of the backend functionality for user authentication and management. The following features have been added:

#Signup: Users can register with their email and password. The server validates the input and stores the user information in the database.
#Sign-in: Registered users can log in by providing valid credentials.
#User Details: Once logged in, users can retrieve their account information from the database.
#Signout: Users can securely log out of their accounts.

All routes and logic have been implemented and tested with Postman. Please review and merge.
Checklist

Add X in the box to specify.
[X] I have performed a self-review of my code.
x[ ] I have tested the changes thoroughly before submitting this pull request.
[ ] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x ] I have commented my code, particularly in hard-to-understand areas.

Information to Start the server

Feel free to ask  if you have any doubt
I have tested the code using Postman API Testing here are the demo videos
https://github.com/user-attachments/assets/c75322b0-5d83-4ef3-a0ae-f4503dba8463
https://github.com/user-attachments/assets/5ed926a1-cec8-4e9c-a51f-f261a32561d3
https://github.com/user-attachments/assets/f4ab790a-96e7-4170-ba99-3d0dc16c24e5
https://github.com/user-attachments/assets/7b222d0a-aaa9-4865-90aa-c9840385a194
Thank you for reviewing my pull request!

www.linkedin.com/in/lakshmi-pavananjali-pamidi-766760296
please ping me in linkedin

@Abhishek-TG18 code scanning results shows failed y?

@Abhishek-TG18 our repo is of files HTML CSS JS only

in the above pic , main is index.js

@Abhishek-TG18 code scanning results shows failed y?

DON'T worry. That I  have console some information  related to sign in
During connecting to front end I will remove those

Please once see LinkedIn