Fatal error. Internal CLR error. (0x80131506) when read data

  while (controller.isConnected)
        {
            try
            {
                var data = controller.HidDevice.Read(32);
                Thread.Sleep(1);
            }
            catch (HidException)
            {
                controller.isConnected = false;
            }
        }

after long time running, Internal CLR error. occurred.

Fatal error. Internal CLR error. (0x80131506)
at HidApi.Device.Read(Int32)
at ControllerSDK.hardware.HidManager._readDataFromDevice(System.Object)
at System.Threading.Thread.StartCallback()

.net version: 8.0.101 and 6.0.321 BOTH Tried

Hey,
Which operating system are you using?
Can you try to run this code in a minimal console app without using any threads?
If the problem persists in your minimal sample I would recommend writing a minimal C application as I would assume the same problem is present there.

Hey,
Which operating system are you using?
Can you try to run this code in a minimal console app without using any threads and show the code here?
If the problem persists in your minimal sample I would recommend writing a minimal C application as I would assume the same problem is present there.

MacOS 14.3.1 and Windows 11 (22H2) both occurred problem.
run without thread  also occurred.
I will try writing a c application, but it's seems maybe a dot net runtime error caused by MemoryMarshal.GetReference(data) in Read METHOD, i'm not sure.
https://github.com/dotnet/runtime/issues/83027

I have one idea which could be verified. Please do the follwoing:

Clone the HidApi.Net repository on your development machine
Update the Internal/NativeMethods.cs file with the following starting in line 49:

public static unsafe int Read(DeviceSafeHandle device, ReadOnlySpan<byte> data)
{
    fixed (byte* ptr = data)
    {
        return Read(device, ptr, (nuint) data.Length);
    }
}

Update the Internal/NativeMethods.cs file with the following in Line 123/124

[LibraryImport(Library, EntryPoint = "hid_read")]
private static unsafe partial int Read(DeviceSafeHandle device, byte* data, nuint length);

Update the Internal/NativeMethods.Net6.cs file with the following in Line 32/33

[DllImport(Library, EntryPoint = "hid_read")]
private static extern unsafe int Read(DeviceSafeHandle device, byte* data, nuint length);

Compile the HidApi.Net project
Include the HidApi.Net project as a ProjectRefernece in your application csproj file
Verify if the problem persists

I have one idea which could be verified. Please do the following:

Clone the HidApi.Net repository on your development machine
Update the Internal/NativeMethods.cs file with the following starting in line 49:

public static unsafe int Read(DeviceSafeHandle device, ReadOnlySpan<byte> data)
{
    fixed (byte* ptr = data)
    {
        return Read(device, ptr, (nuint) data.Length);
    }
}

Update the Internal/NativeMethods.cs file with the following in Line 123/124

[LibraryImport(Library, EntryPoint = "hid_read")]
private static unsafe partial int Read(DeviceSafeHandle device, byte* data, nuint length);

Update the Internal/NativeMethods.Net6.cs file with the following in Line 32/33

[DllImport(Library, EntryPoint = "hid_read")]
private static extern unsafe int Read(DeviceSafeHandle device, byte* data, nuint length);

Compile the HidApi.Net project
Include the HidApi.Net project as a ProjectRefernece in your application csproj file
Verify if the problem persists

I have make a sample to try this, but the problem persists.
after some test, maybe the problem is not caused by HidApi.Net.
    private void UpdateDataCommunicationThread(Device device)
    {
        var childThread = new Thread(_readDataFromDevice);
        childThread.Start(device);
    }

the call method as below works fine. but if uncomment these code，first code especially, the problem persists again.
I'm not familiar with c#, so don't known what's happened here.
var device = hid.ConnectToDevice();
// var controller = new Controller(device)
// {
//     isConnected = true
// };
// _connectedControllers.Add(controller);
// OnHidChangedListener?.OnHidChanged(true, controller);
UpdateDataCommunicationThread(device);

To help you I need some minimal compileable sample code. Some snippets don't help.
The lines you mentioned look like some custom code from your own project so the problem seems to be caused by your own code.

because it's not a library fault, so the issue closed.
thanks for you help

I'm seeing this issue also in my project when we have a situation where we have parallel read/write operation with the HID device.  As we had no issues with another HID library I think it's not an application fault in my case. As it is exactly the same issue as above I decided to add my post to this already closed isse.
I wan't to change to this library in the future becuase our currently used HID library has some issues and the project is abandond. In addition I like the approach of using the hidapi library in behind as this works also on .NET on Linux (tested already witha Raspberry Pi).
I'm aware that debugging such an issue that happens on other systems is nearly impossible. So I'll investigate the issue myself or try to provide a demo project that allows reproduction.
The issue occured with the latest 1.0.3 release of the library. After I've found this issue here I did the steps you proposed above. I replaced the NuGet package with the code from the repository and changed the pointer handling as proposed. The issue did not disappear by this change.
Another thing I've tried is to block the read/write calls to the library so that no threding issue should occur.
My next step would be to simplify the case where it happens, as by now it requires our full application and a specific HID device that is not commercialy available.
Question: Do you know a good HID device that allows testing things? What devices are you using for tests? That will allow me to use the same devices. Any ideas or hints what to try are very welcome.

It is unlikely (but not impossible) that the issue is based in this library as I just call the native methods: No threading is involved by HidApi.Net.
Please be aware that HIDAPI is not thread safe.
So if you experience issues please create a minimal sample calling the C HIDAPI directly via PInvoke where the issue is not occurring to be sure that there is some issue which can be fixed as part of this project.
If needed I can try to assist you with my PInvoke knowledge but I cant write all the code for you or do the testing.
Then I can check what is different between your working sample and this project to fix the problem.
I don't have a specific test device.
During my search for an app I found that there was no modern C# cross platform library available. So I wrote this library to be able to communicate with my Mouse under Linux. So my testing is extremely limited.
Any actionable feedback is very welcome to improve this library.
If you want to work on this I kindly ask you to open a new discussion and we can try to narrow down the problem there.

I see your point that the Hidapi.Net is probably not the reason for the issue. There is effectively not much more than the call to the native Library for the write or read.
After some reading in the issues of the native hidapi library it could also be something related to the native library.
There someone also mentions that read and write calls need to be made from the same thread. As my code did only ensure that no read and write calls are made in parallel, I thought this might be the reason. So I gave this a try and modified my code to do all calls from one thread, but the result remained the same.
Anyhow I’ll try to find out more about the issue. As soon as I have more information, I’ll open a new issue to share my findings.
Thanx for your input.
Von: Marcel Tiede @.>
Gesendet: Montag, 10. Juni 2024 18:23
An: badcel/HidApi.Net @.>
Cc: Adrian Eggenberger @.>; Comment @.>
Betreff: Re: [badcel/HidApi.Net] Fatal error. Internal CLR error. (0x80131506) when read data (Issue #84)
It is unlikely (but not impossible) that the issue is based in this library as I just call the native methods: No threading is involved by HidApi.Net.
Please be aware that HIDAPI is not thread safehttps://github.com/libusb/hidapi/issues/45.
So if you experience issues please create a minimal sample calling the C HIDAPI directly via PInvoke where the issue is not occurring to be sure that there is some issue which can be fixed as part of this project.
If needed I can try to assist you with my PInvoke knowledge but I cant write all the code for you or do the testing.
Then I can check what is different between your working sample and this project to fix the problem.
I don't have a specific test device.
During my search for an app I found that there was no modern C# cross platform library available. So I wrote this library to be able to communicate with my Mouse under Linux. So my testing is extremely limited.
Any actionable feedback is very welcome to improve this library.
If you want to work on this I kindly ask you to open a new discussion and we can try to narrow down the problem there.
—
Reply to this email directly, view it on GitHubhttps://github.com/badcel/HidApi.Net/issues/84#issuecomment-2158811542, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGIDI52IPKLMF6OBCB3T5UDZGXHGRAVCNFSM6AAAAABJBXXTMKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNJYHAYTCNJUGI.
You are receiving this because you commented.Message ID<EMAIL_ADDRESS>


Add theme professional

Recently pushed out this more academic theme -> https://registry.jsonresume.org/thomasdavis?theme=professional
More feature complete then others and prints well to pdf.
Thought it might be a good addition, let me know if there are any problems.

@thomasdavis Where's the source code repository for the theme so I can build it? :slightly_smiling_face:

https://www.npmjs.com/package/jsonresume-theme-professional
i'm having trouble finding the Github source

https://github.com/jsonresume/jsonresume.org/tree/master/packages/jsonresume-theme-professional/src
I will get on getting that published for you

you're awesome


Prevent crash when attempting to save course while it is open elsewhere

this should have the error implemented, or else users will save and it will fail and they will have no idea why because we no longer halt execution

Error popup has been implemented, and now doesnt attempt to save any of the files if one of them is inaccessible


ElasticsearchRest Client not working with scheduler

While the first batch of jobs is going to run fine, the next one is going to throw the following exception:
java.lang.IllegalStateException: Request cannot be executed; I/O reactor status: STOPPED

From what I've managed to gather, it is probably due to the way Elasticsearch RestClient is using Apache's HttpAsyncClient. For some reason after the batch the client is closed? It might require further investigation.
The possible solution might include recreating RestClient for each batch (however, that would be rather inefficient) or somehow trying to determine if the client is still alive.
For now, the Native Java client can be used (I have updated it to work with X-pack). However, Elastic recommends the migration to the Rest client in a future.

OK let's take a look at this tomorrow. AFAIK closing after the batch doesn't sound like the right behaviour

cc/ @HeglerTissot

A provisional fix for the scheduler has been implemented in 56080d798caf383713b9ce9280d5e5ea4a8fedd8 .
The general problem is that the ES REST Client (implemented in ESRestService) needs to be closed at the end of batch processing, otherwise the services and resources deinitialization process gets blocked. The @PreDestroy annotated method in ESRestService is not called automatically hence not releasing the resource.
The current workaround in the code (in JobCompleteNotificationListener::afterJob()) closes the ES REST client at the end of running a job and it works when running single jobs (SingleJobLauncher). However, when running scheduled jobs, the jobs are continuously executed, calling each time JobCompleteNotificationListener::afterJob(). Hence, when trying to write to ElasticSearch using ES REST Client for second time it will fail as the client has been already deinitialized (hence the exception mentioned by @jstuczyn ).
To overcome this issue, a simple fix was implemented -- re-initializing the ES REST client in JobCompleteNotificationListener::beforeJob() method, checking whether the client has been previously deinitialised.
However, this is just a quick fix, as ideally a slight refactoring of handling ES REST client and resources should be implemented.

Note that we should revisit this issue for the refactor milestone.


Not working with Firefox 44.0.2

A lot of reviews confirm this: https://addons.mozilla.org/en-GB/firefox/addon/yslow/reviews/

I can confirm this to be true after troubleshooting Firefox for a bit after installing this for the first time. Hopefully someone is taking a look. :)

Did you try unplugging it and plugging it back in?

Is YSlow completely discontinued by the core team?

test


On iOS after the phone number is valed country dialcode is added to the number so it appears twice

On iOS after the phone number is valed country dialcode is added to the number so it appears twice

I am also having this issue @hrishikeshpujari1902 if you resolve this, can you please let me know how you resolved it?

@hrishikeshpujari1902 What was your solution?


Could not recognise ATT errors returned from GATT server

In my typescript code I couldn't catch some errors returned from my GATT server implementation (e.g. the StatusUnexpectedError constant defined in BLE spec). The following code executes without failures but on server logs I can see that the request is actually returning an error.
const packetToSend = new Uint8Array(...)

await this.bluetooth.write({
  peripheralUUID: this.peripheral.UUID,
  serviceUUID: serviceUuid,
  characteristicUUID: characteristicUuid,
  encoding: 'ASCII',
  value: packetToSend
})

Has anyone experienced the same problem? Thanks a lot! :D

you don't see any error on iOS nor Android ?

Sadly no. I've also tried to return an error intentionally from the GATT server but nothing happens on the nativescript side, it just resolve without failures

@matteonatale so you need to "debug" it a bit more. i think android is your best bet to debug it as you can use logcat to see more ble messages. maybe we are missing a listener to catch that error
BTW this is a write with response ?

Yes, it's a write with response

OK I looked at the code again and it should catch the non success status. are you sure your server "replies" with the error ?

Yeah, I'm sure. However I'm going to try a little bit more, I'll let you know.
Just to be certain: in order to catch ATT errors can I use the try/catch statement or I should get it in another way?

the write function is a promise so you need to catch the promise error

I implemented a new GATT server using another package (the server is written in Go) in order to get the error from the promise, but unfortunately I still can't catch it. I gave up the idea to retreive the error from the write method because i thought that for my use it's better to start notifying and listening for an eventually error message notified by the server. However thanks for the reply! :D


Date Picker Localization Incorrect for Placeholder

Issue Description

When the Date Picker is translated into other languages, the placeholder for it does properly flex to the right format, but the initials used are incorrect:
For French (it should be AAAA not YYYY):

Issue Type

[ ] New Feature
[ ] Enhancement
[X] Bug
[ ] Other

This isn't possible using momentjs, translation requests will have to be made.

Translations have been requested

@Blackop778 Can you share the link to the translation request.

https://jira.cerner.com/browse/TRANS-5281


Add PrometheusRule

This PR adds a an optional PrometheusRule to the opentelemetry-collector chart.
Signed-off-by: Adrien Bennatan<EMAIL_ADDRESS>

Hello @ben-natan, thanks for the contribution.  Can you open an issue detailing the issue/feature request this PR solves?  Also, please run make generate-examples

Why is this supposed to be part of the helm chart? Can't you create the prometheus rule separately?

Why is this supposed to be part of the helm chart? Can't you create the prometheus rule separately?

I could create the rule separately but it is not convenient.
This chart already provides ServiceMonitor and PodMonitor which are both Prometheus CRDs. Adding PrometheusRule is an extra step in the same direction.

@dmitryax what do you think?

Sounds reasonable to me

@ben-natan please update charts/opentelemetry-collector/README.md stating that at this time Prometheus CRDs are supported but other CRDs are not.
Also, please rebase.

@dmitryax please review


PYM-2 mkdocs2sphinx

The complete documentation has been rewritten and is now made with Sphinx instead of Mkdocs.

Codecov Report

Merging #5 (a6722cc) into dev (5098a7e) will increase coverage by 0.19%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##              dev       #5      +/-   ##
==========================================
+ Coverage   39.97%   40.17%   +0.19%
==========================================
  Files          29       29
  Lines         908      911       +3
  Branches      120      120
==========================================
+ Hits          363      366       +3
  Misses        528      528
  Partials       17       17

Impacted Files
Coverage Δ

mojang/account/auth/microsoft.py
31.81% <ø> (ø)

mojang/account/auth/security.py
33.33% <ø> (ø)

mojang/account/auth/yggdrasil.py
31.03% <ø> (ø)

mojang/account/base.py
85.48% <ø> (ø)

mojang/account/ext/microsoft.py
44.00% <ø> (ø)

mojang/account/ext/session.py
66.66% <ø> (ø)

mojang/account/structures/auth.py
100.00% <ø> (ø)

mojang/account/structures/base.py
68.96% <ø> (ø)

mojang/minecraft/proto/query/__init__.py
0.00% <ø> (ø)

mojang/minecraft/proto/rcon/__init__.py
0.00% <ø> (ø)

... and 5 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 5098a7e...a6722cc. Read the comment docs.


Upgrade opentracing dependency

In the same spirit as https://github.com/iaintshine/ruby-grpc-opentracing/pull/6, this upgrades the opentracing dependency.

It's been several months without activity from @iaintshine on this PR, I'm assuming it's abandoned and closing.


How can I gain feature vectors or other middle outputs?

Hello, I am trying to do some work on the "Unsupervised Adversarial Training" cifar10 pre-train model. But I meet some problem that I do not know how to get the middle outputs besides the final logits output. Can you give me some advice on how to achieve my goal?
Thanks!

Hi, thanks for the interest. We don't directly expose the internal activations of the network via the TF-Hub interface, but you can do this in an adhoc way via get_tensor_by_name.
You might find these other threads helpful, which also discuss how to retrieve internal activations from TF-Hub modules.
https://github.com/tensorflow/hub/issues/290
https://github.com/tensorflow/hub/issues/396
For figuring out the names of each Tensor, I would use some combination of (1) inspecting the names of Tensors and Variables and (2) checking op.inputs and op.outputs.
As a final helpful tip, the model is also divided into Variable scopes based on each ResNet "block" and then "layers" within each block (the same way the architecture is described in https://arxiv.org/abs/1605.07146), so if e.g. you're trying to retrieve the activation after each residual block, this should basically involve changing a single number e.g. '/long/variable/scope/path/resnet_block_1/MatMul:0' to '/long/variable/scope/path/resnet_block_2/MatMul:0'

Are there any plans to improve the interface of TF Hub to facilitate getting outputs of intermediate layers? TF Hub seems like a great resource (lots of pre-trained models) but without being able to interface intermediate layers the applications are severely limited (e.g., I cannot easily build a custom model). I'm currently using tf.keras.applications -- I would like to use some of the architectures in TF Hub in the same way.


Add CHANGELOG for transition to .h5ad extensions

Change includes .hdf5 -> .h5ad in AnnData downloads.

This is already present in development: https://github.com/AlexsLemonade/scpca-docs/blob/development/docs/CHANGELOG.md

I will take this opportunity to state that this transition didn't involve enough issues for my taste.


Sound Plugin doesn't work

I tried to install the plugin on Mattermost  5.21.0 running on Ubuntu server 18.04.
The install works fine but when I click on the icone in Mattermost chat I see this but nothing happens, the time still block at 0:00 and the browser doesn't ask autorization for mic.

Can you please help?

@korean936
Thank you for the report. I will look into this and let you know.

@streamer45 Thank you for your work :)

@korean936
I couldn't reproduce this problem so far. Also testing on 5.21.
It would be helpful to know more info about your setup. Browser type and version. Operating system.
Also the console log output (CTRL+Shift+i) would be extremely useful to figure out what's blocking the recording.

Hi,
I got this in the console :
com.mattermost.voice_5e23551578f984bc_bundle.js:1 Uncaught (in promise) Error: unsupported
    at n._startCapture (com.mattermost.voice_5e23551578f984bc_bundle.js:1)
    at n.start (com.mattermost.voice_5e23551578f984bc_bundle.js:1)
    at Object.startRecording (com.mattermost.voice_5e23551578f984bc_bundle.js:9)
    at com.mattermost.voice_5e23551578f984bc_bundle.js:9
    at Object.e.registerFileUploadMethod.M.id [as action] (com.mattermost.voice_5e23551578f984bc_bundle.js:9)
    at onClick (file_upload.jsx:635)
    at Object.s (react-dom.production.min.js:14)
    at _ (react-dom.production.min.js:15)
    at react-dom.production.min.js:15
    at w (react-dom.production.min.js:17)

The server is on : Debian 10 Buster
The client is on : Windows 10 Pro v1909
The browser is : Opera 67.0.3575.115
But I also tried on chrome and firefox, i got the same issue.

I believe it might be the same problem as https://github.com/streamer45/mattermost-plugin-voice/issues/4 . Capturing a microphone is not allowed on insecure connections. You need your server to be running on HTTPs.

Oh ok I didn't notice that
Thank you

Closing this since it's not really a bug or something we can fix.


Enable doNotStrip when doing development/debugging within Android Studio and within debug

Extention of @m4gr3d PR with exec and argument https://github.com/godotengine/godot/pull/46855

I might be executing this wrong but running:
.\gradlew generateDebugTemplate -PdoNotStrip
Does not result in a binary with debug symbols...
Testing right now by adding that 3rd entry into nativeSrcsConfigs/build.gradle

This seems to work find for me now, @akien-mga I think this is fine to merge.

@thebestnom Let us know when this PR is ready for (re)review.

Sorry, didn't had time in the past weeks to touch the project 😅

finnaly had some time to do it, currently tring to make this cleaner

Thanks!


Unsafe build flags

I just updated to 1.2.0 and my first build produced this error: The package product 'whisper' cannot be used as a dependency of this target because it uses unsafe build flags.
Any ideas? Haven't had any issues building prior versions.

Testing out prior version to see where this starts and it appears to begin in 1.1.0, still present in 1.1.1.

I think this is the commit that breaks it for you: https://github.com/ggerganov/whisper.spm/commit/0e52adc4aedfdaa30952db3dafc883382c644f5f
I am not sure how to resolve this correctly. If we don't include these flags, then we have the problem from #1
If #1 is not an issue for you, you can simply fork this repo and remove the unsafe flags.

@ggerganov Before submitting #1, I investigated a ton of options for this and couldn't find anything that would allow the optimization level we need alongside proper  versioning support.
The one thing I didn't try it is prebuilding a binary framework and using that for the package. See Distributing binary frameworks as Swift packages.
I don't know C very well and don't know if this is possible or not possible with C packages, but theoretically if we build the framework with the strictest optimization level and you include that in the package, it should work.
You might even be able to offer two targets/products, something like Whisper and WhisperCompiled, but leverage the same module name/alias.
Let me know if you want any help investigating this further, happy to put some work in since you've done so much to support us!

And I guess for the worst case scenario: removing versioning tags and adding an explicit message that the library will only work with branch or revision pinning in SPM. 😞

@bdrelling
No worries! I don't think these are show-stopping issues - there are work arounds available.

Got it building now w/o errors - final sequence that worked was: Remove whisper as dependency -> Build (removing any code using whisper) -> Clean project -> Re-add whisper with branch pinning -> Build.

Hi guys - which branch should i be pinning/using?

Hi guys - which branch should i be pinning/using?

@narciszait use specify the version with a commit hash


Inconsistent return for with_check

I'll write only about decode, but same relevant for encode too.

new and with_alphabet return new DecodeBuilder, but with_check instead change DecodeBuilder itself -- this looks inconsistent. For consistency with_check should return new DecodeBuilder or with_alphabet should change DecodeBuilder itself.

Does feature checks make any sense here? https://github.com/mycorrhiza/bs58-rs/blob/18cad1c914eb817cd90317b6c861b27f89123ac2/src/decode.rs#L178
It's not possible change check if feature disabled (except through unsafe), maybe:

    pub fn into<O: AsMut<[u8]>>(self, mut output: O) -> Result<usize> {
        #[cfg(feature = "check")]
        {
            if self.check {
                return decode_check_into(
                    self.input.as_ref(),
                    output.as_mut(),
                    self.alpha,
                    self.expected_ver,
                );
            }
        }

        decode_into(self.input.as_ref(), output.as_mut(), self.alpha)
    }

Does it makes sense define different structures for different features?

#[cfg(feature = "check")]
{
    #[allow(missing_debug_implementations)]
    pub struct DecodeBuilder<'a, I: AsRef<[u8]>> {
        input: I,
        alpha: &'a [u8; 58],
        check: bool,
        expected_ver: Option<u8>,
    }
}
#[cfg(not(feature = "check"))]
{
    #[allow(missing_debug_implementations)]
    pub struct DecodeBuilder<'a, I: AsRef<[u8]>> {
        input: I,
        alpha: &'a [u8; 58],
    }
}

Thanks.

The fact that with_check modifies self is not externally observable, the type signature of both it and with_alphabet is fn(Self, new_value: _) -> Self. It could be changed to use FRU syntax the same as with_alphabet.

Sounds like a fine change.

I believe this can be simplified to

#[allow(missing_debug_implementations)]
pub struct DecodeBuilder<'a, I: AsRef<[u8]>> {
    input: I,
    alpha: &'a [u8; 58],
    expected_ver: Option<u8>,
    #[cfg(feature = "check")]
    check: bool,
}

The problem would be that functions like with_alphabet else would also need to start adding #[cfg(feature = "check")] checks when they're updating the fields.
An alternative that might actually be nicer would be to use a custom enum, that would also allow inlining the expected_ver with the check value and get the compiler to check that it is used where necessary
enum Check {
    Disabled,
    #[cfg(feature = "check")]
    Enabled {
        expected_ver: u8,
    },
}

#[allow(missing_debug_implementations)]
pub struct DecodeBuilder<'a, I: AsRef<[u8]>> {
    input: I,
    alpha: &'a [u8; 58],
    check: Check,
}

Are you ok with changes for using FRU syntax?
Changes submitted.
My initial thoughts was reduce size required for structure.
expected_ver: Option<u8> -- 2 bytes, check: bool -- 1 byte
Proposed enum is 2 bytes, so probably such changes does not worth a lot.

Yep, changing the method to FRU would probably make it better IMO.
Currently expected_ver + check will be taking 3 bytes, the Check enum will be 2 bytes with feature = "check" and 0 bytes without it, so it is a size win.

More importantly, changing to use a custom enum with #[cfg]ed out variants would provide compile-time checking that the correct variants are handled (instead of having the unreachable! in the old code, or having a potential fallthrough with #44).

Oh, you're right about 0 bytes in case when feature = "check" disabled. I think this should be preferred way compare to #44, so I'll close that PR.

Will submit item 1 shortly

There yet one thing about which I wanted ask.
Right now for decode/encode data with not default alphabet and enabled checksum syntax is:
decode::DecodeBuilder::new(data, alphabet::RIPPLE).with_check(Some(110)).into(output)

It's looks strange that for builder we need data and only then alphabet / check. While usual way is  define alphabet and/or check and then process data.
I'd propose change API to something like:
enum Check {
    Disabled,
    #[cfg(feature = "check")]
    Enabled(Option<u8>),
}

struct DecodeBuilder {
    zero: u8,
    alpha: [u8; 128],
    check: Check,
}

impl DecodeBuilder {
    pub fn new() -> DecodeBuilder {
        DecodeBuilder {
            zero: 0,
            alpha: [0; 128],
            check: Check::Disabled,
        }
    }

    pub fn with_alphabet(self, base: &[u8; 58]) -> DecodeBuilder {
        let mut alpha = [0xFF; 128];
        for (i, &c) in base.iter().enumerate() {
            alpha[c as usize] = i as u8;
        }
        DecodeBuilder { zero: base[0], alpha, ..self }
    }

    #[cfg(feature = "check")]
    #[cfg_attr(docsrs, doc(cfg(feature = "check")))]
    pub fn with_check(self, expected_ver: Option<u8>) -> DecodeBuilder {
        self.check = Check::Enabled(expected_ver);
        DecodeBuilder { check, ..self }
    }

    pub fn create<I: AsRef<[u8]>>(&self, input: I) -> Decode<'_, I> {
        Decode { inner: self, input }
    }
}

struct Decode<'a, I: AsRef<[u8]>> {
    inner: &'a DecodeBuilder,
    input: I,
}

impl<'a, I: AsRef<[u8]>> Decode<'a, I> {
    #[cfg(feature = "alloc")]
    #[cfg_attr(docsrs, doc(cfg(any(feature = "alloc", feature = "std"))))]
    pub fn into_vec(self) -> Result<Vec<u8>>;

    pub fn into<O: AsMut<[u8]>>(self, mut output: O) -> Result<usize>;
}

With this it will be possible create object which will have alphabet / check and then decode data with defined options. If we also will transform alphabet in builder performance will be improved:
empty/decode_bs58       time:   [25.264 ns 25.566 ns 25.939 ns]
                        change: [-35.939% -34.962% -33.875%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 15 outliers among 100 measurements (15.00%)
  2 (2.00%) high mild
  13 (13.00%) high severe

1_byte/decode_bs58      time:   [67.183 ns 68.250 ns 69.595 ns]
                        change: [-26.859% -24.031% -21.798%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
  1 (1.00%) high mild
  12 (12.00%) high severe

5_bytes/decode_bs58     time:   [86.053 ns 87.024 ns 88.221 ns]
                        change: [-19.471% -18.022% -16.408%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
  2 (2.00%) high mild
  11 (11.00%) high severe

10_bytes/decode_bs58    time:   [123.39 ns 124.90 ns 126.72 ns]
                        change: [-15.409% -14.204% -13.010%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
  5 (5.00%) high mild
  7 (7.00%) high severe

10_bytes_zero/decode_bs58
                        time:   [83.625 ns 84.685 ns 85.955 ns]
                        change: [-22.269% -20.879% -19.502%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 18 outliers among 100 measurements (18.00%)
  4 (4.00%) high mild
  14 (14.00%) high severe

10_bytes_max/decode_bs58
                        time:   [123.63 ns 125.20 ns 127.13 ns]
                        change: [-15.405% -14.042% -12.561%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 15 outliers among 100 measurements (15.00%)
  7 (7.00%) high mild
  8 (8.00%) high severe

32_bytes/decode_bs58    time:   [500.70 ns 506.45 ns 513.69 ns]
                        change: [-3.6403% -2.1763% -0.7385%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 15 outliers among 100 measurements (15.00%)
  5 (5.00%) high mild
  10 (10.00%) high severe

256_bytes/decode_bs58   time:   [31.169 us 31.536 us 31.990 us]
                        change: [-0.8981% +0.4257% +1.8426%] (p = 0.55 > 0.05)
                        No change in performance detected.
Found 12 outliers among 100 measurements (12.00%)
  12 (12.00%) high severe

The primary intended API is like
decode(data).with_alphabet(alphabet::RIPPLE).with_check(Some(110)).into(output)

not going through the DecodeBuilder::new constructor (I'd be tempted to deprecate the constructor, not sure why I really added it).
One idea to avoid any breaking API changes is to allow providing a "prepared alphabet" as well as the current bytes. Something like
struct Alphabet {
    encode: [u8; 58],
    decode: [u8; 256],
}

impl Alphabet {
    pub const fn new(base: &[u8; 58]) -> Alphabet { ... }
}

struct DecodeBuilder<'a> {
    alpha: Cow<'a, Alphabet>,
    check: Check,
}

impl DecodeBuilder {
    pub fn with_alphabet(self, alpha: &[u8; 58]) -> DecodeBuilder {
        DecodeBuilder { alpha: Cow::Owned(Alphabet::from(alpha)), ..self }
    }

    pub fn with_prepared_alphabet(self, alpha: &Alphabet) -> DecodeBuilder {
        DecodeBuilder { alpha: Cow::Borrowed(alpha), ..self }
    }
}

Along with statics containing the Alphabet for the known set. That allows avoiding any copying of bytes when using a prepared alphabet, without having to store the DecodeBuilder anywhere.
(And then a future breaking version could drop with_alphabet and change the Cow<'a, Alphabet> into a simple &'a Alphabet).

Looks good for performance improvement, 2 notes:

const fn -- right now in nightly (if I understand correctly) + new function require assert!(base.iter().all(|&c| c < 128)); which contain if and can not be used with const fn...

error[E0658]: `if` is not allowed in a `const fn`
  --> src/alphabet.rs:34:9
   |
34 |         assert!(base.iter().all(|&c| c < 128));
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #49146 <https://github.com/rust-lang/rust/issues/49146> for more information
   = help: add `#![feature(const_if_match)]` to the crate attributes to enable
   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

Cow in std, but std can be feature and Cow will not be available

local enum.. i.e. something like:
enum AlphabetCow<'a> {
    Borrowed(&'a Alphabet),
    Owned(Alphabet),
}

?

Yep.

Before close this issue, I'd like ask about idea in #47 -- is this something what cost of time work on? Is this useful thing which can be accepted?

Yep, I think it makes sense to handle. I've left a couple comments of small changes that should get it working.

Anything with what I can help for new release? Do you want make breaking change release?

I'll publish a release later today, at the moment I don't think there's much need for a breaking release.


Add in functionality for linking to subpages within dashboards

For example, accessing https://console.aws.amazon.com/ec2/home#Instances: specifically within the EC2 dashboard.

work in progress here: https://github.com/rkoval/alfred-aws-console-services-workflow/tree/subpages
although i might need to add a script filter that will dynamically populate menu items such that the list doesn't contain tons of subpages at initial load


Autocomplete picks wrong table columns in subquery

If I call the autocomplete options in a subquery within parentheses, the autocomplete will show the column names of the table from the main query instead of the one from the subquery. Example:
select
	some_col
from main_table
where
	other_col not in (select other_col, <try to autocomplete> from other_table ot where <try to autocomplete>)

The autocomplete inside (select other_col from other table) will keep showing the column names from main_table instead of those from other_table.

Still reproduces in 7.0.1

Similar to #5467

#7768

Still reproducible in DBeaver 23.0.5

We will solve this issue in scope of https://github.com/dbeaver/dbeaver/issues/21654


Fix mismatch between buyProduct signatues in Obj-C and swift

see https://github.com/dooboolab/react-native-iap/issues/1780

@cdiddy77 Please reopen the PR to next branch 🙏


error

ModuleNotFoundError: No module named 'functions'
PS D:\TradingView_Machine_Learning-master>
this is the error any idea what i should do

I get the same.  Any solutions?

Indeed, same here.

I think you need to copy the python script to the parent folder and run it from there

Hi,
I have successfully able to get the best setting. But, it is not showing results as in a youtube video. Instead, it shows error:
"selenium.common.exceptions.ElementNotInteractableException: Message: Element  could not be scrolled into view"

Hi,
I have successfully able to get the best setting. But, it is not showing results as in a youtube video. Instead, it shows error:
"selenium.common.exceptions.ElementNotInteractableException: Message: Element
could not be scrolled into view"

I fixed this issue today. You should be able to the script properly now.


[BUG] BOINC 8.0.4 Update

Please confirm these before moving forward

[X] I have searched for my issue and have not found a work-in-progress/duplicate/resolved issue.
[X] I have tested that this issue has not been fixed in the latest (beta or stable) release.
[X] I have checked the FAQ section for solutions.
[X] This issue is about a bug (if it is not, please use the correct template).

UniGetUI Version
3.1.1
Windows version, edition, and architecture
Windows 11 Home 23H2
Describe your issue
A new version (8.0.4) of BOINC (UCBerkeley.BOINC) was listed when I refreshed the software updates today.  I have version 8.0.2 installed.  The update failed claiming that the install technology was incompatible with the current version installed.   I visited the BOINC website and the official download is version 8.0.2.  Where is this update published?  According to the BOINC forum there has been a recent malware that downloads a rogue version of the BOINC client.
Steps to reproduce the issue
Install BOINC version 8.0.2 and refresh the UniGetUI software updates.
UniGetUI Log
N/A

Package Managers Logs
N/A

Relevant information
No response
Screenshots and videos
No response

You should post this issue to microsoft/winget-pkgs if the package manager is WinGet, otherwhise please contact the maintainer of the package.
UniGetUI is only an interface, we do not directly manage the packages available


Fix circle ci configure.

Fixes #34 issuenumber ; refs #34 issuenumber

Are you still making any adjustments, or is this ready for review/merge?

@mcritchlow This is for testing purpose. I will close it later.


Update sql-machine-learning-services-windows-install-sql-2022.md

Link to R 4.2 now points to latest version available, which misleads customers. Corrected link to latest 4.2 version available, and updated instructions [file paths] to reflect the same R 4.2.3 version

Thanks @joshts0! FYI @monamaki
#sign-off


failing to launch browser process

Hey all, I'm having trouble getting this to run on a lambda. I'm getting this error
Failed to launch the browser process!\n/tmp/chromium on lambda function.
This is how I'm calling the function, any help would be much appreciated.
import chrome from '@sparticuz/chrome-aws-lambda';
import puppeteer from 'puppeteer-core';

const browser = await puppeteer.launch({
      headless: true,
      executablePath: await chrome.executablePath,
      args: chrome.args
    });

Could it be because the lambda function I'm running it on is arm64? I'm painfully new to using lambdas so idk what I'm really doing here.

@chrisday-code - Did you resolve this? I keep getting a 502 error when trying to import the package. I also tried steps specified here - https://github.com/Sparticuz/chrome-aws-lambda/issues/19#issuecomment-1204426373.  But no luck, I keep getting a 502, with a vague error. I can't even figure out what is wrong.

Could it be because the lambda function I'm running it on is arm64?

Yes. Right now, only regular lambda's are supported.


Fix freeze_stage in swin.py and bug of split_outputs in dino_head.py

Motivation

The motivation behind this PR is to fix the error that occurs when training grounding-dino-swin-t with the argument frozen_stage set in a distributed training. The error occurs because swin.py misses adding self._freeze_stages in init(), leading to the optimizer adding the parameters of swin.
When not using dn, there would be a TypeError in the split_outputs function in dino_head.py.

Modification
In this PR

We add self._freeze_stages in init() in swin.py
We modified the split_outputs in dino_head.py

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Shenghai Rong seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Added command: generamba template install

I've added a new command: generamba template install. It does the following things:

Parses current Rambafile and looks for the key templates.
If needed, it updates the local copy of Rambler templates catalog.
Checks for existence, verifies structure and copies to the project folder three types of templates:

Local - such template is located somewhere on the user filesystem
Remote - such template is stored in the remote git repository
Catalog - such template is stored in the Rambler catalog.

The example structure of the Rambafile:
company: Rambler&Co
project_name: GenerambaSandbox
...
templates:
- {name: default_template, git: 'https://github.com/igrekde/default_template.git'} # Remote Template
- {name: rambler_viper_controller, local: '/Users/etolstoy/Generamba/rambler_viper_controller'} # Local Template
- {name: rambler_viper_controller2, local: '/Users/etolstoy/Generamba/rambler_viper_controller2'} # Local Template
- {name: default} # Catalog Template

This pull request relates to the following issues:

Issue #5
Issue #6

Please add this information into wiki. Thanks)


TypeError: can't pickle _thread.lock objects when multiprocessing on DataFrames

Hi,
I have some code written in pandas where I perform a series of filters to a DataFrame. I am trying to replicate the same logic with Dask DataFrames.
The Original Pandas code looks something like this
df = pd.read_hdf(file_path, key='df')

df = df[df[['col_1', 'col_2']].notnull().all(axis=1)]

The Dask version looks like this
    ddf = dd.read_hdf(file_path, 'df')
    new_ddf = ddf[ddf['col_1'].notnull() & ddf['col_2'].notnull()].compute()

Both snippets work. However, the following snippet
    ddf = dd.read_hdf(file_path, 'df')
    new_ddf = ddf[ddf['col_1'].notnull() & ddf['col_2'].notnull()].compute(get=dask.multiprocessing.get)

throws
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/site-packages/dask/base.py", line 171, in compute
    results = get(dsk, keys, **kwargs)
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/site-packages/dask/multiprocessing.py", line 83, in get
    queue=queue, get_id=_process_get_id, **kwargs)
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/site-packages/dask/async.py", line 466, in get_async
    fire_task()
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/site-packages/dask/async.py", line 462, in fire_task
    get_id, raise_on_exception])
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/site-packages/toolz/functoolz.py", line 281, in __call__
    return self._partial(*args, **kwargs)
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/site-packages/dask/multiprocessing.py", line 123, in pickle_apply_async
    may_fail = dumps((task, data))
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/site-packages/dask/multiprocessing.py", line 29, in _dumps
    return cloudpickle.dumps(x, protocol=pickle.HIGHEST_PROTOCOL)
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/site-packages/cloudpickle/cloudpickle.py", line 629, in dumps
    cp.dump(obj)
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/site-packages/cloudpickle/cloudpickle.py", line 107, in dump
    return Pickler.dump(self, obj)
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/pickle.py", line 408, in dump
    self.save(obj)
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/pickle.py", line 475, in save
    f(self, obj) # Call unbound method with explicit self
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/pickle.py", line 725, in save_tuple
    save(element)
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/pickle.py", line 475, in save
    f(self, obj) # Call unbound method with explicit self
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/pickle.py", line 740, in save_tuple
    save(element)
  File "/Users/mik-OD/anaconda/envs/dask/lib/python3.5/pickle.py", line 495, in save
    rv = reduce(self.proto)
TypeError: can't pickle _thread.lock objects

I'm staying within the realm of pandas dataframes, should I be expecting to run into these locking / serialization issues?
is there a way to more succinctly represent the filter operation in the dask version?

Thanks!

Ah I was able to fix the lock issue with
ddf = dd.read_hdf(file_path, 'df', lock=False)

However this causes the code to hang with multiprocessing, but it seems to succeed with a distributed scheduler.

Is there any guidance on the usage of the lock parameter? should we just always use it when doing distributed computation?
Still same question on filtering, I wasn't able to get the dask version to look any more like the regular pandas version

Thanks

You could try using a multiprocessing-safe lock:
from multiprocessing import Lock
lock = Lock()

ddf = dd.read_hdf(file_path, 'df', lock=lock)

I think this might be valuable in the documentation.

This issue persists even on the distributed scheduler:
setup
In [58]: import dask

In [59]: dask.__version__
Out[59]: '0.12.0'

In [60]: import distributed

In [61]: distributed.__version__
Out[61]: '1.14.3'

In [1]: from distributed import LocalCluster, Client

In [2]: c = LocalCluster(nanny=False)

In [3]: client = Client(c)

In [4]: client
Out[4]: <Client: scheduler="<IP_ADDRESS>:8786" processes=1 cores=16>

In [6]: df = DataFrame({'A' : ['foo', 'bar', 'baz'], 'B' : [1, 2, 3]})

In [7]: df
Out[7]:
     A  B
0  foo  1
1  bar  2
2  baz  3

In [8]: df.to_hdf('test.h5', 'df', format='table')

ok
In [13]: ddf = dd.read_hdf('test.h5', 'df', chunksize=1, lock=False)

In [14]: client.persist(ddf)
Out[14]: dd.DataFrame<read-hd..., npartitions=3>
In [11]: ddf = dd.read_hdf('test.h5', 'df', chunksize=1)

errors
In [11]: ddf = dd.read_hdf('test.h5', 'df', chunksize=1)

In [12]: client.persist(ddf)
C:\Anaconda\envs\bmc3\lib\site-packages\distributed\protocol\pickle.py - INFO - Failed to serialize ('test.h5', '/df', <unlocked _thread.lock object at 0x000000000AAC9EE0>, {'columns': Index(['A', 'B'], dtype='object'), 'stop': 3, 'mode': 'a', 'start': 2})
Traceback (most recent call last):
  File "C:\Anaconda\envs\bmc3\lib\site-packages\distributed\protocol\pickle.py", line 30, in dumps
    result = pickle.dumps(x, protocol=pickle.HIGHEST_PROTOCOL)
TypeError: can't pickle _thread.lock objects

Yes, we will start using dask.utils.SerializableLocks soon.
On Tue, Nov 15, 2016 at 9:33 AM, Jeff Reback<EMAIL_ADDRESS>wrote:

This issue persists even on the distributed scheduler:
setup
In [58]: import dask
In [59]: dask.version
Out[59]: '0.12.0'
In [60]: import distributed
In [61]: distributed.version
Out[61]: '1.14.3'
In [1]: from distributed import LocalCluster, Client
In [2]: c = LocalCluster(nanny=False)
In [3]: client = Client(c)
In [4]: client
Out[4]: <Client: scheduler="<IP_ADDRESS>:8786" processes=1 cores=16>
In [6]: df = DataFrame({'A' : ['foo', 'bar', 'baz'], 'B' : [1, 2, 3]})
In [7]: df
Out[7]:
A  B
0  foo  1
1  bar  2
2  baz  3
In [8]: df.to_hdf('test.h5', 'df', format='table')
ok
In [13]: ddf = dd.read_hdf('test.h5', 'df', chunksize=1, lock=False)
In [14]: client.persist(ddf)
Out[14]: dd.DataFrame<read-hd..., npartitions=3>
In [11]: ddf = dd.read_hdf('test.h5', 'df', chunksize=1)
errors
In [11]: ddf = dd.read_hdf('test.h5', 'df', chunksize=1)
In [12]: client.persist(ddf)
C:\Anaconda\envs\bmc3\lib\site-packages\distributed\protocol\pickle.py - INFO - Failed to serialize ('test.h5', '/df', <unlocked _thread.lock object at 0x000000000AAC9EE0>, {'columns': Index(['A', 'B'], dtype='object'), 'stop': 3, 'mode': 'a', 'start': 2})
Traceback (most recent call last):
File "C:\Anaconda\envs\bmc3\lib\site-packages\distributed\protocol\pickle.py", line 30, in dumps
result = pickle.dumps(x, protocol=pickle.HIGHEST_PROTOCOL)
TypeError: can't pickle _thread.lock objects
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/1683#issuecomment-260656550, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AASszOWib1b-KzTjjVkjrymPt7zPhwMlks5q-cK8gaJpZM4Kb0wy
.

thanks @mrocklin

We now carefully select a lock based on the scheduler.


CatPhotoApp Step 68: Issues with meta element

Describe the Issue
I believe this is the first step to introduce the meta element. Two issues with this step:

[ ] The description does not explain that it is a self-closing tag
[ ] The tests accept a closing tag

Affected Page
https://www.freecodecamp.org/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-68
Your code
You can pass this step with the following:
<meta charset="UTF-8"></meta>

Expected behavior
Since this is the first time the meta element is used we should explain in the description that it is a self-closing tag. I'm assuming that we are not expecting the user to look up this information themselves.
Also, we should fix the test so that it does not accept a closing </meta> tag.
Screenshots
No response
System
N/A
Additional context
No response

Meta and link closing tag is accepted almost everywhere, I made sure it's the similar test to make it easier to change them to self-closing if issue rise from that. But changing them will make it harder unnecessary in my opinion, because browsers take care self-closing tags.
About the description, we should include it, that was mistake from my part.

According to the specs, the end tag is not allowed.
https://html.spec.whatwg.org/multipage/semantics.html#the-meta-element
It will fail validation with Error: Stray end tag meta

@lasjorg same is applied to link element, iam convinced.
We should change link element tests as well

Yes, the tag omission rules are the same for the link element.
I'm not suggesting we absolutely have to test for it everywhere, I'm just saying it is in fact invalid syntax to have the end tag. Not sure how many tests would need to be implemented for this to be consistent across all challenges, or if it's worth it or not.

Let's keep it simple:
Since this is the first time the meta element is used we should explain in the description that it is a self-closing tag. I'm assuming that we are not expecting the user to look up this information themselves.
Also, we should fix the test so that it does not accept a closing </meta> tag.
We can always add more tests to other steps.

I'm going to make another suggestion. Perhaps we should just get rid of this step completely? According to MDN, the only valid value for charset is UTF-8. The W3C validator will throw an error if you use any other value. And even more, it won't complain if you don't include a charset at all. It appears all browsers will just automatically default to UTF-8, so you don't need a charset definition in the first place.

I would imagine it is still considered a best practice to include it. I'm not so sure relying on browsers to do the work is a good starting point to take when teaching, even if all modern browsers do the right thing.
I'd also suggest that when teaching taking the pedantic approach is often the better choice.

Ya, you're right, we should teach it because it seems to be the accepted best practice.

Because this is the last step in a project, and people can't see the right way to type it, I can see why we should make it strict.
But again, is it worth it? We aren't asking people to type </meta> tag and in follow-up projects they can see the right way.
We can add the regex back, and make it more strict. if you guys think it's worth it

I do this at the starting the code and the executed

//

!DOCTYPE html


undefined symbol: cublasLtGetStatusString, version libcublasLt.so.11

Run up the latest docker image and getting the following error
doods_1  | Traceback (most recent call last):
doods_1  |   File "main.py", line 8, in <module>
doods_1  |     from doods import Doods
doods_1  |   File "/opt/doods/doods.py", line 20, in <module>
doods_1  |     from detectors.pytorch import PyTorch
doods_1  |   File "/opt/doods/detectors/pytorch.py", line 7, in <module>
doods_1  |     import torch
doods_1  |   File "/usr/local/lib/python3.8/dist-packages/torch/__init__.py", line 191, in <module>
doods_1  |     _load_global_deps()
doods_1  |   File "/usr/local/lib/python3.8/dist-packages/torch/__init__.py", line 153, in _load_global_deps
doods_1  |     ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL)
doods_1  |   File "/usr/lib/python3.8/ctypes/__init__.py", line 373, in __init__
doods_1  |     self._handle = _dlopen(self._name, mode)
doods_1  | OSError: /usr/local/lib/python3.8/dist-packages/torch/lib/../../nvidia/cublas/lib/libcublas.so.11: undefined symbol: cublasLtGetStatusString, version libcublasLt.so.11

Docker compose file:
version: '3.2'

services:
  doods:
    image: snowzach/doods2:amd64-gpu
    ports:
      - "8088:8080"
    restart: unless-stopped
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

Output of nvidia-smi/nvcc
console@DellServer:~/docker/doods$ nvidia-smi
Mon Dec 19 11:23:18 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.216.04   Driver Version: 450.216.04   CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Quadro P600         Off  | 00000000:01:00.0 Off |                  N/A |
| 27%   42C    P0    N/A /  N/A |      0MiB /  2000MiB |      2%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

console@DellServer:~/docker/doods$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Sun_Feb_14_21:12:58_PST_2021
Cuda compilation tools, release 11.2, V11.2.152
Build cuda_11.2.r11.2/compiler.29618528_0

Hrmm... looks like some sort of incompatibility with the base OS and the image CUDA version...

The issue is that pytorch 1.13 automatically installs nvidia_cublas_cu11, nvidia_cuda_nvrtc_cu11, nvidia_cuda_runtime_cu11 and nvidia_cudnn_cu11. This conflicts with the nvidia_toolkit versions passed through from the host installation. Either revert to using pytorch 1.12 in the image or perform a 'pip uninstall nvidia_cublas_cu11' in the docker container after the pytorch 1.13 installation.

Consider this solved. Thanks.

Spooky timing - I only got around to testing this about four hours before you commented and closed, but the above library path fix did solve my issue. Thank you - Much appreciated.


EthStorage Devs Meeting #55 Agenda

Meeting Info

Nov 07, 2023, 10:00 UTC+8
Duration: 60 minutes
Meeting link
Anyone can comment on the agenda where they would like this to be discussed.

Agenda

Protocol/App/Research progress

Devnet-1 preparation: 64G shard testing
Celestia blobStream investigation

EthStorage -- sync

Fix issues (https://github.com/ethstorage/es-node/issues/65, https://github.com/ethstorage/es-node/issues/54)
Performance

performance improvement: (https://github.com/ethstorage/es-node/pull/66 [issue: https://github.com/ethstorage/es-node/issues/62])
benchmark: https://github.com/ethstorage/es-node/pull/2 update code.
run on multiple machines with mock l1 (https://github.com/ethstorage/es-node/pull/21)
Dashboard (next): https://github.com/ethstorage/es-node/issues/43 (debug and test it), add a new dashboard server to provide metrics data.

Prepare the test data of Devnet-1 and upload the 1TB blob to the chain.

Trin UPnP implementation https://github.com/ethereum/trin/pull/1022
Add U32 div/mul and mtable with last write column https://github.com/qizhou/halo2-examples/blob/master/src/vm/mem.rs
Prepare AntChain talk

Devnet 11 setup
Blob utils for Celestia:

upload blob to Celestia Mocha testnet
publish Celestia blob info to the storage contract
download the blob from Celestia on the L1 event

Proof of storage?

zkWasm dry run profiling
study zkWasm continuation and try to productize Delphi lab's segmentation

Research: Continuation related techs and methods : https://github.com/LiuJiazheng/halo2-research/blob/main/examples/memtbl.rs
GPU support: Zprize merged GPU memory slicing into mainline
Research: Formalization (Z3)

Recording: https://drive.google.com/file/d/15RvdbOJzLnkRG80HR1pFt6XXv9HGkYrv/view?usp=sharing


catalyst: Update tests to latest version.

https://github.com/catalyst-team/catalyst/releases/tag/v21.11

Codecov Report

Merging #200 (b750d40) into master (1891877) will increase coverage by 0.12%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #200      +/-   ##
==========================================
+ Coverage   92.30%   92.43%   +0.12%
==========================================
  Files          19       19
  Lines         468      476       +8
==========================================
+ Hits          432      440       +8
  Misses         36       36

Impacted Files
Coverage Δ

dvclive/live.py
98.09% <100.00%> (+0.01%)
:arrow_up:

dvclive/utils.py
100.00% <100.00%> (ø)

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 07bcd3c...b750d40. Read the comment docs.


Sara / Update images and banner on DTrader and DBot

Description
Summary of the change and/or issue that is fixed.
Changes:

fixes issue with item
...

Type of change

[ ] Bug fix
[ ] New feature
[ ] Refactor code
[ ] Update translation text
[ ] Breaking change
[ ] Dependency update
[ ] This change requires a documentation update
[ ] Release

📝Changed routes:

/dbot
/dtrader/_dtrader-video

(view full size)
(view full size)

/dtrader

(view full size)

Commit db45fe87017d249a0e63e6462cc112821639033b (https://deriv-com-git-fork-sara-fs-updateimages.binary.sx).


Adding display_name as field within edit vis metadata

Field only available when user has "display_name" feature flag enabled.
Fixed style problem within editor.

Fixes #5033
REVIEWER: @javierarce
cc @ethervoid @iriberri

:+1: LGTM

:+1:

Thanks a lot! :)

Changed only package version avoiding merge conflict with master, checked in staging, so merging and deploying!


[JA Presamp Phonemizer] Some starting consonant fixes/adjustments

This PR fixes 2 main things:

Starting consonants will no longer be inserted before syllables that start with a priority consonant. This is because most priority consonants (usually stops and affricates) are not configured in a way to handle this in Japanese voicebanks (if the end user wishes to include stop consonants anyway, e.g. when they're configured similarly to in Arpasing banks, simply remove them from under the [PRIORITY] line in the presamp.ini);
If a voice color does not contain a starting consonant in the oto, it will no longer be inserted (similar to how VC works). Now, it will insert a starting consonant from the main color if it exists, which may give undesired results.

Thinking about starting consonant again, since there are only consonants, there is not much difference between each voice color, and it would be acceptable to fall back on the main?

Not necessarily. For example, I have a voicebank with a devoiced/whisper voice color, and one with a death growl voice color. Both are special voice types and CV-only; using starting C with them would sound odd. That's why I decided on this change.


Blog is down

Pinging @annevk @domenic. Unsure of how critical it is, but I was linked to it via MDN notes section and discovered it's down. Unsure of downtime duration.

We encountered an error when trying to load your application and your page could not be served. Check the logs for your application in the App Platform dashboard.

Thanks for taking the time to alert us, we're tracking this in https://github.com/whatwg/misc-server/issues/163.


Get-Item (Resolve-Path, and maybe others?) does not trim input, causing bad side-effects

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
Noticed a dot (.) showing up in my filenames when getting the $item.BaseName property, and it turns out Get-Item and Resolve-Path doesn't trim the input from leading and trailing whitespaces.
In this minimized test case, I suffixed the path to Get-Item with 4 spaces, causing the BaseName property to return the complete file name, including the file extension:
New-Item "foo.bar" | Out-Null; "`"$((Get-Item "foo.bar    ").BaseName)`""; Remove-Item "foo.bar"
And this minimized test case throws an error that the file name "  foo.bar" cannot be found:
New-Item "foo.bar" | Out-Null; "`"$((Get-Item "  foo.bar").BaseName)`""; Remove-Item "foo.bar"
Resolve-Path behaves the same way, actually returning a path that ends with spaces:
New-Item "foo.bar" | Out-Null; "`"$((Resolve-Path "foo.bar    ").Path)`""; Remove-Item "foo.bar"
New-Item does trim trailing white-space however, so there is a discrepancy here on how input paths are handled.
Expected behavior
PS> New-Item "foo.bar" | Out-Null; "`"$((Get-Item "foo.bar    ").BaseName)`""; Remove-Item "foo.bar"
"foo"

Actual behavior
PS> New-Item "foo.bar" | Out-Null; "`"$((Get-Item "foo.bar    ").BaseName)`""; Remove-Item "foo.bar"
"foo.bar"

Error details
No response
Environment data
PS> $PSVersionTable

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

Visuals
No response

Without quotes (Get-item  foo.bar                  ).basename  works as expected.
Using quotes around "foo bar . temp"  makes the spaces part of the name.  It is valid (but unusual) to have leading spaces in a file name (trailing spaces is less usual but also valid) - or indeed in the extension.
Specifying a trim copes with case that the user didn't type what they intended, but it's a sure bet that if trim() is applied to input someone will complain that they tried to do set-content or out-file and include spaces in the name and PowerShell won't let them.
Isn't the answer to this (a) only use quotes on the command line where needed and (b) only around the characters you intend to be part of the file name ?
Does any other shell do a it as suggested ?

Notice, Windows path API always trim trailing spaces.

@jhoneill - one part of the problem is that BaseName property claims to return the file name without the file extension, so if trimming the input isn't the problem (or at least is behaving as expected), then the BaseName implementation needs to be fixed, since I would never expect anything but "foo" to be returned by that property.
As I wrote however - New-Item trims the input, which means you can never create any new files using New-Item that has trailing whitespace, which then adds another bug report to the stack if your idea that trailing whitespace should be valid(?). It does keep leading whitespace though and I have updated my report to reflect this.

Notice, Windows path API always trim trailing spaces.

Yes, but not leading ones.
dir > "   temp.txt"  Creates a file with leading spaces
dir \ > "   temp.txt  "  overwrites it because trailing spaces are trimmed.
And searching for files
ps >  dir "   temp.txt" | % {"***$($_.name)***"}
***   temp.txt***
ps > dir "   temp.txt              " | % {"***$($_.name)***"}
***   temp.txt              ***

I can put in any number of trailing spaces and that's the name that is returned even though the file name doesn't have them
BaseName is weird  - it looks like a clunky bit of string parsing inside .NET (not PowerShell). "How many letters after the final . " , "Reduce the string length by that number."
ps > dir " *" | % {"***$($_.BaseName)***"}
***   temp***
ps > dir "   temp.txt     " | % {"***$($_.BaseName)***"}
***   temp.txt ***

That does look a bug to take to the .NET folks.
Generally PowerShell doesn't change a path for you , if you put a : " > | < etc in the name or use a file name like LPT1 it finds its way into .NET and probably down into the OS, where the Windows filesystem (not .NET or PowerShell) generates the error and pushes it back up.
For other providers
dir "Cert:\CurrentUser\My\DB...23   "   returns the cert   (trims the trailing space)
dir 'HKCU:\Control Panel '  returns an error (looks for the name with a trailing space ? )
Possibly the providers could impose some consistency, but I'm not convinced the effort to do it would be justified

It is legal to have trailing spaces in the name (base name) but not in the extension. What I wrote implies that the file-name-including-extension can have trailing spaces which isn't correct, sorry for creating confusion.

Basename is implemented by .Net, does look like a bug and should be sent over there (perhaps by the PowerShell team).
PowerShell providers appear to be lazy and pass unmodified names to whatever the providing for, I think (for example) the registry API will create a key or value with spaces at the end, but the file system trims spaces from the end of the path (so after the extension).  Having the registry provider treat some legal paths as invalid to make all providers do the same thing is probably not a good path to go down
No, what @iSazonov  said above is correct: the windows API trims anything at the end of the path. I gave an example of spaces around the dot between name and extension, which works in Windows explorer , PowerShell etc. But if you try to add spaces at the very end, they're removed in PowerShell and Explorer.  I don't know what rules linux or mac file systems apply, and can't test from the machine I'm on, but I would say it is for the file system to decide how a given name is handled (if at all -the windows fs won't let you use "lpt1" but I think linux will, and I think there are differences over illegal characters, the provider shouldn't intervene).

TLDR  Basename is bug for .NET , the rest is by design.

TLDR Basename is bug for .NET , the rest is by design.

Basename is not .Net property, it comes from PowerShell ETS.

TLDR Basename is bug for .NET , the rest is by design.

Basename is not .Net property, it comes from PowerShell ETS.
https://github.com/PowerShell/PowerShell/blob/ee6bc9527c2596f048088fa7b396d2664a11ad08/src/System.Management.Automation/engine/TypeTable_Types_Ps1Xml.cs#L667
https://github.com/PowerShell/PowerShell/blob/ee6bc9527c2596f048088fa7b396d2664a11ad08/src/System.Management.Automation/engine/TypeTable_Types_Ps1Xml.cs#L803

Then that's my mistake. Should have looked harder -
if ($this.Extension.Length -gt 0){$this.Name.Remove($this.Name.Length - $this.Extension.Length)}  else{$this.Name};

I'd rewrite that as $this.name -replace '\..*?$',''

Thank you for the input and help! :)
And just to be super clear - do we still think that:
PS> New-Item "foo.bar" | Out-Null; "`"$((Resolve-Path "foo.bar   ").Path)`""; Remove-Item "foo.bar";
"C:\test\foo.bar   "

is not a bug, and does not need to be fixed? To me that is still quite weird as well. IMO Resolve-Path should actually resolve and return the actual file name, and not be affected by how the input is given!?

A bit of double think here. I don't think it is strictly a bug, but I do agree that what we expect to come back is the actual path of the file.
In this example we would not expect something which comes back from Resolve-Path  and is deemed OK by Test-Path to produce something invalid when used with Join-Path
 >$myDir = resolve-path  $SomeStringWeDoNotControl
> if ($myDir -and (Test-Path $myDir) ) {$myPsDir = Join-Path $mydir "PowerShell"} else {Write-warning "Bad Directory"}
> $mypsdir
C:\Users\James\Documents     \PowerShell

.Net can't decide what to do.  It trims trailing spaces from the full path, but keeps them from the name.  It should trim both or neither.
 Get-item 'C:\Users\James\Documents\PowerShell\profile.ps1  ' | %{ "'$($_.fullname)'", "'$($_.name)'" }
'C:\Users\James\Documents\PowerShell\profile.ps1'
'profile.ps1  '

So Get-Item I would leave untouched but ask the .NET folks to be consistent, and I'd have all the -path commands trim their inputs on the right only  (I haven't checked if  split-path keeps or removes trailing spaces, but I'd guess it keeps them)

The engine WG reviewed this issue. It turns out to be an issue with FileInfo on Windows. Simply put, FileInfo somehow trims the path passed in when it should not. Then its FullName and Extension properties have the trailing spaces trimmed, but its Name property still has the trailing spaces kept. For details, see https://github.com/dotnet/runtime/issues/70524. Given that it's a .NET issue, we will resolve it as external.


[jvm-packages] update rapids dep to 23.12.1

To fix https://github.com/dmlc/xgboost/issues/9760. With this PR, XGBoost GPU can support scala 2.13

Hi @hcho3, Could you update the CI scripts to compile xgboost spark gpu and update to maven repository?

Merging this now. The follow-up PR is at #9983


Snap: Add system-gitconfig plug to read /etc/gitconfig

Reference this code  to add plug, and maybe could resolve issue #6226.

@ifurther Thank you for your great work!  This is totally new to me, but it does look like it, together with a corresponding request to the Snapcraft Team, would resolve issue #6226.
I was studying https://github.com/o2sh/onefetch/issues/588, and looks like there is another commit that maps $HOME to $SNAP_REAL_HOME for a more complete fix, see https://github.com/o2sh/onefetch/commit/923e486a52a8c7441118a3e1ebeb82380fbf2c86
Could you please look into that and build upon this PR?  Many thanks!


Panini and variables

Not sure whether this should be filed as foundation-email  or a panini bug.
How can we reproduce this bug?
Place a variable in the top of a file and then add a panini {{#each global}} which references the variable and uses a Global.yml Data source. The contents of the variable is ignored
Write out the HTML (or Inky code) that causes the issue.
___
variableName: name
___

 {{#each global}}

The {{variableName}} is part of {{global-data-variable}}

 {{/each}}

What did you expect to happen?
The variableName to be displayed within the outputed content
What happened instead?
The variableName does not display within the outputed content
What email clients does this happen in?
all

Found the solution:
change the reference to {{variableName}} to be {{../variableName}} so my code above becomes:

 {{#each global}}

The {{../variableName}} is part of {{global-data-variable}}

 {{/each}}


Add delete entities api and impl Clone for Client

We need to implement Clone to extract the client in the web framework.
Signed-off-by: kingzcheung<EMAIL_ADDRESS>see https://github.com/milvus-io/milvus-sdk-rust/issues/38

see https://github.com/milvus-io/milvus-sdk-rust/issues/38

Hi @kingzcheung, lgtm but need to resolve the conflicts, look like you need to rebase the main branch.

Also please ensure only one commit in PR

resolve #38


Documentation Issue

Hey,
Love the library! It's the first out of 8-10 that I tried that positioned properly, rendered properly, and didn't cause odd performance issues.
In your docs you have it marked as position: ["top", "bottom", "left", "right"] but in practice/the code it's actually placement: ["top", "bottom", "left", "right"].
Cheers and thanks for the great library!

mikecx,
Hey thanks for the heads up! I'll correct it and push the changes soon!


[RELAY][OP] Relay Operator Sprint

Now that the Relay RFC is being merged and we are stabilizing the type inference interface, we should sprint to add new operators to relay to make it on parity with NNVM.
#1798 shows an example on how to do so for conv2d operator.
General Steps of Porting

Implement the TypeRelation function, when necessary

The shapes represented by IndexExpr(symbolic integer)

When possible, support symbolic shape inference
You can, however, get the integer out from symbolic shape if it is a must, that will require the inference to work on concrete shapes.

User reporter->Assign to set the inferred result
Use reporter->AssertEQ to assert symbolic integer equivalence

It will return false if there is an unsatisfied constraint

Use tvm::Attrs to replace dmlc::Parameter
We switch to directly create python wrappers by calling into positional functions so that the operator signature is explicit in python

General Principles

Numpy consistency, always consistent with numpy

All binary operators broadcast
This means we will use add, subtract instead of broadcast_add, broadcast_sub ...
elemwise_add version will not be supported for now as we can just use the broadcast version

Consistent with nnvm when possible
Fields in Attrs

Use concrete types when possible(int, string, bool)
If you need None, you can use IndexExpr, which gives you that

List of Operators to be covered
Generally, we need to cover everything we have so far  https://docs.tvm.ai/nnvm_top.html
Please use this issue to coordinate what you will be working on. As we expect things to move quickly, try to do "fine grained locking" and only claim things that you are working on right now and aim to get things in a few days.
The List
Level 1: Common Basic Ops
Enough to get MLP

[x] nn.dense
[ ] nn.relu
[ ] tanh
[ ] sigmoid
[x] exp
[x] log
[x] sqrt
[x] add
[x] subtract
[x] multiply
[x] divide
[x] mod
[x] nn.batch_flatten
[x] concatenate
[ ] nn.softmax
[ ] nn.log_softmax
[ ] nn.batch_norm
[ ] nn.dropout
[x] expand_dims

Level 2: Convolutions
Enough to get convnet

[x] nn.conv2d
[ ] nn.conv2d_transpose
[x] nn.max_pool2d
[x] nn.avg_pool2d
[x] nn.global_max_pool2d
[x] nn.global_avg_pool2d
[ ] nn.pad
[ ] nn.lrn

Level 3: Additional Math And Transform Operators

[x] reshape
[x] copy
[x] negative
[x] floor
[x] ceil
[x] round
[x] trunc
[ ] clip
[x] abs
[x] leaky_relu
[x] tranpose
[ ] split
[ ] squeeze
[ ] take
[ ] full
[ ] zeros
[ ] ones
[ ] zeros_like
[ ] ones_like

Level 4: All broadcast and reduction functions that are not in previous level

[x] pow
[x] less
[x] greater
[x] less_than
[x] greater_than
[x] right_shift
[ ] left_shift
[ ] maximum
[ ] minimum
[ ] sum
[ ] max
[ ] prod
[ ] argmax, argmin
[ ] strided_slice
[ ] broadcast_to
[ ] where

Level 5: Vision Operators

[ ] image.resize
[ ] vision.multibox_prior
[ ] vision.nms

I had 'implemented' some elem wise function which I need for ad (negative, multiplication, division)
('implemented' because it isnt possible to lower code right now)
I can take some operators, and I dont have any particular preference.

I could get through resize operator (will PR once #1798 is merged) to start with and proceeding with transforms.

I strongly agree with the numpy consistency, e.g. nnvm.symbol.flatten should be renamed.

I can work on some shape-related APIs.

@tqchen
How about relaying an assert on a condition which involve two variables ?
Ref. Transposed convolution where channels should divide groups and both are variables.

@srkreddy1238
I am starting with expand_dims, the easiest one

One note about int32 vs int64 when constructing constant was raised by @junrushao1994 @srkreddy1238 . This is an issue we should think about now. int32 will likely cause some regression on large arrays which need to be fixed. I think we should prefer int64 when possible for constants, and let the compiler to automatically detect and downgrade to int32.
A temporary workaround is always to keep the inferred type consistent with the input  data type, and we can make the switch more easily in one place later

Another thing I am concerning is user friendliness.
First, examples provided by Python API docs should be at least runnable by copy-pasting, like PyTorch (https://pytorch.org/docs/stable/tensors.html) or NumPy (https://docs.scipy.org/doc/numpy/reference/generated/numpy.expand_dims.html).
Second, Python API docs should be self-contained, at least those designed for DL practitioners who may not take a good look at the C++ code.
It does not seem to be a big deal for now, but we should put more effort into it in the future.

+1 for API docs friendless, I would recommend we do it now than later. Maybe I am having a bad lead example in the conv2d docs as it was pretty minimum, I will send an updated PR to update that, and let us make sure the new ops are being well documented with examples, especially non-trival ones

Expr like below is not getting simplified !!
TensorTypeNode(float32, [n, c, int32((float32(100)*2.000000f)), int32((float32(200)*2.000000f))])
any idea ?

The eager CSE is done among integer expression only so far. For floating points, we still need to call explicitly simplification, or use as_const_int to get out and explicit simplify

I am going to grab transpose

@junrushao1994 transpose should be in the list, sorry the list was not complete

I am taking/had taken multiply/divide/mod/relu/tanh/sigmoid/negative.

@MarisaKirisame
I have covered multiply, divide, mod, tanh, sigmoid, negative already in #1813

To keep all of us on same page #1813  also covers
multiply, mod, tanh, sigmoid, negative, floor, ceil, trunc, abs, pow, resize, upsampling, batch_flatten, pool2d and global_pool2d

expand_dims is in #1819
comparison greater greater_equal less less_equal not_equal equal  is in #1824

take right_shift

take left_shift

I had done zeros_like and ones_like. I think I will take zeros and ones too for symmetricity

attempting maximum

attempting minimum

Attempting pad

take clip

take sigmoid

take softmax

take full and full_like (the latter appears to be missing from the list even though it's an NNVM op)

take mutibox_prior and nms

Some random notes: should we, or is there any tools could, do runtime type checking on the relay's Python API side?

@junrushao1994 can you elaborate on what you mean?

@tqchen Sorry, I mean sanity check. It is not related to relay's type, just wondering if it is necessary to add some sanity checks to safeguard type safety of cffi.
For example, the signature of some function is def f(a: List[int], b: int), but python won't check actual type of a and b. If f directly passes a and b to ctypes, who doesn't seem to do sanity check either. In this case, if a and b are not of proper types, the code crashes without a informative error message.

I think there is a python parser that does the similar thing but needs to confirm with @jroesch @joshpoll

@tqchen Sounds cool!

You can do this with mypy types, see #1781 for an example. We could add type annotations to the operators, which will provide the sanity checks you want. Mypy is a static analyzer, so in order to get its benefits you need to run it separately or have it integrated into your IDE.

taking conv2d_transpose

@tqchen  how to handle multiple outputs? i was trying dropout and batchnorm, both have multiple outputs.
In RELAY_REGISTER_OP, like set_num_inputs, do we have something like set_num_outputs?
I think currently Array<Type>& types will have only (inputs + one output)

multiple outputs is needed for split too.

@siju-samuel @srkreddy1238 multiple output is possible only by wrapping all of them in a tuple type

I'll take batch_norm and dropout as well, to finish out level 1

i started with reduce ops, you can do with batch_norm & dropout

attempting where

Attempting split to conclude Level 3

Will attempt prod

Thanks to everyone for the hard work on getting 99% of the way there. I'm making a push to now add the compute and scheduling behavior for all of these operators which should enable users to use Relay for end-to-end inference tasks, enable new frontends and more. If you you would be interested in helping read more here: https://github.com/dmlc/tvm/issues/2051.

@tqchen I believe all listed operators have been implemented, could you double check?

Thanks to everyone for the hard work, this issue is closed as most ops are in, we will follow up in #2051


Host does not sync with other clients

Seems like the host does not move on the clients when launching 2 instances of the application (same machine). the client does sync on the host window tho.

@duart38 I need more specifics to address this issue. Do you have a project that I could test with?

Same thing just happened to me with the error :
get_node: (Node not found: "/root/TestWorld" (absolute path attempted from "/root/Networking") on remote func create_self_on_peers

After redownloading the code, the problem still persists @likeich
Code: if get_node(parent_path).get_node_or_null(name): return # If node exists, stop
Error: Attempt to call function 'get_node_or_null' in base 'null instance' on a null instance
this is on the create_self_on_peers() function

My probem fixed by me deleteing the syncher then adding a new one. Custom vars still don't work though.

i get "get_node: (Node not found: "/root/Map-1/1" (absolute path attempted from "/root/Networking").)" <- this error when I run Networking.create_player function, deleting the syncher and readd it doesnt work for me :\


fix: update savedatasetmodal message

SUMMARY

Fixed the overwrite message dataset in modal
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #12433 (df371e2) into master (75f927b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #12433   +/-   ##
=======================================
  Coverage   62.76%   62.76%
=======================================
  Files        1015     1015
  Lines       49526    49526
  Branches     5080     5080
=======================================
  Hits        31084    31084
  Misses      18233    18233
  Partials      209      209

Flag
Coverage Δ

javascript
60.75% <ø> (ø)

python
64.07% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...rontend/src/SqlLab/components/SaveDatasetModal.tsx
87.50% <ø> (ø)

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 75f927b...df371e2. Read the comment docs.

Codecov Report

Merging #12433 (df371e2) into master (75f927b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #12433   +/-   ##
=======================================
  Coverage   62.76%   62.76%
=======================================
  Files        1015     1015
  Lines       49526    49526
  Branches     5080     5080
=======================================
  Hits        31084    31084
  Misses      18233    18233
  Partials      209      209

Flag
Coverage Δ

javascript
60.75% <ø> (ø)

python
64.07% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...rontend/src/SqlLab/components/SaveDatasetModal.tsx
87.50% <ø> (ø)

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 75f927b...df371e2. Read the comment docs.


Added a fix to ensure location_info requests are captured accurately …

…in the log.

I actually find your previous commit more future proof. If later we end up adding another api that takes query parameters we will need to update this line as well.

Perhaps but it is unclear what the difference is between "data" and "params" and why is it different in location_info? If I knew that more for sure then I could change the logic to be indeed future proof while being careful of committing to something based on an accident.


program proceeds as normal; doesnt try to download anything

it says a lot of "precheck failed using db" i dont know what that means or if its relevant
log file attached. apologies if its a retarded problem.
ofscraper_main_profile_2024-06-29.log
if you need more info just say

Yeah a lot of things have been moved in the code base
It seems that everything is okay now

hm, for me the newest version doesnt try to check for anything to download, you select the model page and then it says its finished and asks if you want to go again

How did you install?
I'll check the code base for that method

Okay
Which executable
And if that is the case you need to get a newer one to fix the issue

2024.07.01_793652_3.10b_eec31b5_package ofscraper_windows_eec31b5.exe

Try this one
https://github.com/datawhores/OF-Scraper/releases/tag/8c96de8

that works. thanks for the help.


Update handling of null aggregate values

Updated methods to handle null values for aggregate calculations by changing the return type of the getActualAggregate function to '?float', so that it can now allow null values. This change provides more flexibility by not forcing a 0 value return when the aggregate calculation is not possible and aids in better error management and debugging.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

7 of 9 (77.78%)  changed or added relevant lines in 3 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.4%) to 94.377%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Rules/Aggregate/AbstarctAggregateRuleCombo.php
5
7
71.43%

Files with Coverage Reduction
New Missed Lines
%

src/Rules/Aggregate/AbstarctAggregateRuleCombo.php
1
80.0%

src/Schema.php
1
78.72%

Totals

Change from base Build<PHONE_NUMBER>:
-0.4%

Covered Lines:
772

Relevant Lines:
818

💛  - Coveralls


New Test-DbaIdentityUsage

This module can execute against a server, set of servers, database or
set of databases and return the IDENTITY seed columns, their current
value, the max allowable value, and the % usage of that range.

Nice work! Love this command - total spirit of PS + SQL! 🥇


Cannot assign React.createRef() to this.[property] because inexact object type [1] is incompatible with exact RefObject

I understand that Flow doesn't presently support React.createRef() type definitions.
From React's source code, I found these:
export function createRef(): RefObject {
  const refObject = {
    current: null,
  };
  if (__DEV__) {
    Object.seal(refObject);
  }
  return refObject;
}

export type RefObject = {|
  current: any,
|};

I tried using this snippet in my code, but I get an error instead:
Cannot assign React.createRef() to this.[property] because inexact object type [1] is incompatible with exact RefObject [2].

I've updated to the latest React and Flow versions, still getting these though!

Could you please reproduce it on flow.org/try

I'm not sure how I can introduce React into the Try Flow environment, but I found a solution:
Changing;
export type RefObject = {|   current: any, |};
to:
export type RefObject = {   current: any, };

Did you read the end of that issue? createRef api is supported for a few last versions.
https://github.com/facebook/flow/blob/master/lib/react.js#L219

@fterh you can write import React from 'react' on Try Flow environment.

It would be nice if the flow documentation for refs was updated. I tried typing a ref using the createRef API today, but couldn't get it to work.
I tried something like this:
type Ref = { current: null | HTMLElement };

export default class SomeClass extends React.Component<Props> {
	someRef: Ref;

	constructor(props: Props) {
		super(props);
		this.someRef = React.createRef();
	}

	render() {
		return (
			<Component ref={this.someRef} />
		);
	}
}

This gives me an error:
Cannot create Component element because a callable signature is missing in Ref [1] but exists in function type [2] in property ref.
Where [1] refers to the Ref type and [2] refers to the creatRef function type definition in flow.
So, what did I do wrong / should I do to fix this?

@im-martijn Documenting every type definition is wasting of resources. Read actual definitions. They are quite clean and always in current state.
https://github.com/facebook/flow/blob/master/lib/react.js#L189

Yeah, I did look at that, but didn't get it completely. New to flow / typing in general.
declare type React$Ref<ElementType: React$ElementType> =
  | {current: React$ElementRef<ElementType> | null}
  | ((React$ElementRef<ElementType> | null) => mixed)
  | string;

This is how I decided to use: { current: null | HTMLElement }. I guess I'm not sure how to interpret React$ElementRef<ElementType>.

React$Ref is global alias of
import * as React from 'react';
var a: React.Ref

same true for all react types.

Ah, great, thanks.

The current flow type for Ref and createRef are incorrect, the type parameter is "specialized" as:
ElementType: React$ElementType

where we have React$ElementType:
declare type React$ElementType =
  | string
  | React$StatelessFunctionalComponent<any>
  | Class<React$Component<any, any>>;

This means Flow does not allow us to specify references to DOM elementes (i.e. HTMLElement). This is incorrect as references to DOM elements is documented behavior, https://reactjs.org/docs/refs-and-the-dom.html

React.Ref<'div'> is working but current returns an "unkown type":
[flow] Cannot call this.ref.current.focusbecause propertyfocusis missing in propertycurrent of unknown type [1]. (References: [1])
Shouldn't it return an HTMLElement ?


New models?

Hey, what's about new models, such as Pi 4 variants?
This lib is great but I'm really missing the new models and new features as well.
Is this project also abandoned like it's predecessor?

No the project is still alive. I'm working to move some features to the new system.device.iot.
When the Microsoft project will be ready, than this one will die.
I do not have a PI4, but I can add it if you need.

Sure, it would be great, thank you! I tried to use some other information what can be found in the files /proc/cpuinfo and /proc/meminfo. Let me know, if you need these snippets.

Chcek if the result is like this, or, better, copy and paste me the result you get:
processor : 0
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 1
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 2
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 3
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
Hardware : BCM2835
Revision : c03111

Hi there,
Can this lib. be used on a Pi 4b?
If not then could you please let me know how else I can access Pi 4b peripherals & gpio using c# / mono.
Thank you!

@CsharpAndVB  Yes.

Super. Thank you!

Hi,
I just compiled the Blink example in VS2019 community, copied over Blink.exe and RaspberrySharp.dll to the Pi 4b and tried to run it.
Unfortunately it just crashes and the DOS window disappears after half a second or so.
The initial connection line causes the crash:
conPin = new GpioConnection(ProcessorPin.Gpio16.Output());
If I remove all references to the GPIO then the program works (obviously).
Any help getting this working would be most appreciated.
Thank you

Hi,
I just compiled the Blink example in VS2019 community, copied over Blink.exe and RaspberrySharp.dll to the Pi 4b and tried to run it.
Unfortunately it just crashes and the DOS window disappears after half a second or so.
The initial connection line causes the crash:
conPin = new GpioConnection(ProcessorPin.Gpio16.Output());
If I remove all references to the GPIO then the program works (obviously).
Any help getting this working would be most appreciated.
Thank you

Did you run as sudo? That’s the issue 99% of the time.

Hi,
I just compiled the Blink example in VS2019 community, copied over Blink.exe and RaspberrySharp.dll to the Pi 4b and tried to run it.
Unfortunately it just crashes and the DOS window disappears after half a second or so.
The initial connection line causes the crash:
conPin = new GpioConnection(ProcessorPin.Gpio16.Output());
If I remove all references to the GPIO then the program works (obviously).
Any help getting this working would be most appreciated.
Thank you
Did you run as sudo? That’s the issue 99% of the time.

Hi,
Sorry, I'm new to the Pi therefore I don't know how to do that.
I've tried "sudo Blink.exe" in the Pi terminal but this doesn't work?
How do I do it?
Thank you!

@JTrotta
Hi, I just tried the demo. app. The log file also reports the same error "Object ref. not set to an instance of an object".
Thanks

@JTrotta
Hi, sorry to trouble you but could you please help me get this working on a 4b?
I'm just trying to get the BLINK example working and it appears the DRIVER object is NULL.
Thank you

you tryed "sudo mono blink.exe" ? Unfortunatly i does not have 4b so i can't really troubleshoot
++

@Graveen
Hi, yes - I've tried that and I get the same "Object ref. not set to an instance of an object." error.
If you run the Blink program on your windows machine you will see the same error when the program tries to create a new IO connection.
Thanks for your help!

I think the problem is that the software actually isn't compatible with the 4b. I notice there's a GetModel function and the 4b is not listed in the Switch statement, so "unknown" is returned.
@JTrotta
Can you please add the 4b to this?
Thank you

Hello,
I do not have a 4b yet. As soon as I got a 4b, I will add it to RaspberrySharp.

@JTrotta
Thanks, but that could be months from now & I was hoping to get this working soon.
I will try to get it working myself but I can't get remote debugging to work either so it's all a bit of a pain! :-)


Bug: Targets with external dependencies but no generated dependencies can fail to build after bazel clean --expunge

Describe the bug
Running bazel clean --expunge deletes the external repositories. Only the Bazel Generated Files target causes the external repositories to be repopulated.
Reproduction steps

Run bazel clean
Build a target that has external dependencies (mainly headers) but not generated file dependencies
See that the build fails not being able to find the headers

Expected behavior
The build should cause bazel to fetch the external repositories so there are no build failures.
Versions

rules_xcodeproj: 0.2.0

Current workaround: regenerate the project. The project generation causes all of the needed external repos to be fetched.

This won't be an issue in Build with Bazel, since the bazel build variation used there will be similar to the generated files incantation, causing all external repos to be fetched.
For Build with Xcode, I'm thinking that we probably should just have all targets depend on Bazel Generated Files, have it just fetch the repos if there are no generated files, and probably merge Setup into it?