pulp.apis.core.PulpSolverError: Pulp: cannot execute cbc.exe

Hello,
I am trying to execute the following:
solver = pulp.COIN_CMD(msg=True, warmStart=True)

pcenter_from_cm = PCenter.from_cost_matrix(
    distances, p_facilities=facilities, name="p-center-network-distance"
)

pcenter_from_cm = pcenter_from_cm.solve(solver)

But get the following error:
pcenter_from_cm = pcenter_from_cm.solve(solver)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\x\Documents\spopt_venv\lib\site-packages\spopt\locate\p_center.py", line 409, in solve
    self.problem.solve(solver)
  File "C:\Users\x\Documents\spopt_venv\lib\site-packages\pulp\pulp.py", line 1913, in solve
    status = solver.actualSolve(self, **kwargs)
  File "C:\Users\x\Documents\spopt_venv\lib\site-packages\pulp\apis\coin_api.py", line 137, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "C:\Users\x\Documents\spopt_venv\lib\site-packages\pulp\apis\coin_api.py", line 146, in solve_CBC
    raise PulpSolverError(
pulp.apis.core.PulpSolverError: Pulp: cannot execute cbc.exe cwd: C:\Users\x\Documents\

Does anybody have any suggestions?
I have tried passing the msg=1 argument to the solver, to get more information.
I have checked the precision of the numbers, rounding them.
The cost distance matrix is is a pairwise distance matrix of one df of points - i.e. with itself. Could it be that it is due to duplicated variables / constraints?

As per the error message, the problem appears to be with your pulp installation. How did you install pulp?
Also, please provide:

the version of spopt and pulp you are using
a Minimal Working Example. The code chunk you provided seems to be from one of the notebooks in the repo.

Thank you for the quick response!
I used pip install for pulp - version 2.7.0
Spopt - version 0.5.0
Example code
import spopt
from spopt.locate import PCenter
import geopandas as gpd
import shapely
from shapely import Point
import pandas as pd
import numpy as np
import pulp
import scipy
grid = pd.read_csv(r"C:\Users\patri\Documents\city_spatial_analysis\station_allocation\grid_coords.csv")
grid = grid[['index', 'lon', 'lat']]
number of candidate facilities in optimal solution
facilities = 35
set the solver
solver = pulp.COIN_CMD(msg=True, warmStart=True)
calculate network distance cost matrix
distances = scipy.spatial.distance.squareform(scipy.spatial.distance.pdist(grid [["lon", "lat"]]))
replacing zeros with 50,000
distances = np.where(distances== 0, 50000, distances)
distances = np.round(distances)
pcenter_from_cm = PCenter.from_cost_matrix(
distances, p_facilities=facilities, name="p-center-network-distance"
)
pcenter_from_cm = pcenter_from_cm.solve(solver)

For the code chunk above to run (be on the way to a MWE), you will need to provide grid_coords.csv. However, I would suggest you try both conda install pulp and pip install pulp, then try to run your code again.

My bad, here are some simulated points taken from the tutorial page for p-center. The same error occurs. I have tried uninstalling and pip installing pulp again, but the same error happens. I am not using coda. I will try using anaconda and a new env perhaps.
import spopt
#from spopt.locate import MCLP, simulated_geo_points
from spopt.locate import PMedian
from spopt.locate import PCenter, simulated_geo_points
import geopandas as gpd
import shapely
from shapely import Point
#import matplotlib.pyplot as plt
#from matplotlib.patches import Patch
import pandas as pd
import numpy as np
import pulp
import scipy
import warnings
with warnings.catch_warnings():
warnings.simplefilter("ignore")
# ignore deprecation warning - GH pysal/spaghetti#649
import spaghetti
quantity demand points
CLIENT_COUNT = 176
number of candidate facilities in optimal solution
P_FACILITIES = 35
random seeds for reproducibility
CLIENT_SEED = 5
FACILITY_SEED = 6
set the solver
solver = pulp.COIN_CMD(msg=False, warmStart=True)
with warnings.catch_warnings():
warnings.simplefilter("ignore")
# ignore deprecation warning - GH pysal/libpysal#468
lattice = spaghetti.regular_lattice((0, 0, 10, 10), 9, exterior=True)
ntw = spaghetti.Network(in_data=lattice)
streets = spaghetti.element_as_gdf(ntw, arcs=True)
streets_buffered = gpd.GeoDataFrame(
gpd.GeoSeries(streets["geometry"].buffer(0.5).unary_union),
crs=streets.crs,
columns=["geometry"],
)
client_points = simulated_geo_points(
streets_buffered, needed=CLIENT_COUNT, seed=CLIENT_SEED
)
with warnings.catch_warnings():
warnings.simplefilter("ignore")
# ignore deprecation warning - GH pysal/libpysal#468
ntw.snapobservations(client_points, "clients", attribute=True)
clients_snapped = spaghetti.element_as_gdf(ntw, pp_name="clients", snapped=True)
clients_snapped.drop(columns=["id", "comp_label"], inplace=True)
cost_matrix = ntw.allneighbordistances(
sourcepattern=ntw.pointpatterns["clients"],
destpattern=ntw.pointpatterns["clients"],
)
cost_matrix = np.where(cost_matrix== 0, 50000, cost_matrix)
cost_matrix = np.round(cost_matrix)
pcenter_from_cm = PCenter.from_cost_matrix(
cost_matrix, p_facilities=P_FACILITIES, name="p-center-network-distance"
)
pcenter_from_cm = pcenter_from_cm.solve(solver)

Did you install spopt via pip or conda/mamba?
We need to update the docs here to say "highly recommend conda/etc. over pip" like we do across other PySAL packages, e.g. in spaghetti.

I installed with pip. I have now tried installing via conda and installing using conda install, but get the same error unfortunately.

Try :

pip install pulp
then run pulptest (see here)
then (without removing pulp) conda install pulp.
then try running the code again

Thank you. Unfortunately that didn't work. The same error is there. I got the following for the pulp test. Nothing showing as unavailable but it does look different to the code the pulp page suggests i should see.
pulp.pulpTestAll()
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss................
Test that logic put in place for deprecation handling of indexs works
Testing 'indexs' param continues to work for LpVariable.dicts
Testing 'indexs' param continues to work for LpVariable.matrix
Testing 'indices' argument works in LpVariable.dicts
Testing 'indices' param continues to work for LpVariable.matrix
Testing invalid status
Testing continuous LP solution - export dict
Testing export dict for LP
Testing export dict MIP
Testing maximize continuous LP solution
Testing continuous LP solution - export JSON
Testing continuous LP solution - export solver dict
Testing continuous LP solution - export solver JSON
Testing reading MPS files - binary variable, no constraint names
Testing reading MPS files - integer variable
Testing reading MPS files - maximize
...................
Testing reading MPS files - noname
Testing invalid var names
Testing makeDict general behavior
Testing makeDict default value behavior
Testing measuring optimization time
Testing that readsol can parse CPLEX mipopt solution
Testing the availability of the function pulpTestAll
Testing zero subtraction
Testing inconsistent lp solution
Testing continuous LP solution
Testing maximize continuous LP solution
Testing unbounded continuous LP solution
Testing Long Names
Testing repeated Names
Testing zero constraint
Testing zero objective
Testing LpVariable (not LpAffineExpression) objective
............
Testing LpAffineExpression divide
Testing MIP solution
Testing MIP solution with floats in objective
Testing Initial value in MIP solution
Testing fixing value in MIP solution
Testing MIP relaxation
Testing feasibility problem (no objective)
Testing an infeasible problem
Testing an integer infeasible problem
Testing another integer infeasible problem
Testing column based modelling
............sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
Testing fractional constraints
Testing elastic constraints (no change)
Testing elastic constraints (freebound)
Testing elastic constraints (penalty unchanged)
Testing elastic constraints (penalty unbounded)
Testing timeLimit argument
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
Ran 1003 tests in 2.016s
OK (skipped=944)

Can you post your full environment file (see here)?

Thank you so much for your help on this. Attached is the environment file.
spopt_env_copy.zip

I encountered the similar issue about this too when running the code mclp.ipynb:
Pulp: cannot execute cbc.exe cwd: C:\Users\zheng\Dropbox (UFL)\Gap analysis\code\spopt-main\spopt-main\notebooks
Looking forward to the reply!

Hey there! Installing pulp via pip/conda does not install COIN_CMD. To use this solver, you should have CBC installed in your environment. See the instruction here.
If this error persists, please let us know.
By the way, the pip install pulp installs automatically PULP_CBC_CMD so you can use that instead COIN_CMD.

I encountered the similar issue about this too when running the code mclp.ipynb: Pulp: cannot execute cbc.exe cwd: C:\Users\zheng\Dropbox (UFL)\Gap analysis\code\spopt-main\spopt-main\notebooks Looking forward to the reply! Thank you so much!

I have solved my problem with this code:
'solver = pl.PULP_CBC_CMD(keepFiles=True)

Nice one, thank you! 'solver = pl.PULP_CBC_CMD(keepFiles=True)' also worked for me it seems. Appreciate the help.

Thanks for troubleshooting @gegen07 .


PutObjectAsync bad linux performance

I upload 8000 blobs of 512 bytes each using the Async call and waiting at the end for all.
On windows it works OK, it takes 6.6 seconds. But on Linux the same code doesn't end, I have to kill it after 15 minutes. I include the sample code.
If I limit the number of tasks that are processed at the concurrently time it works. But the performance is much worse. It takes about 23s with a limit of 40 tasks (on Windows and Linux).
Expected Behavior
I expected that the code ends on Linux on a similar time than on Windows (6.6 seconds)
Current Behavior
On Linux,  I have to kill the process after a several minutes.
Steps to Reproduce (for bugs)
Execute the following code.
ServicePointManager.UseNagleAlgorithm = false;
ServicePointManager.Expect100Continue = false;
ServicePointManager.DefaultConnectionLimit = 500;

string bucket = "XXXXX"

AmazonS3Client s3Client = new AmazonS3Client(
    "XXXXXX",
    "XXXXXX",
    new AmazonS3Config
    {
        MaxErrorRetry = 5,
        RegionEndpoint = RegionEndpoint.GetBySystemName("eu-west-1"),
    });

Random rnd = new Random();
int dataSize = 512;
List<FileData> files = new List<FileData>();
for (int i = 1; i <= 8000; i++)
{
    byte[] data = new byte[dataSize];
    rnd.NextBytes(data);
    files.Add(new FileData(i, data));
}

string prefix = Guid.NewGuid().ToString("N") + "/";

List<Task> allTasks = new List<Task>(files.Count);
foreach (FileData file in files)
    allTasks.Add(Upload(bucket, prefix, file.Id, file.Data, s3Client));

Task.WhenAll(allTasks).GetAwaiter().GetResult();

static async Task Upload(
    string bucket,
    string blobsPrefix,
    long revId,
    byte[] data,
    AmazonS3Client s3Client)
{
    PutObjectRequest request = new PutObjectRequest();
    request.BucketName = bucket;
    request.Key = blobsPrefix + revId;
    request.ContentType = "application/octet-stream";

    using (MemoryStream dataStream = new MemoryStream(data, 0, data.Length, false))
    {
        request.InputStream = dataStream;
        await s3Client.PutObjectAsync(request);
    }
}

struct FileData
{
    internal int Id;
    internal byte[] Data;
    internal FileData(int id, byte[] data)
    {
        Id = id;
        Data = data;
    }
}

Context
For our app write & read blobs quickly is critical. We read & write several files on groups like the tested one.
Your Environment

AWSSDK.Core version used: <IP_ADDRESS>
Service assembly and version used: AWSSDK.S3 <IP_ADDRESS>
Operating System and version: Debian 8.10 & Windows 10 (18363.657)
Visual Studio version: Visual Studio Code
Targeted .NET platform: .Net core 3.1

.NET Core Info

.NET Core version used for development:. 3.1
.NET Core version installed in the environment where application runs: none, the dotnet publish content is used.
Output of dotnet --info:
Contents of project.json/project.csproj:

Where were you running your code, in EC2? If you were running in EC2 can you let me know what instance types you used?

I run it on a local machine.
Yes, with the 40 limit it takes about 23s on Windows and Linux. It takes a little more on Linux but the difference is less than 1s.

Increasing the open files limits on Linux, the test run on more or less on the same time than on Windows

Interesting, can you explain how you increased the open files limit?

I think you can edit /etc/sysctl.conf with something like fs.file-max = 100000.

I'm afraid but it's still not working from outside Amazon.
We show that the original test on the original machine was throwing several errors "too many open files". But we launch the new tests on Amazon.
We did the test to compare the speed using a Linux EC2 instance m5d.2xlarge & a Windows EC2 instance c5.2xlarge on both cases it 3,7s on Linux and 3,5s.
Regarding the limit it can be changed using:

sysctl -w fs.file-max=100000 -> That changes it only until the next reboot
To make the change persistent you need to edit /etc/sysctl.conf file and put following line fs.file-max = 100000

The test is using a huge amount of handles. If I get the open handles during the test, there were more than 222k:
$ lsof | wc -l
223906

When executing the same after killing the process return a much smaller number:
$ lsof | wc -l
15004

But after increasing the limit, the test is still failing on the original Linux machine, but with a different error. Now it fails with the error:
The SSL connection could not be established, see inner exception
Authentication failed, see inner exception
SSL Handshake failed with OpenSSL error - SSL_ERROR_ZERO_RETURN

This error usually means that the TLS/SSL connection has been closed. But I don't know why it's closed. Maybe it's a timeout, but why is reaching the timeout that is so high by default.
This error is not happing limiting the concurrent calls on the same Linux. On the original Windows is not given any error.
I cannot understand why it's opening that huge amount of handles to upload 8k blobs. I cannot understand why the SSL connection

Is there any news about this?
Although it works inside the Amazon instances (after updating the open file limits), it doesn't work from local Linux servers.
We used the Amazon instances for testing, but we need to use it from outside (not with the Amazon instances).
We have other alternatives that we are using as a workaround by there are much slower than this one.

Hi @bruizarroyo,
Good afternoon.
I was going through the issue backlog and came across this issue. I don't see any movement on this issue and not sure if this is a bug in the SDK, rather than an environmental issue. Please let me know if this issue could be closed.
Thanks,
Ashish

Hi,
I think that it's an issue under load on the SDK. But I cannot be sure.
We were unable to make it work outside the AWS on those machines.
We finally decide to use the REST API directly for some performance reasons and it works without any problem under the same or more load on the same VM.
Anyway, as we are no longer using the SDK, we are no longer affected but his issue.
Best regards,
Borja

@bruizarroyo Thanks got your reply. I will close this issue for now.


feat: data service now has achievement data

Can you move exported types to their respective type file?
Otherwise lgtm.
Do we still need to fetch from gh if we have the npm package?


BREAKING: enrich paylaod for old versions of realtime as well.

realtime payload coming in as old format did not go through the payload enrichment, but this PR fixes that.
fixes https://github.com/supabase-community/supabase-flutter/issues/215

Yeah, I really should write test for this, but I checked with the realtime team and they said this if statement is there for the old version of realtime, which they plan to deprecate soon and remove from the JS client library as well, so I think it's okay for now.
There will be new docker image for those that are self hosting Supabase as well.


[hotfix][docs-zh] Fix the incorrect link

Hi @wuchong , Please help to review and merge this PR. Thanks.


Use get_document_model instead of Document

I found some places where Document model used directly:

https://github.com/torchbox/wagtail/blob/v1.4.3/wagtail/contrib/wagtailmedusa/renderers.py#L21
https://github.com/torchbox/wagtail/blob/v1.4.3/wagtail/contrib/wagtailapi/signal_handlers.py#L40-41
https://github.com/torchbox/wagtail/blob/v1.4.3/wagtail/contrib/wagtailapi/signal_handlers.py#L53-54
https://github.com/torchbox/wagtail/blob/v1.4.3/wagtail/contrib/wagtailapi/endpoints.py#L245

Looks like we need to use get_document_model in these places.

I probably will be able to fix this next week.

Fixed in #2470


Wanted to buy BTC but the amount is to small (0.000000000000) at Poloniex

I have 0.02 btc in my account right now... the rest is lending. This bot need more ?
My config:
config.watch = {
// see https://github.com/askmike/gekko#supported-exchanges
exchange: 'poloniex',
currency: 'BTC',
asset: 'ETH'
}

Hello @razectp,
Please take a little time to read through and improve the wording of this issue.
It is not clear what your issue is nor the state of your account.

What is the "0.000000000000" supposed to mean?
You say you "have 0.02 btc", but the issue title says you are trying to "buy" BTC, but think this is too little.  It is not clear what you mean by this.


how to install with php 7.1.4

When I try to install ldap-tools bundle I get the following error:
Problem 1
- ldaptools/ldaptools v0.25.2 requires php >=5.6 -> your PHP version (7.1.4) overridden by "config.platform.php" version (5.3.9) does not satisfy that requirement.
- ldaptools/ldaptools v0.25.1 requires php >=5.6 -> your PHP version (7.1.4) overridden by "config.platform.php" version (5.3.9) does not satisfy that requirement.
- ldaptools/ldaptools v0.25.0 requires php >=5.6 -> your PHP version (7.1.4) overridden by "config.platform.php" version (5.3.9) does not satisfy that requirement.
- ldaptools/ldaptools-bundle 0.8.1 requires ldaptools/ldaptools >=0.25 -> satisfiable by ldaptools/ldaptools[v0.25.0, v0.25.1, v0.25.2].
- Installation request for ldaptools/ldaptools-bundle ^0.8.1 -> satisfiable by ldaptools/ldaptools-bundle[0.8.1].

This is an issue with the composer.json in your Symfony project. You need to remove this line:
https://github.com/symfony/symfony-standard/blob/3.3/composer.json#L51

Closing this out since it's an issue with the Symfony composer file. If you still need any help with the change I mentioned let me know.


12404 limit repeats (and ruby 2.7.2)

adds a "repeat count" field to clamp repeat instances to a specific number

@cooperka I'm not sure why the test db is failing, have you seen this before?

hopefully fixed the specs by committing the changes to schema file after running the migration locally 🤞

ahhhhh that might be part of it. looks like it is still failing with ruby 2.7.1 now, i'll try pushing up with 2.7.2

specs ran, and are flappers! still working on tweaks before merge.

converted textbox to dropdown to select integer/counter question on the form; tested and verified on Collect!
... this was extremely complex, kudos for implementing this in the first place Jill 🏆🏆🏆

waiting for specs to pass before merge & deploy tomorrow


Routinator RPKI STOP

Hello everyone, I have Routinator version 0.13. After installation, it works perfectly. But after a while the RPKI service stops working, in web access it shows Routinator is initializing, please wait. When checking the logs, I see the following error: Fatal: failed to open file /var/lib/routinator/rpki-cache/rrdp/rrdp.ripe.net/21d6592469dbe79feb2922562764fd193170f173229298b9a4443ffb5c282000/tmp/rpki.ripe.net. I have already checked the permissions and they are ok and the server storage space is ok too. Already restart the routinator service and the problem remains. Has anyone ever had this problem? Could you help me solve it?

Can you please check if you may be running out of inodes?
https://routinator.docs.nlnetlabs.nl/en/stable/installation.html#inode-usage


Add function to limit update speed

While not really the responsibility of minifb adding a limit_update_speed(microseconds) and doing something like limit_update_speed(1666) to approximate 60 fps update that can be called after update(..) may be useful.  Related to #114
This function will pretty much look at how long time it took between two update calls and sleep for reminder of the time sent to the function.

Implemented on dev


Automatically select 'cursor' protocol for redshift-prefixed connection strings

A small backwards-compatible patch (no behaviour changes to any existing calls), that allows redshift-prefixed connection strings to select the correct protocol ("cursor") automatically, and proceed as if postgres. All other connections default to "binary", as before.

Hi @alexander-beedie , thanks for the PR! I have merge it and it will be in our next release (0.2.3). I'm also going to make an alpha release now so you can use it earlier. Will let you know once it's done.

@alexander-beedie the alpha version 0.2.3-alpha.2 is ready! Please feel free to try out.

@alexander-beedie the alpha version 0.2.3-alpha.2 is ready! Please feel free to try out.

Thanks - just tested; works like a charm... ;)


How do you set the thread name programmatically?

I use the C++ SDK to initiate a profiling session
auto tracing_session = perfetto::Tracing::NewTrace();
tracing_session->Setup(cfg);
tracing_session->StartBlocking();
...
TRACE_EVENT(...)

I would like to annotate each thread I create with a unique name so I can identify them in the UI.
I saw this related issue but it doesn't show how to do this programmatically https://github.com/google/perfetto/issues/300
So how do you set the thread name programmatically?
I'm looking for something like
SET_PERFETTO_THREAD_NAME(...)

@betasheet @ddiproietto  can you help with this?

It should be possible with perfetto::TrackEvent::SetTrackDescriptor()
here's an example of setting a thread's name in chromium:
https://source.chromium.org/chromium/chromium/src/+/main:base/tracing/perfetto_platform.cc;l=117-123;drc=e4622aaeccea84652488d1822c28c78b7115684f


Triggers the 'remove' event in onRemove

Ref https://github.com/CartoDB/cartodb.js/issues/427
This allows, in cartodb.js, to remove the timeslider when running removeLayer.
@javisantana

and why not here https://github.com/CartoDB/torque/blob/timeslider-remove/lib/torque/gmaps/torque.js#L297


Allow user to authenticate with github via personal access token

GithubTag already had a Token member that seemed to have to do with allowing authentication to the repo.  Use this to provide a personal access token and list the repo's tags using a static oauth authenticated client.  See https://github.com/google/go-github#user-content-authentication.

@tcnksm can you please review this?


nodeapp 1.0.0

Type: Missing
Summary:
nodeapp 1.0.0
Details:
NPM indicates license is BSD
Resolution:
BSD-2-Clause
Affected definitions:

nodeapp 1.0.0

@LandOfBliss "BSD" should be Declared as BSD-3-Clause

@LandOfBliss "BSD" should be Declared as BSD-3-Clause

@AE49 Yes, I agree


Relationships specific interaction

This is a question more than an issue.
Based on http://jsonapi.org/format/#crud-updating-relationships do you have any examples on how I would return the simple data returned by these /relationships endpoints?

Answering my own question ;)
https://github.com/neomerx/json-api/blob/master/tests/Encoder/EncodeSimpleObjectsTest.php#L269

Yay, you're of a very few devs who actually look samples in tests :wink: 1337

But that's the documentation right?? :D


[spi_device/tpm] Payload Size and Write FIFO Depth in TPM mode

We have WrFifoDepth parameter of SPI TPM set at 4. Does this mean we shouldn't issue Write Transactions of payload larger than 4 bytes? In current implementation, if we attempt payload larger than 4 bytes, we have wready_o of the write fifo going to 0 after 4th byte as expected.
Strange thing to me is if we have payload larger than 4 bytes, we have xfer_bytes_q still increasing after 4th byte, until we reach payload size, and we are still in StWrite. After it, state goes to End state. Is it expected to increase xfer_bytes even though wready_o is at 0 and clearly we don't have data written to fifo?

Yep. The SCK side just latches incoming traffic and push to WrFifo. TPM spec does not allow the WAIT in the middle of transaction. Either SW should pop the data before the FIFO becomes full, or let it fill and ignore the rest of the data.
FYI, we can change the FIFO size with compile-time parameter. But it is set to 4 as the TPM uses 4B at most. Spec allows up to 64 B, but there's no usage of that yet as far as I know.

Thanks for clarifying


Chain Imagick exceptions instead of hiding

Hi!  :v: Throwing an Exception from a catch block hides the original exception message. Sometimes Imagick exceptions contain useful information, like if your installation isn't compiled with PNG support. Changing this to point to the original exception using PHP's Exception chaining could make such problems more clear.
This is the only place where a different exception is thrown from a catch block, so I didn't touch anything else :)

You're right. Thanks.


WIP Add logic for ApplePay

WIP
This commit is not complete but it follows the same path as Google Pay. We need to see what token Apple returns in order to fill up the stub object we created for specs.

@kcpavan I put together this draft. once we get the token from Apple we need to update the stub.

Here is a token to test with:
"{\"signature\":\"MEYCIQD/JoCQ2AMHS0o1bXH4BhfosEsndtXU0jBhXrlFRXqHVgIhAMbYV8JOR1ysS6rrV4vwF+S8/I0bBDytRMEdItlHkXEQ\",\"protocolVersion\":\"ECv1\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"tJUnNLW8HBaDS3w6Q959I0WdTbo3IE9P1TMAFb/OhAQoRhV+qaiwQ0GTOMI7Dmzl1bfaMnYBFh8yAbCw6RMnzK71AZLwwXkDknUpxwtU1QJds2k2SINjiuBrQyt4VpgBFjVAzV9SWlCW+Mm9qfqAzN4N4mFgsvNw0GDlbzgHpjHyjKev/HAH4Gk98bLjXh+cmG9pL9hk1NIooLZPJ4I5q34Ri1dChKIXoQRScBYYFXzt3tk4u8ykiqCqPydjAls3vujNceKKj0SIRaixlpJ+jRJgK04XL3OOe4EzHd476ElKSwVfg96t5Y/ScJ1lPav2FNiCIekHevyhyIIiN9Vun3OsZ6wSRkSWaIkeflsK2potCpb2MzAdAgc1qQIdqBc3x9x1aLS/jEKgPY/gA1gnAyrbb8Ol/RF8W0FCaCE/A/DqPY+YdH92sUHBuOgmarPPU4KhZkshF09cD6hFMKMZBezYgFikXQ\\\\u003d\\\\u003d\\\",\\\"ephemeralPublicKey\\\":\\\"BKX7sb9PXjbdL8GsfEzcAiVYkM+QBJXt/L2yGXHjyJM7+NO7SlyPyXe3wK6+ky16ujphhwRy10c73LPANrwPTXY\\\\u003d\\\",\\\"tag\\\":\\\"e7DeYqVtIKIEZWmXAvA5OTZ2HwPSxyfCyrAAn7XEbm4\\\\u003d\\\"}\"}"

@joseluistorres I agree. We should at least issue a PR against the spreedly/spreedly-gem

@joseluistorres @hoenth yeah the plan has always been to try to get this accepted on the main gem. although I accidentally opened two PR already on the main gem... so they know its coming :)


Add logics to save appintments into appointments collection and some …

…tweaks

Please note: there are some tweaks around ensuring returning error and any object follows acceptable pattern.(error last)


[android] Version 0.2.4 requires targetSdkVersion = 31

Describe the bug
The latest version of the library (0.2.4) appears to break the build process for RN Android projects due to requiring a higher minCompileSdk than is specified in standard React Native projects.
To Reproduce
Steps to reproduce the behavior:

Create a new React Native project via npx react-native init
Install the library via yarn add @stripe/stripe-react-native
Run the android build via yarn run android
See error

Execution failed for task ':app:checkDebugAarMetadata'.
A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
The minCompileSdk (31) specified in a
dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
is greater than this module's compileSdkVersion (android-30).
Dependency: androidx.activity:activity-compose:1.4.0.
AAR metadata file: /Users/tom/.gradle/caches/transforms-3/6105d9693b6d1b89f331872365193f55/transformed/jetified-activity-compose-1.4.0/META-INF/com/android/build/gradle/aar-metadata.properties.

Expected behavior
The app builds successfully when using the library with fresh RN projects.
Screenshots
N/A
Desktop (please complete the following information):

macOS Monterey 12.1

Smartphone (please complete the following information):

Android Emulator, any

Additional context
N/A

You're right- this is due to a bump in the stripe-android dependency. The fix for your project is to edit your android/build.gradle file:
    ext {
        buildToolsVersion = "30.0.3"
        minSdkVersion = 21
-      compileSdkVersion = 30
-      targetSdkVersion = 30
+      compileSdkVersion = 31
+      targetSdkVersion = 31
        ndkVersion = "21.4.7075529"
    }

This change is required to support Android 12 apps

Unfortunately in our case this breaks other dependencies. I recall seeing somewhere on facebook/react-native a recommendation against changing the SDK target because the one targeted by RN might be relied on by internal and external dependencies.
So while this may not be a bug, I suspect this will be a recurring question as long as the default RN target remains at 30. For our project I think I'll have to leave it pinned at 0.2.3 for the time being.

I see, that makes sense. Sorry about the unforeseen break there. Luckily React Native 68 looks like it will target sdkVersion 31

Thats good, I'm content to leave this here for anyone else that stumbles on it and will make a point to close this once RN68 is released.

We have the same problem in our project after updating to 0.2.4
Waiting for RN 68 will take forever for Expo users. Is there another option to just waiting?

Another option (for those who prefer not to target Android 12), would be to force the resolution of the stripe-android dependency to v18.1.0 (v18.2.0 introduces this change). However, this could have unintended consequences (since you're forcing a different version of stripe-android than is expected), but I did a quick smoke test of it and it seems to work okay. That is a possibility for the Expo managed workflow, once the next Expo SDK release comes around.
You can do this by adding the following to your android/app/build.gradle:
...
android {
  ...
    defaultConfig {
        ...
        configurations.all {
          resolutionStrategy {
            force 'com.stripe:stripe-android:18.1.0'
          }
        }
    }
}

If you're using the Expo managed workflow, I'm not sure how you applied the patch above...you don't have access to native build files

I don't, using the bare workflow.

We're on React Native 0.64.2, and I was only able to build using the fix from @charliecruzan-stripe in this thread AND the fix here (specifically, the one for flutter): https://github.com/stripe/stripe-android/issues/3173.  Upgrading RN is not our top priority at the moment so I guess we are stuck with this for now.

we followed the steps outlined by @charliecruzan-stripe and that solved the build errors, but now we're seeing a crash relating to Klarna when we try to initialize the payment screen on android. any suggestions? everything works as expected on iOS...

Ah, yeah that makes sense. We added in the Klarna payment method, and it must not be available in stripe-android v18.1.0 (the version you are forcing resolution to in order to avoid the targetSdkVersion upgrade). You may want to try<EMAIL_ADDRESS>instead of 0.4.0. However, I do want to reiterate that forcing the resolution of stripe-android can break things, and we do not test for that case

thanks for the reply @charliecruzan-stripe
i see... so is the latest release just straight up broken? or rather was there a breaking change introduced that can't be resolved without upgrading to RN 0.68? That seems a little short sided considering RN 0.68 hasn't officially been released, so upgrading isn't really a viable solution just yet.
i'll try<EMAIL_ADDRESS>and see if that builds and works properly. As a side, i don't actually care about using Klarna as a payment method, is there any way to just disable that in the payment sheet so it doesn't attempt to load it?

No, it's not broken, it just targets Android SDK 31 which was released last year in October. You can update the targeted Android version outside of updating React Native.

is there any way to just disable that in the payment sheet so it doesn't attempt to load it?

It's not about disabling the payment method, it's about not having the code that even references that payment method in your android source. To remove that, you'd need to edit node_modules/@stripe/stripe-react-native directly.

RN 0.68 has been out a while now, and Expo's SDK 45 also targets 68, so I'm going to close this issue now

@charliecruzan-stripe Is it API 31 or 32 now? ON the main read me, it says 32, but API 31 is not the enforced target until NOV this year.
Here is why I ask. We use/used tipsi-stripe , but could not upgrade/migrate because too many things would break.
With Target API 31 am rebuilding our app, but this is a bit of a mess.
At the resolving dependencies stage to get the old app code to run on the new RN core, and of course, the fresh core can't find tipsi-stripe because have not installed it. I am looking at how much of a pain replacing with @stripe/stripe-react-native would be. But this is going to be enough of a mess to get to 31 then alone 32.
This issue the README links to says the target is 31, but the readme says 32. Is this issue or that readme the correct target for this library?

The readme is correct, it's 32. It just points to this issue for workarounds:

Your compileSdkVersion must be 32. See https://github.com/stripe/stripe-react-native/issues/812 for potential workarounds.

compileSdkVersion  shouldn't really affect the run time behavior, but it looks like you're upgrading the targetSdkVersion, which is different (and not required to be 31). See https://medium.com/androiddevelopers/picking-your-compilesdkversion-minsdkversion-targetsdkversion-a098a0341ebd for details on the differences

@charliecruzan-stripe, as your linked to source says it is strongly recommended that you always compile with the latest SDK. The debate becomes is whether that is the latest beta or latest stable/current target. Around May it is good to start getting ready for the August and November cut-off. That way you have time to deal with "issues".   In practice, anything sooner you break as many things as you fix because many things won't be ready until closer to Sept if they need to make changes.
compileSdkVersion = 30
targetSdkVersion = 30

the best practice is to have these 2 matched with very few exceptions. So if updating compileSdkVersion prevents the app from building, even if you can set targetSdkVersion to a different value; you have issues. Now usually the problem is compileSdkVersion being the current target prevents to app from building.
compileSdkVersion = 30
targetSdkVersion = 31

Basically, our old app can not build using 31; so rebuilding on a new core. But STRIPE it seems is a breaking change here. The current ver of this library won't pod install. I did not test building Android with 32, only 31, before I started to migrate the old app onto this core. And unfortunately, I can not test that at the moment with all the dependencies to resolve.
To be honest, I do not even have 32 or 33 installed, they go through so many revisions and they are "beta" targets right now. Ideally, you wait until they are not their number but their Android OS Ver: I belive 12L and 13.
Is there a reason STRIPE is forcing beta usage?
I opened a case on the "pod error" here seems at least one more person is having it. If it comes to it and other things are not 32 ready we use, what ver should be rolled back to for STRIPE to be 31 compliant? Wondering if that might fix the POD error.
Is the "current" ver of STRIPE intended to be beta, and we actually should be installing the last "stable"?

Any pod install errors are iOS specific, so that is separate form the android compile and target SDK versions.

the best practice is to have these 2 matched with very few exceptions.

Can you elaborate on this?
In your example above, you have compileSdkVersion still set to 30, which will not work on the most recent version of Stripe React Native.
Also, Android 12 was released publicly on October 4, 2021, so 32 is not a beta target.

@charliecruzan-stripe respectfully anything higher than Google mandated targets is "beta" they release and endlessly update. It takes time for everything to be good and ready.
They roll forward in August and November of each year. Most stable apps are following the minimum target for full library and decency access.

Can you elaborate on this?
In your example above, you have compileSdkVersion still set to 30, which will not work on the most recent version of Stripe React Native.

Yes, and this is the issue with Stripe pre-targeting. The app won't build using compileSdkVersion = 31 only compileSdkVersion = 30. In many cases other dependencies of an app only NOW update to target, to comply with the NOV 2022 deadline. By requiring 32, Stripe may very well be limiting what of the available libraries an app can use at all.
Because today the target is 30 or 31 depending if you are a new or old app.
I will have no clue if this can even build on 32 until I get there, as was stated goal was to build for 31 to be Nov 2022 compliant.
The default install should be one that targets the current google and apple targets, and anything higher should be a beta

"Google mandated targets" isn't exactly specific enough, in my opinion. Google has different enforcements for new apps vs updates to existing apps. New apps must target Android 12 (API level 31) or higher in order to be submitted to Google Play, whereas the Nov 2022 deadline you're referring to is for updates to existing apps. So Google is already enforcing API level 31, and I think calling it "beta" isn't accurate

@charliecruzan-stripe vocab debate aside the point is 32 is not the current target recommended

@charliecruzan-stripe and what ver was that? and would it have current patches and featuers?

v0.2.3 can be used in projects that have compileSdkVersion set to 30
v0.17.0 can be used in projects that have compileSdkVersion set to 31

would it have current patches and features?

Unfortunately no, since without bumping compileSdkVersion, you cannot use the latest version of stripe-android

I still have same error, is there are any chance to fix it Expo managed workflow?

Expo's managed workflow controls your compileSdkVersion and the version of stripe-react-native, so as long as you run expo install @stripe/stripe-react-native, it should work. Otherwise that could be an issue with Expo

@charliecruzan-stripe I do have RN 0.68 with compileSdkVersion and targetSdkVersion 31, still giving an error during building android.
minSdkVersion = 21
compileSdkVersion = 31
targetSdkVersion = 31

Expo's managed workflow controls your compileSdkVersion and the version of stripe-react-native, so as long as you run expo install @stripe/stripe-react-native, it should work. Otherwise that could be an issue with Expo

I did find a way to force change it a few months ago https://forums.expo.dev/t/managed-eas-build-how-to-edit-build-gradle-via-mods/55004
Now strangely it is not working for 32, it did work for 30->31.

As a solution for Expo Bare, it's possible to use the build-properties plugin in the following way:
npx expo install expo-build-properties

 "plugins": [
      [
      "@stripe/stripe-react-native",
        {
          "merchantIdentifier": ...,
          "enableGooglePay": ...
        },
        "expo-build-properties",
        {
          "android": {
            "compileSdkVersion": 33,
            "targetSdkVersion": 33,
            "buildToolsVersion": "33.0.0"
          }
        }
      ]
    ]

You're right- this is due to a bump in the stripe-android dependency. The fix for your project is to edit your android/build.gradle file:
    ext {
        buildToolsVersion = "30.0.3"
        minSdkVersion = 21
-      compileSdkVersion = 30
-      targetSdkVersion = 30
+      compileSdkVersion = 31
+      targetSdkVersion = 31
        ndkVersion = "21.4.7075529"
    }

This change is required to support Android 12 APIs

"react-native": "0.70.6"

@charliecruzan-stripe here is my configuration and version
"react-native": "0.70.6"
build.gradle
ext {
       buildToolsVersion = "31.0.0"
       minSdkVersion = 21
       compileSdkVersion = 31
       targetSdkVersion = 31

       if (System.properties['os.arch'] == "aarch64") {
           // For M1 Users we need to use the NDK 24 which added support for aarch64
           ndkVersion = "24.0.8215888"
       } else {
           // Otherwise we default to the side-by-side NDK version from AGP.
           ndkVersion = "21.4.7075529"
       }
   }

No error saying to use compileSdkVersion 32. but compileSdkVersion  32 is not supported in the new react native (0.70.6)

Describe the bug
What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
31 issues were found when checking AAR metadata:
Expected behavior
The application was supposed to work before downloading the stripe, it was working
react-native info
"react": "17.0.2",
"react-native": "0.66.1",
"@stripe/stripe-react-native": "0.19.0",
build.gradle
ext {
buildToolsVersion = "31.0.0"
minSdkVersion = 21
compileSdkVersion = 33
targetSdkVersion = 31
if (System.properties['os.arch'] == "aarch64") {
// For M1 Users we need to use the NDK 24 which added support for aarch64
ndkVersion = "24.0.8215888"
} else {
// Otherwise we default to the side-by-side NDK version from AGP.
ndkVersion = "21.4.7075529"
}
googlePlayServicesAuthVersion = "19.2.0" // <--- use this version or newer
playServicesVersion = "17.0.0"
supportLibVersion = "28.0.0"
// kotlinVersion = "1.3.72"
}


See if we can use Kubernetes for Windows

Google cloud now supports Kubernetes for Windows:

https://cloud.google.com/blog/products/containers-kubernetes/run-windows-server-containers-on-gke
https://cloud.google.com/kubernetes-engine/docs/how-to/creating-a-cluster-windows

Check if we can move our windows agents to Kubernetes as well.

I can deploy create a Windows node pool, but this doesn't yet work:

pulling the Windows image from gcr.io fails, no usable error message given.
I can't access the local SSD. I could not find a documentation on how to format, mount and use those on Windows...


Add InstanceName parameter

Adds the ability to customise the Name tag on the EC2 instances spawned by the ASG, defaults to "buildkite-agent" for backwards compatibility.
Might want to add a MinLength/MaxLength to this, happy to do so based on preferences.

re: min and max length, i think we're fine to leave it as is and have that end of things enforced by EC2 - i'm sure that there are reasonable limits in place there. Given that the failure dynamics are largely the same - the cfn stack won't launch in either case - i don't think there's much point in enforcing it on our end 🤷
again though, keen to hear your thoughts on this :)

Yeah agreed on length we could remove those, was mostly trying to play it safe.  If we end up referencing StackName it's a moot point since it won't launch like you said

Thanks @fd-jonathanlinn! Somehow I didn't see your mention of my issue but I'm glad to see that I can do this now.
@moskyb could https://buildkite.com/docs/agent/v3/elastic-ci-aws/parameters be updated please?
I notice this option isn't mentioned in the docs.


2021-10-04 v. 0.7.2: updated dependencies

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 85.946%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
318

Relevant Lines:
370

💛  - Coveralls


WSL --update fails with unknown error code (0x80240066)

Version
Microsoft Windows [Version 10.0.22621.674]
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
Ubuntu 20.04
Other Software
No response
Repro Steps
wsl --update in powershell or opening the store for wsl and press install
Expected Behavior
wsl updates / install newest version
Actual Behavior
Installing: Windows Subsystem for Linux Error: 0x80240066==========90.0%=====================      ]
same error number reported by windows store
Diagnostic Logs
WslLogs-2022-10-19_13-36-09.zip

Thanks for reporting this @TheFehr. Looking at the logs it looks like an elevation issue. Does your user account have Administrator access ?

No but I get an authorization request, where I use administrator credentials.

the same issue here, already running PowerShell as administrator, then failed with this Error: 0x80240066 error.
BR//lo

If I use a administrator PoweShell I get this:
Installation: Windows-Subsystem für Linux
Eine angegebene Anmeldesitzung ist nicht vorhanden. Sie wurde gegebenenfalls bereits beendet.

just update we using "wsl --update --web-download" to update the wsl successfully without any issues.
C:\Users\{USER}>wsl --update
Checking for updates.
The most recent version of Windows Subsystem for Linux is already installed.

BR//lo

I tried that too, but it does not seem to update to the newest version for me.

Okay I did that from a administrator powershell. As this does not ask for elevated permissions when running in a non administrator shell.
It seems to have done something, but still does not seem to be up to date as wsl --version is not available.
And now I get a new error message when trying to run wsl --update from an administrator user shell:
Error code: Wsl/UpdatePackage/0x80070520
And a new one from normal user shell too:
The provided package is already installed, and reinstallation of the package was blocked. Check the AppXDeployment-Server event log for details.

I think had the same issue:
I tried to upgrade my very old WSL installation (10.0.XX, where wsl --version is not working) to the Windows Subsystem for Linux Preview from the Microsoft store (that has a version like 0.70.XX.X). But every time I tried to install, the error message 0x80240066 appeared. I even tried to install with the winget package installer, but the same error appears. Even if I call it from an elevated prompt.
winget command: winget install "Windows Subsystem for Linux Preview" --verbose-logs
So my next try was to install it manually by downloading a release from the releases github page of WSL (in my case release 0.70.4). At first I tried to install it by double clicking on the .msixbundle file. The App installer opened, but the installation did not work. Even when I called it with administrator rights.
After that I disabled the Windows Subsystem for Linux Windows feature. But that did not change anything.
So in the next attempt I tried to install the .msixbundle file with the Add-AppPackage powershell command in an elevated prompt:
Add-AppPackage .\Microsoft.WSL_<IP_ADDRESS>_x64_ARM64.msixbundle
That command also displayed a error message that said something like "A newer version is already installed". So I checked with the Get_AppxPackage command which version is installed and it outputs a version like 10.0.XX. So yeah, theoretically if you look on the numbers this version is newer as the <IP_ADDRESS> that we want to install 😆
Get-AppxPackage MicrosoftCorporationII.WindowsSubsystemForLinux
So i tried to remove the package with
Remove-AppxPackage -package MicrosoftCorporationII.WindowsSubsystemForLinux
And after that I reinstalled it with the Add-AppPackage command. That worked partly. As it only updates the version of the administrator user account. So if I tiped wsl --version in the admin prompt it displayed the version <IP_ADDRESS>, but if I type it in my own user account, it still used the old version, even after a reboot. After more googling I discovered the ps command Add-AppxProvisionedPackage that provides installing a package for all users:
Add-AppxProvisionedPackage -Online -PackagePath ".\Microsoft.WSL_<IP_ADDRESS>_x64_ARM64.msixbundle"
After a reboot I was finally able to call wsl --version from my user account! And even the Microsoft Store somehow realized the new installation, as it displays an "Open" button, instead of an "install" button on the Windows Subsystem for Linux Preview  App page.
So in short if someone has the same problem, you can try the following steps:

Disable the "Windows Subsystem for Linux" Feature in the Windows Features and reboot
Download the newest WSL release from https://github.com/microsoft/WSL/releases
Open a PowerShell prompt with administrator rights
You can check which version is installed with:
Get-AppxPackage MicrosoftCorporationII.WindowsSubsystemForLinux
Remove the old version:
Remove-AppxPackage -package MicrosoftCorporationII.WindowsSubsystemForLinux
Install the new version for the admin account (you need to modify the path to the .msixbundle file):
Add-AppPackage .\Microsoft.WSL_<IP_ADDRESS>_x64_ARM64.msixbundle
Add it to all users:
Add-AppxProvisionedPackage -Online -PackagePath ".\Microsoft.WSL_<IP_ADDRESS>_x64_ARM64.msixbundle"
Reboot
Check again if everything worked:
Get-AppxPackage MicrosoftCorporationII.WindowsSubsystemForLinux
Now if you type wsl --version it should display the new version

The output of Get-AppxPackage MicrosoftCorporationII.WindowsSubsystemForLinux should be something like

And the output from wsl --version:

I hope this helps someone and I did not forget any step, as I cannot reproduce the whole procedure with the new installed version again.

My current user is not a local administrator:

By opening a Powershell as admin, using the current local user (right click, run as admin):

wsl --update :  fail at 90% with error code 0x80240066
wsl --update --web-download: fail, explicitly complaining of missing elevated priviledges

By opening a Powershell as admin, using the current admin local user account (right click, run as admin, more option, pick local admin user account):

wsl --update --web-download : worked for me

My 2ct.

When I use wsl --update to v1.1.6, my docker desktop failed to start with this error code.
By installing the latest wsl release v1.2.5, issue solved!

wsl --update --web-download
This had solve the problem to me.
Evidences, sometimes --update doesn't even start,
Microsoft Store doesn't download wsl versions.
Various commands errors.
At least "wsl --update --web-download" solve my problem

commenting to make this issue possibly more visible
wsl --update --web-download
solved the same issue

I had the same issue as well... I tried (almost everything).
What worked for me was to follow this manual installation guide:
https://learn.microsoft.com/en-gb/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package
And specifically download the .msi package here in this link:
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
After this i still couldn't launch ubuntu, but that was just due to WSL not being enabled.
To Enable it Press Windows + R keys, type optionalfeatures and press Enter. Then navigate to the bottom where an option for WSL is most likely disabled.

I was having Updating wsl: update failed: wsl.exe --update --web-download not supported this issue while installing  Docker. Fixed it by running command promt as administrator and then running this command wsl --update. This will download and install the latest version. Just run your docker desktop it will be running fine :). Don't forget to run command promt as administrator other wise it will give this error The requested operation requires elevation. Happy journery :)

I'm facing the same issue and running as admin in powershell did not fix it.
PS C:\Users\piandro> wsl --version
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>-1
WSLg version: 1.0.59
MSRDC version: 1.2.4677
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22621.2861
PS C:\Users\piandro> wsl --update
Checking for updates.
Forbidden (403).
Error code: Wsl/UpdatePackage/0x80190193
PS C:\Users\piandro> wsl --update --web-download
Checking for updates.
Forbidden (403).
Error code: Wsl/UpdatePackage/0x80190193

After looking into the issue, it appears as though this has to do with powershell versions.
fails on 5.1
$PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.22621.2506
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.22621.2506
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

works on command prompt and such powershell 7.4
$PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.4.0
PSEdition                      Core
GitCommitId                    7.4.0
OS                             Microsoft Windows 10.0.22621
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Does the output change based on the powershell version ?
Also, are you using a proxy ?

yes, it succeeds and says everything is up to date.
I am behind a proxy
{code}
wsl --update --web-download
Checking for updates.
The most recent version of Windows Subsystem for Linux is already installed.
{code}

@androniychuk: Most likely you received an update through the store.
The previous error your were seeing was probably related to the proxy server blocking WSL's update URL.

@TheFehr: This issue should probably be fixed by WSL 2.1.0. Can you confirm if you're still seeing it ?

@androniychuk: Most likely you received an update through the store.
The previous error your were seeing was probably related to the proxy server blocking WSL's update URL.

I doubt, the updates were coming in and working before, and proxy is configure same across the whole system

@TheFehr: This issue should probably be fixed by WSL 2.1.0. Can you confirm if you're still seeing it ?

I can not remember what my final solution was.
I think I completely wiped WSL from my system and started anew as I needed it for work.
Running wsl --update does now properly ask for administrator privileges and performs an update, so this can be closed from my end.

This error may occur while connecting trough a VPN.
When running the command:
wsl --update
I received the error message:
Forbidden (403). Error code: Wsl/UpdatePackage/0x80190193
after disconnecting my VPN the update ran without problems.

在通过 VPN 连接时尝试更新 WSL 时，也可能（也）发生此错误。
运行命令时：我收到错误消息： wsl --update Forbidden (403). Error code: Wsl/UpdatePackage/0x80190193
断开我的 VPN 连接后，更新运行没有问题。

tanks,bro

I've had the most frustrating 2 weeks trying to fix this problem (and while travelling OS, too).
My laptop has Windows 10 Enterprise, and after installing KB5026037 WSL was slammed back to WSL1, and there were a heap of other problems, chiefly that I could not get the Windows Update application or App Store to recognise that there were any updates available - for any application.
The symptom was that both wsl --update and the Windows settings app would report "no updates available" and give a failure code of 0x8024002e.
I couldn't installed the WSL 2.1.5 msixbundle, or the wsl update MSI, because the packaging system reported that a newer version of the update was installed. But the linux kernel package was still stuck at <IP_ADDRESS> - 18 months old! (https://github.com/microsoft/WSL2-Linux-Kernel/releases/tag/linux-msft-wsl-<IP_ADDRESS>)
What I did to fix this was muck around in the registry. Firstly, I changed
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\DisableWindowsUpdateAccess

from 1 to 0
Then I removed the entire folder HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate\AU and ran (elevated)
net stop bits
net stop sysmain
net stop cryptsvc
net stop wuauserv

followed by

net start wuauserv
net start cryptsvc
net start sysmain
net start bits

After that I went back to the Windows Update -> Advanced Options  and selected "Receive updates for other Microsoft products when you update Windows", went back to the Windows Update panel and boom there were plenty of updates available - including the Feature Update to 10 v22H2 and 2023-10 Update KB2023057.
After installing all the updates (I think it was 5 reboots, too), I finally have WSL2 properly updated.
PS C:\Users\jmcpherson> wsl --version
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>-2
WSLg version: 1.0.60
MSRDC version: 1.2.5105
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.19045.4170

@TheFehr: This issue should probably be fixed by WSL 2.1.0. Can you confirm if you're still seeing it ?

I ran the wsl update command in a cmd window with normal privileges and in a cmd window running as administrator, respectively, and the following is the output:
C:\Users\Administrator> wsl --update
Checking for updates.
Forbidden (403).
Error code: Wsl/UpdatePackage/0x80190193

C:\Users\Administrator> wsl --update --web-download
Checking for updates.
Forbidden (403).
Error code: Wsl/UpdatePackage/0x80190193

C:\Users\Administrator> wsl --version
WSL version： <IP_ADDRESS>
Kernel version： <IP_ADDRESS>-2
WSLg version： 1.0.61
MSRDC version： 1.2.5326
Direct3D version： 1.611.1-81528511
DXCore version： 10.0.26091.1-240325-1447.ge-release
Windows version： 10.0.22631.4112

@TheFehr: This issue should probably be fixed by WSL 2.1.0. Can you confirm if you're still seeing it ?

I ran the wsl update command in a cmd window with normal privileges and in a cmd window running as administrator, respectively, and the following is the output:
C:\Users\Administrator> wsl --update
Checking for updates.
Forbidden (403).
Error code: Wsl/UpdatePackage/0x80190193
C:\Users\Administrator> wsl --update --web-download
Checking for updates.
Forbidden (403).
Error code: Wsl/UpdatePackage/0x80190193
C:\Users\Administrator> wsl --version
WSL version： <IP_ADDRESS>
Kernel version： <IP_ADDRESS>-2
WSLg version： 1.0.61
MSRDC version： 1.2.5326
Direct3D version： 1.611.1-81528511
DXCore version： 10.0.26091.1-240325-1447.ge-release
Windows version： 10.0.22631.4112

I was getting same error with exactly same WSL & Kernel versions.
What worked for me was first uninstalling WSL (wsl --uninstall) and then reinstalling/updating it (wsl --update). Seems to not have destroyed any data in the distros themselves.

@TheFehr: This issue should probably be fixed by WSL 2.1.0. Can you confirm if you're still seeing it ?

I ran the wsl update command in a cmd window with normal privileges and in a cmd window running as administrator, respectively, and the following is the output:
C:\Users\Administrator> wsl --update
Checking for updates.
Forbidden (403).
Error code: Wsl/UpdatePackage/0x80190193
C:\Users\Administrator> wsl --update --web-download
Checking for updates.
Forbidden (403).
Error code: Wsl/UpdatePackage/0x80190193
C:\Users\Administrator> wsl --version
WSL version： <IP_ADDRESS>
Kernel version： <IP_ADDRESS>-2
WSLg version： 1.0.61
MSRDC version： 1.2.5326
Direct3D version： 1.611.1-81528511
DXCore version： 10.0.26091.1-240325-1447.ge-release
Windows version： 10.0.22631.4112

I was getting same error with exactly same WSL & Kernel versions. What worked for me was first uninstalling WSL (wsl --uninstall) and then reinstalling/updating it (wsl --update). Seems to not have destroyed any data in the distros themselves.

I got this same issue with "Error code: Wsl/UpdatePackage/0x80190193"
Even with admin command prompt


Classweighting of SegNet?

If I use the SenNet, do I need to compute the classweighting mentioned in the paper?

Hello, are you solved problem ? Can you share your config file?

model:     arch: segnet data:     dataset: camvid     train_split: train     val_split: val     img_rows: 360     img_cols: 480     path: /your/path/pytorch-semseg-master/data/CamVid/ training:     train_iters: 150000     batch_size: 8     val_interval: 100     n_workers: 16     print_interval: 50     optimizer:         name: 'sgd'         lr: 1.0e-10         weight_decay: 0.0005         momentum: 0.99     loss:         name: 'cross_entropy'         size_average: False     lr_schedule:     resume: segnet_camvid_model.pkl
I didn't found where to compute the classweighting in this code, so directly run the program with the config file above. The result on CamVid is about 0.58(mIOU), which is close to the experimental result in the proposed  SegNet paper.

OK，thank you very much,I am try it!


A space only is validating the field on keydown

I am not sure if should go under Question or enhancement suggestion.
My issue is if the user enter only a space on the field it shows as valid field until the the submittion of the form.
Is there any parameter on this plugin that do not mark the field as valid if only spaces are entered?
Thanks,

I got a work around for the moment.
I am checking if is the first character is a space, than I reset the value to nothing.
$('form[data-toggle="validator"]').on('validate.bs.validator', function(e){
var checkVal = $(e.relatedTarget).val();
if((checkVal.length = 1) && (checkVal == ' ')){
$(e.relatedTarget).val('');
}
});
Will be great if this can be set on the plugin like:
custom: {
whiteSpaceOnly: false
}

Technically, the browser's HTML5 Constraints API considers " " to be valid input.
The plugin uses $.trim to make sure required input values are something more than just whitespace. As a result, there's a mismatch between what the Constraints API and this plugin considers valid.
I either need to stop trimming and mirror the Constraints API or special case the required validator and also call $.trim there. Currently I'm leaning towards mirroring which would mean the submit button wouldn't be disabled if required inputs are just filled in with spaces.
I'll need to think about this.

suggestion
data-permit-whitepace="false"
default value = "true"    (allow changing the default form/validator instance wide)
(I've never created a required input where whitespace would be considered valid)

I just ran in to this issue -- I found it surprising. I wanted to print "please don't use spaces" to my user if their password contained whitespace. So I tested with "foobar   ". My custom verification message of course did not fire.
Also, "foobar   " was in my PW field and "foobar" was in my confirm field, and the UI showed a match.

Any solution to this issue yet!? I also need to check if the user is just putting spaces in the fields! Can we use a specific pattern to solve this?

@georgesunil81 I got around it by hacking the code in my local install:
  function getValue($el) {
     return $el.is('[type="checkbox"]') ? $el.prop('checked')                                     :
            $el.is('[type="radio"]')    ? !!$('[name="' + $el.attr('name') + '"]:checked').length :
            // HACK this used to be trimmed with $.trim()
                                          $el.val()
   }

Thanks @moribellamy for the hint. I have also used a similar construct for now to handle spaces.

Thanks @paulobranco  and @moribellamy  for your hint.
But in case of dynamic form and clearing validations manually I used to call the destroy function of the validator.
@paulobranco  the way you suggested is not working once I destroy the validator and reinitialized the same.Why is it so?


Use https instead of http for Maven repository

Aurelien fixed this with this commit (10/4/2019)
https://github.com/apupier/atlasmap/commit/5e0797939731d15af87b9a7cd6b094dc4667a95c


React Implementation Help

Hi there! I used Intuit's demo app and was able to get the code flow to work smoothly in their demo app.  I am now trying to use this library with my React app.  My first issue is with CORS errors because the request is initiated on the client and not node.  Have tried several solutions and nothing is solving that problem.  The other issue is how to properly trigger the popup for the login screen.  This works in the demo app but I have not been able to come up with a good solution.  When I did create a pop-up and log in.  There is just a log-in error from intuit on the DOM with no description of what went wrong. I would love some help!  Thanks!

It may be related with redirectUri you used for creating url doesn't match with the one you should add from dashboard.


Add Async support

Currently, we are not able to load CKEditor at the bottom of the page but only in the head (jQuery adapter or vanilla javascript). We should allow to load each form in a async way...
This issue is a follow up of #202

@JHGitty Since you are the one who reported it, how would you like to see it working?

Perhabs something like the form_javascript used within the GenemuFormBundle and the DatetimepickerBundle might be helpfull?

@UFOMelkor Thanks for the idea, I have updated the original description to give a better overview of the current state. I like the idea of a ckeditor_javascript tag but plenty of questions come to my mind such as:

what about if there are multiple forms in the same page?
Do we rely on a global state in order to know if the library has already been loaded and no need to reload it?
How do we deal with form collection/prototype?

Nevermind, I think I got your idea, do you suggest to always make it async by moving all the javascript stuff in the ckeditor_javascript twig function? If yes, one question remind to my mind:

What about if there are multiple forms in the same page? Do we allow to pass an array of forms to this new function?


How to check if a checkbox is checked or not

I tried required but its not working
https://jsfiddle.net/Frizi/b5v4faqf/

validations: {
  	checkbox: {
    	required (val) {
      	return val
      }
    }
  }


Update environment.yml

Pull Request
Description
Add matplotlib to environment dependencies.
This pull request addresses #134
Checklist
The following items have been checked for this PR:

[x] Conforms to PEP8 style standards (check with pylint, flake8, or similar)
[x] Code is documented with docstrings, or docstrings have been updated as appropriate
[x] New unit test/integration test have been added to check new code
[x] All existing tests still pass

@arichar6 I think this is ok. I think of the conda environment as the "developer" environment that has any dependencies required to run tests or examples.

I don't want more dependencies in the turboPy core repo. I agree that it's a "dev" thing, but I'd like to keep the tests here restricted to really testing stuff that's in turboPy's wheelhouse. Plotting stuff should be in the (separate) repos where the example apps are.

Ah, ok, that makes sense. I was thinking you would migrate examples to the core turbopy repo, but your approach is much better.


HAWQ-1457. Shared memory for SegmentStatus and MetadataCache should n…

…ot be allocated on segments.

LGTM

LGTM +1

Merged. Closing.


Delete multiple recipient from a list

How can I delete multiple recipients from a list In PHP?
Issue Summary
A summary of the issue and the environment in which it occurs. If suitable, include the steps required to reproduce the bug. Please feel free to include screenshots, screencasts, code examples.
Steps to Reproduce

This is the first step
This is the second step
Further steps, etc.

Any other information you want to share that is relevant to the issue being reported. Especially, why do you consider this to be a bug? What do you expect to happen instead?
Technical details:

sendgrid-php Version: master (latest commit: [commit number])
PHP Version: 5.6, 7.0, 7.1, 7.2 (as of May 17, 2018)

Hello @iamanupammaity,
I think this is the relevant documentation.
With Best Regards,
Elmer

Thanks for the reply. However, my requirement is different. This code deletes the email id from all list and main list (All Contacts). I just want to remove multiple users from a specific list not the other lists,
For example, there are 4 lists. list 1, list 2, list 3 and list 4.
Now, I want to delete<EMAIL_ADDRESS>and<EMAIL_ADDRESS>Consider these two email id is present in three lists - list 1, list 2 and list 3.
I now want to remove these two email id only from list 2 (not from list 1 and list 3).
Kindly suggest how to do?
Thanks for your help.

@iamanupammaity Removing multiple recipients from a list in a single API call is available in SendGrid's API but it's not documented. I brought this up to @thinkingserious's and @ksigler7's attention several months ago and I was told the documentation would be corrected. However I don't see that it was updated.

Yes, it seems it is unavailable.
However, I have another query. Can I empty a list by API?

Hello @iamanupammaity,
No, you can not empty a list by API directly in one call. Maybe deleting and recreating the list might be what you need?


Fire place ambience

About the PR

Adds an ambience sound for fireplaces.
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

https://github.com/space-wizards/space-station-14/assets/9276637/fa473eb0-ed33-4bba-b55a-b981a247fb9e

Cozy PR


Split Microsoft.Owin.Security.Cookies.Interop into 2 packages

Fixes https://github.com/aspnet/Security/issues/611.
Note: making the new Microsoft.Owin.Security.Cookies.Interop a sources package was not possible, as they are not supported by .csproj projects (using a project.json-compatible-only thing would defeat the whole purpose of an interop package).
/cc @Eilon @Tratcher

Hi @PinpointTownes, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

This reduces the Microsoft.Owin.Security.Cookies.Interop package to a single extension method: UseCookieAuthentication. At that point we should just move it to a sample. @HaoK, @muratg, @Eilon?

I'm fine with removing the cookie dependency for now, I'm still working through the full migration end to end anyways, we can nuke the extension and the old package for now, and I'll just add the extension when I get the full migration checked in.  The only thing that depends on this is an identity interop sample which isn't part of the build so we should be safe nuking the extension for now...

I'm fine removing Microsoft.Owin.Security.Cookies.Interop if you think it's not useful enough.

Yeah you can go ahead and delete it with this PR, and I'll add it back in some form in the future

I removed Microsoft.Owin.Security.Cookies.Interop and Microsoft.Owin.Security.Cookies.Interop.Test but I kept the cookies interop tests (now part of Microsoft.Owin.Security.Interop.Test).

:shipit: with the usual squash&rebase cleanup

Rebased and merged.


Use .tour property for reporting tournament wins consistently

? What's wrong with the current approach?

https://github.com/Zarel/Pokemon-Showdown/blob/5f6af9049f2ec997031783c42c31ae85ed7a32b9/server/rooms.js#L1365-L1370
rooms.js does it differently and it annoys me
It also lets you keep the room as a subroom, so roomstaff can still moderate and the like (which I forgot to implement).

Though on second thoughts I think I'd prefer to do this the other way, and also it's probably a bit less important than I was thinking before.

Though on second thoughts I think I'd prefer to do this the other way, and also it's probably a bit less important than I was thinking before.

I understand from your words that you'd rather we standardize on using .parent. And I couldn't agree more to that.


Error [ERR_REQUIRE_ESM]: require() of ES Module not supported.

node-fetch v3 can't use require(), can downgrade to v2.6.7

I just released an update which removes commonjs support: https://github.com/transitive-bullshit/chatgpt-api/releases/tag/v1.1.0
I was against this idea in https://github.com/transitive-bullshit/chatgpt-api/pull/8, and I'm not surprised it ended up causing problems.
@GoneTone please let me know if v1.1.0 solves your issues. You won't be able to require('chatgpt'). Instead, you need to follow the readme and use import { ChatGPTAPI } from 'chatgpt'

I'm using it in my Discord bot, project using require()...

Hey @transitive-bullshit, great work with this package as well as all your work with React Notion.
I just upgraded to 1.1.0 and am still seeing this issue. My import is in the suggested format as well:
import { ChatGPTAPI } from 'chatgpt';

Lmk if I can provide more information. Although, I do think the easiest option is probably to go with v2 of node-fetch to widen support for this package.

Ahhh my bad. Just downgraded to v2 https://github.com/transitive-bullshit/chatgpt-api/releases/tag/v1.1.1

@GoneTone can you try https://github.com/transitive-bullshit/chatgpt-api/releases/tag/v1.1.2? I just re-added commonjs support along with having the downgraded node-fetch v2.

@GoneTone can you try https://github.com/transitive-bullshit/chatgpt-api/releases/tag/v1.1.2? I just re-added commonjs support along with having the downgraded node-fetch v2.

it's not working

@14kk can you please give me a more detailed error you're seeing and/or code to reproduce the error?

remark
Error [ERR_REQUIRE_ESM]: require() of ES Module E:\...\node_modules\remark\index.js from E:\...\node_modules\chatgpt\build\index.js not supported.

encounter the same problem.
"chatgpt": "^1.1.2",
"node-fetch": "^2.6.7",

Okay; for now, I'm going to disable commonjs support because it is not working via https://github.com/transitive-bullshit/chatgpt-api/releases/tag/v1.1.3
If you are currently using require('chatgpt'), you'll need to upgrade to the latest 1.1.3 and follow this guide in order to use the ESM version: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
I'm sorry if this is an inconvenience for you, but it was my original intention to only support ESM as many other packages in the NPM ecosystem are increasingly doing.
If you are still having an issue using 1.1.3 or later and are using the ESM version via import { ChatGPTAPI } from 'chatgpt', please let me know with as much detail as possible — including a link to your code so I can try to reproduce any issues. I'm using the ESM version in https://github.com/transitive-bullshit/chatgpt-twitter-bot and have verified that the version on NPM is working as expected.

@FarazPatankar your code is being transpiled / loaded as commonjs.

@transitive-bullshit I successfully modified chatgpt-api to support cjs, wait I will open a pull request!

@transitive-bullshit I successfully modified chatgpt-api to support cjs, wait I will open a pull request!

can't wait for it

@transitive-bullshit I successfully modified chatgpt-api to support cjs, wait I will open a pull request!

can't wait for it

+1

https://github.com/transitive-bullshit/chatgpt-api/pull/12

Please use v1.3.0 which includes support for CommonJS via #19.
Thanks @GoneTone 🙏
If you run into an issue with v1.3.0 and commonjs, please open a separate issue to discuss and provide as many details about your environment as possible — including a minimal reproduction if possible.

I use chatgpt-api  package in my project which is based on typescript. When I'm going to run my code with ts-node index.ts, the error encountered:
Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/tanknee/Documents/LocalCodeRepo/chatgpt-padlocal/node_modules/chatgpt/build/index.js from /Users/tanknee/Documents/LocalCodeRepo/chatgpt-padlocal/chatgpt.ts not supported.
Instead change the require of index.js in /Users/tanknee/Documents/LocalCodeRepo/chatgpt-padlocal/chatgpt.ts to a dynamic import() which is available in all CommonJS modules.

My code used ESM like
import { ChatGPTAPI, ChatGPTConversation } from 'chatgpt';
import { SESSION_TOKEN } from './configs';
import log4js from './logger';

it is like ES module dictatorship.
is it possible to use it with regular require?

I was able to fix this in typescript(express js) by installing tsx in devDependencies and changing my scripts to
"scripts": {
"dev": "tsx watch src/index.ts",
"build": "tsc",
"start": "tsx dist/index.js"
}
and installing node >= 18

I have this problem to this day, how do I solve it?
[1] Instead change the require of index.js in ... to a dynamic import() which is available in all CommonJS modules.```


fix: escape braces in regex

Please tag a new release. The latest release don't built anymore without the fix.
Also please don't checkin built artifacts.


Some confusion about

Thank you for sharing the code. Would you mind answering my questions?

Why do you limit the maximum number of edges per vertex to 256 in training, but use all the edges in reasoning?
What are the tools used for the visualization in the paper, open3D？
In the configs directory, the name of the  configuration file ,what are the meanings of ‘auto’ , ‘fixed’ ,  ‘T0’ and ‘T1’ ?

Thanks in advance.

Hi @cwhYee, Thank you for your interest.

We set the maximum number of edges for training to mainly save GPU memory and also speed up the training.
Yes, we use open3D for visualization.
For the naming: https://github.com/WeijingShi/Point-GNN/issues/2#issuecomment-599252221

Hope it helps.

@WeijingShi Thank you so much!

Hello @WeijingShi ,I have another question, Would you mind answering for me?
In training of car,  4 classes are predicted, why only one class has a high mAP?
The same result in the training of pedestrain and cyclist.
Can you help me analyze? Thanks in advance.

Hi @cwhYee,
These intermediate printouts are point-level results. i.e. classification of points that belongs to different categories.
class_idx 0 is the background class, class_idx 1 and 2 are the front view and side view cars, class idx 3 is the other objects.
The background class has way more points than other classes. That's why it gets good numbers.
Meanwhile, the network also regresses a bounding box for each point that belongs to a valid category (in this case, cars).
Thanks,

@WeijingShi
Thanks for your patient answer!

Hello @WeijingShi, sorry to bother you again. I tried to modify the model and use the attention mechanism, as a beginner , I have some confusion.

In training, as is shown in the picture, I found the utilization of the GPU is fluctuating. I don't know why. How should I analyze.

Normally, after data being loaded into the GPU should reach maximum utilization and remain roughly the same.

Why don't you use only one model to detect car, pedestrian and cyclists? i.e. use 8 different categories: background class, front view and side view cars/pedestrian/cyc, other objects. If possible, how to implement it？

Thank you  for your great job. Best wishes!

Hi @cwhYee

Not quite sure about the low utilization. More careful inspection is needed to find the bottleneck. If the bottleneck is on the CPU side, increasing the CPU preprocessing thread may help. In train_config, num_load_dataset_workers controls the number of parallel processes to load the data. You might also put the data file in your SSD in case that data reading is the limit.

You can do that by adding more classes to the classification/regress head. The following is an example of putting them together:
https://github.com/WeijingShi/Point-GNN/blob/48f3d79d5b101d3a4b8439ba74c92fcad4f7cab0/train.py#L108
https://github.com/WeijingShi/Point-GNN/blob/48f3d79d5b101d3a4b8439ba74c92fcad4f7cab0/dataset/kitti_dataset.py#L1132
However, the car and pedestrians have quite different dimensions (which need different radius when creating a single scale graph) and their sample numbers are very imbalanced in KITTI too. So we trained separated models to make the experiment cleaner. For an unified model, most likely we would need to create a UNet or FPN type graph structure to handle multiple dimensions better.

Hope it helps,
Weijing

Thank you so much! Though this may be a challenge for me, I will have a try.
Best wishes!

Hi @curiousboy20,
Thanks for checking out this work.
For pedestrian-cycle,
id 0: Background
id 1:  front view Pedestrian
id 2:  side view Pedestrian
id 3:  front view Cyclist
id 4:  side view Cyclist
id 5:  others
mAP=1 on id=0 and mAP=0 for others means either 1. the dataset contains overwhelmingly more background points than object points, and it causes imbalance issues for the network classification. Some balance methods such as adding more weights to object points might help. 2. some of the samples do not have objects points at all. If mAP is computed just in those samples, it is zero by default.
Hope it helps,
Weijing


Type handling and related exceptions

YAXLib

Added YAXEnumAliasException
YAXLibException is now an abstract base class in favor of more specific exceptions
Replaced usage of YAXLibException with YAXObjectTypeMismatch in MemberWrapperand UdtWrapper
Fix for EnumWrapper: Did not detect adding duplicate aliases for Enums. Now throws YAXEnumAliasException instead of YAXLibException when this happens.

Unit Tests

TargetFramework net6.0
Update to latest dependencies

Custom Serializer

Added test for cases where interface implementation is missing (should throw)

Known Types

Added missing test for known type Type (TypeKnownType)
Added missing test for duplicate Enum aliases: should throw
Added missing tests for TimeSpan serialization

DemoApplication

TargetFramework net6.0

Removed unused files

packages/repositories.config
YAXLib.csproj.Dotsettings

Codecov Report

Merging #172 (87097ce) into master (9db6052) will increase coverage by 0%.
The diff coverage is 70%.

@@          Coverage Diff          @@
##           master   #172   +/-   ##
=====================================
  Coverage      80%    80%
=====================================
  Files          62     63    +1
  Lines        3772   3766    -6
  Branches      726    726
=====================================
+ Hits         3010   3017    +7
+ Misses        555    545   -10
+ Partials      207    204    -3

Impacted Files
Coverage Δ

YAXLib/Exceptions/YAXException.cs
100% <ø> (ø)

YAXLib/Exceptions/YAXObjectTypeMismatch.cs
100% <ø> (ø)

YAXLib/KnownTypes/TypeKnownType.cs
43% <0%> (+43%)
:arrow_up:

YAXLib/MemberWrapper.cs
81% <0%> (+<1%)
:arrow_up:

YAXLib/Exceptions/YAXEnumAliasException.cs
50% <50%> (ø)

YAXLib/EnumWrapper.cs
89% <83%> (+4%)
:arrow_up:

YAXLib/UdtWrapper.cs
84% <88%> (+<1%)
:arrow_up:

YAXLib/KnownTypes/KnownTypes.cs
92% <100%> (-<1%)
:arrow_down:

YAXLib/KnownTypes/TimeSpanKnownType.cs
100% <100%> (+40%)
:arrow_up:

YAXLib/YAXSerializer.cs
76% <0%> (+<1%)
:arrow_up:

... and 2 more

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 9db6052...87097ce. Read the comment docs.

I dont think I have time to review this before 11 April. Feel free to remind me after that date.

I dont think I have time to review this before 11 April. Feel free to remind me after that date.

... and I'll be OOO till 28th


Fix missing dependencies in setup.py

setup.py dependencies don't have "natsort" and "distro", which will break pipx (and possibly pip) installation.

Thanks!


Autocomplete not showing when editing custom dataset filter condition

Issue Name
Autocomplete not showing when editing custom dataset filter condition.
Summary
When filtering datasets by scientific metadata, there was autocompletion when entering the "Field" (left-hand side of condition). This autocompletion stopped working.
Steps to Reproduce

Configure the frontend with "scienceSearchEnabled": true
Go to the Dataset dashboard
Click "More Filters"
Click "Add Conditions"
Put cursor in the first text box "Field"

Current Behaviour
No autocompletion is shown.
Expected Behaviour
Autocomplete is shown like this:

Extra Details
A request to http://<IP_ADDRESS>:3000/api/v3/Datasets/metadataKeys is sent when initializing the dashboard, but the response is empty.

Sorry, I see this is already fixed in the newest version.


Setup.py improved

This pull request has improved the setup.py file.
What's new
Mainly everything from #4 has been added but here's all of it in short.

[x] Setup
[x] Tutorial
[x] Setup & Tutorial(Both)

Summary
Every feature explained from now on.
Tutorial: This feature is for people who don't know much about Discord bots, or the devoloper mode to be honest. It will tell them how to get certain information on everything that is needed in the setup. Once it's ended it will ask the user if they want to go back to main area(the input that comes when you open up the script).
Setup: This is the old setup that was there before this pull request, nothing has been changed.
Setup & Tutorial(Both): This feature combines the setup with the tutorial, after every question(e.g. Please enter your bot token) there is information on how to get that thing. Such as how to get the token, admin role etc.
Thanks!
Resolves #4

Please don't merge this right away, have a look into it and try it out if you want. It's not going to hurt anybody.

OMG its soo good. Btw how can I try it out?

Download the whole code or download the setup.py file itself, run it to test it out!

Can I run it on vsc?

Yeah you can, run the command python3 setup.py and it should work.


2024.1 Release

@powderflask  -- any other comments before I make a release to PyPI?

looks good.  thanks David for the prompt attention.  first class O/S experience :-)

https://pypi.org/project/crispy-bootstrap3/2024.1/
Here we go. 😀


[Relay][FrontEnd][MxNet] incorrect data_min_idx and data_max_idx in _qnn_conv

In the lines 1409-1413 of file python/tvm/relay/frontend/mxnet.py, are there typos when has_sum is False?

        data_min_idx = -1
        data_max_idx = -2
        if has_sum:
            data_min_idx = -4
            data_max_idx = -3

Should data_min_idx be -2 and data_max_idx be -1 according to lines 467-474 of https://github.com/apache/incubator-mxnet/blob/master/src/operator/subgraph/mkldnn/mkldnn_conv.cc

if (param.full_conv_param.mkldnn_param.quantized) {
input_names.emplace_back("data_min");
input_names.emplace_back("data_max");
if (param.full_conv_param.mkldnn_param.with_sum) {
input_names.emplace_back("sum_min");
input_names.emplace_back("sum_max");
}
}

cc @kevinthesun @zhiics  can you help check on this ?

yeah, it looks flipped to me as well. @shoubhik can you confirm? Thanks.

taking a look at it.

Thanks for finding the bug @GuoliangLiCN
Yeah, it is flipped. The bug hid because the scale and zero point remained same even if the data_min and data_max were flipped.

yes, it does needs a flipping. the test case passes because the scale value remains the same. I'll send a PR a little later.

What is the state of this issue? @anijain2305 @shoubhik

sorry got swamped. I will definitely send a fix on Monday.

#4831


⚠ ClamAV has degraded performance

In 27d5146, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 476 ms

Resolved: ClamAV performance has improved in c8a8983.


Release 1.9.5 triggers CoinbaseWallet even if it's not configured in web3Modal

web3Modal configuration does not includes walletLink for CoinbaseWallet, however IF a user has Coinbase wallet when they click "Metamask" in the Web3Modal the coinbase wallet pops up IN ADDITION to Metamask wallet:
const initModal = new Web3Modal({
  // network: "mainnet", // optional
  cacheProvider: true, // optional
  providerOptions: {
    walletconnect: {
      package: WalletConnectProvider,
      options: {
        rpc: {
          1: NETWORKS[1].uri(),
          4: NETWORKS[4].uri(),
          42161: NETWORKS[42161].uri(),
          421611: NETWORKS[421611].uri(),
          43113: NETWORKS[43113].uri(),
          43114: NETWORKS[43114].uri(),
        },
      },
    },
  },
});

With stable version 2.0.0 of Web3Modal now released, we are officially dropping support for version 1.x
Due to this this issue/pr was marked for closing. It is highly recommended to upgrade as 2.x will be receiving further updates that will enable functionality for some of our newer sdks like auth and push as well as support for WalletConnect v2 (See this post about WalletConnect v1 being deprecated https://medium.com/walletconnect/walletconnect-v1-0-sunset-notice-and-migration-schedule-8af9d3720d2e)
If you need to continue using Web3Modal 1.x and require this feature/fix implemented, we suggest adding it via forking V1 branch.


Cameron Browne can't receive the Activation Code from your forum.

https://ludii.games/forums/newreply.php?tid=407&replyto=1862
I'm using  (Resend Activation Code) https://ludii.games/forums/member.php?action=resendactivation
my user name is same as github.
I'll trying to orgnazing my students to join the competation this year.

Hi,
I've just activated your account on the Ludii forum, sometimes the activation code email gets marked as spam by some email providers...
Its great to hear that you are interested in participating in our competition!

weldone. :D


Unable to apply two detected libraries

You cannot use the automatic library detection to apply two libraries. For example, with https://github.com/sumneko/lua-language-server/pull/1556, you would want to apply both busted and luassert, while still having them be separate.
This is due to "Lua.workspace.checkThirdParty" being set to false in the workspace's settings when a library is applied automatically. After this is set, the server no longer tries to apply libraries. This should instead save an array of paths to (or names of) the libraries that have been applied or explicitly ignored. This would allow multiple libraries to be applied automatically.

I thought of a solution for this use case… because Busted is dependent on luassert, I added the following to Busted's config.lua:
https://github.com/sumneko/lua-language-server/blob/d8b2c479a8ac1b227ed32ba74c62cca22e4896ef/meta/3rd/busted/config.lua#L6-L12
Now when Busted is applied, it will automatically apply luassert as well 🙂.
I still think the original issue needs addressing though. For example, what if I want to use OpenResty with Busted - but not always?

Ah! This is an issue I've wanted to raise for a long while but haven't gotten around to :upside_down_face:
I ran into this early on with the language server. With neovim my lua-language-server configuration is dynamically generated at startup, allowing me to customize the configuration on a per-machine, per-workspace basis. In practice, I always know which projects use which libraries, so most of it boils down to "this workspace uses OpenResty+Penlight+lfs" or "this workspace uses neovim+luv+etc."
Making 3rd party library detection feature support multiple libraries for a single workspace would be a win for the vscode users while also allowing me to delete a lot of the over-engineered cruft from my neovim confs :)

That was fast, thanks! ❤🚀


Segmentation Fault when using AddressSanitizer with address_space_limit_mb

Segmentation Fault
Centipede runs into the following segmentation fault after a check failure:
centipede.cc:543] Batch execution failed; exit code: 1
Log of batch follows: [[[==================
Centipede fuzz target runner; argv[0]: /path/to/target/scarecrow.address flags: :timeout_in_seconds=1200::address_space_limit_mb=8192::rss_limit_mb=4096::crossover_level=50::shmem:arg1=/centipede-shm1-1824572-139817135887936:arg2=/centipede-shm2-1824572-139817135887936:failure_description_path=/tmp/centipede-1824572-139817135887936/failure_description:
timeout_in_seconds: 1200 rss_limit_mb: 4096
=================================================================
mmap failed: Cannot allocate memory
ERROR: Failed to mmap
==================]]]
centipede.cc:552] ReportCrash[0]: the crash occurred when running  /path/to/target/scarecrow.address on 1000 inputs
centipede.cc:594] ReportCrash[0]: executing inputs one-by-one, trying to find the reproducer
centipede_callbacks.cc:143] Check failed: !!(batch_result.Read(outputs_blobseq_))!=false [[1]    1824572 segmentation fault  $CENTIPEDE/bazel-bin/centipede --workdir= /path/to/target/workdir --corpus_dir= /path/to/target/corpus

Reproduce
The SegFault can be reproduced with Scarecrow, a minimum target with a planted memory leak that can be captured by the Address Sanitizer.
The sanitized and unsanitized targets are respectively built by:
# Build target with ASAN
clang++ -fsanitize-coverage=trace-loads -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fno-builtin -fsanitize-coverage=trace-pc-guard,pc-table,trace-cmp -O2 -gline-tables-only  -ldl -lrt -lpthread -std=c++11 -Ilib/ -fsanitize=address scarecrow.cc  -o scarecrow.address  $CENTIPEDE/bazel-bin/libcentipede_runner.pic.a
# Build target without ASAN
clang++ -fsanitize-coverage=trace-loads -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fno-builtin -fsanitize-coverage=trace-pc-guard,pc-table,trace-cmp -O2 -gline-tables-only  -ldl -lrt -lpthread -std=c++11 -Ilib/ scarecrow.cc  -o scarecrow  $CENTIPEDE/bazel-bin/libcentipede_runner.pic.a

Then the SegFault can be reproduced by:
mkdir -p workdir corpus
$CENTIPEDE/bazel-bin/centipede --workdir=$PWD/workdir --corpus_dir=$PWD/corpus --fork_server=1 --exit_on_crash=0 --timeout=1200 --rss_limit_mb=4096 --address_space_limit_mb=8192 --binary=$PWD/scarecrow --extra_binaries=$PWD/scarecrow.address

While the following two commands are free from the SegFault and work fine:
# Disable address_space_limit
$CENTIPEDE/bazel-bin/centipede --workdir=$PWD/workdir --corpus_dir=$PWD/corpus --fork_server=1 --exit_on_crash=0 --timeout=1200 --rss_limit_mb=4096 --address_space_limit_mb=0 --binary=$PWD/scarecrow --extra_binaries=$PWD/scarecrow.address
# No sanitized binary
$CENTIPEDE/bazel-bin/centipede --workdir=$PWD/workdir --corpus_dir=$PWD/corpus --fork_server=1 --exit_on_crash=0 --timeout=1200 --rss_limit_mb=4096 --address_space_limit_mb=8192 --binary=$PWD/scarecrow

My Guess
Empty corpus file.
The check failure and SegFault happened on the following line:
CHECK(batch_result.Read(outputs_blobseq_));

which points to the batch_result (which I reckon is the result?).
File corpus.0 and directory corpus/ are both empty when the SegFault happens; They were not empty in the other cases above.
Maybe the testcase was not successfully saved into corpus.0 and corpus/?
Please let me know if you could reproduce the SegFault or if more information is required, thanks!

Thanks for the report. We'll investigate.

My guess, w/o actually checking yet...
In runner.cc, inside SetLimits() we have  if constexpr (kCanUseRlimitAs) { ...
kCanUseRlimitAs is supposed to be false when building with ASAN,
but it is computed via #ifndef ADDRESS_SANITIZER, which is not what ASAN sets by default
(in google-internal environment it does, for historical reasons).

Thanks!
I guess I can verify this theory later today by manually setting ADDRESS_SANITIZER to true and re-run : )

In the OSS version, we build the centipede runner with the default bazel flags and then link this run-time against the target, asan or not. I.e. the runner will be the same, it will have ADDRESS_SANITIZER=0.
So, I guess a better solution is to check for asan/tsan/msan at run-time as opposed to at-compile time. On it.

This one can be fixed relatively easy, by checking for ASAN/TSAN/MSAN in the runner at run-time, as opposed to at compile time. #203 sent
I just realized we have a similar problem with the interceptors, which should be present in the non-asan build, and should not be present in the ASAN build. See https://github.com/google/centipede/blob/main/runner_interceptors.cc
The solution we use internally is to build the centipede runner with the correct sanitizer.
Not sure it easily apples to the OSS world

Thanks : )
I will test the new code today and keep everyone updated!

Just tested the latest code with a (short) experiment: It appears that the bug has been fixed : )
I will close this issue and update Centipede in OSS-Fuzz.
Thanks again!


Add link checker

Description
Following up on #205, this PR adds the Lychee link checking action we use on our team. I also went through and fixed all the lychee issues for the repo.
The issues links were false alarms since they did work correctly in the GitHub UI, but I still think refactoring makes it more portable, and adding exemptions to the checker for this would probably be more effort than it's worth.
The playground link being tricky is known, it gives a "too many redirects" error even after increasing the number of redirects. We ended up ignoring it in our repo as well, since this behavior happens even for dedicated redirect trackers like deref. It's possible this behavior is due to some sort of bot protection.
> curl -d"url=https://playground.opensearch.org" https://deref.link/deref
{"error":"Too Many Redirects"}

Issues Resolved
N/A
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.

since this behavior happens even for dedicated redirect trackers like deref

I found one that works and says it's 3 redirects, but Lychee is still failing with the error even after setting --max-redirects=15. Not sure what's up there.


Prepare Llvm 15 update

already pass types explicitly where we have to with llvm 15. This is actually convenient because we can still use get_element_type() to assert that the type is correct.

Benchmark failure seems like a fluke, there is no change in generated code here?

yes, it's purely cosmetic