Before connecting to a server, see a list of available Local LAN game servers by custom name

Version Number and Operating System(s):
Macos 10.12.6, Forge v24.1, Unity v5.6.1f1
Expected behavior:
Before connecting to a server, see a list of available Local LAN game servers by custom name:
John's game
Maria's game
XYZ's game
Actual behavior:
List of Local LAN game servers can only have a name made of a device IP/port or hardcoded value:
Game 1
Game 2
Game 3
Steps to reproduce:
Using "RefreshLocalUdpListings" & "NetWorker.localServerLocated += LocalServerLocated;", one can retrieve all the local servers & store them in a list which would show to a client the available LAN games.
The types stored in the list are structs of type BroadcastEndpoints. They contain a string Address, ushort Port & bool IsServer.
If the BroadcastEndPoints were to have an additional string field (i.e: custom), then Hosts can set that field as a custom name that is broadcasted along with the Address, Port & IsServer values.
Clients can then use that custom name to show the game session's name instead of something else.
This could mostly be helpful for mobile devices:
Instead of having a list of local LAN games like game1,game2,game3...If we use the name of the device we can have a list of available local LAN games like John's game, Maria's game, XYZ's game...
[Optional] Discord Username:
vikMage5#1653

I am interested in implementing this feature. I remember trying before and sending a string as part of the struct sent during RefreshLocalUdpListings was not sufficient to solve this. Anyone have some guidance here?

I'll just put this here too so people coming here will know that we have already discussed this on discord pointing out the PR that is linked above your comment.

Fix in PR #266 has been merged.


Add default asp-fallback-test for the script TagHelper

I think there should be a default asp-fallback-test which is used if a specific one isn't already provided.
It should be possible to use a DOM event like scriptElement.onload to determine whether or not the script was successfully loaded. This might not catch quite everything a custom test would like if an empty 200 response was returned instead of the expected script, but I suspect this would catch the vast majority of script load failures.
Here is an example test the @glennc added to http://packagesearch.azurewebsites.net/. A complicated fallback test could probably be omitted if a default was provided.
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-route.js"
        asp-fallback-src="~/lib/angular-route/angular-route.min.js"
        asp-fallback-test="(function() { try { window.angular.module('ngRoute'); return true; } catch(e) { return false; } })()">
</script>

In order to accomplish this we'd need to render onload attributes on the rendered Script tags from our ScriptTagHelper. That's an approach that's been discouraged in modern HTML.
The other potential alternative would have been to create script elements in JavaScript, attach onload events and then append them to the DOM. The problem with that approach is that you break the synchronous script injection behavior made possible by the ScriptTagHelper. Attempting to work around synchronous script injection is discussed in depth here.
@Eilon / @danroth27 I suggest closing this issue as will not fix.


Swiftbackup restore I see entries but they give error

Hi,
I know this is a bit not the classic way to do backup...
I just restored my phone on Android 12 with SwiftKey Backup and FreeOTP displays the list of entries but when I click on any of them I get a big ERROR written.
Do you know what might be the cause or what other dependency I might have to also restore?
I feel a bit lost and I hope I did not lose all of the entries I had.

had a broken backup, next one worked


style inline suggestions

fixes: https://github.com/PolymerLabs/arcs/issues/1874
following https://codepen.io/yuin-chien/pen/aaYqVR

no, animation will not appear in regular suggestions, that's what the inline attribute is for.


Charm is in active/idle status even if it fails to get a certificate due to a 403 forbidden on the httprequest endpoint

Bug Description
If you deploy the charm and give it credentials and an endpoint that ends up with a 403, the charm is still reporting active/idle status.
To Reproduce

Deploy the charm and give it credentials to connect to an endpoint that results in a 403
See that it's in active/idle status with no indication of an error. Looking at juju debug-log is required

Environment
Running on Charmed K8s on top of Openstack. Using Juju 3.1.8.
Relevant log output
unit-httprequest-lego-k8s-0: 07:49:55 ERROR unit.httprequest-lego-k8s/0.juju-log certificates:123: Exited with code 1.
Httprequest can serve multiple TLS requirers. If it serves 2 requirers, and for the first one it returns 403, and for the second it returns 200, what should the status be?
Also, if there's a network error that prevents the endpoint from being reached for a moment, should the charm status be Blocked? Should the charm make curl calls every x min, to the provided endpoint to make sure it is continuously reachable? I am tempted to say no.
I understand the concern regarding the lack of feedback when requests don't work as expected, however I'm not convinced we should change the charm status.

I think if it serves 2 requirers and one returns 403 and the other returns 200 the status should reflect that one has failed.
If there's a network error that prevents the endpoint from being reached for a while charms typically retry up to a fixed number of times and then either go into error state or blocked state.
I'm not sure why you're reluctant to change charm status. How else is the user supposed to know that there's been a problem getting a certificate?

Hello @mthaddon
This ticket was closed after implementing the solution suggested by @gruyaume above.
We can reopen or create a new ticket if the solution is not sufficient.


Add updateAllowedCombinations to AuthenticationStrengthPoliciesClient

It turns out you can't update the allowedCombinations field using the normal update endpoint. You'll get the following error
AuthenticationStrengthPoliciesClient.BaseClient.Patch(): unexpected status 405 with OData error: methodNotAllowed: Combinations can only be updated using updateAllowedCombinations action.: Combinations can only be updated
│ using updateAllowedCombinations action.

Instead there is a specific endpoint you must use documented here:
https://learn.microsoft.com/en-us/graph/api/authenticationstrengthpolicy-updateallowedcombinations?view=graph-rest-1.0&tabs=http
Currently I'm passing through the whole AuthenticationStrengthPolicy object but technically it should only be the allowedCombinations field without the display name etc.
If it's preferred I can create an object that only has allowedCombinations for use here but wasn't sure if that was needed given that Graph seems to ignore the extra fields

Thanks for the feedback @manicminer, I've updated the code to create a new AuthenticationStrengthPolicy with only the allowedCombinations field set.
Is this sufficient or should I create a new struct in models.go for use here?


Elite-C Compatiable?

Hello,
I'm interested in building this keyboard but I really want a USB-C Port.
Can I swap the Arduino with an Elite-C for the pcb mount?

https://keeb.io/products/elite-c-low-profile-version-usb-c-pro-micro-replacement-atmega32u4

Compatible with all Pro Micro-based PCBs

Solved


Showdown generates incorrect markdown for tasklists

I'm using GFM and tasklists with Showdown and it creates incorrect markdown from html.
Showdown Setup
Version: 1.9.1
var converter = new showdown.Converter({
  tasklists: true
})
converter.setFlavor('github')

converter.makeHtml
const initialValue = `
- [x] This task is done
- [ ] This is still pending`

const htmlString = converter.makeHtml(initialValue)
console.log(htmlString)

Output

<input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;" checked> This task is done

<input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;"> This is still pending

converter.makeMarkdown
const markdown = converter.makeMarkdown(htmlString)
console.log(markdown)

Output
- <input type="checkbox" disabled="" style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;" checked="">

 This task is done
- <input type="checkbox" disabled="" style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;">

 This is still pending

As you can see, converting back to markdown generates a mix of markdown and html.
Complete code at https://codesandbox.io/s/showdown-example-n3dyv.
Check the output in the Sandbox console

I can confirm the issue. Any idea for a workaround or a solution?

I just created a PR to fix this issue. Hope it helps.

I was trying to find the reason for this behavior and stumbled upon this PR. Anyone can get this merged? The PR looks good to me.

any update on this subject ?


No Issue, just thanks

No issues, I just wanted to thank you for fixing this project. I saw it was broken and not working in react 18, and you commented that you updated it and I just implemented it with your codesandbox and it works great, no issues whatsoever. I got an error at first, but didn't change some of the props to what you updated them.
Great work and it pushed to vercel with no errors :)

No issues, I just wanted to thank you for fixing this project. I saw it was broken and not working in react 18, and you commented that you updated it and I just implemented it with your codesandbox and it works great, no issues whatsoever. I got an error at first, but didn't change some of the props to what you updated them.
Great work and it pushed to vercel with no errors :)

Sorry to late reply. I updated.


Flaky test MKLDNN_BASE.MKLDNNSum

http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/master/1319/pipeline
Cpp: MKLDNN+GPU
[0;32m[----------] 2 tests from MKLDNN_BASE
[ RUN      ] MKLDNN_BASE.MKLDNNSum
format: 8, 33
format: 50
format: 8, 33
format: 50
format: 8, 33
format: 50
Verifying: Normal NDArray [279936] with Normal NDArray [279936]
Verifying: Normal NDArray [279936] with Normal NDArray [279936]
Verifying: Normal NDArray [279936] with Normal NDArray [279936]
Verifying: Normal NDArray [279936] with Normal NDArray [279936]
Verifying: Normal NDArray [279936] with Normal NDArray [279936]
Verifying: Normal NDArray [279936] with Normal NDArray [279936]
Verifying: Normal NDArray [279936] with Normal NDArray [279936]
Verifying: MKLDNN NDArray [279936] with MKLDNN NDArray [279936]
Verifying: MKLDNN NDArray [279936] with MKLDNN NDArray [279936]
Verifying: MKLDNN NDArray [279936] with MKLDNN NDArray [279936]
Verifying: MKLDNN NDArray [279936] with MKLDNN NDArray [279936]
Verifying: MKLDNN NDArray [279936] with MKLDNN NDArray [279936]
Verifying: MKLDNN NDArray [279936] with MKLDNN NDArray [279936]
Verifying: MKLDNN NDArray [279936] with MKLDNN NDArray [279936]
Verifying: Reshaped MKLDNN NDArray [279934] with Reshaped MKLDNN NDArray [279934]
Verifying: Reshaped MKLDNN NDArray [279934] with Reshaped MKLDNN NDArray [279934]
Verifying: Reshaped MKLDNN NDArray [279934] with Reshaped MKLDNN NDArray [279934]
Verifying: MKLDNN NDArray with different memory layout 1/2 [279936] with MKLDNN NDArray with different memory layout 1/2 [279936]
Verifying: MKLDNN NDArray with different memory layout 1/2 [279936] with MKLDNN NDArray with different memory layout 1/2 [279936]
Verifying: MKLDNN NDArray with different memory layout 1/2 [279936] with MKLDNN NDArray with different memory layout 1/2 [279936]
Verifying: MKLDNN NDArray with different memory layout 1/2 [279936] with MKLDNN NDArray with different memory layout 1/2 [279936]
Verifying: MKLDNN NDArray with different memory layout 1/2 [279936] with MKLDNN NDArray with different memory layout 1/2 [279936]
Verifying: MKLDNN NDArray with different memory layout 1/2 [279936] with MKLDNN NDArray with different memory layout 1/2 [279936]
Verifying: MKLDNN NDArray with different memory layout 1/2 [279936] with MKLDNN NDArray with different memory layout 1/2 [279936]
Verifying: Reshaped MKLDNN NDArray with different memory layout 1/2 [279934] with Reshaped MKLDNN NDArray with different memory layout 1/2 [279934]
Verifying: Reshaped MKLDNN NDArray with different memory layout 1/2 [279934] with Reshaped MKLDNN NDArray with different memory layout 1/2 [279934]
Verifying: Reshaped MKLDNN NDArray with different memory layout 1/2 [279934] with Reshaped MKLDNN NDArray with different memory layout 1/2 [279934]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: Normal NDArray [34848] with Normal NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: MKLDNN NDArray [34848] with MKLDNN NDArray [34848]
Verifying: Reshaped MKLDNN NDArray [34846] with Reshaped MKLDNN NDArray [34846]
Verifying: Reshaped MKLDNN NDArray [34846] with Reshaped MKLDNN NDArray [34846]
Verifying: Reshaped MKLDNN NDArray [34846] with Reshaped MKLDNN NDArray [34846]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/2 [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: Reshaped MKLDNN NDArray with different memory layout 1/2 [34846] with Reshaped MKLDNN NDArray with different memory layout 1/2 [34846]
Verifying: Reshaped MKLDNN NDArray with different memory layout 1/2 [34846] with Reshaped MKLDNN NDArray with different memory layout 1/2 [34846]
Verifying: Reshaped MKLDNN NDArray with different memory layout 1/2 [34846] with Reshaped MKLDNN NDArray with different memory layout 1/2 [34846]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: Reshaped MKLDNN NDArray with different memory layout 1/4 [34846] with Reshaped MKLDNN NDArray with different memory layout 1/4 [34846]
Verifying: Reshaped MKLDNN NDArray with different memory layout 1/4 [34846] with Reshaped MKLDNN NDArray with different memory layout 1/4 [34846]
Verifying: Reshaped MKLDNN NDArray with different memory layout 1/4 [34846] with Reshaped MKLDNN NDArray with different memory layout 1/4 [34846]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/4 [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: Reshaped MKLDNN NDArray with different memory layout 1/5 [34846] with Reshaped MKLDNN NDArray with different memory layout 1/5 [34846]
Verifying: Reshaped MKLDNN NDArray with different memory layout 1/5 [34846] with Reshaped MKLDNN NDArray with different memory layout 1/5 [34846]
Verifying: Reshaped MKLDNN NDArray with different memory layout 1/5 [34846] with Reshaped MKLDNN NDArray with different memory layout 1/5 [34846]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: MKLDNN NDArray with different memory layout 1/5 [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: Normal NDArray [96,2916] with Normal NDArray [96,2916]
Verifying: Normal NDArray [96,2916] with Normal NDArray [96,2916]
Verifying: Normal NDArray [96,2916] with Normal NDArray [96,2916]
Verifying: Normal NDArray [96,2916] with Normal NDArray [96,2916]
Verifying: Normal NDArray [96,2916] with Normal NDArray [96,2916]
Verifying: Normal NDArray [96,2916] with Normal NDArray [96,2916]
Verifying: Normal NDArray [96,2916] with Normal NDArray [96,2916]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,2916] with MKLDNN NDArray with different memory layout 2/1 [96,2916]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,2916] with MKLDNN NDArray with different memory layout 2/1 [96,2916]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,2916] with MKLDNN NDArray with different memory layout 2/1 [96,2916]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,2916] with MKLDNN NDArray with different memory layout 2/1 [96,2916]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,2916] with MKLDNN NDArray with different memory layout 2/1 [96,2916]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,2916] with MKLDNN NDArray with different memory layout 2/1 [96,2916]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,2916] with MKLDNN NDArray with different memory layout 2/1 [96,2916]
Verifying: Reshaped MKLDNN NDArray with different memory layout 2/1 [94,2916] with Reshaped MKLDNN NDArray with different memory layout 2/1 [94,2916]
Verifying: Reshaped MKLDNN NDArray with different memory layout 2/1 [94,2916] with Reshaped MKLDNN NDArray with different memory layout 2/1 [94,2916]
Verifying: Reshaped MKLDNN NDArray with different memory layout 2/1 [94,2916] with Reshaped MKLDNN NDArray with different memory layout 2/1 [94,2916]
Verifying: MKLDNN NDArray [96,2916] with MKLDNN NDArray [96,2916]
Verifying: MKLDNN NDArray [96,2916] with MKLDNN NDArray [96,2916]
Verifying: MKLDNN NDArray [96,2916] with MKLDNN NDArray [96,2916]
Verifying: MKLDNN NDArray [96,2916] with MKLDNN NDArray [96,2916]
Verifying: MKLDNN NDArray [96,2916] with MKLDNN NDArray [96,2916]
Verifying: MKLDNN NDArray [96,2916] with MKLDNN NDArray [96,2916]
Verifying: MKLDNN NDArray [96,2916] with MKLDNN NDArray [96,2916]
Verifying: Reshaped MKLDNN NDArray [94,2916] with Reshaped MKLDNN NDArray [94,2916]
Verifying: Reshaped MKLDNN NDArray [94,2916] with Reshaped MKLDNN NDArray [94,2916]
Verifying: Reshaped MKLDNN NDArray [94,2916] with Reshaped MKLDNN NDArray [94,2916]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: Normal NDArray [96,363] with Normal NDArray [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/1 [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: Reshaped MKLDNN NDArray with different memory layout 2/1 [94,363] with Reshaped MKLDNN NDArray with different memory layout 2/1 [94,363]
Verifying: Reshaped MKLDNN NDArray with different memory layout 2/1 [94,363] with Reshaped MKLDNN NDArray with different memory layout 2/1 [94,363]
Verifying: Reshaped MKLDNN NDArray with different memory layout 2/1 [94,363] with Reshaped MKLDNN NDArray with different memory layout 2/1 [94,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: MKLDNN NDArray [96,363] with MKLDNN NDArray [96,363]
Verifying: Reshaped MKLDNN NDArray [94,363] with Reshaped MKLDNN NDArray [94,363]
Verifying: Reshaped MKLDNN NDArray [94,363] with Reshaped MKLDNN NDArray [94,363]
Verifying: Reshaped MKLDNN NDArray [94,363] with Reshaped MKLDNN NDArray [94,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: Reshaped MKLDNN NDArray with different memory layout 2/4 [94,363] with Reshaped MKLDNN NDArray with different memory layout 2/4 [94,363]
Verifying: Reshaped MKLDNN NDArray with different memory layout 2/4 [94,363] with Reshaped MKLDNN NDArray with different memory layout 2/4 [94,363]
Verifying: Reshaped MKLDNN NDArray with different memory layout 2/4 [94,363] with Reshaped MKLDNN NDArray with different memory layout 2/4 [94,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/4 [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: Reshaped MKLDNN NDArray with different memory layout 2/5 [94,363] with Reshaped MKLDNN NDArray with different memory layout 2/5 [94,363]
Verifying: Reshaped MKLDNN NDArray with different memory layout 2/5 [94,363] with Reshaped MKLDNN NDArray with different memory layout 2/5 [94,363]
Verifying: Reshaped MKLDNN NDArray with different memory layout 2/5 [94,363] with Reshaped MKLDNN NDArray with different memory layout 2/5 [94,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: MKLDNN NDArray with different memory layout 2/5 [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: Normal NDArray [10,96,54,54] with Normal NDArray [10,96,54,54]
Verifying: Normal NDArray [10,96,54,54] with Normal NDArray [10,96,54,54]
Verifying: Normal NDArray [10,96,54,54] with Normal NDArray [10,96,54,54]
Verifying: Normal NDArray [10,96,54,54] with Normal NDArray [10,96,54,54]
Verifying: Normal NDArray [10,96,54,54] with Normal NDArray [10,96,54,54]
Verifying: Normal NDArray [10,96,54,54] with Normal NDArray [10,96,54,54]
Verifying: Normal NDArray [10,96,54,54] with Normal NDArray [10,96,54,54]
Verifying: MKLDNN NDArray [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: MKLDNN NDArray [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: MKLDNN NDArray [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: MKLDNN NDArray [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: MKLDNN NDArray [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: MKLDNN NDArray [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: MKLDNN NDArray [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: Reshaped MKLDNN NDArray [8,96,54,54] with Reshaped MKLDNN NDArray [8,96,54,54]
Verifying: Reshaped MKLDNN NDArray [8,96,54,54] with Reshaped MKLDNN NDArray [8,96,54,54]
Verifying: Reshaped MKLDNN NDArray [8,96,54,54] with Reshaped MKLDNN NDArray [8,96,54,54]
Verifying: MKLDNN NDArray [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: MKLDNN NDArray [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: MKLDNN NDArray [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: MKLDNN NDArray [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: MKLDNN NDArray [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: MKLDNN NDArray [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: MKLDNN NDArray [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: Normal NDArray [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/1 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: Reshaped MKLDNN NDArray with different memory layout 4/1 [94,3,11,11] with Reshaped MKLDNN NDArray with different memory layout 4/1 [94,3,11,11]
Verifying: Reshaped MKLDNN NDArray with different memory layout 4/1 [94,3,11,11] with Reshaped MKLDNN NDArray with different memory layout 4/1 [94,3,11,11]
Verifying: Reshaped MKLDNN NDArray with different memory layout 4/1 [94,3,11,11] with Reshaped MKLDNN NDArray with different memory layout 4/1 [94,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/2 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: Reshaped MKLDNN NDArray with different memory layout 4/2 [94,3,11,11] with Reshaped MKLDNN NDArray with different memory layout 4/2 [94,3,11,11]
Verifying: Reshaped MKLDNN NDArray with different memory layout 4/2 [94,3,11,11] with Reshaped MKLDNN NDArray with different memory layout 4/2 [94,3,11,11]
Verifying: Reshaped MKLDNN NDArray with different memory layout 4/2 [94,3,11,11] with Reshaped MKLDNN NDArray with different memory layout 4/2 [94,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: Reshaped MKLDNN NDArray [94,3,11,11] with Reshaped MKLDNN NDArray [94,3,11,11]
Verifying: Reshaped MKLDNN NDArray [94,3,11,11] with Reshaped MKLDNN NDArray [94,3,11,11]
Verifying: Reshaped MKLDNN NDArray [94,3,11,11] with Reshaped MKLDNN NDArray [94,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: Reshaped MKLDNN NDArray with different memory layout 4/5 [94,3,11,11] with Reshaped MKLDNN NDArray with different memory layout 4/5 [94,3,11,11]
Verifying: Reshaped MKLDNN NDArray with different memory layout 4/5 [94,3,11,11] with Reshaped MKLDNN NDArray with different memory layout 4/5 [94,3,11,11]
Verifying: Reshaped MKLDNN NDArray with different memory layout 4/5 [94,3,11,11] with Reshaped MKLDNN NDArray with different memory layout 4/5 [94,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: MKLDNN NDArray with different memory layout 4/5 [96,3,11,11] with MKLDNN NDArray with different memory layout 4/5 [96,3,11,11]
Verifying: In Place Copy [279936] with Normal NDArray [279936]
Verifying: In Place Copy [279936] with MKLDNN NDArray [279936]
Verifying: In Place Copy [279934] with Reshaped MKLDNN NDArray [279934]
Verifying: In Place Copy [279936] with MKLDNN NDArray with different memory layout 1/2 [279936]
Verifying: In Place Copy [279934] with Reshaped MKLDNN NDArray with different memory layout 1/2 [279934]
Verifying: In Place Copy [34848] with Normal NDArray [34848]
Verifying: In Place Copy [34848] with MKLDNN NDArray [34848]
Verifying: In Place Copy [34846] with Reshaped MKLDNN NDArray [34846]
Verifying: In Place Copy [34848] with MKLDNN NDArray with different memory layout 1/2 [34848]
Verifying: In Place Copy [34846] with Reshaped MKLDNN NDArray with different memory layout 1/2 [34846]
Verifying: In Place Copy [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: In Place Copy [34846] with Reshaped MKLDNN NDArray with different memory layout 1/4 [34846]
Verifying: In Place Copy [34848] with MKLDNN NDArray with different memory layout 1/4 [34848]
Verifying: In Place Copy [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: In Place Copy [34846] with Reshaped MKLDNN NDArray with different memory layout 1/5 [34846]
Verifying: In Place Copy [34848] with MKLDNN NDArray with different memory layout 1/5 [34848]
Verifying: In Place Copy [96,2916] with Normal NDArray [96,2916]
Verifying: In Place Copy [96,2916] with MKLDNN NDArray with different memory layout 2/1 [96,2916]
Verifying: In Place Copy [94,2916] with Reshaped MKLDNN NDArray with different memory layout 2/1 [94,2916]
Verifying: In Place Copy [96,2916] with MKLDNN NDArray [96,2916]
Verifying: In Place Copy [94,2916] with Reshaped MKLDNN NDArray [94,2916]
Verifying: In Place Copy [96,363] with Normal NDArray [96,363]
Verifying: In Place Copy [96,363] with MKLDNN NDArray with different memory layout 2/1 [96,363]
Verifying: In Place Copy [94,363] with Reshaped MKLDNN NDArray with different memory layout 2/1 [94,363]
Verifying: In Place Copy [96,363] with MKLDNN NDArray [96,363]
Verifying: In Place Copy [94,363] with Reshaped MKLDNN NDArray [94,363]
Verifying: In Place Copy [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: In Place Copy [94,363] with Reshaped MKLDNN NDArray with different memory layout 2/4 [94,363]
Verifying: In Place Copy [96,363] with MKLDNN NDArray with different memory layout 2/4 [96,363]
Verifying: In Place Copy [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: In Place Copy [94,363] with Reshaped MKLDNN NDArray with different memory layout 2/5 [94,363]
Verifying: In Place Copy [96,363] with MKLDNN NDArray with different memory layout 2/5 [96,363]
Verifying: In Place Copy [10,96,54,54] with Normal NDArray [10,96,54,54]
Verifying: In Place Copy [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: In Place Copy [8,96,54,54] with Reshaped MKLDNN NDArray [8,96,54,54]
Verifying: In Place Copy [10,96,54,54] with MKLDNN NDArray [10,96,54,54]
Verifying: In Place Copy [96,3,11,11] with Normal NDArray [96,3,11,11]
Verifying: In Place Copy [96,3,11,11] with MKLDNN NDArray with different memory layout 4/1 [96,3,11,11]
Verifying: In Place Copy [94,3,11,11] with Reshaped MKLDNN NDArray with different memory layout 4/1 [94,3,11,11]
Verifying: In Place Copy [96,3,11,11] with MKLDNN NDArray with different memory layout 4/2 [96,3,11,11]
Verifying: In Place Copy [94,3,11,11] with Reshaped MKLDNN NDArray with different memory layout 4/2 [94,3,11,11]
Verifying: In Place Copy [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
Verifying: In Place Copy [94,3,11,11] with Reshaped MKLDNN NDArray [94,3,11,11]
Verifying: In Place Copy [96,3,11,11] with MKLDNN NDArray [96,3,11,11]
unknown file: Failure
C++ exception with description "[00:17:20] /work/mxnet/src/ndarray/ndarray.cc:444: Check failed: delay_alloc

Stack trace returned 10 entries:
[bt] (0) build/tests/mxnet_unit_tests(dmlc::StackTrace[abi:cxx11]()+0x1bc) [0xf9c75c]
[bt] (1) build/tests/mxnet_unit_tests(dmlc::LogMessageFatal::~LogMessageFatal()+0x28) [0xf9db08]
[bt] (2) build/tests/mxnet_unit_tests(mxnet::NDArray::Chunk::SetMKLMem(nnvm::TShape const&, int)+0x4ef) [0x455370f]
[bt] (3) build/tests/mxnet_unit_tests(mxnet::NDArray::GetMKLDNNData() const+0xa8) [0x45539c8]
[bt] (4) build/tests/mxnet_unit_tests(void mxnet::CopyFromToDnsImpl<mshadow::cpu, mshadow::cpu>(mxnet::NDArray const&, mxnet::NDArray const&, mxnet::RunContext)+0x2e8) [0x456e7e8]
[bt] (5) build/tests/mxnet_unit_tests(void mxnet::CopyFromToImpl<mshadow::cpu, mshadow::cpu>(mxnet::NDArray const&, mxnet::NDArray const&, mxnet::RunContext, std::vector<mxnet::Resource, std::allocator<mxnet::Resource> > const&)+0x4d0) [0x45764a0]
[bt] (6) build/tests/mxnet_unit_tests() [0x455fdff]
[bt] (7) build/tests/mxnet_unit_tests(mxnet::engine::ThreadedEngine::ExecuteOprBlock(mxnet::RunContext, mxnet::engine::OprBlock*)+0x48d) [0x29c03bd]
[bt] (8) build/tests/mxnet_unit_tests(std::_Function_handler<void (std::shared_ptr<dmlc::ManualEvent>), mxnet::engine::ThreadedEnginePerDevice::PushToExecute(mxnet::engine::OprBlock*, bool)::{lambda()#1}::operator()() const::{lambda(std::shared_ptr<dmlc::ManualEvent>)#1}>::_M_invoke(std::_Any_data const&, std::shared_ptr<dmlc::ManualEvent>&&)+0xe2) [0x29d9412]
[bt] (9) build/tests/mxnet_unit_tests(std::thread::_Impl<std::_Bind_simple<std::function<void (std::shared_ptr<dmlc::ManualEvent>)> (std::shared_ptr<dmlc::ManualEvent>)> >::_M_run()+0x4a) [0x29bfe1a]

" thrown in the test body.
[  FAILED  ] MKLDNN_BASE.MKLDNNSum (4679 ms)

@Pengzhao-intel

@jinhuang415 please help take a look for this issue.

@jinhuang415 - bounce
@azai91  FYI

We have reproduced this issue in local luster, looks only happens very occasionally, will update once there is further findings.

@marcoabreu @zheng-da @azai91 @pengzhao-intel
We have found the root cause of this issue and here is the analysis:
The test failed at MKLDNNSum in place test case, and failed due to delay_alloc check failure in SetMKLMem(),
void NDArray::Chunk::SetMKLMem(const TShape &shape, int dtype) {
...
  if (shandle.dptr == nullptr) {
    CHECK(delay_alloc);         <<< check failure here
    CheckAndAlloc();
  }
...

it indicates the related NDArray's shandle is nullptr but delay_alloc is set to false,  usually delay_alloc will only be set to false after shandle is allocated, so most probably there is race condition here (this issue is very hard to reproduce, only happens occasionally), and I tried to print delay_alloc 2 times before CHECK(delay_alloc) and it is found when issue happens delay_alloc is true at first but then become false for the second time! This confirms that delay_alloc must be set to false by another thread asynchronously and cause thread race condition (print will make the race condition easier to happen). By checking the test code it is found there may exist race condition for below 2 calls (commented lines)
TEST(MKLDNN_BASE, MKLDNNSum) {
 ...
    NDArrayAttrs orig_arr(in_arr.arr.Copy(in_arr.arr.ctx()), "In Place Copy");    <<< Copy will push operation to engine asynchronously which will alloc shandle for orig_arr.arr
    PrintVerifyMsg(orig_arr, in_arr);
    InitMKLDNNArray(&orig_arr.arr, input_mem->get_primitive_desc());     <<< may alloc shandle for orig_arr.arr which cause conflict
    orig_arr.arr.CopyFrom(*input_mem);
...
}

The detailed function calls is as below:
NDArray::Copy()
  --> CopyFromTo(*this, ret)
    --> Engine::Get()->PushAsync(...,
           CopyFromToImpl<cpu, cpu>(from, to, ctx, requested) ...)
              --> CopyFromToDnsImpl()
                  --> to.GetMKLDNNData()
                     --> ptr_->SetMKLMem()
                       --> CHECK(delay_alloc)
                       -->  CheckAndAlloc()
                          --> alloc shandle and set delay_alloc to false

InitMKLDNNArray()
  --> InitDefaultArray(arr, is_rand)
    --> arr->data()
      --> CheckAndAlloc()
         --> alloc shandle and set delay_alloc to false

So if above 2 calls happens at the same time there may exist race conditions.
A simple fix is to add barrier to wait for Copy operation to finish before further operations to get rid of the race condition. The proposed change is as below:

diff --git a/tests/cpp/operator/mkldnn.cc b/tests/cpp/operator/mkldnn.cc
index 4f8f6f1..59bd3a5 100644
--- a/tests/cpp/operator/mkldnn.cc
+++ b/tests/cpp/operator/mkldnn.cc
@@ -1308,6 +1308,7 @@ TEST(MKLDNN_BASE, MKLDNNSum) {
     auto input_mem = in_arr.arr.GetMKLDNNData();
     auto input_mem2 = in_arr2.arr.GetMKLDNNData();
     NDArrayAttrs orig_arr(in_arr.arr.Copy(in_arr.arr.ctx()), "In Place Copy");
+    orig_arr.arr.WaitToRead();
     PrintVerifyMsg(orig_arr, in_arr);
     InitMKLDNNArray(&orig_arr.arr, input_mem->get_primitive_desc());
     orig_arr.arr.CopyFrom(*input_mem);

In short, the CPP test case mixed the usage of MXNET OP and C/C++ function where the MXNET OP is executed with async mode and C function will run directly.
So, this will bypass the dependency engine and then cause the data race.
In concluding, this is NOT the bug in MKLDNN or dependency engine.
Just a not common implementation of the test case.

Sorry, I'm currently swamped with high priority tasks and I don't have time to review your task or assist with inqueries.

Fixed by #12080


Tests are not being run on CI (TeamCity)

Recently I upgraded to meteor 1.2.1 from 1.1.
After that tests on our CI aren't executed anymore.
When I try to run this command on my local machine:
meteor test-packages --velocity --driver-package<EMAIL_ADDRESS>--once --verbose

Tests also are not being run unless I open this page http://localhost:3000 from my browser.
Can anybody suggest what might be the cause of this issue and how should I properly run the tests on CI?

Hey @dmitrijs-balcers did you get any updates on this? I'm facing the same issue right now.

@gabrielpoca Hey, the PR which is pending on this issue is postponed for now.
But we really need this to be fixed, otherwise we can not switch to Meteor 1.2

Thank you for answering, but I didn't understand, I'm sorry. Which PR is pending?

Oh you don't see the PR because it is from private repo. But anyhow we have one PR in our project, which is postponed due to this issue.

Running into the same problem here. Is there a workaround for getting tests to run on Travis?

Anyone found any solution or workaround on this?

@dmitrijs-balcers I'm basically waiting for 1.3 . Didn't upgrade my productions apps to 1.2 .


Add karma edge launcher. Allows --browsers Edge now

Could you update https://github.com/AnalyticalGraphicsInc/cesium/tree/master/Documentation/Contributors/TestingGuide#run-tests-with-a-specific-browser-or-browsers with the available browsers?

@mramato do you want to look at this?

Could you update https://github.com/AnalyticalGraphicsInc/cesium/tree/master/Documentation/Contributors/TestingGuide#run-tests-with-a-specific-browser-or-browsers with the available browsers?

Thanks for the suggestion. Just did.

Thanks.  Last time I looked the Edge launcher wasn't quite ready but it looks like they've made a lot of progress.


Mark struct internal fields as JSON non-serialized

Is your feature request related to a problem? Please describe.
Some popular tools like k8s controller-gen[1] inspect structs and can fail if struct has fields that are not explicitly exported or unexported to JSON:
/.../google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go:180:2: encountered struct field "state" without JSON tag in type "Timestamp"
/.../google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go:181:2: encountered struct field "sizeCache" without JSON tag in type "Timestamp"
/.../google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go:182:2: encountered struct field "unknownFields" without JSON tag in type "Timestamp"

This happens both for internal protobuf messages and user-defined ones.
It appears that old golang protobuf generator marked[2] internal struct fields with JSON no-export tag, while this newer one doesn't, which leads to a problem described.
Describe the solution you'd like
I propose to add json:"-" tag to generated internal fields.
Describe alternatives you've considered
Other solution is to ignore internal fields in generators, but controller-gen developers are clearly not interested[3] in using any protobuf structs as source.

It's unfortunate that we have any json: tags in generated structs at all, because the encoding/json package cannot correctly serialize a protobuf message to/from the canonical JSON encoding. The supported way to JSON encode/decode a protobuf message is with the protojson package.
I'm dubious that we should make any changes to make it easier to accidentally misuse a generated protobuf struct with encoding/json.

It appears that old golang protobuf generator marked[2] internal struct fields with JSON no-export tag, while this newer one doesn't, which leads to a problem described.

Those were explicitly marked with json:"-" because the fields were exported. The new generator keeps internal fields unexported.
Honestly, I think this is a bug with controller-gen. The fact that the field is unexported should itself be a proper signal that the field should be ignored from the perspective of JSON.

Thank you, I see your point.
In my case, the problem is that we have some common structures we would like to reuse in k8s CRDs, and while our own k8s controller would know what part of spec must be parsed with protojson, the controller-gen tool which generates OpenAPI schemas, operates with just structs, knowing nothing about protobuf itself.
While I strongly agree with the opinion, that it would be best to fix in the controller-gen, the [3] above shows that its developers unfortunately antagonize this idea :-(
From the other point of view I see no drawbacks from the adding unexported tag to internal fields itself.
So I have made a PR after all to add the tag: https://go-review.googlesource.com/c/protobuf/+/360454
I hope it still can be accepted, even though it is not the best way to fix the issue.  :-)

Closing: This may or may not be a bug in controller-gen, but what's definite is that the json: field tags are not something we want to encourage use of. The supported ways to serialize a protobuf message are the proto, protojson, and prototext packages.


[travis] Install Cabal library

Fixes issue #384

LGTM. The commit authorship is a bit weird...

I had to do the same thing in https://github.com/Microsoft/bond/pull/378. Nothing bad's gonna happen if we merge both, though.

This is the commit message I'll put after squashing
[travis] Install Cabal library

CI builds using GHC 7.6.3 will fail since appropriate Cabal library is missing
This change makes sure to install Cabal
Closes https://github.com/Microsoft/bond/issues/384


Can't find end of struct header

Tested with on OS X, Rustc version 1.3.0-beta.3
$ echo "struct dummy" > test.rs
$ racer complete 1 12 test.rs
PREFIX 7,12,dummy
thread '<main>' panicked at 'Can't find end of struct header', ../src/libcore/option.rs:331
stack backtrace:
   1:        0x10a170035 - sys::backtrace::write::h71ee98355e9ff89fUss
   2:        0x10a1734a0 - panicking::on_panic::h3058b136d38637c267w
   3:        0x10a164dc2 - rt::unwind::begin_unwind_inner::h1a353d5ea12e1abeVBw
   4:        0x10a16537c - rt::unwind::begin_unwind_fmt::h523af64a13dd33d21Aw
   5:        0x10a172e6c - rust_begin_unwind
   6:        0x10a195b65 - panicking::panic_fmt::he7875691f9cbe589SgC
   7:        0x10a010953 - matchers::match_struct::hfad86295e5f1299dzyi
   8:        0x10a0002a4 - matchers::match_types::hfb8415659183533frPh
   9:        0x109ffec34 - nameres::run_matchers_on_blob::hbbc7b529cafeb7f5QMf
  10:        0x109ff9ab9 - nameres::search_scope::hf9862054ed82eef90xf
  11:        0x10a002935 - nameres::search_local_scopes::h8f19c9d557ec5bb26Rf
  12:        0x109ff6a7f - nameres::resolve_name::h3632fe5ae9b7e5d0Zhg
  13:        0x109fb72ce - nameres::resolve_path::hb8625e5025b7e449fyg
  14:        0x109fb5075 - core::complete_from_file::hca7bba130a8c1a6b5Oa
  15:        0x109fa7820 - complete::hc26f7697c928f6e3Yfa
  16:        0x109fabb4d - main::h22104663320fad13Eya
  17:        0x10a172dcd - __rust_try
  18:        0x10a17413d - rt::lang_start::hd654f015947477d622w

Looks like related to this line, which assumes the struct is completely typed:
https://github.com/phildawes/racer/blob/130516cac3e38c4845c8fc30006d61eeea8f2ff2/src/racer/matchers.rs#L298

Thanks @JoshBlake for reporting this


DFT - In rstmgr_ctl block rst_pd_nq[0] and rst_aon_nq resets should be controlled in scan-mode

rst_pd_nq[0] and rst_aon_nq affecting ~26 FFs. In scan mode it is not controlled, hence these FFs are removed from scan.
SpyGlass-DFT messages:
'top_earlgrey_asic.top_earlgrey.u_rstmgr_aon.u_sys_src.rst_pd_nq[0]' is not disabled for 20 flip-flop(s).
'top_earlgrey_asic.top_earlgrey.u_rstmgr_aon.u_sys_src.rst_aon_nq' is not disabled for 6 flip-flop(s).

Suggested fix in rstmgr_ctl.sv file - add a scan reset mux for rst_pd_nq and rst_aon_nq resets

@tjaychen
@msfschaffner
Please add scan mux for rst_pd_nq[0] and rst_aon_nq

@arnonsha

thanks, i will add.

checked with SG-DFT, all looks good.


Create script for generating remaining LiteX bit report.

This report is fairly fragile, but works well enough for the remaining
LiteX bits.

@litghost I believe this could be merged even if CI was red. The issue is with a slight instability of fuzzer 047-hclk-ioi which generates duplicate tags. Probably stricter segmatch options can solve the issue.


deprecate and add note to use Maximo Visual Inspection instead

add deprecation notice and links to Maximo

Can we also add Cloud Annotations as another alternative?
https://cloud.annotations.ai/

Yes
On Fri, Dec 4, 2020 at 10:04 AM Nick Bourdakos<EMAIL_ADDRESS>wrote:

Can we also add Cloud Annotations as another alternative?
https://cloud.annotations.ai/
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/IBM/watson-visual-recognition-ios/pull/20#issuecomment-738932229,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACPSAZJCXVKV54S5GDRCQZLSTEQCDANCNFSM4UNYPRIQ
.

--
Thanks in advance,
Horea Porutiu
Univ. of California, San Diego 2017
B.S. Computer Science
B.S. Management Science
(310) 707-6864
<EMAIL_ADDRESS>

@bourdakos1 I've added a note and link to Cloud Annotations as well.


Fix regex DeprecationWarning in gdf2.py

Description:
This pull-request fixes minor DeprecationWarnings seen when running pytest:
aseg_gdf2/gdf2.py:133
  /usr/local/devel/MyWrk/geo-wrk/aseg_gdf2/aseg_gdf2/aseg_gdf2/gdf2.py:133:
  DeprecationWarning: invalid escape sequence \w
    m = re.search("RT=(\w*)", line)

aseg_gdf2/gdf2.py:139
  /usr/local/devel/MyWrk/geo-wrk/aseg_gdf2/aseg_gdf2/aseg_gdf2/gdf2.py:139:
  DeprecationWarning: invalid escape sequence \w
    m = re.search("RT=(\w*)", line)

Test Results:
All 13 tests passed. No warnings.
Let me know if this change could be accepted (or rejected) or
needs some additional changes before being approved and merged.
Thank you,
DC

Thank you! 😎


Theseus's developer is AFK until August 14 :)

I'm taking some personal time for intensive Japanese immersion training. Source code with English comments, English issues, English APIs, and English documentation is too much English, so I'll be AFK until it's over. Sorry for the inconvenience!

ただいま！


Remove unused method from DeliveryService.

Goal

Removed sendEvent() method from DeliveryService because it was not being called.
Renamed sendLogs() to sendLog()

Testing
Updated unit tests.

LGTM. Digging deeper into the code, I wonder if we can remove some of these methods in DeliveryService whose implementation is just calling ApiService - and just have the the caller consume the ApiService directly?

Yeap, that would be a good think to do so we remove the deliveryService from being the middleman.


fix(forge/install): add git status check before commit

Motivation

Closes https://github.com/foundry-rs/foundry/issues/1684.
Solution

Check that working/staging area is clean with git status --short when installing as submodule.

Some integration tests with forgetest_init! are failing because in the CI environment, there are no user/email set in git config, so the commit command here will fail, meaning there will be files in staging area, and thus make installing fail.

cc @gakonst, not sure if there is a settings fix

For the github workflow solution, adding the following step here should work:
- name: git config user
      run: |
        git config --global user.name test
        git config --global user.email<EMAIL_ADDRESS>

wouldn't this also mean that this can fail if a user lacks these configs?


Network is unreachable

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2021.12.01. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Description
Hi, im trying to download the following video:
https://www.youtube.com/watch?v=CmWFL4w4Fnw
My full command was the following:
"yt-dlp --remux-video mp4 "https://www.youtube.com/watch?v=CmWFL4w4Fnw" -Uv
The video will download for a little bit, and at some point it will fail and get an "[Errno 101] Network is not reachable"
I dont see any issues with my internet connection, I can consistently ping and load websites.
Verbose log
user@hostname:~/Videos$ yt-dlp --remux-video mp4 https://www.youtube.com/watch?v=CmWFL4w4Fnw -Uv
[debug] Command-line config: ['--remux-video', 'mp4', 'https://www.youtube.com/watch?v=CmWFL4w4Fnw', '-Uv']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
[debug] yt-dlp version 2021.12.01 [91f071af6] (zip)
[debug] Python version 3.10.0 (CPython 64bit) - Linux-5.15.5-200.fc35.x86_64-x86_64-with-glibc2.34
[debug] exe versions: ffmpeg 4.4.1 (setts), ffprobe 4.4.1
[debug] Optional libraries: Crypto, sqlite
[debug] Proxy map: {}
Latest version: 2021.12.01, Current version: 2021.12.01
yt-dlp is up to date (2021.12.01)
[debug] [youtube] Extracting URL: https://www.youtube.com/watch?v=CmWFL4w4Fnw
[youtube] CmWFL4w4Fnw: Downloading webpage
[youtube] CmWFL4w4Fnw: Downloading android player API JSON
[debug] Loading youtube-nsig.3ce4f9b8 from cache
[debug] [youtube] Decrypted nsig _8od89qhr3R3MVc_Z => pqQqmpb3r9ur6Q
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, codec:vp9.2, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] CmWFL4w4Fnw: Downloading 1 format(s): 303+251
[debug] Invoking downloader on "https://r6---sn-tt1eln7l.googlevideo.com/videoplayback?expire=1638400319&ei=36ynYbKSBobQlu8PwIWJ2AY&ip=<IP_ADDRESS>&id=o-AN_SScn7we1I2SLFBpyDVCCf9N9GjF-6th8BweJd1zGY&itag=303&source=youtube&requiressl=yes&mh=Of&mm=31%2C26&mn=sn-tt1eln7l%2Csn-vgqsrns6&ms=au%2Conr&mv=m&mvi=6&pl=20&initcwndbps=1727500&vprv=1&mime=video%2Fwebm&gir=yes&clen=1277005348&dur=8352.299&lmt=1638376522359130&mt=1638378305&fvip=5&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=3316222&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIgTMRP10XQdCkfGAFduzeVJXr3d4B_DFSUDwyX2nyN9OsCIQDZWu2JkUQpDuJNNkAu-ZW60eVd0TkMh3w8q0sqfk7_lg%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIhAKSAfxR4fBcC4nF3mWsUhXDb_Cmodzj2ev7F5cU16C61AiBQBHpDWKmOE66wMHfL-UST8BRLf71ya9hVDWHwW815kg%3D%3D"
[download] Resuming download at byte 583443910
[download] Destination: Message To My Ex-Girlfriend REUPLOAD (3rd upload) [CmWFL4w4Fnw].f303.webm
[download]  69.3% of 1.19GiB at  1.23MiB/s ETA 05:04
[download]  82.6% of 1.19GiB at  1.93MiB/s ETA 01:50
[download]  82.6% of 1.19GiB at  1.33MiB/s ETA 02:38
[download]  92.9% of 1.19GiB at  1.22MiB/s ETA 01:10ERROR: unable to download video data: <urlopen error [Errno 101] Network is unreachable>
Traceback (most recent call last):
  File "/usr/lib64/python3.10/urllib/request.py", line 1348, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/usr/lib64/python3.10/http/client.py", line 1276, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib64/python3.10/http/client.py", line 1322, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib64/python3.10/http/client.py", line 1271, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib64/python3.10/http/client.py", line 1031, in _send_output
    self.send(msg)
  File "/usr/lib64/python3.10/http/client.py", line 969, in send
    self.connect()
  File "/usr/lib64/python3.10/http/client.py", line 1441, in connect
    super().connect()
  File "/usr/lib64/python3.10/http/client.py", line 940, in connect
    self.sock = self._create_connection(
  File "/usr/lib64/python3.10/socket.py", line 845, in create_connection
    raise err
  File "/usr/lib64/python3.10/socket.py", line 833, in create_connection
    sock.connect(sa)
OSError: [Errno 101] Network is unreachable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 2916, in process_info
    partial_success, real_download = self.dl(fname, new_info)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 2654, in dl
    return fd.download(name, new_info, subtitle)
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/common.py", line 421, in download
    ret = self.real_download(filename, info_dict)
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/http.py", line 372, in real_download
    establish_connection()
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/http.py", line 120, in establish_connection
    raise err
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/http.py", line 114, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3385, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib64/python3.10/urllib/request.py", line 519, in open
    response = self._open(req, data)
  File "/usr/lib64/python3.10/urllib/request.py", line 536, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/usr/lib64/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/local/bin/yt-dlp/yt_dlp/utils.py", line 2929, in https_open
    return self.do_open(functools.partial(
  File "/usr/lib64/python3.10/urllib/request.py", line 1351, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 101] Network is unreachable>

OSError: [Errno 101] Network is unreachable

That means your internet disconnected. Make sure you have a stable connection and try again


cannot download dataset

Sorry for this error. Will find an alternative way to share the checkpoint&data

Hi @signjin  I have added an alternative Zenodo download link. You can find more details here https://zenodo.org/records/14342967

I downloaded the dataset successfully after using this new link.Thank you very much!


Automatically load kernel modules rather than requiring them to be listed

It would be better if kernel modules didn't have to be listed for things that can be automatically detected. This mainly benefits wifi where we have more than one driver in the Nerves image and the adapter can always (to the best of my knowledge) be automatically detected. I think that we still want to support manual insertion even though I'd think that most people would compile the driver into the kernel.
The way to implement this is to traverse the /sys directory and read the modalias files. The contents of the modalias files can be passed on the commandline to modprobe and modprobe will figure out which driver to insert. Not all modalias's will insert and that's ok. There may be other details. I'm aware of the high level operation, but I've never dug into the details.
The second part of this is to monitor uevents for device insertion. When devices are inserted, the modalias file corresponding to that device should be inserted. This logic would appear to go in nerves_runtime now. It really seems like these packages should be unified somehow, but for now, just autoloading drivers on boot would address my issue with wifi module insertion.

This is more of an issue for nerves_runtime going to close this for now.


MSC2630: checking public keys in SAS verification

Rendered

this got an OOB lgtm from @mimoo :)

@mscbot fcp merge

I'll assume that others have considered the cryptographic aspects of this, looks fine from a spec POV

Merged! :tada: