ObjectiveC: "Optional" is not considered when deserialising a typed NSArray

Hi,
I found the following issue:
I have a JSONModel subclass like:
@interface Device : JSONModel

@property (nonatomic, strong) Program<Optional> *selectedProgram;
@property (nonatomic, strong) NSArray<Optional, Program *> *availablePrograms;

@end

//and
@interface Program : JSONModel
...
@end

The code compiles fine with Xcode 7 for iOS
When I receive a JSON Object without a key "selectedProgram" everything is fine due to the   protocol / annotation
When I receive a JSON Object without a key "availablePrograms" the deserialisation fails because of the missing key.
Hence it seems that Optional is Ignored on collection types.
Did I miss something about optional and typed arrays? I didn't found something in the documentation.
ciao Matthias

I need to apologise, it was my mistake:
I missed the lines:
@protocol ProductModel
@end

and
Note: the angle brackets after NSArray contain a protocol. This is not the same as the new Objective-C generics system. They are not mutually exclusive, but for JSONModel to work, the protocol must be in place.
from documentation. Could you please highlight this even more? I guess with upcoming use of new generic system more devs will run into the same dump problem.
Btw.: is this only needed to keep backwards compatibility? in JSONModels initWithDictionary: one could add also a check for generic types instead on only checking for protocols.
ciao Matthias

This line exactly:
@property (nonatomic, strong) NSArray<Optional, Program *> *availablePrograms;

Should not be possible. It would have to be as follows:
@property (nonatomic, strong) NSArray <Program *> <Optional> *availablePrograms;

Because you cannot mix generics and protocols within the same angle brackets. I suspect this is how your code should look though:
@property (nonatomic, strong) NSArray <Program *> <Optional, Program> *availablePrograms;

Hi
indeed @property (nonatomic, strong) NSArray<Optional, Program *> *availablePrograms;
did compile, but
@property (nonatomic, strong) NSArray<Program *, Optional> *availablePrograms;
did not.
I'm now using this:
@property (nonatomic, strong) NSArray <Program *> <Optional, Program> *availablePrograms;
as suggested which is working fine.
It's a pity that it is required to make each JSONModel subclass collection capable by adding a empty protocol but at least it's working. A solution working with the generic type of the collection could work in ObjC and swift, but I need to dive deeper into this soon.
thanks, I close this ticket.
ciao Matthias

@billinghamj Thanks I would request you to please update jsonmodel   ReadMe file with this  code @property (nonatomic, strong) NSArray<Program *, Optional> *availablePrograms;
I m having same issue and search a lot for making my property optional having protocol.finally got the answer.so thanks

The code you have there is not correct @utkalpatel. You can't have protocols and classes in the same angle brackets. I believe the README already covers this.

Ah yes I decided not to include an example of the Obj-C generics because it overcomplicates things and people using the generics should already know the rules & semantics of how they interact with protocols.


Add Cho ETL

https://github.com/Cinchoo/ChoETL
https://www.nuget.org/packages/ChoETL/

Pull request for this here. https://github.com/joelverhagen/NCsvPerf/pull/23

Pull request for this here. https://github.com/joelverhagen/NCsvPerf/pull/23

Thanks Josh! Done.

Thanks Josh! Done.


bulk campaign status etc

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

BingAds/bingads-11/ad-insight-service/gethistoricalkeywordperformance.md
:white_check_mark:Succeeded

BingAds/bingads-11/bulk-service/campaign.md
:white_check_mark:Succeeded

BingAds/bingads-12/ad-insight-service/gethistoricalkeywordperformance.md
:white_check_mark:Succeeded

BingAds/bingads-12/bulk-service/campaign.md
:white_check_mark:Succeeded

BingAds/bingads-12/guides/migration-guide.md
:white_check_mark:Succeeded

BingAds/bingads-12/reporting-service/reportrequest.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


cyber module build command in branch Feature/upgrade_apollo8.0 failed

Env：Ubuntu 18.04， docker 24.02
Using branch：Feature/upgrade_apollo8.0
In container carla_cyber_0.9.14, run ./apollo.sh build cyber fail
-- Screen Output:
 Building on x86_64...
[INFO] Building with --jobs=20 --ram_utilization_factor 80 for x86_64
INFO: Reading 'startup' options from /apollo/tools/bazel.rc: --batch_cpu_scheduling --host_jvm_args=-XX:-UseParallelGC
ERROR: (07-22 22:12:18.852) /apollo/modules/perception/camera/test/BUILD:100:1: no such package '@tensorrt//': Expected directory at /usr/include/tensorrt but it does not exist. and referenced by '//modules/perception/camera/test:camera_common_twod_threed_util_test'.
ERROR: (07-22 22:12:18.875) Analysis of target '//modules/perception/camera/test:camera_common_twod_threed_util_test' failed; build aborted.
INFO: (07-22 22:12:18.876) Elapsed time: 2.060s
============================
[ERROR] Build failed!
[INFO] Took 97 seconds
============================

Try command ./apollo.sh build_cyber opt Success

Hi,It looks like Apollo's problem, you can go to the Apollo community to ask and find out.
apollo issues


How to refer to an id that does not exist yet (how to make compoment based web-development possible)

How can you enable component based web development with Reef?
I think the attachTo to is a good start. But I have difficulty understanding
where to inject the javascript code cleanly.
An example to follow:
mapid is created in the component. I now get an error that mapid does not exist yet.
Ideally I would like to be able to fix the html part and then apply the javascript part.
HTML:

CSS:
#filter {
min-height:200px;
}

JS:
var filter = new Reef('#filter', {
    data: {
        greeting: 'Hello',
        name: 'world'
    },
    template: function (props) {
        var mymap = L.map('mapid').setView([51.505, -0.09], 13);
        L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
            attribution: 'Map data © OpenStreetMap contributors, Imagery © Mapbox',
            maxZoom: 18,
            id: 'mapbox/streets-v11',
            tileSize: 512,
            zoomOffset: -1,
            accessToken: 'xyz'
        }).addTo(mymap);
        let a = [{x:51.5,y:-0.09},{x:51.5,y:-0.091},{x:51.5,y:-0.092},{x:51.5,y:-0.093    },{x:51.5,y:-0.10},{x:51.5,y:-0.11},{x:51.5,y:-0.12},{x:51.5,y:-0.13},{x:51.5,y:-1.09},{x:51.5,y:-2.09},{x:51.5,y:-3.09},];
        a.forEach(function(element, i) {
            L.marker([element.x, element.y]).addTo(mymap);
        });
        return
${props.greeting},${props.name}

;
    }
});

Hi @dionverbeke - I see what you're trying to do here. To be honest, if the mapbox API is being used to generate the map here, I'd do one of two things...

Just hard code your HTML into the UI instead of using Reef. I see little benefit to this approach here, and a huge likelihood that your HTML gets wiped out unexpectedly when the component updates.
Use an event listener to run your mapbox code after the component renders. In the latest ReefJS, that's the reef:render event, but in previous versions it was the render event.

Option 1 probably makes more sense here...


Controller code reorg

Description of changes
Proposal

Un-nest controllers/controllers. In order to avoid having a main.go in the root folder (which was one the goals of the nested controllers folder), we will move main.go to a manager folder.

Move everything except the actual controllers and their tests to pkg. This increases the coherence with the rest of the codebase and avoids having a “separate” project under the same module.

All the packages that are exclusive to controllers functionality will go nested under pkg/controller. This gives contextual information about the package and helps with name collision.

For the provider cluster reconcilers (currently in controllers/controllers/cluster), move them to their respective pkg/providers/[provider name]/reconciler.
Common reconciler functionality shared among providers will go in pkg/controller/clusters.
Package controllers/controllers/reconciler should be split into:

pkg/unstructuredutil: util methods to convert yaml to unstructured.Unstructured.
pkg/controller/clientutil: util methods to convert yaml to client.Object.
pkg/controller: just the Result struct.
pkg/controller/serverside: server side apply “reconcile” methods.

Leave resource`` package under controllers`. This package will be removed once we promote the new controller to the default one, so we can avoid the extra work and leave it untouched.

Aprox package structure
controllers
|- resource
|- cluster_controller.go
|- cluster_controller_legacy.go
|- cluster_controller_test.go
|- vsphere_datacenter_controller.go

manager
|- main.go
|- buildspec.yaml
|- README.md
|- Tiltfile
|- docker
   |- Dockerfile

pkg
|- controller
   |- clusters
   |- clientutil
   |- serverside
   |- result.go
|- providers
   |- vsphere
      |- reconciler
   |- snow
      |- reconciler
   |- docker
      |- reconciler
|- unstructuredutil

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve

/cherrypick release-0.10


Cppcheck issues

I used cppcheck tool to do a static analysis of the source code, and I get some potential issues.
As an example, in the following snippet of code
https://github.com/STMicroelectronics/iis3dwb-pid/blob/b85e3d23bbc5806011dd202a528308099cb24204/iis3dwb_reg.c#L438-L449
if the first iis3dwb_read_reg() fails (and returns ret != 0), the second iis3dwb_read_reg() is not executed, and so the switch() accesses to ctrl6_c.xl_axis_sel uninitialized.
I suggest to change this snippet into
  *val = IIS3DWB_ENABLE_ALL;  /* so that it's always set to "the default" */

  ret = iis3dwb_read_reg(ctx, IIS3DWB_CTRL4_C, (uint8_t *)&ctrl4_c, 1);
  if (ret != 0) { return ret; }

  ret = iis3dwb_read_reg(ctx, IIS3DWB_CTRL6_C, (uint8_t *)&ctrl6_c, 1);
  if (ret != 0) { return ret; }

  switch ((ctrl4_c._1ax_to_3regout << 4) + ctrl6_c.xl_axis_sel)

Cppcheck gives a list of potential issues in the files and I suggest to fix all of them.
@avisconti if you agree I can make a PR.
Let me know

Cppcheck gives a list of potential issues in the files and I suggest to fix all of them. @avisconti if you agree I can make a PR. Let me know

Yes, pls. If you can prepare a PR like this I will review it!
Thanks for your help.

I decided to fix in a different way.
@avisconti can you have a look to the PR, please?

Fixed with commit https://github.com/STMicroelectronics/iis3dwb-pid/commit/95b1900af75fd7e63c37e50e72a336528ae619b4


fix: util.root_pattern prioritises pattern order

Because of the way util.root_dir is defined, .csproj files are found before .sln files and the incorrect root directory is set. This prevents go-to-definition between multiple projects in a single solution and causes a few other issues. See #2612 for a more in-depth explanation.
This updates the default configuration to avoid this footgun.
EDIT:
The changes now cover the above issue, but does so in a more general way by updating the util.root_pattern function.
closes #2612
related to razzmatazz/csharp-language-server#57

@justinmk would you mind taking another look? I've updated util.root_pattern as discussed.
Previously, the function did this:
for each parent directory:
    for each pattern:
        if match:
            return match

I have switched the two loops around so that it now does the following:
for each pattern:
    for each parent directory:
        if match:
            return match

There is a slight performance hit because instead of traversing parent directories once, it now traverses parent directories n times for n patterns.
On the plus side though this resolves the issue not only for csharp_ls, but also for a whole bunch of other language servers which use a similar pattern of doing return util.root_pattern("pattern1")(path) or util.root_pattern("pattern2")(path) or .... Some examples:

omnisharp
tsserver
cairo_ls
hls

otoh , does make it impossible to define root markers with "equal precedence"? e.g. https://github.com/neovim/nvim-lspconfig/blob/90a28fd7637b66e055af62387ecee06f7cbd3173/lua/lspconfig/server_configurations/tsserver.lua#L15-L18
is that important?

Force pushed to update spelling of "prioritises" in commit message, and updated util.root_pattern docs.

otoh , does make it impossible to define root markers with "equal precedence"? e.g.

Yes it does.

is that important?

Not sure. Struggling to think of a situation where equal precedence would be desirable/useful.
Case A
directory/
    marker_a
    marker_b

Case B
directory/
    marker_a
    subdirectory/
        marker_b

Case C
directory/
    marker_b
    subdirectory/
        marker_a

In case A, precedence doesn't matter, any order of markers will identify the same root directory.
The only situation where equal precedence would be useful is if you always wanted to identify directory/subdirectory as the root, regardless of whether marker_a or marker_b is present. i.e. you have one project that is like case B, and another project using the same language server that is like case C. Does this actually ever happen?

thought after 0.10 we can use vim.iter with find .

Force pushed to update spelling of "prioritises" in commit message

Did CI complain about that? 😆

after 0.10 we can use vim.iter with find .

We can save the vim.fs refactoring until 0.10 then?
Since we have carefully considered the implications and the behavior of this PR seems to match user intention, I think we should go ahead and try this.
In a followup PR we should cleanup the existing configs since the or cases are now redundant.

nope.  ci has been fixed on master. just need rebase :)

Did CI complain about that? 😆

lol no it was just bothering me  :stuck_out_tongue_closed_eyes:

nope. ci has been fixed on master. just need rebase :)

Rebased master and CI is passing now.


Remove the “Pretty permalinks enabled” requirement from the docs

Change the requirement have pretty permalinks enabled here: https://docs.frontity.org/getting-started#have-pretty-permalinks-activated
Should we still make it a recommendation though?

Should we still make it a recommendation though?

I think so

@mburridge I think we can close this issue as it's no longer needed

I'm closing the issue as it's no longer needed


No way to use web-ifc-three with latest threejs version or any version other then 0.135.0

Since this commit 852970e1137c9b1bdf189b4fe7deaf785408d47f there is no way to use web-ifc-three with any version of threejs other then 0.135.0 because of exact version match requirement in peerDependencies part of package.json

Is it really important for web-ifc-three to be used exactly with threejs version 0.135.0?

You can build the package on your local machine and update dependency to Three.js version you need and use it in your project. I have tested it and it did work.

@brutestack there is always a way ;)

@brutestack, I hope the fix by @makc worked. Let us know if it still does not work.

Hey, I just published a new version that uses 0.149.0! If neither this nor the solutions above solve your issue, let us know. Otherwise, we'll eventually close this issue.

This is still an issue, and the problem is that ThreeJS versions start at 0.X.X. It's probably better to just remove three as a peerDepedency until ThreeJS decides to increment the Major.

until ThreeJS decides to increment the Major

which is likely never

@DoisKoh how would you like to find the dependency in the library? 🤔

Unfortunately I can't think of a solution outside of stating clearly in the documentation what version of ThreeJS is supported - as it stands right now, without manually modifying the package-lock.json, we can't install web-ifc-three due to the conflict in the peerDepedency version of ThreeJS and the actual newer versions of ThreeJS (because of npm's semver rules for anything below 0.X.X).


[PR][CLOSED] Update CODEOWNERS - @open sesame 06/26 13:59

 Issue by geunsik-lim
Tuesday Jun 26, 2018 at 02:27 GMT
Originally opened as https://github.sec.samsung.net/STAR/TAOS-CI/pull/59

Let's append the defaut review list.
Signed-off-by: Geunsik Lim<EMAIL_ADDRESS>
geunsik-lim included the following code: https://github.sec.samsung.net/STAR/TAOS-CI/pull/59/commits

:octocat: cibot: Thank you for posting issue #83. The person in charge will reply soon.

 Comment by git-bot-sec
Tuesday Jun 26, 2018 at 05:00 GMT

:dart: cibot: @STAR has updated the pull request.

 Comment by git-bot-sec
Tuesday Jun 26, 2018 at 05:00 GMT

:octocat: cibot: @STAR, One of the format checkers is failed. If you want to get a hint to fix this issue, please go to https://github.sec.samsung.net/STAR/TAOS-CI/wiki/.


fix(rate limits): Passing JWT token to internal calls

:tada: This PR is included in version 1.27.9 :tada:
Your semantic-release bot :package::rocket:


File name (datamodel.mdl) and client name (Photon JS) in graphic in README need to be updated

Fixed both for Prisma Client and Prisma Migrate:

https://github.com/prisma/migrate/commit/ccc5b50cc08f74c534843fca606c9b8393f3c606
https://github.com/prisma/prisma-client-js/commit/ae2313ef626ae443e4b897c95103318eb0da964c


Add tests

Set up unit tests
Setup Circle CI
Setup Code coverage

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@2e1280b). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage          ?   45.12%
=========================================
  Files             ?        4
  Lines             ?      277
  Branches          ?        0
=========================================
  Hits              ?      125
  Misses            ?      152
  Partials          ?        0

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 2e1280b...5e293dd. Read the comment docs.


Added some additional constraints on -aspect swith in FFMPEGTranscode…

Added some additional constraints on -aspect swith in FFMPEGTranscoder to make sure an invalid aspect ratio is not passed to the transcoder.  In my testing, I saw a few occurrences when watching live TV where the content did not seem to be properly identified, and the container format had no aspect or dimensions to the video.  This caused FFMPEGTranscoder to pass -aspect 0:0.  This caused the transcoder to fail and Sage client to display a blank screen.
I realize this is a code path that should probably not occur, but I also think it is a reasonable check and restriction.  I would rather FFmpeg try again to determine the aspect when it has more data.
Josh

Thanks Jeff!


Support for 3D tekal files (polyfile format)

Is your feature request related to a problem? Please describe.
Some of the tekal-files in the script https://github.com/Deltares/dfm_tools/blob/main/tests/examples/preprocess_hydrolib_readwritepol.py cannot be read since they contain a 3D datablock and that is not supported by hydrolib.
Describe the solution you'd like
It might be nice to support this, but I can imagine it is out of scope.
Describe alternatives you've considered
What also sort of works, is changing the header (so it contains only numcols and numrows) and reshaping the data before plotting, also done in the example script.

Discussed with @arthurvd that this will not be implemented.


Hello,how can i save TArray in GameInstance ?

Hello, i read the documentation but found no answer,and "Nested UObject instances (null preserving, will re-instantiate based on property type)" in documentation is also confusing me.
If i have a BP_MyGameinst,it has property TArray< UMyObject > myobjs, and UMyObject property is as follows:
FMyItemWeapon item;
int32 level;
FMyItemWeapon is ustruct
How can i save the property myobjs of BP_MyGameinst? It is confusing and strange that I found my BP_MyGameinst is auto save and load when i'm not call AddPersistentGlobalObject to save it,  and myobjs is also auo save and load even if "SaveGame" is marked as property specifier, and It's strange that the saved elements of myobjs is not valid(nullptr) after load.
Can i accompnish this using SPUD? or is it better to use USaveGame to acompnish is the best practice? Please help me out

From the docs:

Arrays of nested UObjects (or custom structs) aren't supported right now. It's because those types aren't fixed size (you can subclass them) so when added to arrays the in-built mechanisms for upgrading old saves get very complicated. I might add it one day but it's not supported now.
An alternative is to implement ISpudObjectCallback on the parent object, and implement SpudStoreCustomData and SpudRestoreCustomData to serialise just these fields manually. You take responsibility for keeping it compatible but it means you can fill any gaps in SPUD's automatic support like this.


NirSoft.UninstallView version 1.51

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[x] Is there a linked Issue?
Resolves #165619

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Hi @KarbitsCode,
This installer doesn't seem to modify the filesystem. Is this expected?

Hi @KarbitsCode,
This installer doesn't seem to modify the filesystem. Is this expected?

It should install UninstallView as a command, have you tried that?

I'm not entirely sure what kind of command. PowerShell doesn't seem to recognize it:

Hm... weird, I'll take a look

Can you verify the install log like this?

Yesterday's manual validations:
NirSoft.UninstallView.1.51.log
NirSoft.UninstallView.x86.1.51.log
Today's:
NirSoft.UninstallView.x86.1.51.log

Works fine on x64 version, maybe x86 is bad? I can't really check the x86 version

Works fine on x64 version, maybe x86 is bad? I can't really check the x86 version

I'm seeing the same situation with the x64 as with the x86. Feel free to install the x86 on a 64-bit OS for testing - that's what I did above. The technology is generally backwards-compatible.

Confirmed both x86 and x64 versions installed and launched normally, and I don't really see anything wrong with either the manifest or the package itself, maybe there is something wrong with the pipeline?

Hi @KarbitsCode,
The Automatic Validation Pipeline uses SDL-provided VMs. The manual validation pipeline uses VMs downloaded with Hyper-V Quick Create. There are as few modifications as possible performed on these.
Could you be more specific about the "something" to which you're alluding? Do you believe there is a specific framework or package missing from these? Or is there an application or feature in place which should be removed?

Could you be more specific about the "something" to which you're alluding?

I don't know, from the manual validation and the log you provide it seems it doesn't even try to extracting anything, so i have no idea how that happened

Do you believe there is a specific framework or package missing from these?

I don't think so, it should have no dependencies, just like any other nirsoft software

I think this may become a blocking issue, since I didn't have any resolution at the moment


[Azure Load Testing] Onboarding to TypeSpec for control plane GA APIs

ARM (Control Plane) API Specification Update Pull Request

[!TIP]
Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

[!NOTE]
As of January 2024 there is no PR assignee. This is expected. See https://aka.ms/azsdk/pr-arm-review.

PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

 Click here to see the details of Step 1
Breaking changes review (Diagram Step 1)
If the automation determines you have breaking changes, i.e. Step 1 from the diagram applies to you,
you must follow the breaking changes process.
IMPORTANT This applies even if:

The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
You believe there is no need for you to request breaking change approval, for any reason.
Such claims must be reviewed, and the process is the same.

 Click here to see the details of Step 2
ARM API changes review (Diagram Step 2)

For help with Step 2 / "ARM review", see https://aka.ms/azsdk/pr-arm-review.

 Click here to see the diagram footnotes
Diagram footnotes
[1] See ARM review queue (for PR merge queues, see [2]).
[2] public repo merge queue, private repo merge queue (for ARM review queue, [1])
The ARM reviewer on-call engineer visits the merge queue twice a day, so the approximate ETA for merges is 12 - 24 hours.

Purpose of this PR
What's the purpose of this PR? Check the specific option that applies. This is mandatory!

[ ] New resource provider.
[ ] New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been generated using OpenAPI Hub).
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[x] Update existing version to fix OpenAPI spec quality issues in S360.
[x] Other, please clarify:

_We are onboarding our existing control plane GA Spec to be generated with the help of TypeSpec. No changes to APIs in our service were made. _

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[x] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.

Additional information

 Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
For help with PR workflow diagram Step 2 (ARM review), see https://aka.ms/azsdk/pr-arm-review.
If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

The history on this branch looks like it's pulling in old commits that were already merged into the repo, could you fix that? Maybe need to rebase over main?

Also, please go through the CI errors and fix where possible.

Hi @Himanshu49, please fix SDK azure-sdk-for-go CI Duplicate Schema named 'Resource'
conflicts with:

https://github.com/Azure/azure-rest-api-specs/blob/ec645926c2d4de2ad4706e7b3b24eae8a5f86615/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/stable/2022-12-01/loadtestservice.json#L1014
https://github.com/Azure/azure-rest-api-specs/blob/main/specification/common-types/resource-management/v5/types.json#L9

/azp run

@Himanshu49, Please fix all lint errors mentioned here https://github.com/Azure/azure-rest-api-specs/pull/27565/checks?check_run_id=22374860886.
After that remove ArmChangesRequested tag for further review.

Please can we fix these linter errors:
-provisioning state should be marked readonly or visibility as read
-location should be annotated with @visibility
-x-ms-pageable extension must be specified for LIST calls
❌ XmsPageableForListCalls | x-ms-pageable extension must be specified for LIST APIs.Location: Microsoft.LoadTestService/stable/2022-12-01/loadtestservice.json#L588 | RPC-Get-V1-13
⚠ PageableOperation | Based on the response model schema, operation 'LoadTests_ListOutboundNetworkDependenciesEndpoints' might be pageable. Consider adding the x-ms-pageable extension.Location: Microsoft.LoadTestService/stable/2022-12-01/loadtestservice.json#L588 |
⚠ LocationMustHaveXmsMutability | Property location must have 'x-ms-mutability':['read', 'create'] extension defined.Location: Microsoft.LoadTestService/stable/2022-12-01/loadtestservice.json#L946 | RPC-Put-V1-14

/azp run Swagger LintDiff

/azp run

@TimLovellSmith , if you still oncall, please revisit.

No API Changes. Changes only in Type Spec

/azp run

/azp run

/azp run

@Himanshu49 Typespec validation is failing, can you run the tsv command locally and fix any errors that show up?


FileNotFoundError: [Errno 2] No such file or directory: 'outpath/ckpt_40000.pth'

Dear author,
when I run>>bash script/train_AND.sh
I get: FileNotFoundError: [Errno 2] No such file or directory: 'outpath/ckpt_40000.pth'
all the other necessary folders are created, but the 'AND/outpath' folder is actually empty. I downloaded the pretrained checkpoints but the mentioned one in the error is not there.
Maybe I miss downloading smtn else?

Please uncomment the Line21 in script/train_AND.sh here  and run it again.

Thank you soo much!


readme typo

pooling -> polling
Contributing to Twilio

All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.

[ ] I acknowledge that all my contributions will be made under the project's license.

Thank you @twilio-jyoung


[BUGS] Installing LVS and ACF-3 on a dedicated server causes strange issues.

Installing LVS and ACF-3 on a dedicated server causes strange issues.
Short Description
Seems to break a lot of ACF functions, engines don't throttle, weapons don't have mass, collision boxes seem to not initialize.
Branch and Version
Master - 11fefdc
Merge pull request  from yoseij/master
Console Error Logs
The only error thrown seems to be -
[acf-3] lua/vgui/dcombobox.lua:93: bad argument #1 to 'SetText' (string expected, got nil)

SetText - [C]:-1
ChooseOption - lua/vgui/dcombobox.lua:93
ChooseOptionID - lua/vgui/dcombobox.lua:106
SetCustomValue - addons/acf-3/lua/acf/menu/items_cl/settings.lua:124
UpdatePanels - addons/acf-3/lua/acf/core/networking/data_vars/panel_functions_cl.lua:175
fn - addons/acf-3/lua/acf/core/networking/data_vars/panel_functions_cl.lua:227
Run - addons/ulib/lua/ulib/shared/hook.lua:109
SetFunction - addons/acf-3/lua/acf/core/networking/data_vars/data_vars_cl.lua:153
unknown - addons/acf-3/lua/acf/core/networking/data_vars/panel_functions_cl.lua:29

Timer Failed! [ACF Refresh Data<EMAIL_ADDRESS>(line 46)]

This error is thrown when trying to change the server game mode setting.
How to Reproduce
Install latest ACF version with latest version of LVS, on a dedicated server.
Screenshots

I can't seem to reproduce any of these issues on a server that has the latest versions of both; are you certain that something else isn't the problem?

seems to be cause he's using linux 64 and getting the issue.

Is this still an issue on the latest versions of ACF/LVS/Gmod?

After trying to dig a bit deeper, I'm told that the problem appeared to have resolved itself, so I'm closing this issue.


Fix Julia API reference and tutorials redirect on master

Description
The redirect rules in #18607 for Julia does not work as expected. Julia micro site has different structure than any other languages and below rule only applies to Julia, it imports some strange behavior. Disable it on Julia make the redirect works as expect.
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*) $1.html [NC,L]

Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:

Changes

[x] Fix Julia redirect rule: master => v1.6

Comments

Preview: http://ec2-34-219-134-42.us-west-2.compute.amazonaws.com/api

@mxnet-label-bot add [Website]

@mxnet-bot run ci [unix-cpu]


ubuntu 16.04 Rocm 1.9 can't workaround

CPU:E5 2670 v2
GPU:RX580
System:Ubuntu 16.04
Kernel:4.15.0-34-generic
I tried two days and referenced many issue. But the problem is the same.
PS. The OS reinstall.
$ /opt/rocm/bin/rocminfo
hsa api call failure at line 900, file: /home/jenkins/jenkins-root/workspace/compute-rocm-rel-1.9/rocminfo/rocminfo.cc. Call returned 4104

$ /opt/rocm/opencl/bin/x86_64/clinfo
Number of platforms:                             1
  Platform Profile:                              FULL_PROFILE
  Platform Version:                              OpenCL 2.1 AMD-APP (2671.3)
  Platform Name:                                 AMD Accelerated Parallel Processing
  Platform Vendor:                               Advanced Micro Devices, Inc.
  Platform Extensions:                           cl_khr_icd cl_amd_event_callback cl_amd_offline_devices

  Platform Name:                                 AMD Accelerated Parallel Processing
Number of devices:                               1
  Device Type:                                   CL_DEVICE_TYPE_GPU
  Vendor ID:                                     1002h
  Board name:                                    Radeon RX 580 Series
  Device Topology:                               PCI[ B#2, D#0, F#0 ]
  Max compute units:                             36
  Max work items dimensions:                     3
    Max work items[0]:                           1024
    Max work items[1]:                           1024
    Max work items[2]:                           1024
  Max work group size:                           256
  Preferred vector width char:                   4
  Preferred vector width short:                  2
  Preferred vector width int:                    1
  Preferred vector width long:                   1
  Preferred vector width float:                  1
  Preferred vector width double:                 1
  Native vector width char:                      4
  Native vector width short:                     2
  Native vector width int:                       1
  Native vector width long:                      1
  Native vector width float:                     1
  Native vector width double:                    1
  Max clock frequency:                           1360Mhz
  Address bits:                                  64
  Max memory allocation:<PHONE_NUMBER>
  Image support:                                 Yes
  Max number of images read arguments:           128
  Max number of images write arguments:          8
  Max image 2D width:                            16384
  Max image 2D height:                           16384
  Max image 3D width:                            2048
  Max image 3D height:                           2048
  Max image 3D depth:                            2048
  Max samplers within kernel:                    16
  Max size of kernel argument:                   1024
  Alignment (bits) of base address:              2048
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                                     No
    Quiet NaNs:                                  Yes
    Round to nearest even:                       Yes
    Round to zero:                               Yes
    Round to +ve and infinity:                   Yes
    IEEE754-2008 fused multiply-add:             Yes
  Cache type:                                    Read/Write
  Cache line size:                               64
  Cache size:                                    16384
  Global memory size:<PHONE_NUMBER>
  Constant buffer size:<PHONE_NUMBER>
  Max number of constant args:                   8
  Local memory type:                             Scratchpad
  Local memory size:                             32768
  Max pipe arguments:                            0
  Max pipe active reservations:                  0
  Max pipe packet size:                          0
  Max global variable size:                      0
  Max global variable preferred total size:      0
  Max read/write image args:                     0
  Max on device events:                          0
  Queue on device max size:                      0
  Max on device queues:                          0
  Queue on device preferred size:                0
  SVM capabilities:
    Coarse grain buffer:                         No
    Fine grain buffer:                           No
    Fine grain system:                           No
    Atomics:                                     No
  Preferred platform atomic alignment:           0
  Preferred global atomic alignment:             0
  Preferred local atomic alignment:              0
  Kernel Preferred work group size multiple:     64
  Error correction support:                      0
  Unified memory for Host and Device:            0
  Profiling timer resolution:                    1
  Device endianess:                              Little
  Available:                                     Yes
  Compiler available:                            Yes
  Execution capabilities:
    Execute OpenCL kernels:                      Yes
    Execute native function:                     No
  Queue on Host properties:
    Out-of-Order:                                No
    Profiling :                                  Yes
  Queue on Device properties:
    Out-of-Order:                                No
    Profiling :                                  No
  Platform ID:                                   0x7ff074545190
  Name:                                          Ellesmere
  Vendor:                                        Advanced Micro Devices, Inc.
  Device OpenCL C version:                       OpenCL C 1.2
  Driver version:                                2671.3
  Profile:                                       FULL_PROFILE
  Version:                                       OpenCL 1.2 AMD-APP (2671.3)
  Extensions:                                    cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_gl_sharing cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_image2d_from_buffer cl_khr_spir cl_khr_gl_event

 python /opt/rocm/bin/rocm_smi.py

====================    ROCm System Management Interface    ====================
================================================================================
 GPU  Temp    AvgPwr   SCLK     MCLK     Fan      Perf    SCLK OD    MCLK OD
  0   37c     29.225W  300Mhz   300Mhz   42.75%   auto      0%         0%
================================================================================
====================           End of ROCm SMI Log          ====================

python /opt/rocm/bin/rocm_smi.py -p

====================    ROCm System Management Interface    ====================
================================================================================
GPU[0]          : Current PowerPlay Level: auto
================================================================================
====================           End of ROCm SMI Log          ====================

lspci -tv
-+-[0000:ff]-+-08.0  Intel Corporation Xeon E5/Core i7 QPI Link 0
 |           +-08.3  Intel Corporation Xeon E5/Core i7 QPI Link Reut 0
 |           +-08.4  Intel Corporation Xeon E5/Core i7 QPI Link Reut 0
 |           +-09.0  Intel Corporation Xeon E5/Core i7 QPI Link 1
 |           +-09.3  Intel Corporation Xeon E5/Core i7 QPI Link Reut 1
 |           +-09.4  Intel Corporation Xeon E5/Core i7 QPI Link Reut 1
 |           +-0a.0  Intel Corporation Xeon E5/Core i7 Power Control Unit 0
 |           +-0a.1  Intel Corporation Xeon E5/Core i7 Power Control Unit 1
 |           +-0a.2  Intel Corporation Xeon E5/Core i7 Power Control Unit 2
 |           +-0a.3  Intel Corporation Xeon E5/Core i7 Power Control Unit 3
 |           +-0b.0  Intel Corporation Xeon E5/Core i7 Interrupt Control Registers
 |           +-0b.3  Intel Corporation Xeon E5/Core i7 Semaphore and Scratchpad Configuration Registers
 |           +-0c.0  Intel Corporation Xeon E5/Core i7 Unicast Register 0
 |           +-0c.1  Intel Corporation Xeon E5/Core i7 Unicast Register 0
 |           +-0c.2  Intel Corporation Xeon E5/Core i7 Unicast Register 0
 |           +-0c.3  Intel Corporation Xeon E5/Core i7 Unicast Register 0
 |           +-0c.6  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 0
 |           +-0c.7  Intel Corporation Xeon E5/Core i7 System Address Decoder
 |           +-0d.0  Intel Corporation Xeon E5/Core i7 Unicast Register 0
 |           +-0d.1  Intel Corporation Xeon E5/Core i7 Unicast Register 0
 |           +-0d.2  Intel Corporation Xeon E5/Core i7 Unicast Register 0
 |           +-0d.3  Intel Corporation Xeon E5/Core i7 Unicast Register 0
 |           +-0d.6  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 1
 |           +-0e.0  Intel Corporation Xeon E5/Core i7 Processor Home Agent
 |           +-0e.1  Intel Corporation Xeon E5/Core i7 Processor Home Agent Performance Monitoring
 |           +-0f.0  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Registers
 |           +-0f.1  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller RAS Registers
 |           +-0f.2  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 0
 |           +-0f.3  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 1
 |           +-0f.4  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 2
 |           +-0f.5  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 3
 |           +-0f.6  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 4
 |           +-10.0  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 0
 |           +-10.1  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 1
 |           +-10.2  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 0
 |           +-10.3  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 1
 |           +-10.4  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 2
 |           +-10.5  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 3
 |           +-10.6  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 2
 |           +-10.7  Intel Corporation Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 3
 |           +-11.0  Intel Corporation Xeon E5/Core i7 DDRIO
 |           +-13.0  Intel Corporation Xeon E5/Core i7 R2PCIe
 |           +-13.1  Intel Corporation Xeon E5/Core i7 Ring to PCI Express Performance Monitor
 |           +-13.4  Intel Corporation Xeon E5/Core i7 QuickPath Interconnect Agent Ring Registers
 |           +-13.5  Intel Corporation Xeon E5/Core i7 Ring to QuickPath Interconnect Link 0 Performance Monitor
 |           \-13.6  Intel Corporation Xeon E5/Core i7 Ring to QuickPath Interconnect Link 1 Performance Monitor
 \-[0000:00]-+-00.0  Intel Corporation Xeon E5/Core i7 DMI2
             +-02.0-[01]--
             +-03.0-[02]--+-00.0  Advanced Micro Devices, Inc. [AMD/ATI] Device 67df
             |            \-00.1  Advanced Micro Devices, Inc. [AMD/ATI] Device aaf0
             +-05.0  Intel Corporation Xeon E5/Core i7 Address Map, VTd_Misc, System Management
             +-05.2  Intel Corporation Xeon E5/Core i7 Control Status and Global Errors
             +-05.4  Intel Corporation Xeon E5/Core i7 I/O APIC
             +-11.0-[03]--
             +-16.0  Intel Corporation C600/X79 series chipset MEI Controller #1
             +-1a.0  Intel Corporation C600/X79 series chipset USB2 Enhanced Host Controller #2
             +-1b.0  Intel Corporation C600/X79 series chipset High Definition Audio Controller
             +-1c.0-[04]--
             +-1c.2-[05]----00.0  Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
             +-1c.3-[06]----00.0  VIA Technologies, Inc. VL805 USB 3.0 Host Controller
             +-1d.0  Intel Corporation C600/X79 series chipset USB2 Enhanced Host Controller #1
             +-1e.0-[07]--
             +-1f.0  Intel Corporation C600/X79 series chipset LPC Controller
             +-1f.2  Intel Corporation C600/X79 series chipset 6-Port SATA AHCI Controller
             \-1f.3  Intel Corporation C600/X79 series chipset SMBus Host Controller

lspci -n
00:00.0 0600: 8086:3c00 (rev 07)
00:02.0 0604: 8086:3c04 (rev 07)
00:03.0 0604: 8086:3c08 (rev 07)
00:05.0 0880: 8086:3c28 (rev 07)
00:05.2 0880: 8086:3c2a (rev 07)
00:05.4 0800: 8086:3c2c (rev 07)
00:11.0 0604: 8086:1d3e (rev 06)
00:16.0 0780: 8086:1d3a (rev 05)
00:1a.0 0c03: 8086:1d2d (rev 06)
00:1b.0 0403: 8086:1d20 (rev 06)
00:1c.0 0604: 8086:1d10 (rev b6)
00:1c.2 0604: 8086:1d14 (rev b6)
00:1c.3 0604: 8086:1d16 (rev b6)
00:1d.0 0c03: 8086:1d26 (rev 06)
00:1e.0 0604: 8086:244e (rev a6)
00:1f.0 0601: 8086:1d41 (rev 06)
00:1f.2 0106: 8086:1d02 (rev 06)
00:1f.3 0c05: 8086:1d22 (rev 06)
02:00.0 0300: 1002:67df (rev e7)
02:00.1 0403: 1002:aaf0
05:00.0 0200: 10ec:8168 (rev 07)
06:00.0 0c03: 1106:3483 (rev 01)
ff:08.0 0880: 8086:3c80 (rev 07)
ff:08.3 0880: 8086:3c83 (rev 07)
ff:08.4 0880: 8086:3c84 (rev 07)
ff:09.0 0880: 8086:3c90 (rev 07)
ff:09.3 0880: 8086:3c93 (rev 07)
ff:09.4 0880: 8086:3c94 (rev 07)
ff:0a.0 0880: 8086:3cc0 (rev 07)
ff:0a.1 0880: 8086:3cc1 (rev 07)
ff:0a.2 0880: 8086:3cc2 (rev 07)
ff:0a.3 0880: 8086:3cd0 (rev 07)
ff:0b.0 0880: 8086:3ce0 (rev 07)
ff:0b.3 0880: 8086:3ce3 (rev 07)
ff:0c.0 0880: 8086:3ce8 (rev 07)
ff:0c.1 0880: 8086:3ce8 (rev 07)
ff:0c.2 0880: 8086:3ce8 (rev 07)
ff:0c.3 0880: 8086:3ce8 (rev 07)
ff:0c.6 0880: 8086:3cf4 (rev 07)
ff:0c.7 0880: 8086:3cf6 (rev 07)
ff:0d.0 0880: 8086:3ce8 (rev 07)
ff:0d.1 0880: 8086:3ce8 (rev 07)
ff:0d.2 0880: 8086:3ce8 (rev 07)
ff:0d.3 0880: 8086:3ce8 (rev 07)
ff:0d.6 0880: 8086:3cf5 (rev 07)
ff:0e.0 0880: 8086:3ca0 (rev 07)
ff:0e.1 1101: 8086:3c46 (rev 07)
ff:0f.0 0880: 8086:3ca8 (rev 07)
ff:0f.1 0880: 8086:3c71 (rev 07)
ff:0f.2 0880: 8086:3caa (rev 07)
ff:0f.3 0880: 8086:3cab (rev 07)
ff:0f.4 0880: 8086:3cac (rev 07)
ff:0f.5 0880: 8086:3cad (rev 07)
ff:0f.6 0880: 8086:3cae (rev 07)
ff:10.0 0880: 8086:3cb0 (rev 07)
ff:10.1 0880: 8086:3cb1 (rev 07)
ff:10.2 0880: 8086:3cb2 (rev 07)
ff:10.3 0880: 8086:3cb3 (rev 07)
ff:10.4 0880: 8086:3cb4 (rev 07)
ff:10.5 0880: 8086:3cb5 (rev 07)
ff:10.6 0880: 8086:3cb6 (rev 07)
ff:10.7 0880: 8086:3cb7 (rev 07)
ff:11.0 0880: 8086:3cb8 (rev 07)
ff:13.0 0880: 8086:3ce4 (rev 07)
ff:13.1 1101: 8086:3c43 (rev 07)
ff:13.4 1101: 8086:3ce6 (rev 07)
ff:13.5 1101: 8086:3c44 (rev 07)
ff:13.6 0880: 8086:3c45 (rev 07)

$lsmod
Module                  Size  Used by
nls_iso8859_1          16384  2
intel_rapl             20480  0
sb_edac                24576  0
x86_pkg_temp_thermal    16384  0
intel_powerclamp       16384  0
coretemp               16384  0
snd_hda_codec_realtek   106496  1
snd_hda_codec_hdmi     49152  1
snd_hda_codec_generic    73728  1 snd_hda_codec_realtek
kvm_intel             212992  0
kvm                   598016  1 kvm_intel
snd_hda_intel          40960  5
snd_hda_codec         126976  4 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
irqbypass              16384  1 kvm
snd_hda_core           81920  5 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
crct10dif_pclmul       16384  0
crc32_pclmul           16384  0
snd_hwdep              20480  1 snd_hda_codec
ghash_clmulni_intel    16384  0
pcbc                   16384  0
snd_pcm                98304  4 snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hda_codec_hdmi
snd_seq_midi           16384  0
snd_seq_midi_event     16384  1 snd_seq_midi
joydev                 24576  0
input_leds             16384  0
snd_rawmidi            32768  1 snd_seq_midi
aesni_intel           188416  0
aes_x86_64             20480  1 aesni_intel
crypto_simd            16384  1 aesni_intel
glue_helper            16384  1 aesni_intel
cryptd                 24576  3 crypto_simd,ghash_clmulni_intel,aesni_intel
snd_seq                65536  2 snd_seq_midi_event,snd_seq_midi
intel_cstate           20480  0
intel_rapl_perf        16384  0
snd_seq_device         16384  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer              32768  2 snd_seq,snd_pcm
serio_raw              16384  0
snd                    81920  21 snd_hda_intel,snd_hwdep,snd_seq,snd_hda_codec,snd_timer,snd_rawmidi,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_seq_device,snd_hda_codec_realtek,snd_pcm
mei_me                 40960  0
lpc_ich                24576  0
mei                    90112  1 mei_me
soundcore              16384  1 snd
shpchp                 36864  0
mac_hid                16384  0
parport_pc             36864  1
ppdev                  20480  0
lp                     20480  0
parport                49152  3 lp,parport_pc,ppdev
autofs4                40960  2
uas                    24576  0
usb_storage            69632  2 uas
hid_logitech_hidpp     32768  0
hid_logitech_dj        20480  0
hid_generic            16384  0
usbhid                 49152  0
hid                   118784  6 hid_generic,usbhid,hid_logitech_dj,hid_logitech_hidpp
amdkfd                180224  1
amd_iommu_v2           20480  1 amdkfd
amdgpu               2732032  53
chash                  16384  1 amdgpu
i2c_algo_bit           16384  1 amdgpu
ttm                   106496  1 amdgpu
drm_kms_helper        172032  1 amdgpu
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
psmouse               147456  0
sysimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
ahci                   36864  3
drm                   401408  9 amdgpu,ttm,drm_kms_helper
libahci                32768  1 ahci
r8169                  86016  0
mii                    16384  1 r8169

$dkms status
amdgpu, 18.30-641594, 4.15.0-34-generic, x86_64: built
amdgpu, 1.9-211, 4.15.0-34-generic, x86_64: built

$lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:        16.04

$uname -a
Linux horry-desktop 4.15.0-34-generic #37~16.04.1-Ubuntu SMP Tue Aug 28 10:44:06 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$dmesg | grep kfd
[    1.949412] kfd kfd: Initialized module
[    2.705392] amdgpu 0000:02:00.0: kfd not supported on this ASIC

$dmesg | grep amd
[    0.000000] Linux version 4.15.0-34-generic (buildd@lgw01-amd64-037) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)) #37~16.04.1-Ubuntu SMP Tue Aug 28 10:44:06 UTC 2018 (Ubuntu 4.15.0-34.37~16.04.1-generic 4.15.18)
[    1.944271] [drm] amdgpu kernel modesetting enabled.
[    1.949564] fb: switching to amdgpudrmfb from EFI VGA
[    1.950089] amdgpu 0000:02:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
[    1.950182] amdgpu 0000:02:00.0: VRAM: 8192M 0x000000F400000000 - 0x000000F5FFFFFFFF (8192M used)
[    1.950185] amdgpu 0000:02:00.0: GTT: 256M 0x0000000000000000 - 0x000000000FFFFFFF
[    1.950268] [drm] amdgpu: 8192M of VRAM memory ready
[    1.950269] [drm] amdgpu: 8192M of GTT memory ready.
[    1.950376] amdgpu 0000:02:00.0: amdgpu: using MSI.
[    1.950391] [drm] amdgpu: irq initialized.
[    1.950408] amdgpu: [powerplay] amdgpu: powerplay sw initialized
[    1.950619] amdgpu 0000:02:00.0: fence driver on ring 0 use gpu addr 0x0000000000400040, cpu addr 0x        (ptrval)
[    1.950656] amdgpu 0000:02:00.0: fence driver on ring 1 use gpu addr 0x00000000004000c0, cpu addr 0x        (ptrval)
[    1.950688] amdgpu 0000:02:00.0: fence driver on ring 2 use gpu addr 0x0000000000400140, cpu addr 0x        (ptrval)
[    1.950725] amdgpu 0000:02:00.0: fence driver on ring 3 use gpu addr 0x00000000004001c0, cpu addr 0x        (ptrval)
[    1.950757] amdgpu 0000:02:00.0: fence driver on ring 4 use gpu addr 0x0000000000400240, cpu addr 0x        (ptrval)
[    1.950789] amdgpu 0000:02:00.0: fence driver on ring 5 use gpu addr 0x00000000004002c0, cpu addr 0x        (ptrval)
[    1.950820] amdgpu 0000:02:00.0: fence driver on ring 6 use gpu addr 0x0000000000400340, cpu addr 0x        (ptrval)
[    1.950852] amdgpu 0000:02:00.0: fence driver on ring 7 use gpu addr 0x00000000004003c0, cpu addr 0x        (ptrval)
[    1.950884] amdgpu 0000:02:00.0: fence driver on ring 8 use gpu addr 0x0000000000400440, cpu addr 0x        (ptrval)
[    1.950902] amdgpu 0000:02:00.0: fence driver on ring 9 use gpu addr 0x00000000004004e0, cpu addr 0x        (ptrval)
[    1.951397] amdgpu 0000:02:00.0: fence driver on ring 10 use gpu addr 0x0000000000400560, cpu addr 0x        (ptrval)
[    1.951434] amdgpu 0000:02:00.0: fence driver on ring 11 use gpu addr 0x00000000004005e0, cpu addr 0x        (ptrval)
[    1.951761] amdgpu 0000:02:00.0: fence driver on ring 12 use gpu addr 0x000000f4001e6420, cpu addr 0x        (ptrval)
[    1.951790] amdgpu 0000:02:00.0: fence driver on ring 13 use gpu addr 0x00000000004006e0, cpu addr 0x        (ptrval)
[    1.951817] amdgpu 0000:02:00.0: fence driver on ring 14 use gpu addr 0x0000000000400760, cpu addr 0x        (ptrval)
[    1.951945] amdgpu 0000:02:00.0: fence driver on ring 15 use gpu addr 0x00000000004007e0, cpu addr 0x        (ptrval)
[    1.951975] amdgpu 0000:02:00.0: fence driver on ring 16 use gpu addr 0x0000000000400860, cpu addr 0x        (ptrval)
[    2.687456] fbcon: amdgpudrmfb (fb0) is primary device
[    2.687525] amdgpu 0000:02:00.0: fb0: amdgpudrmfb frame buffer device
[    2.705392] amdgpu 0000:02:00.0: kfd not supported on this ASIC
[    2.705402] [drm] Initialized amdgpu 3.23.0 20150101 for 0000:02:00.0 on minor 0

$ groups
horry adm cdrom sudo dip plugdev lpadmin sambashare

I see a few problems with the curren toutput you're showing.

Based on your DKMS output, you have amdgpu-pro installed. I would recommend uninstalling this with amdgpu-pro-uninstall.
Based on your DKMS output, the ROCm driver is not fully installed for your kernel. It is built, but not installed. You can fix this by running sudo dkms install amdgpu/1.9-211.
Your user is not in the 'video' group. You can fix this sudo usermod -a -G video $LOGNAME
I'm not 100% sure if your CPU is on our support list for your GPU. It appears that the Xeon E5-2600 V2 series does support PCIe atomics. However, I haven't tested this processor specifically.

@jlgreathouse  Thank you to your answer.
I will try tomorrow.
BTW,  I will tell the result asap.

@jlgreathouse Thank you to your answer.
I will try tomorrow.
BTW, I will tell the result asap.

Sorry The problem can't solve, even I used above method.

Could you rerun the following test after a reboot?

uname -r
dkms status
modinfo amdgpu | grep filename
modinfo amdkfd | grep filename
dmesg | grep kfd
dmesg | grep amd

And could you define what you mean by "the problem" in your latest message? What have you tested to verify that this problem still exists? Thanks.

Could you reboot your system and please show me the outputs requested in my previous response? Thank you.

Could you reboot your system and please show me the outputs requested in my previous response? Thank you.

I already rebooted and add up some the response.

Hi @tom21tom21
The following identifies your problem:
[    1.625730] kfd kfd: Initialized module
[    1.626379] kfd kfd: skipped device 1002:67df, PCI rejects atomics

Your combination of CPU and GPU are not supported in ROCm. Your GPU device, a gfx8 "Polaris 10" Radeon RX 580, requires a CPU that supports PCIe atomics. As discussed on our hardware page, if you want to use a Xeon CPU, this will require a Xeon "v3" or newer (Haswell). Your Xeon E5 2670 v2 apparently does not support PCIe atomics.
Perhaps there is an option in your BIOS to enable this. But as your system is currently configured, our drivers are unable to use PCIe atomics in the way they need. As such, your GPU will not work under ROCm in this system configuration.

Thank you I will change the other CPU to test.

Under Linux, most AMD cards are currently used for mining. The standard configuration of a mining rig is a computer with a low end CPU like Celeron. With 4-10 GPUs are connected through $3 Chinese risers PCI-E 1x from aliexpress
In this configuration, there can be no support for "PCIe atomics"
In the end, I have to use three versions of the drivers and OS

kernel 4,15 and amdgpu-pro 17,50 working fine RX 5хх series without any "supports PCIe atomics." but it ugly Power Control and no Vega support
kernel 4,15 and amdgpu-pro 18,30 - support Vega, but hashrate is lower than windows about 40%
kernel 4,15 and ROCm 1.9.211 - no PowerControl for Vega and no support RX 5хх/Vega without PCIe atomics
kernel 4.18 - good PowerControl but rocm-dkms is compiled with an error
Windows does not have problems with the drivers, but it is very difficult to administer. It is freeze twice a day

@rumatadest
You only have two drivers in Linux not three for compute.  AMDGPUpro and ROCm
Again ROCm was designed for different use case then you trying to do, Radio Astronomy, HPC and Deep Learning were it primary market focus when it was conceived,   Coin Minning on GPU was not a real market then.   We had some very advanced hardware that never shipped it was designed to address.
  - AMDGPUpro will move forward as the driver that runs everywhere and run with the lowest common denominator system and support broadest number CPU and GPU,  it will get Most of the language runtime which runs on ROCm via PAL base user mode runtime and Kernel Mode packet submission.  Note as of 18.20 for Vega10  it uses the same OpenCL Compilers runtime via PAL layer as Windows. It has always used the same  OpenCL Compiler and Language Runtime as windows for GFX8  and Older GPU's     If you having a performance issue  Between windows and 18.30 AMDGPUpro it not OpenCL issue it in the base Linux driver.

 - ROCm Enterprise driver is targeted at the. NVIDIA Tesla market, supporting  Radeon Instinct product family of hardware,  we support other GPU asics as well for the community to get access to the advanced Software feature it offers.

On PCIe Atomics,  we have a mode for Vega10 that shuts of PCIe atomics,  we looking make sure there is fall back path for those who do not really care about I/O performance or Queue Submission overheads,  which is your use case.   To do this we have to do Firmware changes, this harder for older hardware which the firmware engineering team are more hesitant to touch.  On ROCm for Future hardware release, we have a fallback path.
4.18 just came out, Aug 30th   I understand it has the feature you want, right now with ROCm 1.9 you can use it with new changes in the Thunk, but understand it takes time to integrate with the bigger stack flow it out in a formal driver release

Hi @rumatadest
To give a bit more info -- ROCm 1.9.0 supports Linux 4.15 (in particular, Ubuntu 16.04 LTS and 18.04 LTS; the most recent versions of these distributions base their HWE kernel on 4.15). We do support Vega 10 GPUs in ROCm 1.8 and 1.9 on systems without PCIe atomics. In ROCm 1.8 we required you to manually set the environment variable HSA_ENABLE_SDMA=0 to avoid the requirement for PCIe atomics; this is no longer the case in ROCm 1.9.
You are right, however, that GPUs in the gfx8 line, includ Radeon RX 5xx GPUs ("Polaris 10", "Polaris 11") do still require PCIe atomics. You can read more information about these requirements in #451.
If you are running kernel 4.18, you do not need to install the full rocm-dkms package to get ROCm software working. As of 4.16 (pre-Vega) and 4.17 (including Vega 10 support), a working version of the ROCK drivers are available in the upstream kernel. As such, you can, if you so choose, skip installing rock-dkms, which is one of the dependencies of rocm-dkms. See this post, where I link to directions on Phoronix that show a user getting the ROCm user-level software working on the base 4.18 kernel.
We are aware that the ROCm 1.9.0 rock-dkms package won't build on newer kernels. However, AMD's custom ROCm drivers available as part of ROCm 1.9.0 are only supported on RHEL/CentOS 7.4 and 7.5, and on Ubuntu 16.04 LTS and Ubuntu 18.04 LTS. As such, we do not guarantee that they will work on newer kernels that are not officially supported on these distros. For newer kernels, however, you should be able to use the upstream drivers with our user-land software.

Hi @tom21tom21
Since the underlying problem reported in this issue is an unsupported CPU+GPU combination, I'm going to close this ticket. If you install a newer CPU and still run into problems, please feel free to open another ticket. Thanks!

Thanks for your reply
Waiting for the ebuilds ))
Wishes.
Is it possible to create a test repository with "nightly builds"? Not every person can compile the latest version of the ROCM from the thunk. This can speed up the process of testing new features.

Hi @rumatadest
That's a good request. I don't know if would be able to do "nightly" builds (our internal nightly builds may contain code that we do not wish to release to the public, such as information about new hardware that we have not released). That said, we can try to explore the possibility of unofficial/testing channels. I can't make any promises about this, but thank you for the request.


adding support for MariaDB dialect

@simolus3 if you could review these changes (with your help I will have more ready for review soon but I need your help for smooth implementation as per our discussion, for example still trying to figure out a smooth way to set the escape character as well as the datetimes)

could you check 82a8f84, I feel like we should add some mariadb-specific documentation as to why this if exists and it doesn't just move on

could you check 82a8f84, I feel like we should add some mariadb-specific documentation as to why this if exists and it doesn't just move on cuz somebody in the future might go like "ah this isn't doing anything let's delete it" and not think of mariadb

Good idea, and tests are an excellent way to ensure this :) Could you add something like this in drift/test/database/expressions/in_expression_test.dart under the group('values block?
    test('avoids generating empty tuples', () {
      // Some dialects don't support the `x IS IN ()` form, so we should avoid
      // it and replace it with the direct constant (since nothing can be a
      // member of the empty set). sqlite3 seems to do the same thing, as
      // `NULL IN ()` is `0` and not `NULL`.
      expect(innerExpression.isIn([]), generates('FALSE'));
      expect(innerExpression.isNotIn([]), generates('TRUE'));
    });

Yeah, a copy-paste variant of that package would be a good starting point :+1: Thanks! And MariaDBDatabase is fine. The duplicate database in the name is kind of weird right? :D But I think MariaDatabase is worse somehow.

Yeah, a copy-paste variant of that package would be a good starting point

Great cuz that's what I did haha

But I think MariaDatabase is worse somehow.

Yep, agree! I went with MariaDBDatabase. Contempleted a bit on DB vs Db but I figured if their own website has it DB who am I to change it?

Contempleted a bit on DBvs Db but I figured if their own website has it DB who am I to change it?

Right. And I'm not as consistent as I should be with this either, but the Dart styleguide also suggests fully capitalizing two-letter acronyms, it's probably for the best.
I have setup integration tests talking to MariaDb, but unfortunately they fail at the very first statement:
00:00 +0: test/drift_mariadb_test.dart: can use no-op transactions
Drift: Sent CREATE TABLE IF NOT EXISTS `users` (`id` BIGINT NOT NULL PRIMARY KEY AUTOINCREMENT, `name` TEXT NOT NULL, `birth_date` BIGINT NOT NULL, `profile_picture` BLOB NULL, `preferences` TEXT NULL); with args []
00:00 +0 -1: test/drift_mariadb_test.dart: can use no-op transactions [E]
  MySQLServerException [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' `name` TEXT NOT NULL, `birth_date` BIGINT NOT NULL, `profile_picture` BLOB N...' at line 1

I'm not that familiar with MariaDb anymore, do you recognize what might be causing this?

but the Dart styleguide also suggests fully capitalizing two-letter acronyms

Ah nice, didn't know this.

AUTOINCREMENT

should be AUTO_INCREMENT

I'm working with migration a bit, and assuming legacy_alter_table is unique to SQLite. Could you check if my implementation to ignore it for MariaDB is correct/acceptable? I don't see anything for postgres here either and I'm curious if it's the same as SQLite or if it's just not supported.
Finally in alterTable there's this:
final schemaQuery = await _db.customSelect(
  'SELECT type, name, sql FROM sqlite_master WHERE tbl_name = ?;',
  variables: [Variable<String>(tableName)],
).get();

and I'm not sure what to do with it since I don't have the sqlite_master table and I see _schema isn't used for that yet.

I tried using store_date_time_values_as_text and changed DateTimeExpressions.fromUnixEpoch to be like this for MariaDB:
  static Expression<DateTime> fromUnixEpoch(Expression<int> unixEpoch) {
    return _DependingOnDateTimeExpression(
      forTimestamps: unixEpoch.dartCast(),
      forIsoString: FunctionCallExpression('FROM_UNIXTIME', [unixEpoch]),
    );
  }

but I get Invalid date format<PHONE_NUMBER>Z with the trailing Z which I assume is caused by the dart-sdk at:
String toIso8601String() {
  String y =
      (year >= -9999 && year <= 9999) ? _fourDigits(year) : _sixDigits(year);
  String m = _twoDigits(month);
  String d = _twoDigits(day);
  String h = _twoDigits(hour);
  String min = _twoDigits(minute);
  String sec = _twoDigits(second);
  String ms = _threeDigits(millisecond);
  String us = microsecond == 0 ? "" : _threeDigits(microsecond);
  if (isUtc) {
    return "$y-$m-${d}T$h:$min:$sec.$ms${us}Z";
  } else {
    return "$y-$m-${d}T$h:$min:$sec.$ms$us";
  }
}

not sure what to do so I will we stay with my timestamps instead of text 😅
also not sure if that's an issue with drift in general and not MariaDB specific and might be caused by my location being Greece (UTC+02:00 that changes to UTC+03:00 depending on the time of the year)

I was testing stuff with migration and realized that in MariaDB when you do drop table this is true:
DROP TABLE automatically commits the current active transaction, unless you use the TEMPORARY keyword

Do you think we should have by default TEMPORARY in every drop table statement for MariaDB?

Do you have any better ideas as to why this doesn't work in drift but works in DBeaver?

Not really, can you reproduce this by manually running the individual statements via the mariadb client package? Maybe it's because we're using a pool internally and the different statements are running on different TCP connections to MariaDB? That would be crazy though.
FWIW, I don't think we necessarily need the alterTable API in an early version. Its documentation clearly mentions that it's tailored towards a migration procedure necessary for sqlite3. In postgres and MariaDB, we have actual ALTER TABLE support, users should probably construct those manually instead of re-creating the table every time.

ah you are right... I was so stuck getting this to work:
await m.alterTable(TableMigration(
  table,
  columnTransformer: {
    for (final column in dateTimeColumns)
      column: DateTimeExpressions.fromUnixEpoch(column.dartCast<int>()),
  },
));

using
static Expression<DateTime> fromUnixEpoch(Expression<int> unixEpoch) {
  return _DependingOnDateTimeExpression(
    forTimestamps: unixEpoch.dartCast(),
    forIsoString: FunctionCallExpression('FROM_UNIXTIME', [unixEpoch]),
  );
}

that I got caught up in it. Will try and figure that out with custom statements instead.

I've merged develop into this branch, some of the integration tests for MariaDB pass now :tada:
Some of the test failures need to be handled in generated code (for instance, MariaDB doesn't seem to support index variables so we can't do something like a = ?1 OR b = ?1). I can work on those since they'll probably require complicated changes in the generator. Other failures might be coming from the implementation (like not being able to bind Uint8Lists and double variables being selected as strings in SELECT ?) - if you have an idea on what's going wrong there, it would be great if you could have a look.

some of the integration tests for MariaDB pass now 🎉

That's great!

so we can't do something like a = ?1 OR b = ?1

Can you give me an example of when we would do this? Wouldn't we just do a = ? OR b = ? and then do (x, x) and have the same variable? Or is it just so we don't pass duplicate variables?

not being able to bind Uint8Lists and double variables being selected as strings in SELECT ?

Would it be easy for you to give me a code sample that doesn't work to investigate?
Also, did you merge 78d6064 as well? cuz that has a hardcoded backtick in columns.dart that we don't have access to dialect... unless backtick as escape works fine in SQLite too...

With your change to sql_writer I run dart run build_runner build --delete-conflicting-outputs and get
drift_dev-2.10.0/lib/src/analysis/resolver/drift/view.dart:113:38: Error: Too few positional arguments: 2 required, 1 given.
    ).toSqlWithoutDriftSpecificSyntax(resolver.driver.options);

do you also get this? or am I missing a change in view.dart?

for some reason I'm running the build runner with the latest commits and the database.g.dart file is written for sqlite and not for mariadb. I'm not sure which change cause this, do you have any idea as to which one could be?

It's like the writer overrides my dialect parameter set to mariadb

Could you post the build.yaml file you're using for that? I think it should hit the second branch if you have set MariaDB as a dialect.

Can you give me an example of when we would do this? Wouldn't we just do a = ? OR b = ? and then do (x, x) and have the same variable?

Yes, that's the idea. Unfortunately, if the user explicitly uses the same variable multiple times, like there:
https://github.com/simolus3/drift/blob/525ab27006f2dec22d52681085b182d8b60ef61e/extras/integration_tests/drift_testcases/lib/database/database.dart#L74-L79
We need to come up with something. My idea is to leave the query as-is for sqlite3 and postgres, but for MariaDB we need to use three distinct variables and bind the same value to all of them. This wouldn't be too hard if it was just variables, but we also support Dart components and array variables which can allocate a dynamic amount of variables. So the code needs to reflect that, which is not that easy to implement. The internal query model of the generator doesn't provide enough information for that at the moment, I'll take a look at adding support for that transformation.

Would it be easy for you to give me a code sample that doesn't work to investigate?

https://github.com/simolus3/drift/blob/525ab27006f2dec22d52681085b182d8b60ef61e/extras/integration_tests/drift_testcases/lib/suite/crud_tests.dart#L169-L173
Note: This might be fixed by simply applying the same transformation for MariaDB:
https://github.com/simolus3/drift/blob/525ab27006f2dec22d52681085b182d8b60ef61e/extras/integration_tests/drift_testcases/lib/suite/crud_tests.dart#L123-L129

Could you post the build.yaml file you're using for that? I think it should hit the second branch if you have set MariaDB as a dialect.

I do not have a build.yaml as I'm building with the default options. I have set the dialect on my LazyDatabase and on my DelegatedDatabase as mariadb which worked before. Maybe I broke something by copy pasting the current branch's code into my ...\AppData\Local\Pub\Cache\hosted\pub.dev\drift-2.10.0 and drift_dev-2.10.0 accordingly?

I think this is a consequence of #2536 then. Since most users only need sqlite3 support and since we don't have stable support for another dialect, I think the generated code should be optimized for sqlite3 only by default.
When you add a build.yaml file with these contents, MariaDB support should work again:
targets:
  $default:
    builders:
      drift_dev:
        options:
          sql:
            dialects:
              - sqlite # you could even remove this one and get mariadb-optimized code if you don't need sqlite3
              - mariadb

I think this is a consequence of #2536 then.

ah yeah that could be it...

I think the generated code should be optimized for sqlite3 only by default.

Absolutely agree until stable support is ensured.

When you add a build.yaml file with these contents, MariaDB support should work again:

You are correct, works like a charm now. I was caught off-guard cuz I didn't need it before and the code generation ran fine so it didn't cross my mind.

Are you aware of dependency overrides?

Well I am now 😅 thanks for the tip!

I'm fine with merging this now since this doesn't interfere with the other dialects, but as you can see from the MariaDB integration tests, some things are still broken. Especially the transaction failures are a bit concerning.
So we can merge this as it is and fix it later since it's still experimental, or if you want to you can also take a look at this before. I'm fine with either approach.

I'm also fine with merging, I will be taking a look at those transaction errors since I haven't had an issue with normal or nested transaction, as you said it's still experimental so it should be ok, maybe we could throw in some quick documentation / TODO until the it's fixed and the tests pass?


error: no matching package named ... found

I get this really strange error but only in flakes. nix-build is fine, but nix run breaks. And it only happens if the git working copy is not dirty.
++ crate2nix generate -f ./Cargo.toml -o Cargo-generated.nix -h /nix/store/0v78qgpw835pb2ri7r1l1v40linxhi5a-himalaya-crate2nix/crate-hashes.json
Error: while retrieving metadata about ./Cargo.toml: Error during execution of `cargo metadata`: error: no matching package named `clap` found
location searched: registry `https://github.com/rust-lang/crates.io-index`
required by package `himalaya v0.2.2 (/build/source)`

crate2nix failed.

The source tree to reproduce this is here: https://github.com/srid/himalaya/commit/fce129d6a36f8b535ce042ddcd611b4a73120a88
By the way, I came across crate2nix via a conversation on reddit, which has further context on this problem.

And I'm positive that this has nothing to do with the package in question, clap.
Confirmed here,

https://github.com/srid/bouncy/runs/2293288367
https://github.com/srid/bouncy/runs/2293424388

@FintanH No, I no longer use Rust. Still using Haskell :-)

@FintanH try using strace to get the underlying cargo metadata command? This might be an issue for upstream.

No, I no longer use Rust. Still using Haskell :-)

lol, very envious :)

try using strace to get the underlying cargo metadata command? This might be an issue for upstream.

@Ericson2314 thanks for the suggestion! I gave that a go, but it seems like crate2nix is using the cargo_metadata package :sweat: I couldn't see anything out of the ordinary happening.
Two things that are weird:

If I drop into a shell nix-shell -p crate2nix and run crate2nix generate it works perfectly fine.

So it seems like a combination of not having a Cargo.lock with this flake setup is messing things up. I'd rather not have a Cargo.lock in the repository because it's a library package.

I did some digging by pointing to my own crate2nix fork and building off of a custom revision. I printed the command that gets executed:
cargo metadata --format-version 1 --manifest-path ./Cargo.toml --all-features --locked

The weird thing is that this works if I run it from my terminal! :grimacing: I can only reproduce this error via nix build :(

Try running that command without network access? I bet it's trying to download stuff to make a lock file on the fly.

Try running that command without network access? I bet it's trying to download stuff to make a lock file on the fly.

Hmmmm you're right! Why is that an issue?

We do have a set of binaries that seem open nix flaking since we have a Cargo.lock there, but unfortunately I ran into this number https://github.com/NixOS/nix/pull/4638 :upside_down_face:

Yes the fact of the matter is you want to keep 1 or more Cargo.locks that don't go to crates.io when the library is published, but are used for CI. I general. packaged have "extract stuff" that isn't published for downstream consumption, but useful for development.
I dislike flakes, but anyways flake problems are anyways out of scope here. https://github.com/NixOS/nix/pull/4638 you can avoid but just writing down the reference? But niv and nix-thunk shouldn't suffer from it.


dummy chnage to trigger pr build

Before creating a pull request make sure that:

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable) ### /RDCC-5014
Change description ### fix functional test cases for 1st run in common data load
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

close PR


Query was often failing due to issues with parsing SPARQL

Added additional instructions and filtered out comments in SPARQL query
Cause reliability to significantly improve.

nice catch, good fix


Excessive memory requirements

Hi, I would like to know how much memory you need for testing SemanticKITTI. When setting batch=1, I need almost 32G of memory (not GPU memory). Is this normal? Or is there any way to reduce that demand？

hi@huixiancheng,if you test succsesfully?i got some problems when i was testing ,i can't do the testing process on sequences13,19,and 21,however other sequences are successed. could you give me some advices?

May caused by out of memory.  A simple way to solve this is just use Slice in here.
https://github.com/tsunghan-mama/RandLA-Net-pytorch/blob/913837e846176e4247a7e21783bf8f2f38576257/dataset/semkitti_testset.py#L26
Such as 4071 in seq 08.  Just infer two time.  Rough but effective and not impact on accuracy in my tests
Once is
self.data_list = sorted(self.data_list)[0:3000].
Then ifer again in
self.data_list = sorted(self.data_list)[3000:]

thank you for your help,and i have solved this problem.
however,i test the score on the competition failed,like this:
how can i do?
------------------ 原始邮件 ------------------
发件人:                                                                                "tsunghan-mama/RandLA-Net-pytorch"                                                                                @.>;
发送时间: 2021年12月11日(星期六) 中午12:20
@.>;
<EMAIL_ADDRESS>主题: Re: [tsunghan-mama/RandLA-Net-pytorch] Excessive memory requirements (#10)
May caused by out of memory.  A simple way to solve this is just use Slice in here.
https://github.com/tsunghan-mama/RandLA-Net-pytorch/blob/913837e846176e4247a7e21783bf8f2f38576257/dataset/semkitti_testset.py#L26
Such as 4071 in seq 08.  Just infer two time.  Rough but effective and not impact on accuracy in my tests
Once is
self.data_list = sorted(self.data_list)[0:3000].
Then ifer again in
self.data_list = sorted(self.data_list)[3000:]
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

thank you for your help,and i have solved this problem.
however,i test the score on the competition failed,like this:
hoping you could give me some suggestions.thank you very much!
adding:
  my work is based on original RandLA-Net code,and i appends my labels files at last.
------------------ 原始邮件 ------------------
发件人:                                                                                "tsunghan-mama/RandLA-Net-pytorch"                                                                                @.>;
发送时间: 2021年12月11日(星期六) 中午12:20
@.>;
<EMAIL_ADDRESS>主题: Re: [tsunghan-mama/RandLA-Net-pytorch] Excessive memory requirements (#10)
May caused by out of memory.  A simple way to solve this is just use Slice in here.
https://github.com/tsunghan-mama/RandLA-Net-pytorch/blob/913837e846176e4247a7e21783bf8f2f38576257/dataset/semkitti_testset.py#L26
Such as 4071 in seq 08.  Just infer two time.  Rough but effective and not impact on accuracy in my tests
Once is
self.data_list = sorted(self.data_list)[0:3000].
Then ifer again in
self.data_list = sorted(self.data_list)[3000:]
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
从QQ邮箱发来的超大附件
mlpmixer_basic.zip (134.63M, 2022年01月18日 16:07 到期)进入下载页面：http://mail.qq.com/cgi-bin/ftnExs_download?t=exs_ftn_download&k=73303436f1d2f6c4f1745b091336511c515303070652025219075706031b57555008190e0255571e0d0056040652530052050d533524635e5840595f4d53116c5651475f5618195a443009&code=404656c3

I haven't used the original code so I can't give advice.
Also, all you need to be aware of is the error log given by codalab.
May be you can try to get help in here.

what is your environments,i want to try run your code.

Just this repo with infer in "all" type.
I did not submit a test, I think if there is no problem with this api verification in valid set, the test is also no problem.

hi,
  i want to appreciate your suggestions.
  my problems got solved with your help and now my work get a great score .thank you very much!!!
------------------ 原始邮件 ------------------
发件人:                                                                                "tsunghan-mama/RandLA-Net-pytorch"                                                                                @.>;
发送时间: 2021年12月19日(星期天) 晚上6:44
@.>;
<EMAIL_ADDRESS>主题: Re: [tsunghan-mama/RandLA-Net-pytorch] Excessive memory requirements (#10)
Just this repo with infer in "all" type.
I did not submit a test, I think if there is no problem with this api verification in valid set, the test is also no problem.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you commented.Message ID: @.***>

hi, @huixiancheng,i have run data_prepare_semantickitti.py successfully, but when i train the model it was wrong, the error is: RuntimeError: weight tensor should be defined either for all 19 classes or no classes but got weight tensor of shape: [1, 19], how can i do?

Hi, I do not meet this problem. Maybe You should check the number of classes and classes_weights.
Here is the weight I ever caculated and used.

class_weights = torch.tensor([[17.1775, 49.4507, 49.0822, 45.9186, 44.9319, 49.0655, 49.6848, 49.8644,
5.3651, 31.3473,  7.2697, 41.0090,  5.5935, 11.1401,  2.8727, 37.3551,
9.1705, 43.3172, 48.0677]]).cuda()

It really a tensor of shape: torch.Size([1, 19]).

@huixiancheng, thank you very much for your data and advice, i try it but still can not work. Do you think maybe this problem has relation with checkpoint.rar? because i can't gei it from your link in readme.md.  it was empty.

No. I think it will not effect.

@huixiancheng i am very grateful for you give me advices, i will try it again, thank you very much

@xlr-project  Maybe you use torch=1.10? I just reprodece your errors with this setting(torch=1.10  with cuda=11.3 ). When change to torch=1.81 and cuda=11.1. It work well.

@xlr-project Maybe you use torch=1.10? I just reprodece your errors with this setting(torch=1.10 with cuda=11.3 ). When change to torch=1.81 and cuda=11.1. It work well.

thank you very much, i make it successfully already


Parse errors in c#

Thanks for the excellent package.  When I use the C# example code, most parsing works fine.  However, parsing sqrt(x), sinh(x), cosh(x), and tanh(x) all throw parsing errors.  Other function, such as sin(x), cos(x), tan(x) all parse fine.

This is with version 0.9?

With regard to sqrt the reason is that it is not specified as a function, therefore, when parsing, returns Undefined. I think makes sense when parsing to replace it on Expression.Power.

Yes, this area definitely needs some work and design, also related to #8.

A very interesting topic. There's definitely something to think about. But I guess it makes sense to correct this inaccuracy with a sqrt in the current implementation. I can try to fix it in the next few days.

Thanks for looking into this.  Yes, I am using version 0.9.

@qoptics Now it should work. Although now you need to build the library from source.

Released as v0.10. Thanks again.


Add Alluxio client jar to hive-hadoop2 as a library

Add an Alluxio client jar as a runtime dependency to presto hive connector. When using Hive connector, users no more need to copy Alluxio client jar  into directory plugin/hive-hadoop2/ on all Presto servers.

@apc999
I would be more confident to ship a ready to use integration, if it was covered with some tests.
In this case, this should be product tests (docker-based).

hi @findepi @dain  I updated the POM to download from maven artifact org.alluxio:alluxio-shaded-client.  Note that, this is alluxio-shaded-client has all transitive dependencies shaded and relocated. Please take a look

Thanks for updating. Rather than adding it directly to the plugin, can you add this as a <scope>runtime</scope> dependency to presto-hive? That will ensure it is always available.
When updating the PR, please squash the commits so that there is a single commit.

@electrum I've updated the POM to use <scope>runtime</scope> in presto-hive-hadoop2 module. Previously I attempted to put it in presto-hive but it turned out making two copies of alluxio-shaded-client jar: one in plugin/hive-hadoop2 and the other in plugin/presto-iceberg. That's why I put the POM change in presto-hive-hadoop2 to avoid copying that in iceberg dir.

The build error is from presto-phoenix with error message like 2019-10-12T18:57:53.738-0500 SEVERE Error processing Split 20191012_235753_00306_u7c5h.1.2-6  (start =<PHONE_NUMBER>06, wall = 10 ms, cpu = 1 ms, wait = 1 ms, calls = 3): SUBQUERY_MULTIPLE_ROWS: Scalar sub-query has returned multiple rows io.prestosql.spi.PrestoException: Scalar sub-query has returned multiple rows.
I'm not sure if this is related to my change here. Please advice?

SEVERE Error processing Split 20191012_235753_00306_u7c5h.1.2-6  (start =<PHONE_NUMBER>06, wall = 10 ms, cpu = 1 ms, wait = 1 ms, calls = 3): SUBQUERY_MULTIPLE_ROWS: Scalar sub-query has returned multiple rows
io.prestosql.spi.PrestoException: Scalar sub-query has returned multiple rows`

@apc999 this is expected (we test behavior with erroneous queries too)
the actual failures was later:
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 3
[ERROR] Crashed tests:
[ERROR] io.prestosql.plugin.phoenix.TestPhoenixDistributedQueries

i.e. https://github.com/prestosql/presto/issues/1641
i restarted the build.

@findepi thanks! All the checks passed now

@electrum  Is there anything else I should do here? thanks

Travis has failed several times for this PR, but for unrelated reasons. I'm re-running the last failed job now.

Merged, thanks!


CLI tool throws error message when run with no args

$ npx prettier-sql
npx: installed 2 in 1.681s
Cannot read property '1' of undefined

Need to print usage + improve CLI tool

Fixed in #38


Write a Ruby program to find volume of a cone

Description
Write a Ruby program to find volume of a cone
Volume of cone = 1/3 × π × Radius^2 × Height
Radius : 2
Height : 3

Volume : 12.566370614359

How to contribute

Save the solution in program/FindVolumeOfACone.rb file
Add FindVolumeOfACone.rb file in find-volume-of-a-cone folder

!assign


SlideToClickedSlide not always triggering

This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

Swiper Version: 4.4.2

Platform/Target and Browser Versions: Windows on Chrome, MacOS on Chrome

What you did
{
        speed: 1000,
        slidesPerView: 5,
        spaceBetween: 20,
        centeredSlides: true,
        slideToClickedSlide: true,
        initialSlide: 3,
        longSwipes: false,
        shortSwipes: false,
        resistance: false,
        allowTouchMove: false,

        breakpoints: {
            1420: {
                slidesPerView: 3,
            },

            565: {
                slidesPerView: 2,
            },

            400: {
                slidesPerView: 1,
            }
        },
 }

Expected Behavior
When trying to click to the next slide by clicking on the slide the clicked slide should become active.
Actual Behavior
When trying to click to the next slide (by clicking on the slide) it doesn't always trigger, sometimes you need to click 2-3 times before it does. This seems to be worse on Mac (made me think it was a magic mouse issue but happens too on windows)
Before you open an issue, please check if a similar issue already exists or has been closed before.
I could not find this exact issue logged.

Issue is still present ... yawn

caused this on last project, it still happens

2022 - still present issue


Don't default enable StarIsType

Add StarIsType to "bad extensions".  See https://github.com/ndmitchell/hlint/issues/971 for details as to why that might be the right thing to do.

This may or may not be desired, I'll leave that to you. In any case, it has been identified that there's a logic error in ghc-lib-parser-ex such that if an extension is enabled by default but explicitly disabled via pragma, the disabling does not have an effect.  Preparing a patch for that.

Given StarIsType is being removed (https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0143-remove-star-kind.rst), it probably makes sense to do this.

Patch that fixes the ghc-lib-parser-ex problem in https://github.com/ndmitchell/hlint/pull/973.

On the other hand, as @justinwoo points out, https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#extension-StarIsType indicates that the extension today is enabled by default so perhaps this patch shouldn't be applied. In any case, the ghc-lib-parser-ex patch in https://github.com/ndmitchell/hlint/pull/973 will fix issue https://github.com/ndmitchell/hlint/issues/971.

cc @jinwoo ^

Rejecting this patch - by default GHC enables StarIsType. We should remove this extension when GHC changes the default. Thanks for the great work fixing HLint by other mechanisms!


Error with extending native String object with format method

In defaultErrorMessageResolver.js, line 5, we extend the native String object to have a format function. On line 7, we reference this.replace. For some reason, I am suddenly getting an error that "this" is undefined. I'm not sure what change might have caused this...
4  if (!('format' in String.prototype)) {
5    String.prototype.format = function () {
6      var args = arguments;
7      return this.replace(/{(\d+)}/g, function (match, number) {
8        return typeof args[number] !== undefined ? args[number] : match;
9      });
10  };
11 }

I know it's a matter of opinion, but shouldn't we just use a generic "formatString" function or similar instead of extending a native object? I understand it would remove some syntactic sugar, but would resolve issues such as this. Also, "format" is only used 4 times - all in the same file (defaultMessageErrorResolver.js.) If there is support for this, I don't mind submitting a pr.

Sure - I think in this case I would agree with you feel free to submit a PR to fix this.


Add loader for .graphql files

This PR adds the .graphql file loading feature discussed in https://github.com/facebook/create-react-app/issues/3873.
A POC of the concept can be found in https://github.com/petetnt/cra-pr-3909-poc/ (might need to link to react-scripts after installing). Tested the following things:

✅ works while developing with yarn start
✅ works after building with yarn build

Also looked at the output after ejecting and it looks correct, couldn't test it yet though after yarn eject due to some version issues 🤷
The PR adds following things:

Ability to load and preprocess .graphql and .gql files with graphql-tag/loader
Updates the README.md and User guide with descriptions and usage
Adds a jest transform so the .graphql files work with tests too

Tested it out with react-apollo and it worked beautifully. Should work with Relay Modern too, but prerequisite for it is https://github.com/facebook/create-react-app/pull/2343

Thanks @iansu! 👌

👯 awesome!

Cool! Thanks for supporting out of the box!

Right now this doesn't currently lint .graphql files, but inevitably I think you would want this if you're also loading them. For reference, there's an issue with linting graphql files coupled with prettier:
https://github.com/prettier/eslint-plugin-prettier/issues/81
https://github.com/apollographql/eslint-plugin-graphql/issues/109
Just FYI. 😃

Out of curiosity, is there some discussion around why CRA cannot allow to at least add own webpack loaders for those people who know what they are doing? For example I do like this change, but personally I like to use .gql extension instead. I find it silly that I would need to eject for such a small change. Even creating a fork of react-scripts seems like overkill.
I don't think that by allowing some optional "pro" configuration it would break the mission of the CRA. Should I open new issue to discuss this? :)

I find it silly that I would need to eject for such a small change. Even creating a fork of react-scripts seems like overkill.

Another option would be to start using .graphql extension. :-)

@FredyC You don't have to eject, you can use this https://github.com/timarney/react-app-rewired to change the config of create-react-app

Is this available in the version 1.5.2?

@paulomcnally This feature will be available on the upcoming version 2 of CRA. If you want to load .graphql files in 1.5.2., you might want to consider https://github.com/timarney/react-app-rewired to modify the config of CRA to match this PR.

Thanks for your answer @petetnt, I'll wait for version 2.x.

Hi, using version 2.0.0-next.66cc7a90 of scripts but getting Module not found: Can't resolve '../graphql/queries/books.graphql' in '... any idea why?

I cannot seem to load .graphql files using CRA version 2.0.3.
Here are my packages in package.json
"apollo-link": "^1.2.3",
    "apollo-link-error": "^1.1.1",
    "apollo-link-http": "^1.5.5",
    "axios": "^0.18.0",
    "babel-plugin-dynamic-import-node": "^2.0.0",
    "babel-plugin-syntax-dynamic-import": "^6.18.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react-app": "^3.1.1",
    "compression": "^1.7.3",
    "cross-env": "^5.2.0",
    "env-cmd": "^8.0.2",
    "express": "^4.16.2",
    "file-loader": "^1.1.6",
    "graphql": "^14.0.2",
    "graphql-tag": "^2.10.0",
    "graphql.macro": "^1.0.2",
    "ignore-styles": "^5.0.1",
    "node-fetch": "^2.2.0",
    "pm2": "^3.2.2",
    "react": "^16.5.2",
    "react-dom": "^16.5.2",
    "react-loadable": "^5.3.1",
    "react-scripts": "^2.0.3",
    "styled-components": "^3.4.9",
    "url-loader": "^1.0.1"

The error I am getting is Unexpected token inside of my .graphql file. Any help would be greatly appreciated.
Thanks

@silentlight the support for 'graphql-tag/loader' was removed #5076
Try using any one of these macros:

https://github.com/evenchange4/graphql.macro
https://github.com/leoasis/graphql-tag.macro

Or just eject your app and add the 'graphql-tag/loader' in your webpack config files (dev & prod)
// The GraphQL loader preprocesses GraphQL queries in .graphql files.
{
  test: /\.(graphql)$/,
  loader: 'graphql-tag/loader',
},

why was this reverted? this functionality was awesome

Hi @chrisdostert!
The implicit loader was removed in favor of the macro approach, which gives much more flexibility (for example using different graphql-js version instead of the one shipped with CRA) with little to no code changes.
You can load .gql and .graphql files by installing the graphql-tag.macro from npm and using it like this:
import { loader } from 'graphql.macro';
const A = loader('./assets/graphql.graphql');

The loader statement gets replaced with the actual graphql-tag object on build time and the precomputed object also lowers performance overhead by bit!

thx @petetnt for response.
This is opinionated, but personally the simplicity of single import & no additional direct dependency was quite nice & seemed to be more in line w/ the way CRA has approached features in general.
Again, opinionated.

As @petetnt mentioned, the main downside to this approach is that you're stuck with whatever version of graphql-js Create React App uses. And the only way to upgrade would be for CRA to update the version and then for you to upgrade to that new version of CRA in your project.
While using macros requires a bit of extra work we think the flexibility is worth the tradeoff. It also means we don't have to add loaders for every conceivable file type or for different tools (CSS-in-JS libraries for example).

graphql.macro does not seem to work with a .graphql file that contains multiple operations.
./queries.graphql
query Query1 {
query1 {
...
query Query2 {
query2{
…
import {loader} from 'graphql.macro';
const {Query1, Query2} = loader('./queries.graphql');
Query1 and Query2 are undefined.