The lease mechanism leads to loss of transferred  data

The lease mechanism leads to loss of transferred  data
I am working on android application which transfer data to azure storage. I successfully implemented it in Kotlin in following way.
val containerClient: BlobContainerClient = getBlobContainerClient(resourceDirectory)

if (!containerClient.exists()) {
    containerClient.create()
}

containerClient.getBlobClient(resourceName).uploadFromFile(resourcePath)

Then I had to implement lease mechanism. I used BlobLeaseClientBuilder to build
LeaseClient and to acquire lease. Code below.
val containerClient: BlobContainerClient = getBlobContainerClient(resourceDirectory)

if (!containerClient.exists()) {
    containerClient.create()
}

val client: BlobClient = containerClient.getBlobClient(resourceName)

val leaseClient: BlobLeaseClient = BlobLeaseClientBuilder()
    .blobClient(client)
    // .leaseId(UUID.randomUUID().toString()) - also tested
    .buildClient()

val acquiredLeaseId: String = leaseClient.acquireLease(-1)

client.uploadFromFile(
    resourcePath, //filePath
    null, // parallelTransferOptions
    null, // headers
    null, // metadata
    null, // tier
    BlobRequestConditions().apply { leaseId =  acquiredLeaseId }, // accessConditions
    null // timeout
)

leaseClient.releaseLease()

Uploading data in such way does not work. Only container is created correctly
(containerClient.create()) and azure seems to drop all request when lease is set
(because of incorrect leaseId?)
Environment:

OS: development: Ubunto 18.04, tested on OnePlus 6T with Android 10
IDE: Android Studio: 3.5.3
Version of the library: group: 'com.azure', name: 'azure-storage-blob', version: '12.0.1'

Thanks for opening this android issue on BlobLeaseClient, @rkowalski4.   @rickle-msft and @anuchandy will be able to follow up with you shortly.
/cc @bsiegel as FYI

@anuchandy I ran this code locally and it worked fine. I wonder if there's some combination of Kotlin and Android that might be interfering with the requests?
@rkowalski4 If you use some sort of network capture like Fiddler, are you able to see the uploadFromFile request actually go out and whether there is a lease id header present? Or does just nothing happen when you call this method?

thanks, Rick, I guess we need more info.
@rkowalski4 - please like Rick mentioned is it possible to check the network traffic?

also any chance you can provide us a minimal repro android project? if you can push that to your Github repo and share it here that will be helpful. Also, leave any external dependencies that the original app uses in this repro project.
What is the size of the file that we're trying to upload? Or that doesn't matter?

Thanks guys for answering.
I found out what is wrong with this code. I'm trying to set lease on blob I want to upload. But when I setting up lease (val acquiredLeaseId: String = leaseClient.acquireLease(-1)), blob does not exist so Azure returns 404. So I'm afraid I cannot handle lease in such way for file I want to upload. Either way I need to set lease, because it is not permitted to do anything with files while upload is in progress especially that files bigger than 256MB are chunking (as I find out from the source code).
Because of that, I'm afraid, I can't set up lease for blob I want to upload. Any advice on how to handle this?
I'm not allowed to share a codebase with you, but I'll push some very basic project with this use case within a day If you still need it.

@rkowalski4 oh yup that sounds like it'll do it. Glad you found the source of that issue!
I think there are two ways you could resolve this. You could put an empty blob at the destination and then acquire a lease on that before starting your upload. Then you can overwrite the empty blob with your upload (probably locking on the etag of the empty blob to make sure it's still empty when you overwrite). This would allow you to continue to use leases to protect your upload, but would require an extra request to the service in order to create that empty blob.
 This would not require the extra call, but it can also result in some other service exceptions that you'll have to know to handle. For instance, writing to the same destination from two different sources can result in one invalidating the block list of the other.

I am going to close this issue as I believe the question and issue have been resolved. Please let us know if you need further support.

Hi, sorry for lack of information. I fixed this out and everything works perfectly. Thank you so much for your support!


Add Ktor framework support in Bolt #585

This pull request adds Ktor framework support to the optional module list of Bolt for Java. See also #585 .
Category (place an x in each of the [ ])

[ ] bolt (Bolt for Java)
[x] bolt-{sub modules} (Bolt for Java - optional modules)
[ ] slack-api-client (Slack API Clients)
[ ] slack-api-model (Slack API Data Models)
[ ] slack-api-*-kotlin-extension (Kotlin Extensions for Slack API Clients)
[ ] slack-app-backend (The primitive layer of Bolt for Java)

Requirements
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to the those rules.

I will merge this pull request soon. Let me know if you have some comments.

Okay, I've waited for feedback for 9 days. I think it's safe enough to merge this. Let me merge this after rebasing with the latest revision.


docs: add automated changelog generation

🚨  I don't have much experience releasing JavaScript/npm stuff so I might be missing some best practices here.

Adds npm scripts to generate a changelog template after bumping the version:

npm run changelog

This does:

Prefill the changelog with the changes from the current version down to the last version (based on the current version in package.json).

We can then manually edit the changelog, commit and PR it.
We then still need to manually tag the release on master after merging the "prepare" PR. Depending on how our release process evolves we can of course also automate these steps in the future even more. For example it would be nice to automatically tag a release and create a GitHub release (based on the changelog) using GitHub actions.
Changelog
We already started using conventional commits for our commit messages when we squash a PR. That make sit easy to prefill the changelog with these messages to get something that's already human readable and adheres to the keep-a-changelog format.
I've set it up so that all commits of types feat, update, remove, fix, security get included in the changelog by default. This is just what came to my mind based on keep-a-changelog. Let me know if we should include/remove things.
I left the changelog uncommited on purpose so that we can manually go over it and adapt it as needed (remove/add things, reformulate, etc.)
Example
The following is how the automatically generated changelog for v0.0.3 would look like. Not perfect but with a few manual edits and deletions I think it'll be quite nice—and thanks to the auto-generation much much less work than collecting and linking all that info manually.
0.0.3 (2022-02-16)
Added

adapt favicon color based on system theme (#39) (5f1d6e9)
add connection indicator to footer (#55) (6470ab4)
add privacy levels (#51) (7546ca7)
add sat symbol & update balance UI (#11) (4351d13)
add settings screen (#26) (867fff3)
add theming support (#10) (d7268aa)
developer docs (#37) (d843770)
display basic yield generator report (#73) (b37de70)
do not autocomplete password when creating wallet (#38) (0db76d9)
fancy toggle switch (#63) (ed8aa4b)
hide sensitive info on wallet create (#77) (174726b)
improve wording in settings (#71) (cd2f0bf)
rename accounts to privacy levels (#79) (3b882f4)
setup code formatting (#21) (08232d7)
style navbar (#29) (699e951)
update create wallet flow (#62) (8ed27ae)
update earn page (#82) (7d62a38)
update receive page (#85) (756d8e8)
update send page (#76) (0d71915)
update wallets page (#64) (f900344)

Fixed

add integration pr links to readme (#95) (20aa39b)
brighten loading indicator in dark theme (#53) (693fdf1)
change navbar collapse to offcanvas (#44) (97ae86b)
condition check during wallet confirmation (#93) (9d0baf1)
display amount of addresses correctly (#49) (216dc2b)
display info text on send page if service is running (#86) (4070d70)
extract error message of text/html response (#84) (ffa1afa)
fix and dry up font featues (#98) (ac762c5)
hidden balance icon alignment and size (#52) (8bb8b7b)
initialize local storage with default values (#33) (712b289)
Invalid DOM property 'class' in App (d2173cd)
navbar padding (#48) (1a04910)
navigate to root on unmapped path (#89) (6f0f515)
prevent dom validation warning (#5) (88e2ed6)
show loading indicator until all data is fetched (#3) (37d882f)
update sat symbol (#36) (765c9d7)
use sprite instead of plain logo (215e2fa)

Looks good from first glance. Just fyi there is also the npm version command that includes the tagging.

Just fyi there is also the npm version command that includes the tagging.

Nice, thanks! I think I'd even prefer that. The library I use for the changelog wants to bump the version by itself but I'd much rather stay as close to native npm tooling as possible. I'll check if I can integrate npm version somehow and let the changelog library only generate the changelog and nothing else.

Updated it to npm run changelog. Doesn't bumpt the version now. It now takes the version from package.json and updates the changelog with all changes between that version and the last tag. That way we can keep using npm tooling for bumping etc.

Only nit: package-lock.json has been checked in with v0.0.3 - causing untracked git changes on npm install.

Fixed! That was from testing and I probably forgot to revert it.

One more thing that just came to mind: any thoughts on rc tags for release candidates? Not that it's required now, just wondering if some of you have any strong opinions or insights in that regard.

No strong opinions. We could also think about adding a -alpha or something like this now that I think about it.

update the changelog in one go for all past versions

We'll need to do that manually since we didn't use conventional commits back then—so not much will show up in the autogenerated changelog. I can take care of that in a separate PR though.
As for the general release process, since master is a protected branch, we won't be able to bump and tag in one go (assuming we want the release tag on master which probably makes sense I would say). We'd have to do somethign like this:

Prepare release: Bump and update changelog.
PR changes to master
Tag release on master

Thoughts? If ok with everyone I can add npm scripts for that to make the process easier and documented in a way.

update the changelog in one go for all past versions

We'll need to do that manually since we didn't use conventional commits back then—so not much will show up in the autogenerated changelog. I can take care of that in a separate PR though.
As for the general release process, since master is a protected branch, we won't be able to bump and tag in one go (assuming we want the release tag on master which probably makes sense I would say). We'd have to do somethign like this:
1. Prepare release: Bump and update changelog.

2. PR changes to master

3. Tag release on master

Thoughts? If ok with everyone I can add npm scripts for that to make the process easier and documented in a way.

Moving this discussion to an issue. ☝ https://github.com/joinmarket-webui/joinmarket-webui/issues/105


If ins account has been blocked，the functions in IGChallengeUtils all get an exception ”challenge_required“

If ins account has been blocked，the functions in IGChallengeUtils all get an exception ”challenge_required“

What do you mean by blocked?


Task update

@WildJimmy How far have you finished your tasks? Just to remind we have due by tomorrow.

Yep, I am aware of the deadline. Have not had much time to work on this until tonight so I'm planning on having the task finished by tomorrow morning. Will keep you updated on pull requests and such


Always "Initalizing" & "Failed setup. will retry."

I have issues with the integration with my power rct. with the app it's possible to get the data.
can't find out whats the problem.
If needed I send you more debug logs.
Logs: ( i've removed my ip)
This error originated from a custom integration.

Logger: custom_components.rct_power
Source: helpers/update_coordinator.py:262
Integration: RCT Power (documentation, issues)
First occurred: July 17, 2023 at 12:59:16 PM (1260 occurrences)
Last logged: 7:46:06 PM

Timeout fetching rct_power 0065A4630378 frequent data
Timeout fetching rct_power 0065A4630378 infrequent data
Timeout fetching rct_power 0065A4630378 static data

This error originated from a custom integration.

Logger: custom_components.rct_power
Source: custom_components/rct_power/lib/api.py:90
Integration: RCT Power (documentation, issues)
First occurred: July 17, 2023 at 9:19:14 PM (1036 occurrences)
Last logged: 7:41:37 PM

Unexpected error fetching rct_power 0065A4630378 frequent data: [Errno 113] Connect call failed ('my ip', 8899)
Unexpected error fetching rct_power 0065A4630378 infrequent data: [Errno 113] Connect call failed ('my ip', 8899)
Unexpected error fetching rct_power 0065A4630378 static data: [Errno 113] Connect call failed ('my ip', 8899)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/rct_power/lib/update_coordinator.py", line 46, in _async_update_data
    return await self.client.async_get_data(object_ids=self.object_ids)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/rct_power/lib/api.py", line 90, in async_get_data
    reader, writer = await open_connection(
                     ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/streams.py", line 48, in open_connection
    transport, _ = await loop.create_connection(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1085, in create_connection
    raise exceptions[0]
  File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1069, in create_connection
    sock = await self._connect_sock(
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/base_events.py", line 973, in _connect_sock
    await self.sock_connect(sock, address)
  File "/usr/local/lib/python3.11/asyncio/selector_events.py", line 634, in sock_connect
    return await fut
           ^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/selector_events.py", line 674, in _sock_connect_cb
    raise OSError(err, f'Connect call failed {address}')
OSError: [Errno 113] Connect call failed ('my ip', 8899)

Thanks for a tipp or your help!
Andy

Hey @andyrockt, the timeout indicates that Home Assistant can't reach the inverter using the ip address and port that you configured it for. If you are running Home Assistant on a different subnet than the inverter there must be a valid route from the former to the latter.
Hope this helps somewhat?

Hi @weltenwort
No, it's running in the same subnet. so perhaps it's something with the wifi or the power rct.. could something be wrong configured with the power rct? (port or something line this)

That's curious :thinking: Two things to check:

Which inverter model do you have? Maybe there's a different model that I haven't seen yet.
Can you ping the RCT inverter from the machine that runs Home Assistant? If you're using a supervised installation you could use the "Terminal & SSH" addon for that.

Should be the "RCT Power Inverter 6.0".
Yes, via the Terminal from the Home Asisstant Installation ping is possible. The pings are between 3 - 5ms, but with no interrupt.


Is GeoJSON so slow ?

While I see that flatgeobuf is better than shapefiles, I was surprised by how much faster than GeoJSON it is.
Is that because GeoJSON uses a DOM style method of loading the entire thing first ? Or is it because there is no index in the file itself, requiring a lot of file scanning ?
This isnt really an issue with flatgeobuf itself. I was just wondering if there is a better way to use GeoJSON that doesnt make it look so bad in the benchmarks.

Short story is yes GeoJSON is slow and will always lose.
One hack is to use newline delimited GeoJSON which allow streaming parse. It will still be slower because JSON requires you to parse the text. FlatGeobuf needs no parse step, it can be used as is by the computer.
As for use case involving spatial filter there is no workaround as far as I know. If you do not have a spatial index it will be slow to spatial filter no matter what.


Percent change and stacked bar charts

A few minor changes:

Allowing for spline "kind"
Allowing for stacked column charts
Allowing for "plotOptions.series.compare" charts: http://api.highcharts.com/highstock#plotOptions.series.compare

Thanks for the commits. Could you add an example in the ipython notebook?


add top-level team members to about pages

Random example courtesy of @Hammadqureshi (via call under https://github.com/gratipay/inside.gratipay.com/issues/361):

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/27348184-add-top-level-team-members-to-about-pages?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github).

Another preferable example:

Taken from a open source project codeigniter. URL : https://www.codeigniter.com/help/about.

Another Example:

This one looks looks cool. Any suggestions @whit537  ?

A Gratipay 'Team' is approximately similar to a Github 'Organization' (which are a special case of a 'User', for many intents and purposes), so we can mimic Github's 'People' box on organization pages as a first step:

But the approximate mapping between Gratipay 'Teams' and Github 'Organizations', also suggests we could pick up some layout from the Github Organization Members page for more detail and a complete listing:

If ever we wanted to allow Gratipay 'Teams' to have subgroups of some sort (such as 'projects', etc., depending on how the terminology shakes out): we could pick up elements of the Github 'Teams' page to list them:

Q: All this suggests to me that perhaps we should rename Gratipay 'Teams' to 'Organizations' (as mentioned in another ticket, I also feel that 'Open Organization' is a better term than 'Open Company', this would unify the terminology even further). Does anyone else concur?

This could overlap with https://github.com/gratipay/inside.gratipay.com/issues/404, because we should have a visualization for holacracy circles and the team page would seem a natural fit.


HoloLens VPN With Smart Card

I've noticed on the HoloLens when setting up a VPN there is an option to set the VPN type to smart card. Is this actually correct and if so what kind of smart card readers work with the HoloLens? Do they have to connect through the micro usb port?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: be87447c-d313-8ac5-3ea1-8deb5098792d
Version Independent ID: 53ba1199-da1b-72ed-09d2-2c4f2f1cc960
Content: VpnCredentialType Enum (Windows.Networking.Vpn) - UWP app developer
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.networking.vpn.vpncredentialtype.yml&version=GBlive&_a=contents
Product: windows
Git Login: wdg-dev-content
Microsoft Alias: wdg-dev-content

Thanks for the question, @jjherman94. I'll make enquiries and get back to you with any info I can find out. ~Steve

Thank you. And when I do create and try to connect to a dummy VPN connection with the smart card option selected it does ask me to insert a smart card.

I guess also what about Microsoft's virtual smart cards? The HoloLens seems to meet the hardware and software requirements.
https://docs.microsoft.com/en-us/windows/security/identity-protection/virtual-smart-cards/virtual-smart-card-overview

Hi, @jjherman94, in terms of supporting the HoloLens product, I'm afraid there's little we can offer here. My contacts and myself create and document Windows APIs. We don’t know whether smart cards are supported on HoloLens, nor what kind of smart cards (if any). On the Desktop, smart card selection indicates EAP-TLS authentication, which includes smart card. In terms of next steps for you, the Windows developer feedback site is the right place to file a product bug. For issues, questions such as this, or suspected product bugs, there's Microsoft Support; a support engineer will look at the repro and see whether the issue is a product bug or something else. For problems/errors/omissions with the actual documentation about Windows APIs, this is the right forum to raise those. Thanks again for the feedback and for asking this question. I do regret the inconvenience. ~Steve

@jjherman94, I'll go ahead and close this issue now since it's been a while. ~Steve


packager: adds regression test to ensure arbitrary platforms are supported

Thanks for submitting a PR! Please read these instructions carefully:

[x] Explain the motivation for making this change.
[x] Provide a test plan demonstrating that the code is solid.
[x] Match the code formatting of the rest of the codebase.
[x] Target the master branch, NOT a "stable" branch.

Motivation (required)
A recent upgrade of jest-haste-map caused a regression for react-native-windows.
Test Plan (required)
This PR is just another unit test.

Metro is now in a separate repository. Would you mind sending the same pull request to the metro-bundler repo? https://github.com/facebook/metro-bundler
Thank you!


[r1.7][TensorRT] INT8 mode calibration is not worked

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Red Hat 4.8.5-16, Linux version 3.10.0-693.5.2.el7.x86_64
TensorFlow installed from (source or binary): pip (python 2.7)
TensorFlow version (use command below): tensorflow-gpu==1.7.0
Python version: python 2.7
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): gcc 5.3
CUDA/cuDNN version:  CUDA9.0, cuDNN7.0.5
GPU model and memory: Tesla P4, 8GB
Exact command to reproduce: My own script is coded based on the official test "tensorflow/tensorflow/contrib/tensorrt/test/test_tftrt.py", so I think you can reproduce this problem with this test.

Describe the problem
I tried to use Tensorflow 1.7 to do the prediction under Python environment, which can integrate the TensorRT to optimize the GraphDef.
The optimization in FP32 mode is successfully done, but when I tried the INT8 mode, I'm confused about how to do the calibration. I checked the examples both from tensorflow source code and the NVidia dev guide but still not sure.
Below is part of the example that contained within tensorflow.
def run_calibration(gdef, dumm_inp):
  """Run given calibration graph multiple times."""
  gpu_options = cpb2.GPUOptions(per_process_gpu_memory_fraction=0.50)
  ops.reset_default_graph()
  g = ops.Graph()
  with g.as_default():
    inp, out = importer.import_graph_def(
        graph_def=gdef, return_elements=["input", "output"])
    inp = inp.outputs[0]
    out = out.outputs[0]
  with csess.Session(
      config=cpb2.ConfigProto(gpu_options=gpu_options), graph=g) as sess:
    # run over real calibration data here, we are mimicking a calibration set of
    # 30 different batches. Use as much calibration data as you want
    for _ in range(30):
      val = sess.run(out, {inp: dumm_inp})
  return val
############################
 int8_calib_gdef = trt.create_inference_graph(
     input_graph_def=orig_graph,
     outputs=["output"],
     max_batch_size=inp_dims[0],
     max_workspace_size_bytes=1 << 25,
     precision_mode="INT8",  # TRT Engine precision "FP32","FP16" or "INT8"
     minimum_segment_size=2  # minimum number of nodes in an engine
 )
 _ = run_calibration(int8_calib_gdef, dummy_input)
 int8_graph = trt.calib_graph_to_infer_graph(int8_calib_gdef)
 o5 = run_graph(int8_graph, dummy_input)

Above code is copied from tensorflow/tensorflow/contrib/tensorrt/test/test_tftrt.py
The function run_calibration seems just create a session and run 30 times with the same input, and the return of run_calibration seems not used at all.
How could the calibration be done in this way?
Thanks,

@oscarriddle the code above is an example. As written in the comment this is a dummy code just to work the machinery. For real calibration you need to run, as much as you want, with an input data set that is representative of your expected inference input. So you need to replace for _ in range(30): sess.run() with something that passes real data at every iteration. For example if you have a network classifying dogs, pass in pictures of the dogs instead of the same picture like we do to execute the machinery. More pictures you pass, better is the calibration. Let me know if this clarifies it.

Hi samikama,
I figured out the solution. The root cause that I can't get calibration successfully done is because calibration can't accept batch input. Now I changed to run session 1 image at a time in the calibration, and it indeed works.
Thanks for your reply. You convinced me on this.


docs: tutorial

This is a contentent reorganization + expand and split the tutorial to make it easier for users to find the right information.
I'm opening as a draft to avoid merging it as all these changes will have to happen upstream so they are not reverted in the next docs automatic update.
There might be typos and such, but this should be ready to start discussing.
Fix #122

Commandeering this draft since Anton is OOO this week.


Experiment to see trade-offs of special casing MemoryBodyStream to avoid extra data copies.

Though it introduces tighter coupling, and hence shouldn't be done lightly, I have observed this type of special casing in places like the .NET framework to emphasize and enable better performance for perf sensitive workloads.
I want to experiment with and get your thoughts on minimizing unnecessary data copies as much as possible. It might very well be that the network I/O continues to be the bulk of the cost, in which case, such a change would not be worth it.

@ahsonkhan Can this draft PR be closed?

Can this draft PR be closed?

Not yet, this is a valid approach to include as part of the SDK post-GA, barring final performance testing.
I am OK with leaving it as is for a bit, and coming back to it, but if you prefer not to have too many idle (draft) PRs open, I can also close it for now. Let me know.

Though the general approach and change is valid, it requires use of friend so needs a bit more performance testing to see the value. I plan to get to later. Hence, closing this PR for now.


Use with Navigation view

Is it possible to use this with navigation view, which is a part of the design library

no,not possible with any design library,  I use design library only for recyclerView or cardview, you can replace it with other layout .


Updated CHANGELOG.md and package.json for 1.0.0-rc.17

Codecov Report

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

@@          Coverage Diff          @@
##           master   #261   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          58     58
  Lines        1340   1340
  Branches      197    197
=====================================
  Hits         1340   1340

Flag
Coverage Δ

#builder
100% <ø> (ø)
:arrow_up:

#runtime
100% <ø> (ø)
:arrow_up:

#srcapp
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


returning shard directly without assigning to variable

assigning the shard to a variable can be skipped.

Thanks for the submission @saurabhdev7933 .


Substructure one Forwarding as a sample

Hi Vanitha,
I wasn't sure about your proposed solution.
Are your proposing

to change ForwardingList and CONFIGfile
or
to change ForwardingList, CONFIGfile and OAS, too?

This draft pull-request represents my request for you to assess, whether the proposed solution is satisfying your needs.
Please, comment and we will close the pull-request and apply your request on all forwardings.
Best regards,
Thorsten

Hi Thorsten , Thank you for the changes .
Your understanding is correct . The changes we requested are in config file and forwardings.yaml file only.
The changes also looks good .
Only one small typo mistake , local-id of the forwardings

RequestForProvidingAcceptanceDataCausesDeterminingTheLanPortRole.VlanInterfaceKind
RequestForProvidingAcceptanceDataCausesDeterminingTheLanPortRole.EthernetContainerStatus

should be "200" in config.json file.

The localIds have been corrected and the other Forwardings have been dissolved as proposed


OCPVE-600: fix: wiping should not error on optional paths

Codecov Report

Merging #435 (aa0f7d5) into main (e7498c2) will decrease coverage by 0.06%.
The diff coverage is 60.00%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #435      +/-   ##
==========================================
- Coverage   66.11%   66.06%   -0.06%
==========================================
  Files          31       31
  Lines        2497     2505       +8
==========================================
+ Hits         1651     1655       +4
- Misses        694      696       +2
- Partials      152      154       +2

Files
Coverage Δ

pkg/vgmanager/wipe_devices.go
71.15% <60.00%> (-3.85%)
:arrow_down:

/lgtm


Thanks!

Hi @georgesaumen ,
Sorry for late reply. I've been busy at work recently.
Thanks for the suggestion. I've added them here in the latest master. It should take effect on all our servers soon in few minutes.
Please test it out, and close this ticket if everything works well.


On PyPy + windows, all the TestStudentizedRange.test_pdf_against_mp tests are failing

xref conda-forge/scipy-feedstock#196
There are 144 test failures when I try to build scipy 1.7.2 and 1.7.0 with PyPy3.7 on windows.  The test warns IntegrationWarning: The occurrence of roundoff error is detected, which prevents the requested tolerance from being achieved.  The error may be underestimated. Could someone give me a hint where to start looking for the problem? I am building for now with set SCIPY_USE_PYTHRAN=0 but I don't think that is connected at all.  The problem is most likely with PyPy, but I don't understand the code enough to find a hook to start debugging this. What is special about this test set?
TestStudentizedRange.test_pdf_against_mp
___________________ TestStudentizedRange.test_pdf_against_mp[case_result54] ________
scipy\stats\tests\test_distributions.py:4572: in test_pdf_against_mp
    res = stats.studentized_range.pdf(*qkv)
        case_result = {'mp_result': 0.43334135870667473, 'src_case': {'expected_atol': 1e-11, 'expected_rtol': 1e-11, 'k': 20, 'q': 4, ...}}
        mp_result  = 0.43334135870667473
        qkv        = (4, 20, 50)
        self       = <scipy.stats.tests.test_distributions.TestStudentizedRange object at 0x0000027796144368>
        src_case   = {'expected_atol': 1e-11, 'expected_rtol': 1e-11, 'k': 20, 'q': 4, ...}
scipy\stats\_distn_infrastructure.py:1879: in pdf
    place(output, cond, self._pdf(*goodargs) / scale)
        args       = (array(20), array(50))
        cond       = True
        cond0      = True
        cond1      = True
        dtyp       = dtype('float64')
        goodargs   = [array([4.]), array([20]), array([50])]
        kwds       = {}
        loc        = array(0)
        output     = array(0.)
        scale      = array([1])
        self       = <scipy.stats._continuous_distns.studentized_range_gen object at 0x000002778e095cc8>
        x          = array(4.)
scipy\stats\_continuous_distns.py:9492: in _pdf
    return np.float64(ufunc(x, k, df))
        _single_pdf = <function studentized_range_gen._pdf.<locals>._single_pdf at 0x00000277959a2020>
        cython_symbol = '_studentized_range_pdf'
        df         = array([50])
        k          = array([20])
        self       = <scipy.stats._continuous_distns.studentized_range_gen object at 0x000002778e095cc8>
        ufunc      = <ufunc '? (vectorized)'>
        x          = array([4.])
scipy\stats\_continuous_distns.py:9489: in _single_pdf
    return integrate.nquad(llc, ranges=ranges, opts=opts)[0]
        arg        = [4.0, 20, 50, 32.32048465687308]
        cython_symbol = '_studentized_range_pdf'
        df         = 50
        k          = 20
        llc        = LowLevelCallable(<capsule object "double (int, double *, void *)" at 0x0000027783549D80>, c_void_p(2712581508336))
        log_const  = 32.32048465687308
        opts       = {'epsabs': 1e-11, 'epsrel': 1e-12}
        q          = 4.0
        ranges     = [(-inf, inf), (0, inf)]
        usr_data   = c_void_p(2712581508336)
scipy\integrate\quadpack.py:825: in nquad
    return _NQuad(func, ranges, opts, full_output).integrate(*args)
        args       = ()
        depth      = 2
        full_output = False
        func       = LowLevelCallable(<capsule object "double (int, double *, void *)" at 0x0000027783549D80>, c_void_p(2712581508336))
        opts       = [<scipy.integrate.quadpack._OptFunc object at 0x00000277961441a8>, <scipy.integrate.quadpack._OptFunc object at 0x00000277961441a8>]
        ranges     = [<scipy.integrate.quadpack._RangeFunc object at 0x0000027796144170>, <scipy.integrate.quadpack._RangeFunc object at 0x0000027796144288>]
scipy\integrate\quadpack.py:880: in integrate
    **opt)
        args       = ()
        depth      = 0
        f          = functools.partial(<bound method _NQuad.integrate of <scipy.integrate.quadpack._NQuad object at 0x0000027796144138>>, depth=1)
        fn_opt     = <scipy.integrate.quadpack._OptFunc object at 0x00000277961441a8>
        fn_range   = <scipy.integrate.quadpack._RangeFunc object at 0x0000027796144288>
        high       = inf
        ind        = -1
        kwargs     = {}
        low        = 0
        opt        = {'epsabs': 1e-11, 'epsrel': 1e-12}
        self       = <scipy.integrate.quadpack._NQuad object at 0x0000027796144138>
scipy\integrate\quadpack.py:352: in quad
    points)
        a          = 0
        args       = ()
        b          = inf
        epsabs     = 1e-11
        epsrel     = 1e-12
        flip       = False
        full_output = False
        func       = functools.partial(<bound method _NQuad.integrate of <scipy.integrate.quadpack._NQuad object at 0x0000027796144138>>, depth=1)
        limit      = 50
        limlst     = 50
        maxp1      = 50
        points     = None
        weight     = None
        wopts      = None
        wvar       = None
scipy\integrate\quadpack.py:465: in _quad
    return _quadpack._qagie(func,bound,infbounds,args,full_output,epsabs,epsrel,limit)
        a          = 0
        args       = ()
        b          = inf
        bound      = 0
        epsabs     = 1e-11
        epsrel     = 1e-12
        full_output = False
        func       = functools.partial(<bound method _NQuad.integrate of <scipy.integrate.quadpack._NQuad object at 0x0000027796144138>>, depth=1)
        infbounds  = 1
        limit      = 50
        points     = None
..\..\..\..\pypy3.7-v7.3.7-win64\lib_pypy\_functools.py:80: in __call__
    return self._func(*(self._args + fargs), **fkeywords)
        fargs      = (-1.0,)
        fkeywords  = {'depth': 1}
        self       = functools.partial(<bound method _NQuad.integrate of <scipy.integrate.quadpack._NQuad object at 0x0000027796144138>>, depth=1)
scipy\integrate\quadpack.py:880: in integrate
    **opt)
        args       = (-1.0,)
        depth      = 1
        f          = LowLevelCallable(<capsule object "double (int, double *, void *)" at 0x0000027783549D80>, c_void_p(2712581508336))
        fn_opt     = <scipy.integrate.quadpack._OptFunc object at 0x00000277961441a8>
        fn_range   = <scipy.integrate.quadpack._RangeFunc object at 0x0000027796144170>
        high       = inf
        ind        = -2
        kwargs     = {}
        low        = -inf
        opt        = {'epsabs': 1e-11, 'epsrel': 1e-12}
        self       = <scipy.integrate.quadpack._NQuad object at 0x0000027796144138>
scipy\integrate\quadpack.py:400: in quad
    warnings.warn(msg, IntegrationWarning, stacklevel=2)
E   scipy.integrate.quadpack.IntegrationWarning: The occurrence of roundoff error is detected, which prevents
E     the requested tolerance from being achieved.  The error may be
E     underestimated.
        a          = -inf
        args       = (-1.0,)
        b          = inf
        epsabs     = 1e-11
        epsrel     = 1e-12
        flip       = False
        full_output = False
        func       = LowLevelCallable(<capsule object "double (int, double *, void *)" at 0x0000027783549D80>, c_void_p(2712581508336))
        ier        = 2
        limit      = 50
        limlst     = 50
        maxp1      = 50
        msg        = 'The occurrence of roundoff error is detected, which prevents \n  the requested tolerance from being achieved.  The error may be \n  underestimated.'
        msgs       = {80: 'A Python error occurred possibly while calling the function.', 1: 'The maximum number of subdivisions (50) has b...\n  underestimated.', 3: 'Extremely bad integrand behavior occurs at some points of the\n  integration interval.', ...}
        points     = None
        retval     = (nan, nan, 2)
        weight     = None
        wopts      = None
        wvar       = None

@swallan @DominicChm can you try out PyPy sometime to see if you can reproduce this? I wonder if it can be solved easily with a change of tolerances.
Otherwise, I think we'd need to dig into what quadpack means when it detects roundoff error.

fwiw, the steps I use after downloading and expanding https://downloads.python.org/pypy/pypy3.7-v7.3.7-win64.zip are (I think I recreated it all)
pypy3 -m ensurepip
pypy3 -m pip install cython pytest hypothesis numpy==1.19 pybind11 pythran
cd scipy
git checkout 1.7.0
pypy3 tools\openblas_support.py
set OPENBLAS=%TEMP%
set SCIPY_USE_PYTHRAN=0
git clean -xfdd
pypy3 runtests.py -t scipy\stats\tests\test_distributions.py

I'll take a look into it and see if I can replicate. I have some ideas on how to fix this if the problem turns out to be bad PDF behavior at high values like I suspect.

Thanks. I am curious why PyPy fails where CPython succeeds. Also: I forgot from the installations above to use choco as admin to install mingw (for gfortran)

Some flaky false positive test failures here:
https://dev.azure.com/scipy-org/SciPy/_build/results?buildId=15083&view=logs&j=e3555eda-5afc-5d78-d2e9-cf9756f98375&t=220e105d-2d02-5073-9f3b-414490a3ddd5

test_moment_against_mp
test_methods_with_lists
test_moment_vectorization

Should this be a separate Issue or is it the same one?

@endolith Good chance those are related. All those tests ultimately rely on the PDF, which seems to be the main issue here. I'd think the same failure, but possibly with different root causes.

Looked some more into the PyPy issue, and I'm definitely having issues with it. I'm not sure if this is the same problem or if I've managed to cause a build issue during my install.
Most of the failures I'm seeing are tolerance failures, not warning failures like you have. Interestingly there's no errors during build, just garbage output at runtime. Build and run with CPython passes tests just fine after a git clean.
These failures are just a sample, 135 total tests failed in my PyPy runs.

NormInvGauss Failure
____________________________________________ TestNormInvGauss.test_ppf _____________________________________________
scipy\stats\tests\test_distributions.py:631: in test_ppf
   assert_allclose(x_test, stats.norminvgauss.cdf(vals, a, b))
E   AssertionError:
E   Not equal to tolerance rtol=1e-07, atol=0
E
E   Mismatched elements: 3 / 3 (100%)
E   Max absolute difference: 0.99899999
E   Max relative difference: 1.82391746e+08
E    x: array([0.001, 0.5  , 0.999])
E    y: array([9.996856e-01, 3.200999e-01, 5.477222e-09])
       a          = 1
       b          = 0.5
       self       = <scipy.stats.tests.test_distributions.TestNormInvGauss object at 0x0000019d7bc9ed40>
       vals       = array([ 1.00000000e+01,  3.14521335e-03, -1.00000000e+01])
       x_test     = array([0.001, 0.5  , 0.999])

test_pdf_against_mp Failure
_____________________________ TestStudentizedRange.test_pdf_against_mp[case_result25] ______________________________
scipy\stats\tests\test_distributions.py:4596: in test_pdf_against_mp
   rtol=src_case["expected_rtol"])
E   AssertionError:
E   Not equal to tolerance rtol=1e-11, atol=1e-11
E
E   Mismatched elements: 1 / 1 (100%)
E   Max absolute difference: 0.00106604
E   Max relative difference: 0.04139448
E    x: array(0.024687)
E    y: array(0.025753)
       case_result = {'mp_result': 0.02575314059867804, 'src_case': {'expected_atol': 1e-11, 'expected_rtol': 1e-11, 'k': 10, 'q': 1, ...}}
       mp_result  = 0.02575314059867804
       qkv        = (1, 10, 3)
       res        = 0.02468710271160315
       self       = <scipy.stats.tests.test_distributions.TestStudentizedRange object at 0x0000019d7c3c8598>
       src_case   = {'expected_atol': 1e-11, 'expected_rtol': 1e-11, 'k': 10, 'q': 1, ...}

A good amount of the studentized range distribution is compiled during build from Cython source code to make the double (and triple) integrals (which use Scipy's nquad integrator) needed to compute it fast. Sadly, that also makes it a nightmare to debug. I've mostly only seen the invalid value error when the quad tries to integrate too far and the integrand becomes unstable. During development, we logarithmitized the integrand to alleviate those issue, but I guess in some cases they can still crop up. Why, exactly, I'm still not sure.  I'll keep looking into it.

I wonder if a black-box approach would help: compare the CPython values to the PyPy ones at the points where the code transitions from Python/Cython to C/Fortran. Once in C/Fortran, the results should be the same, right? Or are there points where the code calls back to python for error checking/stopping value calculations?

Good idea! Along those lines, I figured out how to wrap the Cython to inspect inputs/outputs and extracted the distribution's implementation for testing. Good news - the problem is still there.
Here's the output of my test batch script.
====== COMPARE BOTH =======
This will take a while because results are written to file.
========= PYTHON3 =========
Moment (SCIPY):  1.8342745127993187
Moment (CUSTOM): 1.8342745127993187
PDF (SCIPY):  0.39877202027575265
PDF (CUSTOM): 0.39877202027575265
PDF eval 1: 9.600101461805174e-26
PDF eval 2: 0.018692499086136082

========= PYPY3 =========
Moment (SCIPY):  1.8482537701109825
Moment (CUSTOM): 1.8455557977539785
PDF (SCIPY):  0.39877202027575265
PDF (CUSTOM): 0.39368392908702027
PDF eval 1: 9.600101461805174e-26
PDF eval 2: 0.018692499086136082

========= COMPARE =========
Comparing element-wise...
Done!
Press any key to continue . . .

The CUSTOM output uses the extracted implementation, and is compiled by each respective interpreter. It should match SCIPY because they're effectively same.
When compiled/ran by pypy, both the PDF and moment come out wrong vs the reference CPython run. What's very interesting is that - despite the garbage output - the PyPy and CPython PDF integrands (the cython code) evaluate to the exact same values over a very large input set (the "Compare) section). That seems to rule out a studentized range compilation problem to me, at least for my problem. If you want to check what happens in your environment, I dumped the code here https://github.com/DominicChm/IntegrandTest. The above output is from compare.bat

Any update on this? 🙃

From what I'm able to replicate, this seems to be a pypy+integrator issue rather than a studentized range issue. The reason this is cropping up in studentized range tests is because Scipy's quad integrator underlies all distribution methods. Any issues with the integrator can manifest as studentized range failures.
For the time being I'd just disable TestStudentizedRange class by adding the @pytest.mark.skip decorator to it and recognize that its results can't be trusted on PyPy.
The class is located at scipy/stats/tests/test_distributions.py:5097

this seems to be a pypy+integrator issue

Are there any smaller unit tests for integrator?

this seems to be a pypy+integrator issue

This makes a lot of sense. And actually some those tests were failing in conda-forge as well.

Are there any smaller unit tests for integrator?

For example, in the same run, I had seen:
FAILED integrate/tests/test_quadpack.py::TestNQuad::test_fixed_limits
FAILED integrate/tests/test_quadpack.py::TestNQuad::test_matching_tplquad
FAILED integrate/tests/test_quadpack.py::TestNQuad::test_variable_limits
FAILED integrate/tests/test_quadpack.py::TestQuad::test_triple_integral - Ass...
FAILED interpolate/tests/test_interpolate.py::TestNdPPoly::test_integrate_2d

@mattip Seems so, but nothing that explicitly matches our situation. The main studentized range PDF integral uses nquad with ranges ([-inf, inf], [0, inf]). At a cursory glance, it seems that nquad isn't tested with any infinite limits at all... only quad is. Is it possible the mechanism that handles infinite limits might be suspect?
@h-vetinari Interesting... How might nquad not match tplquad? After all, tplquad uses nquad under the hood to actually perform the integration.

Interesting... How might nquad not match tplquad? After all, tplquad uses nquad under the hood to actually perform the integration.

Unfortunately, the CI runs in question were already deleted. I've started a new run in https://github.com/conda-forge/scipy-feedstock/pull/172, but on 1.7.3, pypy+win (previously) actually hung indefinitely in the quadpack tests. To get an actual error output, I can then try another run with 1.7.2 if that helps.

PyPy is still timing out in the latest conda-forge log. I think the process is not converging on a solution.

I think the process is not converging on a solution.

Not sure if that's speaking mathematically or about us trying to fix it 😅
In any case, I restarted another run for what was the kind of run (for 1.7.2) that at least avoided the hangs (because TestNQuad was explicitly skipped) and produced the test failures mentioned in this issue. Hopefully that provides some more information...

Is it possible the mechanism that handles infinite limits might be suspect?

Answering a question with a question: what would a test for nquad with infinite limits look like? Should it be added in scipy/scipy?

PyPy is still timing out in the latest conda-forge log. I think the process is not converging on a solution.

Is this a new issue? Or has it started happening recently? How about the quadpack failures?

Answering a question with a question: what would a test for nquad with infinite limits look like? Should it be added in scipy/scipy?

It's not explicitly clear how nquad works under the hood, so testing it as it's own thing (even if it's dependent on the better tested quad) is probably a good idea. Seems most of the quad tests compare the result with hardcoded answers.

For example, in the same run, I had seen:
FAILED integrate/tests/test_quadpack.py::TestNQuad::test_fixed_limits
FAILED integrate/tests/test_quadpack.py::TestNQuad::test_matching_tplquad
FAILED integrate/tests/test_quadpack.py::TestNQuad::test_variable_limits
FAILED integrate/tests/test_quadpack.py::TestQuad::test_triple_integral - Ass...

From what I'm gathering, it seems that quadpack is failing with "complicated" (air quotes) integrals. I say that because each failed test there performs at least a 3D integral. I'm hesitant to extend that observation to explain the studentized range failures because those are only 2D integrals, but given the complexity of our integrand, it might make sense.

In any case, I restarted another run for what was the kind of run (for 1.7.2) that at least avoided the hangs (because TestNQuad was explicitly skipped) and produced the test failures mentioned in this issue. Hopefully that provides some more information...

If nquad would have failed, studentized_range will fail because nquad underlies it.

FAILED integrate/tests/test_quadpack.py::TestNQuad::test_matching_tplquad

Sorry for the wall of text, but this result is particularly interesting. It suggests complete failure of nquad under pypy to reproduce any sort of consistent answer with certain inputs.
tl;dr - Quadpack appears to have issues under PyPy, especially with complex integrals.

I looked into your conda-forge build logs and I'm seeing some Fortran warnings that affect quadpack I don't get when compiling Scipy using Python on my system

2022-02-13T23:35:16.2318465Z   Warning: Fortran 2018 deleted feature: Shared DO termination label 20 at (1)
2022-02-13T23:35:16.2837265Z   x86_64-conda-linux-gnu-gfortran:f77: scipy/integrate/quadpack/dqage.f
2022-02-13T23:35:16.3271448Z   scipy/integrate/quadpack/dqagpe.f:524:0:

Might be something to look into?

This might be a separate issue, but if anyone has easy access to a 32-bit machine, are you able to reproduce the RuntimeWarnings in the studentized_range.moment tests reported in gh-15825?

Might be something to look into?

Sorry I missed responding to this. From what I can tell, this is a pretty irrelevant warning that's just about the fact that a newer Fortran standard tightens some things that used to be permitted in older versions.

Maybe related to #15444 and other PRs to refactor the Studentized range PDF

@DominicChm IIRC you were going to track (on PyPy + Windows) the points at which the integrator was evaluating the integrand and the corresponding values of the integrand, then check (on a separate platform )whether those values of the integrand were accurate. That would help us see whether the problem is the integrand or whether the integrand is exposing a problem with the integrator. How did that go?

Is anyone currently looking into this? Currently scipy is the biggest remaining blocker (700+ children) in the pypy-migration. Considering that this issue is soon half a year old, success doesn't exactly seem imminent, but the only realistic options are (in descending order of attractiveness from the POV of conda-forge):

wait for this issue to be fixed
ignore the pypy errors on windows
skip pypy+win for scipy and all dependent packages

Is there a way to skip just this test on PyPy + Windows or either one?

Is there a way to skip just this test on PyPy + Windows?

That's not a problem per se, and what I meant by "ignore the errors".
The issue is more that it's not exactly a small number of errors that are being caused by this:
=========================== short test summary info ===========================
FAILED integrate/tests/test_quadpack.py::TestNQuad::test_fixed_limits
FAILED integrate/tests/test_quadpack.py::TestNQuad::test_variable_limits
FAILED interpolate/tests/test_interpolate.py::TestNdPPoly::test_integrate_2d
FAILED sparse/tests/test_construct.py::TestConstructUtils::test_bmat - Assert...

FAILED stats/tests/test_continuous_basic.py::test_cont_basic[500-200-nct-arg75]
FAILED stats/tests/test_continuous_basic.py::test_cont_basic[500-200-powerlognorm-arg82]
FAILED stats/tests/test_continuous_basic.py::test_cont_basic[500-200-powernorm-arg83]
FAILED stats/tests/test_continuous_basic.py::test_cont_basic[500-200-skewnorm-arg91]
FAILED stats/tests/test_continuous_basic.py::test_cont_basic[500-200-trapezoid-arg94]
FAILED stats/tests/test_continuous_basic.py::test_cont_basic[500-200-triang-arg95]
FAILED optimize/tests/test_minpack.py::TestFSolve::test_pressure_network_no_gradient
FAILED optimize/tests/test_minpack.py::TestFSolve::test_pressure_network_with_gradient
FAILED optimize/tests/test_minpack.py::TestFSolve::test_reentrant_func - Asse...
FAILED optimize/tests/test_minpack.py::TestFSolve::test_reentrant_Dfunc - Ass...

FAILED stats/tests/test_continuous_basic.py::test_cont_basic[500-200-wrapcauchy-arg106]
FAILED stats/tests/test_continuous_basic.py::test_cont_basic[500-200-distname107-arg107]
FAILED optimize/tests/test_tnc.py::TestTnc::test_minimize_tnc38 - AssertionEr...
FAILED optimize/tests/test_tnc.py::TestTnc::test_tnc38 - AssertionError:
FAILED optimize/tests/test_trustregion.py::TestTrustRegionSolvers::test_solver_concordance
FAILED optimize/tests/test_trustregion_krylov.py::TestKrylovQuadraticSubproblem::test_for_the_easy_case
FAILED optimize/tests/test_trustregion_krylov.py::TestKrylovQuadraticSubproblem::test_for_the_hard_case
FAILED optimize/tests/test_trustregion_krylov.py::TestKrylovQuadraticSubproblem::test_for_interior_convergence
FAILED optimize/tests/test_trustregion_krylov.py::TestKrylovQuadraticSubproblem::test_for_very_close_to_zero
FAILED optimize/tests/test_zeros.py::TestBasic::test_brentq - AssertionError:
FAILED optimize/tests/test_zeros.py::TestBasic::test_brenth - AssertionError:
FAILED stats/tests/test_continuous_basic.py::test_methods_with_lists[levy_stable-args64-sf]
FAILED stats/tests/test_continuous_basic.py::test_methods_with_lists[studentized_range-args93-logpdf]
FAILED stats/tests/test_continuous_basic.py::test_methods_with_lists[studentized_range-args93-sf]
FAILED stats/tests/test_continuous_basic.py::test_methods_with_lists[studentized_range-args93-isf]
FAILED stats/tests/test_distributions.py::TestNormInvGauss::test_ppf - Assert...
FAILED stats/tests/test_distributions.py::TestPearson3::test_negative_cdf_bug_11186
FAILED stats/tests/test_distributions.py::TestKSTwo::test_ppf_of_cdf - Assert...
FAILED stats/tests/test_distributions.py::TestKSTwo::test_isf_of_sf - Asserti...
FAILED stats/tests/test_distributions.py::TestKSTwo::test_ppf_of_cdf_sqrtn - ...
FAILED stats/tests/test_distributions.py::TestKSTwo::test_isf_of_sf_sqrtn - A...
FAILED stats/tests/test_distributions.py::TestKSTwo::test_ppf - AssertionError:
FAILED stats/tests/test_distributions.py::TestExpect::test_norm - AssertionEr...
FAILED stats/tests/test_distributions.py::TestExpect::test_beta - AssertionEr...

FAILED stats/tests/test_distributions.py::test_crystalball_entropy - Assertio...
FAILED stats/tests/test_hypotests.py::TestTukeyHSD::test_compare_sas[equal size sample]
FAILED stats/tests/test_hypotests.py::TestTukeyHSD::test_compare_sas[unequal sample size]
FAILED stats/tests/test_hypotests.py::TestTukeyHSD::test_compare_sas[extreme sample size differences]
FAILED stats/tests/test_hypotests.py::TestTukeyHSD::test_compare_matlab[equal size sample]
FAILED stats/tests/test_hypotests.py::TestTukeyHSD::test_compare_matlab[unequal size sample]
FAILED stats/tests/test_hypotests.py::TestTukeyHSD::test_compare_r - RuntimeE...
FAILED stats/tests/test_hypotests.py::TestTukeyHSD::test_engineering_stat_handbook
FAILED stats/tests/test_hypotests.py::TestTukeyHSD::test_rand_symm - RuntimeE...
FAILED stats/tests/test_hypotests.py::TestTukeyHSD::test_2_args_ttest - Asser...
FAILED stats/tests/test_morestats.py::TestBinomTest::test_confidence_intervals1[less-0.148831050443-0.0-0.2772002496709138]
FAILED stats/tests/test_morestats.py::TestBinomTest::test_confidence_intervals1[greater-0.9004695898947-0.1366613252458672-1.0]
FAILED stats/tests/test_morestats.py::TestBinomTest::test_confidence_intervals1[two-sided-0.2983720970096-0.1266555521019559-0.2918426890886281]
FAILED stats/tests/test_morestats.py::TestBinomTest::test_confidence_intervals2[less-0.005656361-0.0-0.1872093]
FAILED stats/tests/test_morestats.py::TestBinomTest::test_confidence_intervals2[greater-0.9987146-0.008860761-1.0]
FAILED stats/tests/test_morestats.py::TestBinomTest::test_confidence_intervals2[two-sided-0.01191714-0.006872485-0.202706269]
FAILED stats/tests/test_morestats.py::TestBinomTest::test_confidence_interval_exact_k0[less-0.05631351-0.2588656]
FAILED stats/tests/test_morestats.py::TestBinomTest::test_confidence_interval_exact_k0[two-sided-0.07604122-0.3084971]
FAILED stats/tests/test_morestats.py::TestBinomTest::test_confidence_interval_exact_k_is_n[greater-9.536743e-07-0.7411344]
FAILED stats/tests/test_morestats.py::TestBinomTest::test_confidence_interval_exact_k_is_n[two-sided-9.536743e-07-0.6915029]
FAILED stats/tests/test_morestats.py::TestBoxcox::test_alpha - AssertionError:
FAILED stats/tests/test_sampling.py::TestTransformedDensityRejection::test_bad_pdf[<lambda>-TypeError-must be real number, not list]
FAILED stats/tests/test_sampling.py::TestTransformedDensityRejection::test_bad_dpdf[<lambda>-TypeError-must be real number, not list]
FAILED stats/tests/test_sampling.py::TestNumericalInversePolynomial::test_bad_pdf[<lambda>-TypeError-must be real number, not list]
FAILED integrate/tests/test_quadpack.py::TestNQuad::test_matching_tplquad
= 238 failed, 34712 passed, 3217 skipped, 104 xfailed, 11 xpassed, 224 warnings in 4863.40s (1:21:03) =

Sorry for the wall of text, but this result is particularly interesting. It suggests complete failure of nquad under pypy to reproduce any sort of consistent answer with certain inputs.

tl;dr - Quadpack appears to have issues under PyPy, especially with complex integrals.

Running with this idea, would the integrate/tests/test_quadpack.py failures be a good place to start unraveling the root cause?

I see. Is there a more descriptive title that does not single out the studentized range distribution, then? This list provides further evidence that there is a problem with quadpack and PyPy, and it is not just the way that studentized range implementation uses it.

I changed the title to something that I hope is more indicative of the root cause.

Here is one strategy that @DominicChm and I considered: on PyPy+Windows and separately on any other platform (for which the tests pass), record the sequence of integrand inputs and outputs while the integral is performed. We were hoping that might help someone more familiar with quadpack determine how it is going astray. Does that sound valuable?

On the other hand, it looks like this may not be related to quadpack in particular... I don't see a relationship between TNC and quadpack, and they're not even both Fortran. Could it be a more general bug in the way PyPy interacts with compiled code?

Could it be a more general bug

Maybe. However this is the first place that particular bug is appearing. It seems to be something specific to windows and inf/nan/complex. In this long thread I had missed this analysis

I dumped the code here https://github.com/DominicChm/IntegrandTest. The above output is from compare.bat

When compiled/ran by pypy, both the PDF and moment come out wrong vs the reference CPython run.

Any news on this? 🙃

Not from me. The minimum reproducer in the repo above still checks against the full scipy.stats._studentized_range_cdf. It would be nice to find a much smaller reproducer.

I have a smaller reproducer in https://gist.github.com/mattip/346234bc51a8a3afca10ea8929a53df0. The problem only happens when PyPy JIT kicks in: eventually the python callback in dqegie is called with -1 as an argument instead of a valid value. I am trying to work out how that happens. I have ruled out FPU precision by checking _control87. It may be some kind of argument passing bug.
One thing is strange. When building scipy, I see warnings that small may be used uninitialized https://github.com/scipy/scipy/blob/62f75fa33f1a832043b53f0694693dee0fe9503a/scipy/integrate/quadpack/dqagie.f#L411
That code seems to be 21 years old, so it must have been vetted by now. Is there a problem or is it just my fortran skills are rusty?

scipy\integrate\quadpack\dqagie.f:411:0:

         small = small*0.5d+00

Warning: 'small' may be used uninitialized in this function [-Wmaybe-uninitialized]
scipy\integrate\quadpack\dqagie.f:372:0:

    40   if(ierro.eq.3.or.erlarg.le.ertest) go to 60

Warning: 'ertest' may be used uninitialized in this function [-Wmaybe-uninitialized]
scipy\integrate\quadpack\dqagie.f:362:0:

         erlarg = erlarg-erlast

Warning: 'erlarg' may be used uninitialized in this function [-Wmaybe-uninitialized]
scipy\integrate\quadpack\dqagie.f:425:0:

       if(ierro.eq.3) abserr = abserr+correc

The relevant loop begins at https://github.com/scipy/scipy/blob/62f75fa33f1a832043b53f0694693dee0fe9503a/scipy/integrate/quadpack/dqagie.f#L291 where the starting value of last is 2.  Further down, there is an explicit check for 2 in https://github.com/scipy/scipy/blob/62f75fa33f1a832043b53f0694693dee0fe9503a/scipy/integrate/quadpack/dqagie.f#L360 and the code at label 80 is where small is initialized: https://github.com/scipy/scipy/blob/62f75fa33f1a832043b53f0694693dee0fe9503a/scipy/integrate/quadpack/dqagie.f#L414-L418
Yeah, it's nasty.

Thanks @WarrenWeckesser

Thanks for looking into this @mattip!

Closing. This particular failure was due to a bug in the PyPy JIT https://foss.heptapod.net/pypy/pypy/-/issues/3753


Menu layout is broken on RTD

It's supposed to look like this:

It's weird that the work build, the very same commit, looks fine --- https://docs.pybricks.com/en/work/
Forcing a rebuild on RTD doesn't seem to help.

Do you see this locally @dlech ?

No, it is working for me locally as well. The only difference that looks suspicious was the docutils version. The logs on readthedocs.org show it is using v0.17 but we have v0.16 in our lock file. sphinx-rtd-theme made a new release recently that excludes 0.17, so I made a PR to try it out to see if that works.

This seems to be fixed, thanks!


Icon request: Old School RuneScape

URL of the site or app (required): https://oldschool.runescape.com
Logo resources for the icon (optional, but recommended):

Use Jagex icon.


Info not provided for Non-OBD modules as defined for <IP_ADDRESS>.c

Info not provided for Non-OBD modules as defined for <IP_ADDRESS>.c
<IP_ADDRESS>	Warn/Info Criteria
a.	Warn if more than one ECU responds with a value for OBD compliance where the values are not identical (e.g., if one ECU reports 13h and another reports 22h, if one reports 13h and another reports 11h, or if one ECU reports 00h and another reports 14h).
b.	Warn if any response received from a non-OBD ECU provides OBD Compliance values of 0, FBh, FCh, FDh, FEh, or FFh.
c.	Info for DM5 replies from non-OBD ECUs.

Both should be info.

DM5 issue is still present in version 3.1.28
The following should be INFO not WARN per the agreed upon WARN/INFO criteria as mentioned above.


Resolves #202: Fixes memory leak on ExtConnection

There are two major leaks

One ExtConnection object per connection. We have a house keeping actor to prune the expired cursors for each connection. This actor takes a reference on the connection and Future for this actor is stored in ExtConnection. There is cycling dependency there. This patch decouples these two.
Read buffers in BufferedConnectionData. Actor popDisposedMessages cleans-up unused and completed buffers continuously. But  the last buffer that is currently being used wouldn't get freed. This patch handles that part of ~BufferedConnectonData().

And couple of minor cleanups.

LGTM, lets fix the clang format error and merge it!

Seems like the builder broken somehow. Clang format itself is fine after the latest commit. I don't remember anything changing related to that lately. Let me check anyway.


Chainhooks 1.0 doc updates

This issue is to address current gaps in the Clarinet documentation and also add the following docs:

How to run chainhooks as a service using Bitcoind
How to run chainhooks as a service using Stacks

Here is the PR with the changes: https://github.com/hirosystems/chainhook/pull/304. A few more updates are to be done based on the suggestions from Micaiah.

https://github.com/hirosystems/chainhook/pull/304 is merged. Hence marking this as complete.

Reopening to ensure docs PR is done with sidebar also updated.

Fixed links in the https://github.com/hirosystems/docs/pull/408. Hence marking this as closed.


Can't build rock on cygwin

I'm lazy, so here's logs from IRC:
<minirop> I'm trying to compile rock under cygwin and I get : In function `lang_Buffer__Buffer_toLDouble_impl': /home/amos/ooc/rock/sdk/lang/Buffer.ooc:590: undefined reference to `_strtold'
<scott_> hmm, it appears cygwin doesn't handle long doubles
<scott_> I guess we could add a version block for __CYGWIN__ that would make strtold(a,b) just do strtod(a,b) as LDouble

So this should be fixed now, but we need someone to test it on cygwin (hopefully the guy who found this issue will come back on IRC).

Rock can't be built in cygwin from make rescue until a new bootstrap is made, since the generated C in the latest bootstrap still references strtold.

@nddrylliog if you can handle it this time (I have to go in like....10 minutes ago...) and explain how it's done, I can take a whack at automating it (excluding the uploading, so it can be tested first).

@duckinator It's, like, this very complicated process that I've kept secret for all these years, in fear that the community would learn it and overthrow my whole dictatorship. (ie. make prepare_bootstrap)

Aaaand here we go https://github.com/downloads/nddrylliog/rock/rock-0.9.4-prealpha1-bootstrap-only.tar.bz2 (cc @duckinator  @tsion)

@nddrylliog Thanks!
@duckinator I'm curious, how does http://www.fileville.net/ooc/bootstrap.tar.bz2 always point at the latest bootstrap?

@tsion I think it's a rails app (or some other ruby sorcery). Imho it shouldn't be at fileville but running on some ofmlabs/mine server. I have a rackspace server for myself, we could probably set up a few ooc related automated thingies there.

@nddrylliog see? I KNEW IT :)
@tsion it's a sinatra app which i for some reason never put on github. woopsy.

Here comes another problem. The Makefile has this code:
ifdef WINDIR
	OOC_OWN_FLAGS+=+-DROCK_BUILD_DATE=\\\"${DATE}\\\" +-DROCK_BUILD_TIME=\\\"${TIME}\\\"
else
	OOC_OWN_FLAGS+=+-DROCK_BUILD_DATE=\"${DATE}\" +-DROCK_BUILD_TIME=\"${TIME}\" +-rdynamic
endif

The problem on cygwin seems to be that WINDIR is defined, but it should be using the code in the else block. Or at least the removal of the extra \\, I don't know what +-rdynamic is for.

And another one, this time in libs/Makefile:
else ifeq ($(MYOS), CYGWIN_NT-5.1)
    ARCH=win

where MYOS := $(shell uname -s). This did not match for the guy I'm helping because his is CYGWIN_NT-6.1-WOW64.
I'm not sure what change should be made, but I'm guessing we should just check for CYGWIN_NT*.

After editing Makefile and forcing ARCH=win, rock built, but apparently when used it gave this error:
GC Warning: Out of Memory! Heap size: 380 MiB. Returning NULL!
Segmentation fault (core dumped)

with the GC line printed a dozen of times.

He should try --enable-threads=win32 instead of posix (in libs/Makefile,
for libgc)
To debug the GC, launch the program with the environment variable GC_DEBUG=1
On Dec 17, 2011 12:25 AM, "Scott Olson" <
<EMAIL_ADDRESS>wrote:

After editing Makefile and forcing ARCH=win, rock built, but
apparently when used it gave this error:
GC Warning: Out of Memory! Heap size: 380 MiB. Returning NULL!
Segmentation fault (core dumped)

with the GC line printed a dozen of times.

Reply to this email directly or view it on GitHub:
https://github.com/nddrylliog/rock/issues/357#issuecomment-3185426

The lasttime isaw errors like that with win32rock it was because the VarArgs implementation was not working on windows and te numbers passed thrugh varArgs to format were read as much bigger and thus c-rock generated gc_mallocs with enormous amounts of memory. I fixed that though. Could you please take a look at the sources generated while bootstraping and see if anything is unusual?

Note that c_rock worked fine for him, but the final rock executable had the GC error.

I noticed in the C source he pastebinned stuff like exit(<5 digit number>) where in the ooc source it was exit(0). Sounds like the problem you described.

About __WINDOWS__ in cygwin - it appears that in recent versions it is not defined but in older versions it was. Fun. See this link for a little bit of preprocessor work some project used to make sure that if __CYGWIN__ was set, __WINDOWS__ wasn't. Maybe rock should do something like that and provide version(cygwin) directly.

This isn't related to this issue, but lang/VarArgs.ooc uses func@ syntax and I forget what that means. Can someone please remind me?

When func@ is used, this is a pointer to the cover and thus is not passed  by value. Anyway, yes this is exactly the issue. Fixing it should be as simple as changin version(windows) to version(windows || cygwin) in lang/VarArgs.ooc
I dont have a test machine with cygwin though >.< I may fix this and clean up some of the stuff in there (there is a lot of redundancy). Btw, can version(...) { ... } be used as an expression?

Then thing is, VarArgs.ooc has some pretty nasty compiler-specific stuff. I dont know if it is even stable on every c compiler on windows. Works with gcc though ;o

After patching that varargs stuff it doesn't give the GC error, but apparently it segfaults. I'm going to bed, so no more detail for now.

Change

version(windows && __CYGWIN__) {

To

version(windows | | __CYGWIN__) {

In the second version block (yes I look at your gists 8D )

@shamanas I don't think version blocks are currently treated as expressions, but it's a good point - since in C they are ifdefs, it should work if there are valid expressions in all possible branches (the problem is that from rock it's kind of impossible to tell if we cover all possible branches, because we don't have access to all that the compiler is going to define).
Good job on debugging the varargs stuff btw. I'm a bit worried about this though:

Then thing is, VarArgs.ooc has some pretty nasty compiler-specific stuff. I dont know if it is even stable on every c compiler on windows. Works with gcc though ;o

I'd agree VarArgs has some clever and/or nasty code in it, but how compiler-specific? I mean, it's mostly about struct alignment right? And we could easily test that at runtime (by defining a struct for example { uint8, uint8, uint8 }, then assigning something like 0, -1, 0, and then turning it into an uint8*, and reading at different offsets to see if we read magical values... do you see what I mean?)

@shamanas Oh, damn. Thanks. I guess I shouldn't try to fix varargs at 4 am.


Feature: Show actual fee in “Confirm Send Dialog” before requiring password

Feature request (Paycoin-QT):
Show actual fee in “Confirm Send Dialog” before requiring password.
There is already a "confirm transaction fee” dialogue after you sign in to your wallet to confirm sending coins. I prefer to see the whole transaction before entering the password for my wallet. Changing the sequence could help, but ideally, the user will be able to see and approve all components of each transaction.
Consider also highlight the fee when it’s non-standard (e.g., settx > 1).

I feel like part of this is already implemented in the "Coin Control Features"; I'm just wondering how big of a difference changing the order of those dialogues will make in usability (as you have to enter your passphrase to send either way in an encrypted wallet).
If you enable coin control it shows the fee before you even hit send (as well as number of inputs, after fee and change values); I wonder if a better option would be to make at least some of these values show even with coin control disabled and only have coin control enable the actual control features such as input control and custom change address.

In the order of dialogues, I would prefer the fee before I enter my passphrase.
If we could get the fee to display before you hit send (like with coin control features enabled), that would be best IMO.

To be clear @BoXHocK; are you saying you'd prefer if the dialogues were done in a separate order as well as having the fee displayed on the send coins tab by default or you're OK with the dialogue order if the fee is displayed on the tab itself?

If the fee would be displayed in the send tab, the order now would be fine, I guess.


Checkstyle compile classpath not marked as compile classpath

The Checkstyle task classpath input is not marked as a compile classpath. This causes cache misses when one of the jars it depends on changes manifest data in a module it depends on.
This is inconsistent with the compile check. Meaning the checkstyle plugin will run even though Gradle does not recompile the source code of the module.
Expected Behavior
The checkstyle task classpath up-to-date check is the same as for the java compile task.
Current Behavior
The checkstyle task will stay up to date and cache if the classpath does not change according to the same standard as the java compile classpath.
Context
I'm trying to cache the checkstyle task in our CI server. This is currently not possible because the manifest file contains the build number so every build has a change in the classpath that breaks the up-to-date check.
Steps to Reproduce

Clone: https://github.com/scramados/checkstyle-up-to-date
Run twice: ./gradlew checkstyleMain
The second time the upper-layer javaCompile and checkstyleMain task stay up to date
Change the version in build.gradle.kts
Run: ./gradlew checkstyleMain
The compile task will stay up to date but not the checkstyleMain task

Your Environment
https://scans.gradle.com/s/7rwd4bxo6i3ek

Let's reopen this. There is no reason why Checkstyle.classpath should be a runtime @Classpath instead of a @CompileClasspath. There are only a few Checkstyle rules that consume the binary class files like JavadocMethod (see https://stackoverflow.com/a/24495543/104894), but they only care about the API of the dependencies.
As for why it is this way now, I think it's because we've marked the property with @Classpath in Gradle 3.2, while @CompileClasspath was introduced in Gradle 3.4. https://github.com/gradle/gradle/commit/1809f380ffc582d63886c4d7a08305f807212271

@vlsi's comment here makes sense: https://github.com/gradle/gradle/issues/14227#issuecomment-1017309945
This is actually a duplicate of that issue.


add your evaluator to train_net.py and test_net.py

tools/train_net.py and tools/test_net.py
under tools/train_net.py, line 63:

if evaluator_type == "fsucustom":
# the true in this function call refers to it being distributed. Probably good?
return fsucustomEvaluator(dataset_name, cfg, True, output_folder)
under tools/test_net.py, line 65:

if evaluator_type == "fsucustom":
# the true in this function call refers to it being distributed. Probably good?
return fsucustomEvaluator(dataset_name, cfg, True, output_folder)

This issue is finished. We just have to make sure that the evaluator matches what is called in these tools.

ok, the issue was less closed than I thought. I had to call the correct function, and add it to the imports. Doh.


Feature/claudie docs

Regarding this issue, we have started using MkDocs with the support of Material and mike.
The documentation is now deployed on GitHub Pages under docs.claudie.io.
The most important part of this PR is the the last part of the release.yml pipeline, where the deployment of the new docs version happens.

I am wondering, where should we advertise the deployed documentation. If it will be in main README.md, where is the proper place? IMO somewhere in Get started using Claudie is the best possible choice

I'm not sure where's the best place Jakub, try to find something sensible.
Perhaps even additionally put a mention of it into the README of the docs folder

@MiroslavRepka @MarioUhrik hopefully I have addressed all your points. Please take a look, when you have time.


Update cloud-init for proxmox-api-go #339

Makes terraform compatible with https://github.com/Telmate/proxmox-api-go/pull/339.
Add ciupgrade property.  (required work upstream)
fixes #997 (Tested)
When network is set in cicustom we continue with trying to get the ip.  (required work upstream)
fixes #1011
searchdomain, nameserver, ipconfig0-15 can now be removed. (required work upstream)
fixes #1042 (Tested)

Currently broken for PVE versions lower than 8.0.0 https://github.com/Telmate/proxmox-api-go/issues/344

Very much looking forward to this

@Tinyblargon,
Maybe it makes sense to release this change in rc4?

@Tinyblargon I'm getting the following warning with v3.0.1-rc4:
╷
│ Warning: Cloud-init is enabled but no IP config is set
│
│   with module.flatcar_sample.proxmox_vm_qemu.proxmox_flatcar_vm[0],
│   on ..\..\main.tf line 73, in resource "proxmox_vm_qemu" "proxmox_flatcar_vm":
│   73: resource "proxmox_vm_qemu" "proxmox_flatcar_vm" {
│
│ Cloud-init is enabled in your configuration but no static IP address is set, nor is the DHCP option enabled
╵

I have a configuration that does have a network configuration, but no cloud-init (I'm using ignition/butane).
Looking at the code, it appear that the warning is in response to a cloud-init without a network configuration. The abridged code reads:
    if config.CloudInit != nil {
		... < various other stuff deleted> ...
				return primaryIPs{}, diag.Diagnostics{diag.Diagnostic{
					Severity: diag.Warning,
					Summary:  "Cloud-init is enabled but no IP config is set",
					Detail:   "Cloud-init is enabled in your configuration but no static IP address is set, nor is the DHCP option enabled"}}
			}
		}
	}

The new code for initialising  conf.CloudInit reads:
CloudInit:      mapToSDK_CloudInit(d),

The function mapToSDK_CloudInit doesn't seem to have a code path that returns nil.  This means the warning will be reported regardless of there is a cloud-init configured.  Am I missing something? Is this by design?

There is a cloud-init disk.

This is the condition I am unclear on. As mentioned above, I don't have a cloud-init disk referenced by the VM.  Looking at the tfstate and the vm configuration (below), I can see that cipassword is being round tripped to a non-empty value (but not set by me) - I'm assuming that an empty string is being crypted.
What is it in this configuration that says there is a cloud-init disk? I am reluctant to falsely call bug, but it looks like the function to map the configuration doesn't take into account that there is no cloud-init and returns an empty cloud-init rather than a nil cloud init. The warning code looks for a nil cloud-init rather than an empty cloud-init.
tfstate partial
 "attributes": {
            "additional_wait": 5,
            "agent": 1,
            "agent_timeout": null,
            "args": "-fw_cfg name=opt/org.flatcar-linux/config,file=/etc/pve/local/ignition/990.ign",
            "automatic_reboot": true,
            "balloon": 0,
            "bios": "ovmf",
            "boot": "order=scsi0",
            "bootdisk": "",
            "ci_wait": null,
            "cicustom": null,
            "cipassword": "",
            "ciupgrade": false,
            "ciuser": "",
            "clone": "flatcar-production-qemu-stable-3815.2.2",
            "clone_wait": 0,
            "cores": 2,
            "cpu": "host",

example vm config
/etc/pve/local/qemu-server/990.cfg
#An example **Flatcar** Linux VM provisioned using Terraform.
#
#
#A VM provisioned with Terraform from template flatcar-production-qemu-stable-3815.2.2 on 2024-09-02T07%3A20%3A36Z
#
### Configuration
#
#```
#hook-script%3A local%3Asnippets/cloudinit-to-ignition
#cloud-init%3A local%3Aiso/tf-ci-flatcar-terraform.example.com.iso
#```
agent: 1
args: -fw_cfg name=opt/org.flatcar-linux/config,file=/etc/pve/local/ignition/990.ign
balloon: 0
bios: ovmf
boot: order=scsi0
cicustom:
cipassword: $5$HZnpXPaJ$9pQx4StDbUZQb1VHh1UBAARYSenktKfUxIVw77Y5yZ.
ciupgrade: 0
cores: 2
cpu: host
efidisk0: local:903/base-903-disk-0.raw/990/vm-990-disk-0.qcow2,efitype=4m,pre-enrolled-keys=1,size=128K
hookscript: local:snippets/multi-hookscript.pl
hotplug: network,disk,usb
kvm: 1
memory: 1024
meta: creation-qemu=8.0.2,ctime=1716094446
name: flatcar-terraform.example.com
net0: virtio=00:cd:83:00:7b:c0,bridge=vmbr0,tag=109
numa: 0
onboot: 1
ostype: l26
protection: 0
scsi0: local:990/vm-990-disk-2.raw,replicate=0,size=8694M
scsihw: virtio-scsi-single
serial0: socket
smbios1: uuid=768b2424-7d77-4c93-a722-a4e2e2bd675e
sockets: 1
sshkeys: %0A
startup: order=999
tablet: 1
tags: example;flatcar;terraform
vmgenid: e71bc271-bd7c-4c00-8909-e29c12a12f74


polybar fails to load after updating jsoncpp to version 1.9.1-1

Just got the new update for jsoncpp on Arch, after which polybar fails to load:
polybar: error while loading shared libraries: libjsoncpp.so.20: cannot open shared object file: No such file or directory
I've gone back to version 1.8 of jsoncpp and it works fine again.
edit, I should also mention I'm using I3wm

I had the same issue and reinstalling polybar fixed it

I just re-installed polybar (cleanbuild) and it works fine now, thanks.

Yeah that's a known issue: https://github.com/polybar/polybar/wiki/Known-Issues#error-while-loading-shared-libraries-libjsoncpp

I really should have checked there first, sorry about that.


Implement ready and finished promises

+1. Would love to see this.

Can this be closed now? Looks like ready and finished are available where Promises are.


Bug report: MacOS 10.15.7,PyVista QtInteractor example only works if window is hidden and then exposed

Hi,
Thanks for this code. When I invoke the example code from the command line, the menu is unresponsive until I cover (at least partially) the window with another window and then expose it. After that the app works great.
The "Add Sphere"menu item appears and everything works as it should.
Any ideas? (Note: I don't see this behavior with my other python QT5 codes. However, my other codes use PyQt5 directly and not qtpy. I expect the problem could be in qtpy.)
Thanks!
Murray

I learned somethings that help. qtpy is irrelevant: I get the same behavior if I use PyQt5 directly.
Also, there is no problem if you invoke the python script using pythonw. If you use python3 the problem persists. I have no idea why that's so, but using pythonw "solves" the problem.

Very interesting... Perhaps this is a Mac-specific issue?
Also, I have mentioned this in other issues, namely #72  and #67, but the qtpy functionality only exists in the master branch of pyvistqt, and is not yet available from the pypi package. I'm really sorry, I just haven't had the chance to update the documentation (perhaps I should do that now...). Make sure you have pip install-ed the master branch of pyvistqt and try the example code again.
Please read through those issues I linked above to get more explanations about the problem, and how to solve it.
As usual, let me know if thishelps.

Thanks, Nico.
At present, I have no real need to use qtpy -- and the use of pythonw
solves my problem, so I'm good.
Please feel free to close the issue.
Murray
On Thu, Dec 31, 2020 at 5:59 AM Nico Bako<EMAIL_ADDRESS>wrote:

Very interesting... Perhaps this is a Mac-specific issue?
Also, I have mentioned this in other issues, namely #72
https://github.com/pyvista/pyvistaqt/issues/72 and #67
https://github.com/pyvista/pyvistaqt/issues/67, but the qtpy
functionality only exists in the master branch of pyvistqt, and is not
yet available from the pypi package. I'm really sorry, I just haven't
had the chance to update the documentation (perhaps I should do that
now...). Make sure you have pip install-ed the master branch of
pyvistqt and try the example code again.
Please read through those issues I linked above to get more explanations
about the problem, and how to solve it.
As usual, let me know if thishelps.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pyvista/pyvistaqt/issues/73#issuecomment-752953017,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHJLAMWKZQ6XJZ3L7YEJAJ3SXRYRJANCNFSM4VOYOABA
.

Please feel free to close the issue.

I actually can't close it... so if you feel like your problem is solved, go ahead and close it.
We really appreciate the feedback, and that you are using pyvista and pyvistaqt. Please feel free to reach out any time.

Will do, thanks!
On Thu, Dec 31, 2020 at 9:37 AM Nico Bako<EMAIL_ADDRESS>wrote:

Please feel free to close the issue.
I actually can't close it... so if you feel like your problem is solved,
go ahead and close it.
We really appreciate the feedback, and that you are using pyvista and
pyvistaqt. Please feel free to reach out any time.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pyvista/pyvistaqt/issues/73#issuecomment-753001793,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHJLAMRA3RNZRETR4K35CQ3SXSSDVANCNFSM4VOYOABA
.


Build issue with webpack

Has this issue been resolved in version 2?
https://github.com/webpack/webpack/issues/5756

deepmerge still provides CommonJS consumers the function with module.exports = deepmerge, and provides ES Module consumers export default deepmerge.


[Discussion] Bug Testing

Hey Nick,
I just compiled your recent build. Anything else I should test on Linux not on this list? I can maybe test Windows later today as time provides.

Votes no longer succeed when only 1 person votes
-This didn't work in my test. Still did a vote with Votes Enabled true, and GameMode true even though I was the only person in the server.

A new admin settings menu (!settings)
- NoBots works, bots only brought in a single bot for me. Might need more commands triggered to bring in bots if you're defaulting to a fill quota of 10

Game mode rotations
- Doesn't seem to rotate gamemodes even being set to true after the set Interval of 4
- Tested on Casual mode by doing the following:
!rcon mp_round_restart_delay 0
!rcon mp_freezetime 0
say !settings --> Disable/Enable bots for 1 bot only to join(as configured currently!)
!rcon sv_cheats 1
kill --> until maxrounds limit met and RTV went through w map change
- Did this 6 times

Configuration options for map change / game mode delay
- !gamesettings and !gamemodes didn't work for me

Per game mode and per setting votes
- Appears to work.
- Any chance of adding secondary aliases using your GameModeManager.json schema? (so if my server members instinctively type !aimmap instead of !aim it can still work?

All game mode and game settings votes (!gamesetting, !gamemode)
- (See above)

Configuration options for menu styles ("center" for center html (hud) menu, "chat" for chat menu.
- Does !maps work for you in chat mode?
- Seems to work otherwise for me, switched back to center and !maps started working for me.

Cheers,
-maV.

Hey @mavproductions , thank you so much for all this testing! I believe I have addressed some of these issues in an unpublished commit.
I will be making an official release tonight with more information! I know I keep saying that but this time is for real haha. I just keep finding ways to improve it as I write.

@mavproductions , a new release has been made. I will be marking this as completed. If you notice any other issues feel free to create another issue.


Fixing alarm panel refresh when 'mac' is missing

Addresses https://github.com/jaraco/jaraco.abode/issues/21

Superseded by #23.


Unit availability documentation error

In example available capacity should be at 70 electricity.
https://ait-energy.github.io/IESopt.jl/dev/pages/manual___reference/core_components/#IESopt.Unit

Since the docs CI run wasn't happy with the changes in Julia v1.11, the fix in 9ca3af1 wasn't actually deployed. Fixed in 1652bffd806eb0b6581fa0824e88faf8b6093965 and now visible in the dev version of the docs.


Project 1: Finetune Gemma model on LPI Dataset

Replicating the steps and guides from the KaggleX Cohort 4 Project guide, fine-tune and deploy a Gemini model.
Using LoRA, QLoRA, or any other fine-tuning approach:

[ ] Train an LLM model on the LPI Dataset to recommend courses and/or provide descriptions of courses within the dataset.
[ ] Create a notebook with the training code, including benchmarks, training progress, and relevant plots.
[ ] Deploy the fine-tuned model on Kaggle, Hugging Face, or a similar model hosting platform.

KaggleX Project Description and Guide: https://mentoring.qooper.io/learning/lessons/43213/details

@Foluwa please update this ticket regularly with your findings

@neomatrix369 I am currently working on including benchmarks, training progress, and relevant plots so that I can properly evaluate the performance, I have added the notebook that does the finetuning in this commit

@Foluwa Can you pls go thru this notebook and see how we have documented and laid out the notebook and try to follow the same ideas for your notebook(s) as well:

https://www.kaggle.com/code/neomatrix369/kaggle-global-outreach-analysis
https://www.kaggle.com/code/neomatrix369/nlp-profiler-simple-dataset

@neomatrix369 Thanks for sharing, I will go through these notebooks and follow their standard

A notebook of mine with an interactive UI for data exploration:
https://www.kaggle.com/code/tobetek/eda-rsna-abdominal-injury-competition-2023

@Foluwa Check this https://stackoverflow.com/questions/60251383/dockerfile-from-platform-option for your Docker macOS M2 related issue

Finetuning Gemma model on LPI Dataset
The initial approach was implemented in this notebook but some errors were encountered (which are listed below) and I pivoted to this notebook most of the implementation were from "Fine-tuning Gemma 2 model with role-playing dataset" by Gabriel Preda
Issues encountered
1.    Permission Issues

3. The evaluation metric does not support "multiclass-multioutput" format

4.  Unable to build the model

5.  Unable to save the model weights

6. Model performance issue


Sumstats not available on FTP after removing embargo (Submission id: 64ed45b2788f0000010f1043)

I removed the embargo for this submission on 13th Oct, and it is still not available on FTP.
GCST90281041 and GCST90281042

@Santhi1901 this was due to an old bug https://github.com/EBISPOT/gwasdepo-deposition-service/issues/161 the sumstats were not copied to staging folder , have manually triggered process to copy , it should be release after sumstats ftp script runs overnight

Hi @Santhi1901 could you pls confirm this is done ?

Hi @Santhi1901 could you pls confirm this is done ?

yes these GCSTs are available on FTP


shouldUpdate does not work if parent triggers child render

In React's shouldComponentUpdate callback, if false is returned, the component will not re-render, even if its parent's props change (i.e. when a parent forces its tree of children to re-render because its own props changed, those children will not render if their shouldComponentUpdate returns false).
After much debugging today, I realized that shouldUpdate not does behave the same way. If the child is re-rendering because its props changed and not because of a parent's props changing (which in turn re-renders its tree), it works fine. But if the child is re-rendering because its parent's props changed (re-rendering the parent's tree of children), it overlooks shouldUpdate and the children re-render despite the return value of shouldUpdate. The same is true for lifecycle's componentShouldUpdate from what I can tell.
I am not sure if onlyUpdateForKeys or onlyUpdateForProps have the same issue.

I'm having this issue in my work application aswell. I tried to reproduce the issue in a codesandbox but couldn't O.o
I'm using the exact same versions of recompose and react.
https://codesandbox.io/s/zk345znwx4
When this bug ocurrs, every click on the button should send the message to the console again.

I can't reproduce it.

This happened to me too and the same behavior happens for onlyUpdateForKeys.  I'm using shouldUpdate or onlyUpdateForKeys in an HOC that is a function in another HOC.  When the parent HOC update, the child HOC updates regardless of the return value of shouldUpdate or onlyUpdateForKeys;


🐛 fix: api & evaluation-server shutdown errors

This PR aims to resolve errors observed when shutting down the api and evaluation server.
To reproduce

dotnet run
press ctrl+c to shutdown process

Before

After

refs:

https://github.com/confluentinc/confluent-kafka-dotnet/blob/master/examples/Web/RequestTimeConsumer.cs
https://github.com/confluentinc/confluent-kafka-go/issues/387#issuecomment-545313461

@all-contributors
please add @deleteLater for Code


Dynamic Card Injection

Dynamic Injection of Cards on Team and Achievements and others
Eg: The team page has over 15 cards which can increase or decrease with time.
Maintaining the cards (editing details, addition, and deletion of information from HTML, etc )  will become very difficult with time.
I want to insert them dynamically by converting the details to JS Objects with data.
This goes a long way in the future since maintaining it becomes very easy.
@anushbhatia Sir @smaranjitghose  Sir, kindly assign me the work if you think it's valid!
Also, I would like to work on it alone to avoid conflicts and confusion.

@smaranjitghose Sir, I am almost done with injecting all cards only two more are left.
I wanted to ask after completing them should I moduralized everything which means I'll keep one file named  cardDesigns.js where call card components will be present and one dataFile.js and export  these files!
And that way I can clean up code in parent files by importing the required files! instead of having them all in one file (which is currently the case)

@Adyasha8105 @shreyakapoor08 Please update the documentation as per this


Added spec for k-NN stats api

Description

Added spec for k-NN stats api
Tested the api with different path and query params here.
k-NN stats doc https://opensearch.org/docs/latest/search-plugins/knn/api/#stats
plugin code ref:  https://github.com/opensearch-project/k-NN/blob/main/src/main/java/org/opensearch/knn/plugin/rest/RestKNNStatsHandler.java

Issues Resolved
Related to https://github.com/opensearch-project/opensearch-api-specification/issues/168,
https://github.com/opensearch-project/opensearch-py/issues/300
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@nhtruong made the requested changes. And also PR #191 , #192 ready for review.

@Xtansia, @nhtruong  Please take a look and let me know if any changes needed.


The dreaded interpolation operator

We should pick a symbol to denote interpolation that we're all happy with. This is proving to be quite difficult unfortunately...
So right now Oceananigans.Operators uses avg_ to denote an interpolation operator which will be wrong once #283 is merged, but is also too verbose.
closure_operators.jl uses ▶ (\blacktriangleright) which @glwagner likes but @christophernhill does not. I also don't really like it as it takes a while to type, and is actually quite hard to figure out and remember \blacktriangleright. I also think it's too much bold and sticks out too much when reading through the code.
In PR #283 I went with ϊ (\iota\ddot) which I now agree isn't great, so @thabbott and @RaphaelRR suggested ι (\iota) for interpolation, which I quite like. But @glwagner isn't a huge fan.
I've spent a lot of time looking through the unicode tables to try and find something else but to no avail. My favorite find is ↪ (\hookrightarrow) but it's reserved for binary operations.
Apologies to anyone who thinks this is the most pedantic issue.

If the problem with \blacktriangleright is time-to-type and too much bold, then you might like \triangleright instead, eg
▷a

\iota is extremely similar to i --- doesn't this look funny?
ιa(i, j, k, grid)

I prefer something more distinctive and therefore readable, like
▷a(i, j, k, grid)

When I chose the triangle I considered many arrow-like possibilities, but they either seemed too small (hard to read), or were not valid julia symbols.

Maybe we should have some sort of slam down soon? Someone presents each case, we all vote and then we all accept whatever the outcome of vote is and move on?

I'm down for a democratic slam down.
I do agree with @glwagner that ι is a little similar to i and I also think it's too small when you want something that stands out more.
I quite like ▷.
To me this code looked kind of busy and the ▶ character sticks out too much

so this looks a lot better in my opinion:

OK - my recollection is that capital iota (\Iota\ddot) with double dot gave a unicode error, that was
why I went with lower case?
I have a feeling Julia 1.3 has some fixes/additions to unicode features - so possibly \Iota\ddot could be a candidate too?

Ϊ (\Iota\ddot) works for me but might be the same as Ï (I\ddot). They look the same (on my computer at least).
https://github.com/JuliaLang/julia/blob/v1.3.0-alpha/NEWS.md
Got excited that Julia 1.3 supports Unicode 12.1 but apparently that's only one extra character haha.


c-rate-dim

Dimension of c-rate in the documentation should be 1/Time not Energy.

added to #22

added to #22


Last Week in Pony - October 20, 2024

LibreSSL 3.9.2 builder added

LibreSSL 3.7.3 build deprecated

OpenSSL 3.3.2 builder added

OpenSSL builders 3.1.3 and 3.2.0 deprecated

Version 0.3.6 of ponylang/changelog-bot-action has been released.
See the release notes for more details.

Version 0.3.8 of ponylang/release-notes-bot-action has been released.
See the release notes for more details.

Version 0.58.6 of ponylang/ponyc has been released.
See the release notes for more details.

Sync recording: https://vimeo.com/1021424153


Export/Import lists

New Issue Checklist (tick off like this: [x])

[x] I checked existing issues (open and closed) for possible duplicates
[N/A] I can reproduce the problem on the latest stable version (not nightly!)
[x] The issue is not about adding entries to the default blacklist

What is your browser?

[x] Waterfox

What is your operating system?

[x] Windows

Description (please include examples/screenshots where applicable)
This is a minor one, since it's easy enough to just copy the lists into a text document, but the ability to export and import them might be worth considering. Definitely low priority, though.

If someone else wants to implement it, ok, but I won't do it.


Update to IBM dependencies

Going to merge this for expediency. @cljohnso @tmesic99 please review post-commit and we can fix whatever needs fixing.