Cannot cancel a stream that already has a reader

What version of Remix are you using?
1.6.7
Steps to Reproduce
I'm executing a http request from a route Action but I'm getting this error because Server is busy (not responding):

[frontend] /frontend/node_modules/web-streams-polyfill/src/lib/readable-stream.ts:149
[frontend]       return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));
[frontend]                                  ^
[frontend] TypeError: Cannot cancel a stream that already has a reader
[frontend]     at ReadableStream.cancel (/frontend/node_modules/web-streams-polyfill/src/lib/readable-stream.ts:149:34)
[frontend]     at abort (/frontend/node_modules/@remix-run/web-fetch/src/fetch.js:75:18)
[frontend]     at AbortSignal.abortAndFinalize (/frontend/node_modules/@remix-run/web-fetch/src/fetch.js:91:4)
[frontend]     at AbortSignal.[nodejs.internal.kHybridDispatch] (node:internal/event_target:643:20)
[frontend]     at AbortSignal.dispatchEvent (node:internal/event_target:585:26)
[frontend]     at abortSignal (node:internal/abort_controller:284:10)
[frontend]     at AbortController.abort (node:internal/abort_controller:315:5)
[frontend]     at Timeout._onTimeout (/frontend/apps/webapp/app/utils/http.ts:16:42)
[frontend]     at listOnTimeout (node:internal/timers:559:17)
[frontend]     at processTimers (node:internal/timers:502:7)

I created a simple utility to support timeout with fetch:
const DEFAULT_TIMEOUT = 5000;

export type HttpOptions = RequestInit & {
  timeout?: number;
  defaultResponse?: unknown;
  parseJSON?: boolean;
}

async function httpRequest(
  resource: string,
  options: HttpOptions = { timeout: DEFAULT_TIMEOUT, parseJSON: true },
) {
  const { timeout, ...rest } = options;

  const controller = new AbortController();
  const id = setTimeout(() => controller.abort(), timeout || DEFAULT_TIMEOUT);
  try {
    const response = await fetch(resource, {
      ...rest,
      signal: controller.signal
    });
    clearTimeout(id);
    return rest.parseJSON === false ? response : response.json();
  } catch (error) {
    if (rest.defaultResponse !== undefined) {
      return rest.defaultResponse;
    }
    if (controller.signal.aborted) {
      throw new Error('Server is busy, please try again');
    }
    throw error;
  }
}

export { httpRequest };

Then I'm using that method to execute a POST request:
export const action: ActionFunction = async ({ request }) => {
  const formData = await request.formData();

  const email = formData.get('email');
  try {
    await httpRequest(`${apiURL}/auth`, {
      method: 'POST',
      body: JSON.stringify({
        email,
      }),
      parseJSON: false,
    });

    // ...
  } catch (error) {
    return {
      error: (error as Error)?.message,
    }
  }
};

Also I'm already using CatchBoundary and ErrorBoundary for this page:
function renderLoginPage(error?: Error) {
  const data = useLoaderData();
  return (
    <div id="main-content" className="relative pb-36">
      <LoginPage {...data} error={error} />
    </div>
  );
}

export const CatchBoundary = () => {
  const caught = useCatch();
  return renderLoginPage(caught.data);
};

export const ErrorBoundary: ErrorBoundaryComponent = ({ error }) => {
  return renderLoginPage(error);
};

export default function () {
  return renderLoginPage();
}

Expected Behavior
Be able to get the error message using useActionData Hook from Remix, it's working for other validations before executing the HTTP request.
Actual Behavior
Getting an unexpected exception:

Thanks for your help! <3

I have similar issue, but not the same. "TypeError: This stream has already been locked for exclusive reading by another reader"
Im trying to request text from Form Data and Files too. But Form has 2 different methods, but not possible to read the request with both of them. Sorry if my code isnt efficent enough but im trying.
export async function action(props) {     const {request} = props      const formDatas = request.formData     const  data =  {       title: formDatas.get('title'),       slug: formDatas.get('slug')     }      await createCategory(data)       formData.stream.destroy()     const uploadHandler = unstable_createFileUploadHandler({       maxPartSize: 10_000_000,       directory: path.join(__dirname, '..', public/uploads`),
file: ({ filename }) => filename,
})
const formData = await unstable_parseMultipartFormData(
request,
uploadHandler
)
const image = formData.get('image')
if (image) {
  console.log(`File uploaded to server/public/uploads/${image.name}`)
} else {
  console.log("No file uploaded");
}

return redirect('/')

}`

@MisteryPoints Try cloning the request object, and read data separately from that cloned object. Even I faced the same issue, and have solved it by following this approach -
export async function action(props) {     const {request} = props      const clonedData = request.clone()     const formDatas = await clonedData.formData()     const  data =  {       title: formDatas.get('title'),       slug: formDatas.get('slug')     }      await createCategory(data)       const uploadHandler = unstable_createFileUploadHandler({       maxPartSize: 10_000_000,       directory: path.join(__dirname, '..', public/uploads`),
file: ({ filename }) => filename,
})
const formData = await unstable_parseMultipartFormData(
request,
uploadHandler
)
const image = formData.get('image')
if (image) {
  console.log(`File uploaded to server/public/uploads/${image.name}`)
} else {
  console.log("No file uploaded");
}
return redirect('/')

}`

@MisteryPoints Try cloning the request object, and read data separately from that cloned object. Even I faced the same issue, and have solved it by following this approach -
export async function action(props) {
    const {request} = props
    const clonedData = request.clone()
    const formDatas = await clonedData.formData()
    const  data =  {
      title: formDatas.get('title'),
      slug: formDatas.get('slug')
    }
    await createCategory(data)
    const uploadHandler = unstable_createFileUploadHandler({
      maxPartSize: 10_000_000,
      directory: path.join(__dirname, '..', `public/uploads`),
      file: ({ filename }) => filename,
    })
    const formData = await unstable_parseMultipartFormData(
      request,
      uploadHandler
    )
    const image = formData.get('image')

    if (image) {
      console.log(`File uploaded to server/public/uploads/${image.name}`)
    } else {
      console.log("No file uploaded");
    }
    return redirect('/')
}

@itsanirbanroy Thanks bro!, i did the same before in Aug 12, when i readed a bit of request documentation.

It looks working great from the loaders of the routes using the httpRequest utility, but I'm getting this error with a POST HTTP request from a simple action:
export const action: ActionFunction = async ({ request }) => {
  const formData = await request.formData();
  const email = formData.get('email')?.toString();
  try {
    await httpRequest(`${apiURL}/auth`, {
      method: 'POST',
      body: JSON.stringify({
        email,
      }),
      parseJSON: false,
      timeout: 1000,
    });

    return redirect('/login');
  } catch (error) {
    return {
      error: (error as Error)?.message,
    };
  }
};

Output:
/node_modules/web-streams-polyfill/src/lib/readable-stream.ts:149
      return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));
                                 ^
TypeError: Cannot cancel a stream that already has a reader
    at ReadableStream.cancel (/node_modules/web-streams-polyfill/src/lib/readable-stream.ts:149:34)
    at abort (/node_modules/@remix-run/web-fetch/src/fetch.js:75:18)
    at AbortSignal.abortAndFinalize (/node_modules/@remix-run/web-fetch/src/fetch.js:91:4)
    at AbortSignal.[nodejs.internal.kHybridDispatch] (node:internal/event_target:694:20)
    at AbortSignal.dispatchEvent (node:internal/event_target:636:26)
    at abortSignal (node:internal/abort_controller:292:10)
    at AbortController.abort (node:internal/abort_controller:323:5)
    at Timeout._onTimeout (/apps/webapp/app/utils/http.ts:21:42)
    at listOnTimeout (node:internal/timers:559:17)
    at processTimers (node:internal/timers:502:7)

Please let me know and thanks for your help!

I see this error when aborting a fetch request with AbortController. When I use remix's fetch library with graphql-request instead of the default node-fetch that it uses, I run into this sometimes when calling controller.abort()
For now, I decided not to use Remix's custom fetch library for this purpose.

I also ran into this as well.  For now, as a workaround (to @aniravi24's point of avoiding the web-fetch usage), I did the following:

added node-fetch 2 to packages.json (since node-fetch 3 is ESM only)

"node-fetch": "^2",

Then add the following to a fetchOverlay.server.ts file

const nodeFetch = require("node-fetch");
let fetchOverlay = false;
export function setupFetch() {
  if (!fetchOverlay) {
    globalThis.fetch = nodeFetch as any;
    fetchOverlay = true;
  }
}

Call setupFetch() somewhere common (or in root)

This still seems to be an active issue, I just ran into it too.

Also facing this issue, the following is my investigation
I think this issue can't be solve by clone the request,
it is when request aborted will throw an error which even can't be catch from user side,
so the server crash by this unhandled error.

remix-run/node overwrite the default fetch under the hood,
https://github.com/remix-run/remix/blob/27e7ac2959146e8c158382da2a65f9afe9d1a67f/packages/remix-node/globals.ts#L55

the implementation in remix-run/web-std-io could be found at
https://github.com/remix-run/web-std-io/blob/d2a003fe92096aaf97ab2a618b74875ccaadc280/packages/fetch/src/fetch.js#L39

the issue is
https://github.com/remix-run/web-std-io/blob/d2a003fe92096aaf97ab2a618b74875ccaadc280/packages/fetch/src/fetch.js#L75

this error is throw by underline polyfill readable stream,
seems like it will throw error if the response body has been locked (because it will be consume by http request).
https://github.com/MattiasBuelens/web-streams-polyfill/blob/d354a7457ca8a24030dbd0a135ee40baed7c774d/src/lib/readable-stream.ts#L149

seems like the test case didn't do a good job,
the controller abort the request before it actually fired,
the request.body is not be consume by reader yet.
https://github.com/remix-run/web-std-io/blob/d2a003fe92096aaf97ab2a618b74875ccaadc280/packages/fetch/test/main.js#L1129

the test case below try to defer the controller abort,
after the request.body be consume.
diff --git a/packages/fetch/src/fetch.js b/packages/fetch/src/fetch.js
index fcbc379..6a46f77 100644
--- a/packages/fetch/src/fetch.js
+++ b/packages/fetch/src/fetch.js
@@ -72,6 +72,8 @@ async function fetch(url, options_ = {}) {
                        const error = new AbortError('The operation was aborted.');
                        reject(error);
                        if (request.body) {
+                               console.log('request.body', request.body)
+                               console.log('request.body.locked', request.body.locked)
                                request.body.cancel(error);
                        }

diff --git a/packages/fetch/test/main.js b/packages/fetch/test/main.js
index cc02728..0b7d95f 100644
--- a/packages/fetch/test/main.js
+++ b/packages/fetch/test/main.js
@@ -1126,7 +1126,9 @@ describe('node-fetch', () => {
                                                .and.have.property('name', 'AbortError')
                                ]);

-                               controller.abort();
+                               setTimeout(() => {
+                                       controller.abort();
+                               }, 10)

                                return result;
                        });

I didn't solve this issue, need other people input.

Also facing this issue, the following is my investigation
I think this issue can't be solve by clone the request, it is when request aborted will throw an error which even can't be catch from user side, so the server crash by this unhandled error.

remix-run/node overwrite the default fetch under the hood,
https://github.com/remix-run/remix/blob/27e7ac2959146e8c158382da2a65f9afe9d1a67f/packages/remix-node/globals.ts#L55
the implementation in remix-run/web-std-io could be found at
https://github.com/remix-run/web-std-io/blob/d2a003fe92096aaf97ab2a618b74875ccaadc280/packages/fetch/src/fetch.js#L39
the issue is
https://github.com/remix-run/web-std-io/blob/d2a003fe92096aaf97ab2a618b74875ccaadc280/packages/fetch/src/fetch.js#L75
this error is throw by underline polyfill readable stream,
seems like it will throw error if the response body has been locked (because it will be consume by http request).
https://github.com/MattiasBuelens/web-streams-polyfill/blob/d354a7457ca8a24030dbd0a135ee40baed7c774d/src/lib/readable-stream.ts#L149
seems like the test case didn't do a good job,
the controller abort the request before it actually fired,
the request.body is not be consume by reader yet.
https://github.com/remix-run/web-std-io/blob/d2a003fe92096aaf97ab2a618b74875ccaadc280/packages/fetch/test/main.js#L1129

the test case below try to defer the controller abort, after the request.body be consume.
diff --git a/packages/fetch/src/fetch.js b/packages/fetch/src/fetch.js
index fcbc379..6a46f77 100644
--- a/packages/fetch/src/fetch.js
+++ b/packages/fetch/src/fetch.js
@@ -72,6 +72,8 @@ async function fetch(url, options_ = {}) {
                        const error = new AbortError('The operation was aborted.');
                        reject(error);
                        if (request.body) {
+                               console.log('request.body', request.body)
+                               console.log('request.body.locked', request.body.locked)
                                request.body.cancel(error);
                        }

diff --git a/packages/fetch/test/main.js b/packages/fetch/test/main.js
index cc02728..0b7d95f 100644
--- a/packages/fetch/test/main.js
+++ b/packages/fetch/test/main.js
@@ -1126,7 +1126,9 @@ describe('node-fetch', () => {
                                                .and.have.property('name', 'AbortError')
                                ]);

-                               controller.abort();
+                               setTimeout(() => {
+                                       controller.abort();
+                               }, 10)

                                return result;
                        });

I didn't solve this issue, need other people input.

Also, attach a repository for reproduce this issue
https://github.com/kayac-chang/remix-abort-test/tree/main
https://gitpod.io/start/#kayacchang-remixabortte-0ohsnxppt54

Same here, and request.clone() does not seems to help this time.
Throws This stream has already been locked for exclusive reading by another reader

Also facing this issue, the following is my investigation
I think this issue can't be solve by clone the request, it is when request aborted will throw an error which even can't be catch from user side, so the server crash by this unhandled error.

remix-run/node overwrite the default fetch under the hood,
https://github.com/remix-run/remix/blob/27e7ac2959146e8c158382da2a65f9afe9d1a67f/packages/remix-node/globals.ts#L55
the implementation in remix-run/web-std-io could be found at
https://github.com/remix-run/web-std-io/blob/d2a003fe92096aaf97ab2a618b74875ccaadc280/packages/fetch/src/fetch.js#L39
the issue is
https://github.com/remix-run/web-std-io/blob/d2a003fe92096aaf97ab2a618b74875ccaadc280/packages/fetch/src/fetch.js#L75
this error is throw by underline polyfill readable stream,
seems like it will throw error if the response body has been locked (because it will be consume by http request).
https://github.com/MattiasBuelens/web-streams-polyfill/blob/d354a7457ca8a24030dbd0a135ee40baed7c774d/src/lib/readable-stream.ts#L149
seems like the test case didn't do a good job,
the controller abort the request before it actually fired,
the request.body is not be consume by reader yet.
https://github.com/remix-run/web-std-io/blob/d2a003fe92096aaf97ab2a618b74875ccaadc280/packages/fetch/test/main.js#L1129

the test case below try to defer the controller abort, after the request.body be consume.
diff --git a/packages/fetch/src/fetch.js b/packages/fetch/src/fetch.js
index fcbc379..6a46f77 100644
--- a/packages/fetch/src/fetch.js
+++ b/packages/fetch/src/fetch.js
@@ -72,6 +72,8 @@ async function fetch(url, options_ = {}) {
                        const error = new AbortError('The operation was aborted.');
                        reject(error);
                        if (request.body) {
+                               console.log('request.body', request.body)
+                               console.log('request.body.locked', request.body.locked)
                                request.body.cancel(error);
                        }

diff --git a/packages/fetch/test/main.js b/packages/fetch/test/main.js
index cc02728..0b7d95f 100644
--- a/packages/fetch/test/main.js
+++ b/packages/fetch/test/main.js
@@ -1126,7 +1126,9 @@ describe('node-fetch', () => {
                                                .and.have.property('name', 'AbortError')
                                ]);

-                               controller.abort();
+                               setTimeout(() => {
+                                       controller.abort();
+                               }, 10)

                                return result;
                        });

I didn't solve this issue, need other people input.

Also, attach a repository for reproduce this issue
https://github.com/kayac-chang/remix-abort-test/tree/main
https://gitpod.io/start/#kayacchang-remixabortte-0ohsnxppt54

I'm pretty sure Remix accepts PRs with a failing test as a bug report, so if you're able to reproduce it in a test case and open a PR, that might bring this issue some attention.

i found this issue at fetch  writeToStream(request_, request);
https://github.com/remix-run/web-std-io/blob/main/packages/fetch/src/fetch.js#L317C3-L317C16
bodey.js StreamIterableIterator.getReader not rleaseLock or cancel
who can fix it ??

when the fetch request times out, abort will be triggered and an error will be throw

@kayac-chang is spot on.

I think this issue can't be solve by clone the request, it is when request aborted will throw an error which even can't be catch from user side, so the server crash by this unhandled error.

This is a bit of a dealbreaker, as a server timeout (or a 500 error) is currently not catch-able at all.

I see this was assigned and then unassigned - any progress on this?

I see the Issue comes from people using Remix. In my case, it was breaking because I was reading the body more than once. Here you can read more about it.

The Remix team has been working on that,
it seems they want to remove the polyfill on node> = 18.
https://github.com/remix-run/web-std-io/pull/42
Thank the team for the fantastic work here! 🙏🙏🙏

+1. Calling an endpoint that returns in 2s with a 1s timeout triggers the un-catchable error and crushes the process:
const resp = await fetch("https://run.mocky.io/v3/b2cca8a5-81b6-4293-b957-774c399c416b?mocky-delay=2000ms", {
    method: "POST",
    signal: AbortSignal.timeout(1000),
  });
} catch (error: any) {
  console.error(error)
}

output:
return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));                                           ^

TypeError: Cannot cancel a stream that already has a reader
    at ReadableStream2.ReadableStream2.cancel (.../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/dist/ponyfill.js:3587:44)
    at abort (.../node_modules/.pnpm/@remix-run+web-fetch@4.4.2/node_modules/@remix-run/web-fetch/src/fetch.js:76:18)
    at EventTarget.abortAndFinalize (.../node_modules/.pnpm/@remix-run+web-fetch@4.4.2/node_modules/@remix-run/web-fetch/src/fetch.js:92:4)
    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:762:20)
    at EventTarget.dispatchEvent (node:internal/event_target:704:26)
    at abortSignal (node:internal/abort_controller:365:10)
    at Timeout._onTimeout (node:internal/abort_controller:125:7)
    at listOnTimeout (node:internal/timers:573:17)
    at process.processTimers (node:internal/timers:514:7)

We also started encountering this error, something we see is that it only happens for POST | PUT requests, although this may very well be more related to requests sending a body in the request.
Here is our workaround
import { default as fetchNode } from 'node-fetch'

async function customFetch<T>(
	input: URL | RequestInfo,
	init?: RequestInit,
): Promise<ApiResponse<T>> {

        const fetchToUse =
		init?.method === 'POST' || init?.method === 'PUT' ? fetchNode : fetch

	const response = await fetchToUse(input, {
		...init,
                signal: AbortSignal.timeout(Number(process.env.FETCH_TIMEOUT ?? 25000)),
         });
         ...
}

Please opt into "nativeFetch" on your installGlobals() call.

Please opt into "nativeFetch" on your installGlobals() call.

We're running into this error as well, how does one opt into "nativeFetch" on the installGlobals() call? It does not accept any parameters. 🤔

When I enable nativeFetch it breaks Request abort signals.
There's several PRs (https://github.com/remix-run/remix/discussions/8461) saying that this is fixed, but I can't get it to work at all.


Fix simulation training set bug

In simulation mode, the training set was not properly stored. This PR fixes that.

pfieewww, just in time ;)


Wireframe Title Screen

Using LoveGUI, implement a title screen that appears when you first launch the game. It should have the following aspects:

[x] "Helios 2400" as a big-text title

[x] "Join A Game" button below that: Launches the Join Dialog

[x] "Exit Helios" button below that: Exits the Game

[x] All centered

[ ] (Extra Credit) A 'background' element with a partially-terraformed Martian horizon with a starfield above it. A raster image or software-drawn vector graphics are both acceptable

[ ] A Join Dialog

[x] Grays out and stops clicks on the Title Screen
[x] Has a text panel saying Enter the address of the game you wish to join
[x] Has a text input field where you can type in an address.
[x] Text input field defaults to localhost:50000 for now (assuming a local server)
[ ] Has a 'Join' button that sends a CONNECT message to the server
[ ] Once the CONNECT message succeeds, it triggers a change to the Game Lobby screen
[ ] If the CONNECT message fails, the text panel switches to saying Connection Failed! Please try again
[ ] Has a 'Cancel' button that ends the Join Dialog and re-enables clicking on the Title Screen

Fine art-direction isn't super important at this point: color things kind of purple-ish with grays. The Game Lobby screen is detailed in another issue.

Moved
Has a 'Join' button that sends a CONNECT message to the server
and Once the CONNECT message succeeds, it triggers a change to the Game Lobby screen
to separate issue


fix: tests & docs

:tada: This PR is included in version 1.0.12 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


961 add migration file to add tables from dotnet [DO NOT MERGE]

Context
We are starting to add functionality that will only exist on the Rails side, so it doesn't make sense to be dependent of the .NET app to make DB modifications.
Changes proposed in this pull request
Add a Rails migration file that creates the currently existing DB structure.
Guidance to review
This migration is a spike and is not ready to merge! This is just an idea of what the First Migration might look like if we take this approach of putting it into the Rails app. We will have to regenerate it with a proper schema.rb!
What to review: The general approach taken with unless table_exists? which are there to protect the deployed environments, comments as to whether that's a Good Idea and/or The Right Way are welcome.
People who know about this
@misha, @timabell2

 Move DB migrations to Rails app.

@defong Good idea. I wouldn't bother except that we're probably going to regenerate this migration anyway with a proper dump of the DB, at which point it'll be the same amount of work to do this more refined approach.

I don't think we need this anymore. It looks like having schema.rb will be good enough.


Meta fields 105

Implementation of the meta-data fields for all classes.

Limited implementation of meta-fields for references. Its a start.


Added typescript declaration file and @types/mysql as a devDependency

@lukeb-uk Is this Travis CI build failure caused by my branch? It looks like a problem with building with node 9 in general.

Yeah, it's to do with npm on node 9. Gonna do a config update for travis

Fixes #53


Enable on-target execution of mbedtls unit tests

This PR enhances the existing unit test framework for execution on target. Requirements and design details can be found here:
http://teamsites.arm.com/sites/IOTBU/Engineering/Shared Documents/mbed TLS/Test/mbed-tls On Target Testing.docx
Steps to test:
Desktop
Steps to test on desktop are not changed. Hence:

mingw32-make test

mbed-os

Checkout mbed-os
cd mbed-os\features\mbedtls\importer\TARGET_IGNORE\
checkout mbedtls and merge this PR
cd mbedtls\tests
mingw32-make gen-mbed-test
mkdir TESTS\host_tests
copy scripts\mbedtls_test.py TESTS\host_tests\
copy the TESTS directory in mbed-os/features/mbedtls/
cd back to mbed-os/
mbed test --compile -m K64F -t GCC_ARM
See mbedtls tests with command mbedgt -V -l
Run aes tests
mbedgt -V -n features-mbedtls-tests-mbedtls-test_suite_aes*

Build requires greentea client changes submitted in PR https://github.com/ARMmbed/mbed-os/issues/4364.

In case Jira ticket is missed. Please review @sbutcher-arm @andresag01 @yanesca @RonEld

@sbutcher-arm @andresag01 @yanesca @gilles-peskine-arm
On target crypto primitive test status:

Test Suite
Pass
Fail
Skipped
Suite Status

Total
4242
62
1060

features-mbedtls-tests-mbedtls-test_suite_aes.cbc
72
0
0

features-mbedtls-tests-mbedtls-test_suite_aes.cfb
132
0
0

features-mbedtls-tests-mbedtls-test_suite_aes.ecb
77
0
0

features-mbedtls-tests-mbedtls-test_suite_aes.rest
5
0
0

features-mbedtls-tests-mbedtls-test_suite_arc4
9
0
0

features-mbedtls-tests-mbedtls-test_suite_asn1write
31
0
0

features-mbedtls-tests-mbedtls-test_suite_base64
57
0
0

features-mbedtls-tests-mbedtls-test_suite_blowfish
100
0
0

features-mbedtls-tests-mbedtls-test_suite_camellia
56
0
0

features-mbedtls-tests-mbedtls-test_suite_ccm
373
0
0

features-mbedtls-tests-mbedtls-test_suite_cipher.aes
170
0
0

features-mbedtls-tests-mbedtls-test_suite_cipher.arc4
23
0
0

features-mbedtls-tests-mbedtls-test_suite_cipher.blowfish
93
0
0

features-mbedtls-tests-mbedtls-test_suite_cipher.camellia
80
0
0

features-mbedtls-tests-mbedtls-test_suite_cipher.ccm
120
0
0

features-mbedtls-tests-mbedtls-test_suite_cipher.des
113
0
0

features-mbedtls-tests-mbedtls-test_suite_cipher.gcm
163
0
0

features-mbedtls-tests-mbedtls-test_suite_cipher.null
22
0
0

features-mbedtls-tests-mbedtls-test_suite_cipher.padding
60
0
0

features-mbedtls-tests-mbedtls-test_suite_cmac
19
0
0

features-mbedtls-tests-mbedtls-test_suite_ctr_drbg
123
0
1

features-mbedtls-tests-mbedtls-test_suite_debug
3
16
2

features-mbedtls-tests-mbedtls-test_suite_des
84
0
0

features-mbedtls-tests-mbedtls-test_suite_dhm
0
0
5
TIMEOUT

features-mbedtls-tests-mbedtls-test_suite_ecdh
10
0
0

features-mbedtls-tests-mbedtls-test_suite_ecdsa
33
0
5
TIMEOUT

features-mbedtls-tests-mbedtls-test_suite_ecjpake
77
0
0

features-mbedtls-tests-mbedtls-test_suite_ecp
87
0
0

features-mbedtls-tests-mbedtls-test_suite_entropy
3
9
7

features-mbedtls-tests-mbedtls-test_suite_error
4
2
0

features-mbedtls-tests-mbedtls-test_suite_gcm.aes128_de
85
0
0

features-mbedtls-tests-mbedtls-test_suite_gcm.aes128_en
85
0
0

features-mbedtls-tests-mbedtls-test_suite_gcm.aes192_de
85
0
0

features-mbedtls-tests-mbedtls-test_suite_gcm.aes192_en
85
0
0

features-mbedtls-tests-mbedtls-test_suite_gcm.aes256_de
85
0
0

features-mbedtls-tests-mbedtls-test_suite_gcm.aes256_en
85
0
0

features-mbedtls-tests-mbedtls-test_suite_gcm.camellia
54
0
0

features-mbedtls-tests-mbedtls-test_suite_hmac_drbg.misc
11
0
5

features-mbedtls-tests-mbedtls-test_suite_hmac_drbg.no_reseed
300
0
0

features-mbedtls-tests-mbedtls-test_suite_hmac_drbg.nopr
300
0
0

features-mbedtls-tests-mbedtls-test_suite_hmac_drbg.pr
300
0
0

features-mbedtls-tests-mbedtls-test_suite_md
268
0
37

features-mbedtls-tests-mbedtls-test_suite_mdx
33
0
0

features-mbedtls-tests-mbedtls-test_suite_memory_buffer_alloc
0
0
6

features-mbedtls-tests-mbedtls-test_suite_mpi
16
0
212
TIMEOUT

features-mbedtls-tests-mbedtls-test_suite_pem
1
8
0

features-mbedtls-tests-mbedtls-test_suite_pk
10
0
28
TIMEOUT

features-mbedtls-tests-mbedtls-test_suite_pkcs1_v15
12
0
0

features-mbedtls-tests-mbedtls-test_suite_pkcs1_v21
83
0
177
TIMEOUT

features-mbedtls-tests-mbedtls-test_suite_pkcs5
32
0
0

features-mbedtls-tests-mbedtls-test_suite_pkparse
7
0
52

features-mbedtls-tests-mbedtls-test_suite_pkwrite
0
0
10

features-mbedtls-tests-mbedtls-test_suite_rsa
14
20
70
TIMEOUT

features-mbedtls-tests-mbedtls-test_suite_shax
43
0
0

features-mbedtls-tests-mbedtls-test_suite_ssl
19
0
0

features-mbedtls-tests-mbedtls-test_suite_timing
0
0
1

features-mbedtls-tests-mbedtls-test_suite_version
3
2
0

features-mbedtls-tests-mbedtls-test_suite_x509parse
2
5
421
TIMEOUT

features-mbedtls-tests-mbedtls-test_suite_x509write
0
0
21

features-mbedtls-tests-mbedtls-test_suite_xtea
25
0
0

For detailed log see attached file. Summary is in the bottom
on-target-greentea-report.txt

Config used for above tests https://gist.github.com/mazimkhan/b892d2e7d36e7e08faeef367b4498b39

@AndrzejKurek @k-stachowiak

Travis build now passes.

@gilles-peskine-arm for some reason I am not able to see your comments. I am working on adding unit tests for the test code. Hence it is imp for me to see your comments. Can you please post a link to one of your comments. I will try to see why they don't show up.

Is it not like if you submit the review you can still add comments to it. But if you want to hold on to the comments it is fine with me.

@gilles-peskine-arm Thanks for the useful comments. I have incorporated your comments and replied to some of them. Please review the changes.
Also I have added unit tests for code generator in file generate_code_ut.py.

@sbutcher-arm I have incorporated all your code review comments except the documentation ones that I will talk to @RonEld . Can you please elaborate on following:

Which scripts will be broken by change from Perl to Python.
What do you mean by "raise the idea in GitHub https://github.com/ARMmbed/mbedtls/pull/930#discussion_r127972634

@gilles-peskine-arm @sbutcher-arm incorporated code review comments and rebased with development branch. Please review and merge.

@gilles-peskine-arm incorporated your comments.

@gilles-peskine-arm done

@sbutcher-arm pending your approval and merge.

@Patater added as reviewer.

@sbutcher-arm  I disagree with merging this PR incrementally. It's a major change in the test framework, including the format of data files, which means that it'll conflict with any other PR that touches on the tests. We need a clear cutoff point.
There's no point in keeping both code generation scripts. Until we change the data file format, the new script is useless. Once we change the format, the old script is useless.
The risk to the product is zero in direct terms since this PR only affects the tests. The risk that there will be false positives is pretty low: there are unit tests for the new test code, and we should manually verify that test failures are properly reported when we merge.
I think this PR should be merged immediately after a release. At that point, any work in progress should be rebased to release+this_PR, rather than to the release as we would normally do.

retest

@sbutcher-arm This PR is rebased and tested in CI.

I think we should have some compilation flag that defines we are running in test code
Sometimes, HW crypto accelerations need to know if we are in test code or not.
For example, differnt endianity between the output of the HW vector, and the endianity of the input test vectors.

@RonEld I don't understand what you mean by “running in test code”. Why would an accelerator need to know that, whatever it means?

This PR also passes release tests https://jenkins-internal.mbed.com/job/mbedtls-release/370/

retest

@sbutcher-arm @Patater rebased and tested.

Note that on Mac, one must set "PYTHON=python" in the environment, because there is no python2 by default. If you set up a symlink from python2 to python, which I'd expect to work,realpath complains it can't find /usr/bin/python2 (even though the symlink targets /usr/bin/python). Either of those methods places a requirement on the development environment, though. It'd be a better developer experience to detect use of Mac and then use python instead of python2.

retest

@sbutcher-arm rebased and passed CI. In your last review you requested changes. They have been addressed. Please re-review.

@andresag01 - I know this PR is enormous, but can you please review it? Thanks.

@sbutcher-arm: Sure, I will review it as soon as I can

I've been beta-testing this PR a bit in a private branch but I don't have time for a full review.
I would recommend running pylint on the new Python script. Not everything it reports needs fixing, but it's a good idea to take a look.

@sbutcher-arm @andresag01 I have incorporated code review comments. Please review the updated code.
I am deliberately not rebasing to avoid losing current review history. Any rebasing will be done after a fresh conclusive round of review.

@andresag01 @gilles-peskine-arm @sbutcher-arm review comments have been incorporated. I have deliberately not rebased to keep the review comments until review is over. Please re-review.

@andresag01 thanks for your valuable review. I have incorporated most of your comments.

There is a lot of style issues where the code does not conform to the Mbed TLS guidelines

I deliberately used 120 columns since I felt 79/80 was too short for indented language like Python.
But since we want it, I have updated the code to be <79 columns. For all other Python style issues I have resolved all reported by PyCharm IDE and PyLint. Except for 1137/1000 lines check by Pylint (not a PEP-8 check). Since, this is a script I don't want to refactor it into different modules for couple of 100 lines. Max lines is increased in .pylintrc file to 2000.
PyCharm also reported errors in documentation on words like Arm, Mbed, Greentea. They are ignored.

One of the main drawbacks of the old testing scripts is that there was very little documentation. This made the infrastructure very difficult to improve (and use!). I think the effort done in this PR to improve on those scripts is good, but its missing a lot of documentation and explanations. For example:

The code does not have enough documentation (in particular the regular expressions)

I tried to do better than the old scripts. But I have added more description of the framework, script inputs and processing in commit fd6c385.

* The data format needs a clear description (including special characters, escape, etc)
* The intermediate data format needs more explanation

Good point. I will record this in an anticipatory issue #1841 & #1843 in mbedtls. A README would best suit to go with the code. Although I believe there was a knowledge base article being written on this. Details about the format are documented in the internal design document for this PR.
This is an year old PR and it's size is considered as a blocker  for merging it. Hence, I am reluctant in doing this in the same PR.

I think that the new testing infrastructure does little effort to detect errors. Also, I thing some of the parsing code might be fragile and I generally had the impression that the underlying assumption is that the input data is correct (like the old scripts). If this is the intention, then thats OK, but please be very thorough in documenting the limitations of these tools (specially with regards to the data files).

Any limitation will become part of the README enhancement. However, I believe there is fair amount of validation of the generated code i.e. pre-processor checks and dispatch code. The code that is copied over as is from the input files to the test source is validated at compile time.

There are some unit tests with the tests, but I think these should be included into something like all.sh, otherwise they might never be run.

Good point. I have added them to all.sh.

IMHO, some of these scripts and files are better suited to something like Mbed OS in mbed-os/features/mbedtls than the Mbed TLS repository, but this is just an opinion...

I have removed mention of mbed-os from the documentation. These scripts should work fine with any target providing the desired platform functions. This PR was adapted to MSP430 that is not mbed-os based.

Could you please state somewhere in this PR in which platforms you have tested this? It might also be a good idea to put some docs (perhaps a README) where you describe how to use the infrastructure (specially for the embedded tests)

A said above README is a good idea. But will add it as an enhancement in another PR.
I appreciate all the good ideas but unfortunately doing them as part of this PR works against merging this year old PR. Please record any major enhancements as separate issues that can be incorporated on top of this.

It passed release test job https://jenkins-internal.mbed.com/job/mbedtls-release/557/

@sbutcher-arm #1839 has the rebase of this PR on ARMmbed/development.

I have now done at least one review of most of the tooling code except:

mbedtls_test.py
test_generate_test_code.py
Changes to the individual test suites

@andresag01 @gilles-peskine-arm I have incorporated your comments or replied to them.
Regarding changing main_test.function format. I don't think it is a blocker. We can incorporate that as a separate PR. I will give that a try.
cc @sbutcher-arm

retest

retest

retest

Release job ran into some issues. https://jenkins-internal.mbed.com/job/mbedtls-release/628/flowGraphTable/
@mazimkhan is investigating

Release job ran into some issues. https://jenkins-internal.mbed.com/job/mbedtls-release/628/flowGraphTable/
@mazimkhan is investigating

The mbed-os examples build failure is because of AES-XTS ALT implementation not providing required XTS context structure. This issue is dealt with in PR https://github.com/ARMmbed/mbed-os/pull/7243 that is merged and set to release as part of 5.10. 5.10 is not yet released. Hence, it is known issue to be fixed after 5.10 is released in mbed-os examples.

The other failures, from K64F and F429ZI, are stack overflow errors from attempting to benchmark ECDSA (tracked as https://github.com/ARMmbed/mbed-os-example-tls/issues/184)

@itayzafrir thanks for finding the issue in test_suite_entropy.function. I have fixed it.
Jenkins CI is stuck due to some Jenkins issue. But it has passed the travis CI.


Decimal round fix

Fixes #14.
Inspired by https://stackoverflow.com/a/49729715/8413160.

After reading https://stackoverflow.com/a/56967003/8413160 (linked by @pierroberto), I've tried adding some more tests with bigger integer part. Some cases (e.g., 10000.005 and<PHONE_NUMBER>0.005) were failing with previous solution. Going back to transforming to string (taking care of case explained by #12) fixes everything.


test the same repos have the same slugs but one is fork and another is not

Nonsense. How it could be possible?


Write elicitation questions

Research the format.
Research examples.
Brainstorm.
Document them on the wiki.

Took 1 hour to complete.


Nat32 seems to box using the wrong threshold

  let box env = Func.share_code1 env "box_i32" ("n", I32Type) [I32Type] (fun env get_n ->
      get_n ^^ compile_unboxed_const (Int32.of_int (1 lsl 30)) ^^

It seems to me that the threshold should now be 1 lsl 31, as the pointer key bit is the least significant one (as opposed to formerly being the second LSBit).
Needs to be cross-checked with Nat/Int64 and Int32 too.

Maybe due to this comment, in compile.ml

This means we can store a small unboxed scalar x as (x lsl 1), and still
tell it apart from a pointer by looking at the last bits: if set, it is a
pointer.
Small here means -2^30 ≤ x < 2^30, and untagging needs to happen with an
arithmetic right shift. This is the right thing to do for signed
numbers, and because we want to apply a consistent logic for all types,
especially as there is only one wasm type, we use the same range for
signed numbers as well.

In other words, so far we do unboxing based on the semantic value, not the bit value, and the same range for all types. This way, for example, converting between types can leave unboxed values as they are. (But the real reason is that I was too worried about getting the cornercases wrong, so I stayed conservative). So maybe the alternative is sound and doable.

I think we can close this; works as intended.


Alazar remove AlazarParameter support

This is only to be merged once we are happy with #1183 and sure that we do not need to still support the Alazar paramter. This still keeps the deprecated Config function

@astafan8 I have tested this with the Alazar 9360 driver. I updated the Alazar 9360 notebook slightly and removed the out of date notebook. There is certainly a lot more work that can be done on the Alazar drivers. I would prefer to do that in the next pr. It would be great if you can test this with the other cards. There is a 9870 notebook which is still out of date. That one should be deleted or updated to use the current api as part of this pr I think

@jenshnielsen tested successfully on 9870 and 9373, haven't noticed anything wrong. i think, it's ready for merging.

what is Qcodes example ATS_ONWORK notebook for?

It's leftover. It contained nothing useful that was not in the other notebook so I deleted it


Trapping-rain-water problem

Description
Given n non-negative integers representing height of building whose width is 1, compute how much water it is able to trap after raining.
using both brute force approach and stack method.
Please assign me this issue, @Lakhankumawat
I'm Gssoc'22 participant.
Domain
Algorithm
Type of Contribution
Addition
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of LearnCPP.

Trapping Rain Water Problem #110 already assigned ,  Duplicate , i  would suggest you to come up with something new thanks

Also from next time please try to describe your Issue in detail.
Make your issue a descriptive one so it is easy for us
mentors to get hold of your contribution and can guide you for further steps.
I would recommend you to go through this tutorial video of the project here , thanks.

Hello sir can you check issue #324
On Fri, 4 Mar, 2022, 2:55 pm LakhanKumawat ᵖ⁺, @.***>
wrote:

Also from next time please try to describe your Issue in detail.
Make your issue a descriptive one so it is easy for us
mentors to get hold of your contribution and can guide you for further
steps.
I would recommend you to go through this tutorial video of the project
here https://youtu.be/MRXcoxDillk , thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/Lakhankumawat/LearnCPP/issues/220#issuecomment-1058988589,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUQ35ER6OZPYXEVZKMCHVN3U6HJHHANCNFSM5PXKNW7A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>


[BUG] Can´t initialize MQTT Client

Describe the bug:
I tried to activate the MQTT client on both tablets, I get the same error on both tablets, "There was an error initializing the MQTT client, please check your settings.". I have checked the settings several times and they are correct. I use it locally without ssl and only use ssl for external access. But I just can't get the client to start.
To Reproduce:
Go to the settings and back to the web interface.
And on the start of Wallpanel
Smartphone:

Device: [Samsung Galaxy Tab A (2016) and Fire 10 HD Pro 2021]
OS: [Tab A Android 8.1.0 and Fire OS <IP_ADDRESS> ]
Applicaiton version [v0.9.5 Build 6 (on both)]

Additional note:
My MQTT Broker runs on Home Assistant via plugin

I don't have a way to resolve the issue, the message is accurate, you don't have your MQTT client properly configured and the connection to your server cannot be established.   It could be your url, username/password, or you port.   There are tools in Home Assistant to help you test your setup or you can test from the command line as well.


Merge pull request #169 from MicrosoftDocs/main

Main to Live sync - Jul22

Docs Build status updates of commit d9925a9:
:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[docs] Fix bare excepts in python client example code

except: -> except Exception:
Update supported python versions

(If this PR fixes a github issue, please add Fixes #<xyz>.)
Fixes #
(or if this PR is one task of a github issue, please add Master Issue: #<xyz> to link to the master issue.)
Master Issue: #
Motivation
Couldn't Ctrl+C one of the python client code examples (I think because of bare except)
Modifications
Replace some bare exceptions so that the try: except block doesn't catch Ctrl+C interrupts.
Verifying this change
Just changes to docs
Does this pull request potentially affect one of the following parts:
nope
Documentation
Check the box below or label this PR directly (if you have committer privilege).
Need to update docs?

[ ] doc-required
(If you need help on updating docs, create a doc issue)

[ ] no-need-doc
(Please explain why)

[x] doc
(If this PR contains doc changes)

Hi @zymap could you please help review this PR from the technical perspective? Thanks


[BUG] Fail to use JSON output

Is there an existing issue for this?

[X] I have searched the existing issues

Does this issue exist in the latest version?

[X] I'm using the latest release

Describe the bug?
Hello folks,
I'm facing some issues to do the basics with this action.
I'm trying to get the changed directories on my project and use it later on a matrix strategy.
I do see on the run step the correct output on JSON format.
However, when using th output on another job it fails with:
Error when evaluating 'strategy' for job 'run-build'. .github/workflows/actions.yaml (Line: 37, Col: 18): Error parsing fromJson,.github/workflows/actions.yaml (Line: 37, Col: 18): Unexpected character encountered while parsing value: \. Path '', line 1, position 1.,.github/workflows/actions.yaml (Line: 37, Col: 18): Unexpected value ''

Can you please advise ?
To Reproduce
name: Build MFE

on: push

jobs:

  detect-changed-folders:
    runs-on: ubuntu-latest
    outputs:
      folders: ${{ steps.get_changed.outputs.all_changed_files }}
    steps:

      - uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - name: Changed Files
        id: get_changed
        uses<EMAIL_ADDRESS>        with:
          json: true
          files_ignore: |
            .github/*
            **/gitignore
            **/readme.md
          dir_names: true
          dir_names_exclude_root: true
          dir_names_max_depth: 2

      - run: echo ${{ steps.get_changed.outputs.all_changed_files }}

  run-build:
    needs: detect-changed-folders
    runs-on: ubuntu-latest
    strategy:
      matrix:
        folders: ${{ fromJSON(needs.detect-changed-folders.outputs.folders) }}
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Install Dependencies
        run: cd ${{ matrix.folders }} && npm ci

      - name: Build Project
        run: cd ${{ matrix.folders }} && npm compile

What OS are you seeing the problem on?
ubuntu-latest or ubuntu-20.04
Expected behavior?
Matrix runs for each item of the JSON
Relevant log output
Echo of theaction execution showing the correct JSON

Run echo [\"fortress-pre-trade-mfe/fortress-pre-trade-efrp-header\",\"fortress-pre-trade-mfe/fortress-pre-trade-efrp\"]
  echo [\"fortress-pre-trade-mfe/fortress-pre-trade-efrp-header\",\"fortress-pre-trade-mfe/fortress-pre-trade-efrp\"]
  shell: /usr/bin/bash -e {0}
["fortress-pre-trade-mfe/fortress-pre-trade-efrp-header","fortress-pre-trade-mfe/fortress-pre-trade-efrp"]

Anything else?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi @rsorelli-hedgepoint it appears you are missing fromJSON function call.
See: https://github.com/tj-actions/changed-files/blob/main/.github/workflows/matrix-test.yml for a working example

@rsorelli-hedgepoint The json output is escaped, so you have to shove it through an echo to remove the escapement.
  detect-changed-folders:
    runs-on: ubuntu-latest
    outputs:
      folders: ${{ steps.escape.outputs.changed }}
    steps:

      - uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - name: Changed Files
        id: get_changed
        uses<EMAIL_ADDRESS>        with:
          json: true
          files_ignore: |
            .github/*
            **/gitignore
            **/readme.md
          dir_names: true
          dir_names_exclude_root: true
          dir_names_max_depth: 2

      - name: Remove escapement
        id: escape
        run: |
          echo "changed=${{ steps.changed.outputs.all_changed_files }}" >> $GITHUB_OUTPUT

It's not very intuitive, and I spent probably half an hour trying to figure out why perfectly normal seeming json wasn't parsable by fromJson

@Twipped You can also use json_raw_format without having to introduce another step.

For someone that might be puzzled as well, it's escape_json in v36, as is listed in the README.


Pub build command to build a single file

Would be nice if pub build could be scoped down to building one specific file.
Not sure how often pub build will be used outside of pub serve, but definitely when working on transformers I have to move out all other files to keep my iteration time fast.
Would also be nice to be able to use to skip dart2js when not needed.

This issue has been moved to dart-lang/pub#906.


Cleanup GetIndexedField

Which issue does this PR close?

Closes #.
Rationale for this change

I noticed that GetIndexedField is not used anymore after https://github.com/apache/datafusion/pull/10568, so just removed it.
What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

Thank you @lewiszlw . I merged up from main to resolve a conflict.

🚀

Thanks @lewiszlw  and @jayzhan211


Update csv perf targets for Falcon7b demos and add prefill-decode-throughput measurement

Ticket
#5383
Problem description

The "target" field for the Falcon7b measurement CSVs were storing test targets instead of our aim targets
There was no measurement of the overall prefill-decode-throughput in the demo or in the CSVs

What's changed

Replaced targets for prefill_t/s, decode_t/s, decode_t/s/u with aim targets
Added measurement for prefill-decode-throughput to Falcon7b demo
Added prefill_decode_t/s/u as optional csv measurement in llm_demo_utils::create_benchmark_data

Checklist

[x] Post commit CI passes
[x] Model regression CI testing passes (if applicable)
[x] New/Existing tests provide coverage for changes

Single-card demo tests: https://github.com/tenstorrent/tt-metal/actions/runs/10185197426
T3K demo tests: https://github.com/tenstorrent/tt-metal/actions/runs/10185184007


Player Stopped Using Item Event

Hello! Minecraft Vanilla has a method in Item.java, called onPlayerStoppedUsing in the latest MCP mappings. Experimenting with it, I see that it is called every time that a player stopped using the item, which is very useful for some checks, so I would like to know, is that possible to be integrated into the API? Thanks and best regards.

If I understand correctly, you need the org.spongepowered.api.event.item.inventory.UseItemStackEvent.Stop event in SpongeAPI.

That is the correct event to use.

Thanks!


Can not setup lime (with haxe installed with homebrew)

I'm facing issues setting up lime. Installing went fine, but the setup step fails (after quite a long time silent). I'm running OS X 10.10, with haxe installed via homebrew.
Some bash
Starting position:
DeLorean:~ jakob$ haxe -version
3.2.0
DeLorean:~ jakob$ which haxe
/usr/local/bin/haxe
DeLorean:~ jakob$ which haxelib
/usr/local/bin/haxelib
DeLorean:~ jakob$ haxelib list
lime: [2.5.2]
openfl: [3.2.2]
DeLorean:~ jakob$ haxelib config
/usr/local/lib/haxelib/

Setup lime (takes 1-2 minutes):
DeLorean:~ jakob$ haxelib run lime setup
Called from lime/system/System.hx line 553
Called from lime/system/System.hx line 304
Called from lime/system/System.hx line 414
Called from lime/system/System.hx line 239
Called from /usr/lib/haxe/std/neko/Lib.hx line 30
Uncaught exception - load.c(237) : Failed to load library : lime.ndll (dlopen(lime.ndll, 1): image not found)

What strikes me as odd is that Lib.hx on the stacktrace above has the wrong path. It's really in /usr/local/lib/haxe/std/neko/  (because this is where homebrew puts things) and not /usr/lib/haxe/std/neko/ (which appears to be the default) so somethings obviously off there. Don't know if it's related though.
Saving clause
I must admit I'm to new to the haxe-ecosystem to tell if this is a problem with homebrew, haxelib or lime. But since I've not encountered any other haxe-lib with this priblem (yet). Thus I'm thought I'd start here and then work my way "uppstream" if this is not a lime issue.

The path informations come from the computer that compiled the executable.
If you run haxelib run lime without args does-it works?
Maybe try with haxelib run lime setup --no-cffi, if I'm not wrong on the option it wont try to load the ndll, so it'll succeed for this.
If you go to the lime folder, /usr/local/bin/haxe/lime/2,5,2/ does running "neko run.n `pwd`" works?

Without args

If you run haxelib run lime without args does-it works?

Nope. It still has the same problem.
DeLorean:~ jakob$ haxelib run lime
Called from lime/system/System.hx line 553
Called from lime/system/System.hx line 304
Called from lime/system/System.hx line 414
Called from lime/system/System.hx line 239
Called from /usr/lib/haxe/std/neko/Lib.hx line 30
Uncaught exception - load.c(237) : Failed to load library : lime.ndll (dlopen(lime.ndll, 1): image not found)

--no-cffi

Maybe try with haxelib run lime setup --no-cffi, if I'm not wrong on the option it wont try to load the ndll, so it'll succeed for this.

Same result :(
DeLorean:~ jakob$ haxelib run lime setup --no-cffi
Called from lime/system/System.hx line 553
Called from lime/system/System.hx line 304
Called from lime/system/System.hx line 414
Called from lime/system/System.hx line 239
Called from /usr/lib/haxe/std/neko/Lib.hx line 30
Uncaught exception - load.c(237) : Failed to load library : lime.ndll (dlopen(lime.ndll, 1): image not found)

neko run.n

If you go to the lime folder, /usr/local/bin/haxe/lime/2,5,2/ does running "neko run.n pwd" works?

Well, that is not a directory on my machine. My libs are in /usr/local/bin/haxelib, but any way it did not help either.
DeLorean:2,5,2 jakob$ neko run.n `pwd`
Called from lime/system/System.hx line 553
Called from lime/system/System.hx line 304
Called from lime/system/System.hx line 414
Called from lime/system/System.hx line 239
Called from /usr/lib/haxe/std/neko/Lib.hx line 30
Uncaught exception - load.c(237) : Failed to load library : lime.ndll (dlopen(lime.ndll, 1): image not found)

Is there any way to enable more debug output?

I looked at the code and it's actually -nocffi sorry.
You can get more information with the verbose mode -v.
So it doesn't seem to be a problem from haxelib.
If you go into the ndll/Mac64/ folder and run "neko ../../run.n `pwd`"?

-nocffi

I looked at the code and it's actually -nocffi sorry.
You can get more information with the verbose mode -v.

Got a different result, but still not working. It's a problem with PathHelper, just like the issue I'm having with openfl. Could it be related? The exception appears tp be thrown on the same line (even if the line numbers differ for some reason).
DeLorean:haxe jakob$ haxelib run lime setup -nocffi -v
Called from ? line 1
Called from CommandLineTools.hx line 1359
Called from CommandLineTools.hx line 25
Called from a C function
Called from CommandLineTools.hx line 61
Called from lime/tools/helpers/PathHelper.hx line 202
Uncaught exception - Invalid field access : split

neko ../../run.n

If you go into the ndll/Mac64/ folder and run "neko ../../run.n pwd"?

 But what are the dependencies of lime? Is it just haxe and a self-contained lib or am I expected to install anything else first? Like 'format'? The manual does not mention any external dependencies.

neko ../../run.n (again)
Got a slightly different result after installing the format lib.
DeLorean:Mac64 jakob$ pwd
/usr/local/lib/haxelib/lime/2,5,2/ndll/Mac64
DeLorean:Mac64 jakob$ haxelib list
format: [3.1.2]
lime: [2.5.2]
openfl: [3.2.2]
DeLorean:Mac64 jakob$ neko ../../run.n `pwd`
Uncaught exception - load.c(181) : Module not found : tools/tools.n

Digging deeper
I've cloned the lime master and added a bunch of trace() statements to see if I can get some more info on what it is that fails.
DeLorean:tools jakob$ haxelib run lime setup
RunScript.hx:161: Running local compile!
PathHelper.hx:189: LogHelper.verbose = true
ProcessHelper.hx:253: runProcess(): ,null,haxelib,[path,lime]
 - Detected host platform: MAC
ProcessHelper.hx:313: _runProcess(): ,null,haxelib,[path,lime]
 - Running process: haxelib path lime
ProcessHelper.hx:388: Process result = 1
ProcessHelper.hx:394: Process stdout:

ProcessHelper.hx:395: Process stderr:
/usr/local/lib/haxe/std/neko/Lib.hx:30: characters 17-68 : You cannot use the library 'lime' inside a macro
lime/system/System.hx:239: characters 11-68 : Called from
lime/system/System.hx:414: characters 14-49 : Called from
lime/system/System.hx:304: characters 3-21 : Called from
lime/system/System.hx:553: characters 48-100 : Called from
Aborted

PathHelper.hx:206: Process output:
null
Called from ? line 1
Called from RunScript.hx line 233
Called from RunScript.hx line 21
Called from lime/tools/helpers/PathHelper.hx line 207
Uncaught exception - Invalid field access : split

Bingo! The return code is 1 (not 0) and there's an error printout from a haxelib path lime process. Looks like haxelib path lime is having trouble locating the path to the lime-lib for some reason. It's sad that the stack trace is trimmed, it may have simplified things if it showed the entire call stack.
Anyway, these are the lines at System.hx:552-555:
	#if (cpp || neko || nodejs)
	private static var lime_system_get_directory = System.load ("lime", "lime_system_get_directory", 3);
	private static var lime_system_get_timer = System.load ("lime", "lime_system_get_timer", 0);
	#end

Odd thing is that making the same call from the terminal works fine.
DeLorean:tools jakob$ haxelib path lime
-L /Users/jakob/GameDevelopment/github/openfl-lime/ndll/
/Users/jakob/GameDevelopment/github/openfl-lime/
-D lime=2.5.2

This is how far I've gotten today. Any ideas?

Are you sure you have the latest haxelib?
If "haxelib path lime" fails, the rest will follow :smile:

Are you sure you have the latest haxelib?

As far as I know. The 3.2.0-rc3 is the latest available release, right?
DeLorean:~ jakob$ haxelib help | head -1
Haxe Library Manager 3.2.0-rc.3 - (c)2006-2015 Haxe Foundation

haxelib path lime calls System.hx?
Just as an experiment, I've added some trace() to lime/system/System.hx. And to my surprise the trace output appears inside the output from the haxelib path lime called from within haxelib run lime. :confused: :confounded: :sob:
DeLorean:tools jakob$ haxelib run lime
RunScript.hx:162: Running local compile!
RunScript.hx:20: rebuildTools rebuildBinaries = true
PathHelper.hx:162: getHaxeLib(),{ name => lime, version =>  },true,false
PathHelper.hx:190: LogHelper.verbose = true
ProcessHelper.hx:253: runProcess(): ,null,haxelib,[path,lime]
 - Detected host platform: MAC
ProcessHelper.hx:313: _runProcess(): ,null,haxelib,[path,lime]
 - Running process: haxelib path lime
ProcessHelper.hx:388: Process result = 1
ProcessHelper.hx:394: Process stdout:
System.hx:185: Load: lime,lime_system_get_directory,3,false
System.hx:305: 305 - About to loadNekoAPI()
System.hx:413: loadNekoAPI,false
System.hx:415: 415 - __loadedNekoAPI = null
System.hx:185: Load: lime,neko_init,5,false
System.hx:240: 240 - About to load some module: lime

ProcessHelper.hx:395: Process stderr:
/usr/local/lib/haxe/std/neko/Lib.hx:30: characters 17-68 : You cannot use the library 'lime' inside a macro
lime/system/System.hx:241: characters 11-68 : Called from
lime/system/System.hx:418: characters 14-49 : Called from
lime/system/System.hx:306: characters 3-21 : Called from
lime/system/System.hx:557: characters 48-100 : Called from
Aborted

PathHelper.hx:207: Process output:
System.hx:185: Load: lime,lime_system_get_directory,3,false
System.hx:305: 305 - About to loadNekoAPI()
System.hx:413: loadNekoAPI,false
System.hx:415: 415 - __loadedNekoAPI = null
System.hx:185: Load: lime,neko_init,5,false
System.hx:240: 240 - About to load some module: lime

Error: Could not find haxelib "lime", does it need to be installed?

However it does not show up when haxelib path limeis called directly.
DeLorean:tools jakob$ haxelib path lime
-L /Users/jakob/GameDevelopment/github/openfl-lime/ndll/
/Users/jakob/GameDevelopment/github/openfl-lime/
-D lime=2.5.2

Dont know if this is related, but I've also noted that when haxelib run limeexecutes, multiple haxelib path limeprocesses run at the same time.
DeLorean:haxe jakob$ ps | grep "path"
 1770 ttys000    0:00.64 haxe -cp /usr/local/Cellar/haxe/3.2.0/lib/haxe/extra/haxelib_src/src --run tools.haxelib.Main path lime
 1772 ttys000    0:00.15 haxe -cp /usr/local/Cellar/haxe/3.2.0/lib/haxe/extra/haxelib_src/src --run tools.haxelib.Main path lime
 1774 ttys001    0:00.00 grep path

This brings new questions:

What could cause haxelib to execute code in System.hx?
Why would haxelib ever want to do that?
Could this be a bug far up stream in haxe/nano? (global state, pointer out of bounds etc)
What's up with the 2 identical haxe -cp /usr/local/Cellar/haxe/3.2.0/lib/haxe/extra/haxelib_src/src --run tools.haxelib.Main path lime?

Also, looked a bit into the haxelib source. I does not look like it's doing anything with the code inside the libs when checking path. But like I stated earlier, I'm new to Haxe so I might be wrong.
https://github.com/HaxeFoundation/haxelib/blob/master/src/tools/haxelib/Main.hx

confirming same issue on linux (ubuntu) with lime installed via haxelib install lime. i needed to set LD_LIBRARY_PATH to get around the Failed to load library : lime.ndll (lime.ndll: cannot open shared object file: No such file or directory) error, and when I did it died in PathHelper.hx
 LD_LIBRARY_PATH=/home/mdemello/opt/share/haxe/lib/lime/2,6,1/ndll/Linux64 haxelib run lime setup
Called from ? line 1
Called from CommandLineTools.hx line 1371
Called from CommandLineTools.hx line 25
Called from a C function
Called from CommandLineTools.hx line 61
Called from lime/tools/helpers/PathHelper.hx line 202
Uncaught exception - Invalid field access : split

I'll uninstall and reinstall from the nightly and see what that does.

installing lime from nightly via haxelib local also fails the setup (same issue), though it did not need the explicit LD_LIBRARY_PATH to find lime.ndll.

haxelib run lime setup seems to be doing something seriously weird.
$ ps ef
  PID TTY      STAT   TIME COMMAND
 6726 pts/11   Ss     0:00 -/bin/bash rvm_version=1.26.11 (latest) XDG_SESSION_ID=c2 PARINIT=rTbgqR B=.?_A_a Q=_s>|: _system_version=14.04 GIO_LAUNCHED_DESKTOP_FILE_PID=3163 DISPLAY=:0.0 XDG_SEAT=sea
 8184 pts/11   R+     0:00  \_ ps ef XDG_VTNR=7 CAML_LD_LIBRARY_PATH=/home/mdemello/ocamlbrew/ocaml-4.01.0/.opam/4.02.2/lib/stublibs MANPATH=:/home/mdemello/ocamlbrew/ocaml-4.01.0/.opam/4.02.2/man OR
 5517 pts/9    Ss     0:01 -/bin/bash rvm_version=1.26.11 (latest) XDG_SESSION_ID=c2 PARINIT=rTbgqR B=.?_A_a Q=_s>|: _system_version=14.04 GIO_LAUNCHED_DESKTOP_FILE_PID=3163 DISPLAY=:0.0 XDG_SEAT=sea
 5779 pts/9    Sl+    0:00  \_ vim tools/CommandLineTools.hx XDG_VTNR=7 CAML_LD_LIBRARY_PATH=/home/mdemello/ocamlbrew/ocaml-4.01.0/.opam/4.02.2/lib/stublibs MANPATH=:/home/mdemello/ocamlbrew/ocaml-4.
 5320 pts/4    Ss     0:00 -/bin/bash rvm_version=1.26.11 (latest) XDG_SESSION_ID=c2 PARINIT=rTbgqR B=.?_A_a Q=_s>|: _system_version=14.04 GIO_LAUNCHED_DESKTOP_FILE_PID=3163 DISPLAY=:0.0 XDG_SEAT=sea
 8013 pts/4    S+     0:00  \_ haxe -cp /usr/lib/haxe/extra/haxelib_src/src --run tools.haxelib.Main run lime setup CAML_LD_LIBRARY_PATH=/home/mdemello/ocamlbrew/ocaml-4.01.0/.opam/4.02.2/lib/stublib
 8014 pts/4    Z+     0:00      \_ [uname] <defunct>
 8015 pts/4    S+     0:00      \_ neko run.n setup /home/mdemello/Downloads/ XDG_VTNR=7 CAML_LD_LIBRARY_PATH=/home/mdemello/ocamlbrew/ocaml-4.01.0/.opam/4.02.2/lib/stublibs MANPATH=:/home/mdemello/o
 8016 pts/4    S+     0:00          \_ neko tools/tools.n setup /home/mdemello/Downloads/ CAML_LD_LIBRARY_PATH=/home/mdemello/ocamlbrew/ocaml-4.01.0/.opam/4.02.2/lib/stublibs XDG_VTNR=7 ORBIT_SOCKETD
 8017 pts/4    S+     0:01              \_ haxe -cp /usr/lib/haxe/extra/haxelib_src/src --run tools.haxelib.Main path lime XDG_VTNR=7 CAML_LD_LIBRARY_PATH=/home/mdemello/ocamlbrew/ocaml-4.01.0/.opam/
 8018 pts/4    Z+     0:00                  \_ [uname] <defunct>
 8019 pts/4    S+     0:01                  \_ haxe -cp /usr/lib/haxe/extra/haxelib_src/src --run tools.haxelib.Main path lime CAML_LD_LIBRARY_PATH=/home/mdemello/ocamlbrew/ocaml-4.01.0/.opam/4.02.2/
 8020 pts/4    Z+     0:00                      \_ [uname] <defunct>
 8021 pts/4    S+     0:01                      \_ haxe -cp /usr/lib/haxe/extra/haxelib_src/src --run tools.haxelib.Main path lime XDG_VTNR=7 CAML_LD_LIBRARY_PATH=/home/mdemello/ocamlbrew/ocaml-4.01.
 8022 pts/4    Z+     0:00                          \_ [uname] <defunct>
 8023 pts/4    S+     0:01                          \_ haxe -cp /usr/lib/haxe/extra/haxelib_src/src --run tools.haxelib.Main path lime CAML_LD_LIBRARY_PATH=/home/mdemello/ocamlbrew/ocaml-4.01.0/.opam
 8072 pts/4    Z+     0:00                              \_ [uname] <defunct>
 8073 pts/4    S+     0:01                              \_ haxe -cp /usr/lib/haxe/extra/haxelib_src/src --run tools.haxelib.Main path lime XDG_VTNR=7 CAML_LD_LIBRARY_PATH=/home/mdemello/ocamlbrew/oca
 8078 pts/4    Z+     0:00                                  \_ [uname] <defunct>
 8079 pts/4    S+     0:01                                  \_ haxe -cp /usr/lib/haxe/extra/haxelib_src/src --run tools.haxelib.Main path lime CAML_LD_LIBRARY_PATH=/home/mdemello/ocamlbrew/ocaml-4.01
 8084 pts/4    Z+     0:00                                      \_ [uname] <defunct>
 8085 pts/4    S+     0:01                                      \_ haxe -cp /usr/lib/haxe/extra/haxelib_src/src --run tools.haxelib.Main path lime XDG_VTNR=7 CAML_LD_LIBRARY_PATH=/home/mdemello/ocaml
 8086 pts/4    Z+     0:00                                          \_ [uname] <defunct>
 8087 pts/4    S+     0:00                                          \_ haxe -cp /usr/lib/haxe/extra/haxelib_src/src --run tools.haxelib.Main path lime CAML_LD_LIBRARY_PATH=/home/mdemello/ocamlbrew/oc
 8092 pts/4    Z+     0:00                                              \_ [uname] <defunct>
 8093 pts/4    S+     0:01                                              \_ haxe -cp /usr/lib/haxe/extra/haxelib_src/src --run tools.haxelib.Main path lime XDG_VTNR=7 CAML_LD_LIBRARY_PATH=/home/mdemel
 8099 pts/4    Z+     0:00                                                  \_ [uname] <defunct>

haxelib selfupdate seems to have fixed it - the haxelib version didn't change, but the shellscript it installed as /usr/bin/haxelib changed from
#!/bin/sh
exec haxe -cp /usr/lib/haxe/extra/haxelib_src/src --run tools.haxelib.Main "$@"

(which was written as part of make install from git haxe) to
#!/bin/sh
OLDCWD=`pwd`
cd /usr/share/haxe/lib/haxelib_client/3,2,0-rc,3/src/
exec haxe -D haxelib_client=3.2.0-rc.3 --run tools.haxelib.Main -cwd $OLDCWD $@

I had the same issue as martindemello with haxelib run lime setup spawning multiple neko and haxe processes under Ubuntu 14.04 with haxe 3.3.0.
haxelib selfupdate fixed it for me too.

I confirm that the current OpenFL/Lime setup on Linux is very unstable.
I was getting segmentation fault  when trying to setup Lime, using either haxelib version or latest from GitHub.
haxelib selfupdate didn't work for me, what seems to have worked was to use the latest from the whole stack (Haxe, Neko, Lime, OpenFL), I actually tried this before using binary distribution I guess but it didn't work previously, I suspected it was an issue with Neko, anyways after many attempts Lime setup worked, the only problem left was this:
"/usr/lib/haxe/lib/lime/git/legacy/ndll/Linux64/lime-legacy.ndll" does not exist"
But this fixed: lime rebuild linux and lime rebuild linux -Dlegacy

I found with my instance that I had some lingering bins installed in /usr/bin and as soon as I removed them, it instantly started working. I did also run the selfupdate, but it did not fix the problem. It just showed me what was wrong. haxelib was reporting back with the wrong version after the self update, and when it ran I got a permissions denied error, which was odd at the time, but now makes total sense. Folders were missing, libs had the wrong versions, etc.

I encountered the same problem on OSX yosemite with an installation of haxe 3.2.1 from homebrew..turned out to be a problem with permissions!
Usually homebrew installs haxe 3.2.1 into /usr/local/Cellar/haxe/3.2.1, check the permission on that folder and update it so that you get write permissions.
Found this by running haxelib selfupdate that reported no write permissions there. After that, haxelib run openfl setup worked like a charm.

I am on OSX, using CrossOver, when I run the command in bottle's command line:
>: C:\Motion-Twin\haxe\haxelib run lime test "dcaclab-client.xml"  -debug -Dfdb

I get this error:
Called from ? line 1
Called from CommandLineTools.hx line 1385
Called from CommandLineTools.hx line 25
Called from CommandLineTools.hx line 61
Called from lime/tools/helpers/PathHelper.hx line 202
Uncaught exception - Invalid field access : split
Build halted with errors.

I tried,
>C:\Motion-Twin\haxe\haxelib path lime

and it shows:
-L lime/2,7,0/ndll/
C:\haxelibs/lime/2,7,0/
-D lime

@hopewise that's a different error, please open a new issue.

there #676

I'm experiencing the same issue as @martindemello with lime 2.9.0 and Haxe 3.3 (git version).


Update playbook to account for only 2 pods

Per discussion with QE

I can't merge, @pravin-dsilva, could you please review this PR? Thanks

/lgtm

/meow

/lgtm


10 maps now, maybe later others if have time / pls more waypoints

10 maps now, maybe later others if have time
graph.zip
wptdefault.zip
try last build yapb, you use podbot?
https://yapb.ru/files/binaries/5717/release/
put files here addons\yapb\data\graph
.graph files updated version of .pwf
Originally posted by @Overitab in https://github.com/jeefo/yapb/issues/98#issuecomment-532788883

PLs create WAYPOINTS for all these Maps ...


Bug: invoked service stuck when uninvoked switching from invoking state

Description
Sorry for the title that is a bit odd.
First of all thanks to all the maintainers of both the xState library and the Vue module.
disclaimer: I'm coming from the React world and start playing with Vue so maybe what I'm doing here is all wrong
First some background, so I'm trying to build an app that rely only on xState to handle all the logic part. At the beginning I was doing a huge uniq machine but the compound states and matches began to be way too complex, so based on this https://xstate.js.org/docs/guides/communication.html#the-invoke-property I've decided to split on several machines.
The machine was working fine on the xState visualiser but the issue started when I've tried to plug it to the Vue project.
I've already struggled a bit when I wanted to use a machine in several components but this help me a lot https://github.com/statelyai/xstate/discussions/1479.
Then the issue was to be able to listen to the state of the invoked machine, obviously using an actor directly on the machine was not working as the invoked machine reside inside the parent one.
So I've tried several things and succeed on having something working by creating an actor based on the child but I'm afraid that this might be "hacky" and the root cause of the issue.
Now the issue, based on my "hacky" hooks (don't know if we call that like that for Vue) the state of the invoked machine is up to date but when the parent machine switch to another state from the one invoking the machine the state is no updated.
The invoked machine being now on a final state since not related to anything it should not be stuck to the previous working state.
Here a recording of the issue I've made to easily see the problem:
https://user-images.githubusercontent.com/1764557/191586000-6d5f69d9-35b0-401b-81c0-38f1cdec74a8.mov
I've made a CodeSandbox that reproduce the issue here.
Expected result
I'm expected to not being able to match any state of my invoked machine or if one should be matching maybe the initial state then.
Actual result
The state is stuck to the previous one even though I can't send an event triggering a transaction as the invoked machine reached its final state.
Reproduction
https://codesandbox.io/s/xstate-vue-issue-9xo5vn
Additional context
No response

👋  Hi, I believe I found a solution by understanding more the Vue composition API.
I've forked the CodeSandbox and here the "fixed version" link.
In this version I can use different Composables function all synced properly to each machines (main one or invoked ones).
Closing the issue but maybe it will help others 🤷
Thanks


Segmentation fault (core dumped)

Thnx very much for Appimage...
I am on Manjaro linux with kernel 5.4 and on running this appimage i receive Segmentation fault (core dumped).
[chromer030-Desktop]$ ./VLC_media_player-x86_64.AppImage VLC media player 3.0.8 Vetinari (revision 3.0.8-0-gf350b6b5a7) Segmentation fault (core dumped)
My System Info :
Cpu : Intel Core i7 7700
RAM : 8 GB
GPU : igfx

Thank you for your answer, what is the desktop version are you using  KDE , GNOME or XFCE ?

Manjaro Cinnamon 18.1.0.
MPV 0.29.1 appimage , working well but this vlc appimage no , and i need this one.
Thnks very much for your work.

when i tested it was working i'll have to make a new version.
Alternatively you can try this version
https://github.com/cmatomic/Appimage-005

i will test and report , thnx very much

A new version is available .

i confirm that new version work perfect under kernel 5.4-rc5 in Manjaro Cinnamon.
thanks very much.


How to combine the two data training?(怎么把bone和joint两种数据一起训练呢)

Hi, authors, your article is so nice! I have a question to ask you.Two types of data concat together initially C=6, and then as input in the network how to deal with it? According to 2s-agcn, you input the two kinds of data into the network respectively and then you feed them into the softmax classifier, and then you add up the output probabilities. or  choose to add the two outputs into loss respectively, or  add them into the (n,c) tensor of the network? How do you do that?
大佬你好，你的文章真的很精彩，我有一个问题想问你。两种数据concat到一起初始C=6，然后作为输入在网络中如何处理呢？按照2s-AGCN的说法是将两种数据的分别输入网络然后在送入softmax分类器，输出概率进行加和，是选择把两个输出分别送进loss进行相加吗，还是网络输出的（n,c）tensor进行相加呢，是怎么处理呢？

Hi there, thanks for your interest :)
Currently, "two-streams" are formulated as a model ensemble (i.e. train two identical models with different data, and merge their softmax scores to get final predictions).
If you want to try training a single model with both joint and bone data, then you should write a separate Dataset class (follow feeder.py) that loads and concatenates the preprocessed joint and bone data at the same time to give you a N x C=6 x T x V x M tensor. Though in general, I would expect the performance of model ensembles to better.


Inspector doesn't connect if Isar is in an isolate

Steps to Reproduce
I'm building a state management system that works entirely on an isolate (the main thread runs Flutter, sending commands to a long-running isolate that do the hard stuff and respond back to Flutter by events).
Isar works just fine in this configuration, however, Isar Ispector says it cannot connect to the database.
If I just add the same initialization code in the main thread, everything works fine (even the Inspector url is the same):
Future<void> main() async {
  if (kDebugMode) {
    await Isar.open([AppSettingsModelSchema], inspector: true, name: "AppSettings");
  }

  await MyFrameworkNameHere.useEnvironment(() => const DevelopmentEnvironment());
  runApp(const ToDoApp());
}

but it is ugly, since the entire motivation of this new state manager is to not have boilerplate =\
(btw, in isolate, the Isar initialization is exactly the same, I just copied and pasted the line above).
Details

Platform: iPhone Simulator
Flutter version: 3.6.5
Isar version: 3.0.5

[x] I searched for similar issues already
[x] I filled the details section with the exact device model and version
[x] I am able to provide a reproducible example

A workaround I found is to basically instantiate Isar 2 times.
First time in the main thread, second time in the new Isolate.
The first instance (main thread) allows you to watch the db throught the inspector.
The second instance is the one you can manipulate inside your Isolate.
Even if you use the second instance, the inspector will be updated !

This is a Flutter limitation unfortunately


Please add code fix: Remove unnecessary initialization

In the following code:
int num = 0;
num = comparer.Compare (this.m_Item1, tuple.m_Item1);

num = 0 is redundant since it is immediately assigned by the subsequent statement. The code can be simplified as the following.
int num = comparer.Compare (this.m_Item1, tuple.m_Item1);

Please add a code fix for this case.

+1

Makes sense to me. But only to assignments to literals or existing variables/fields/properties, as constructions and methods could have side effects.


[TwitterBridge] Call to undefined method RssBridge::getCache()

Hi, i'm currently working for updating TwitterBridge. During update, i put the getCache() call outside switch case 'By username' to make it available to all route. But when I tested, i encounter this error and i don't know what to do since this call is working on the current version.
Details
Type: Error
Code: 0
Message: Call to undefined method RssBridge::getCache()
File: bridges/TwitterBridge.php
Line: 222
Trace
#0 index.php(7): RssBridge->main()
#1 lib/RssBridge.php(15): RssBridge->run()
#2 lib/RssBridge.php(94): DisplayAction->execute()
#3 actions/DisplayAction.php(125): TwitterBridge->collectData()
#4 bridges/TwitterBridge.php(222)

Context
Query: action=display&bridge=TwitterBridge&context=By list&user=Scobleizer&list=Tech-News&filter=#rss-bridge&format=Html
Version: dev.2023-03-22 (git.master.4838577)
OS: Linux
PHP: 8.0.27

Code Sample:
// Get authentication information
        $cache = RssBridge::getCache();
        $api = new TwitterClient($cache);
        // Try to get all tweets
        switch ($this->queriedContext) {
            case 'By username':
                $screenName = $this->getInput('u');
                $screenName = trim($screenName);
                $screenName = ltrim($screenName, '@');

                $data = $api->fetchUserTweets($screenName);

                break;

I got issue resolved by updating RSS-Bridge instance. Don't know why it work for such a long time.


Import doesn't check/prompt for any missing properties

Hey! It seems like the import current file doesn't check for any missing property that exists in the file. Any way we can prompt the user that there is a missing property with the name of the property if a property does not align in the file?

can you give an example?
On Wed, Sep 2, 2020 at 10:40 AM nbhansali<EMAIL_ADDRESS>wrote:

Hey! It seems like the import current file doesn't check for any missing
property that exists in the file. Any way we can prompt the user that there
is a missing property with the name of the property if a property does not
align in the file?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lispercat/sailpoint-iiq-dev-accelerator/issues/4, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACCZBZ3Z7EFJ5B7MMOVDI3SDZKM7ANCNFSM4QTC2EJQ
.

For example I have a workflow object calling out to a variable set in my properties file %%AD_HOST%% and the value is missing in my properties file the import will suceed but my workflow will fail.

got it, I'll see what I can do
On Wed, Sep 2, 2020 at 11:40 AM nbhansali<EMAIL_ADDRESS>wrote:

For example I have a workflow object calling out to a variable set in my
properties file %%AD_HOST%% and the value is missing in my properties file
the import will suceed but my workflow will fail.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lispercat/sailpoint-iiq-dev-accelerator/issues/4#issuecomment-685820875,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACCZBZZRUGY7J6SBIBBCUDSDZRP7ANCNFSM4QTC2EJQ
.

Awesome - thanks!


Renaming an open file is jarring

Testing https://github.com/Microsoft/vscode/issues/12519
See video below:
2016-09-28_11-04-54.zip
While renaming the file aa.php to aaa.php, the following happens within the course of a second:

Frame 1: Starting point
Frame 2: aa.php gets renamed to aaa.php in file viewlet, and aa.php becomes unselected (but not removed) in Open Editors view
Frame 3: All of the files in the open editors view shift down by one file "unit", as aaa.php gets added and highlighted to the open editors view, but aa.php isn't removed. Additionally, there is some additional padding that gets added between the open editors view and the file view.
Frame 4: aa.php gets removed from the open editors view and all of the files below it are subsequently shifted upwards in the Open Editor view.
Frame 5: the extraneous padding between the Open Editors and File view gets removed

All of this occurs within a timeframe that's very much perceptible to the user and gives the impression that the app isn't "smooth". I don't know if this has to do with the recent electron update, but I do notice that v1.5 doesn't seem to feel as jarring, though haven't dug into it as much.

October to investgiate

This is just how we have architectured the open editors view and how the tree refreshes.
PR that fix this are welcome
Code pointer https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/parts/files/browser/views/openEditorsView.ts#L77


Add 404ing assets

Description of the change:
Reason for the change:
Link to original source:

Closes #

Hello @justinwhall,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX


test for gql files in graphql-tag/loader

#4831
Added support for .gql files.
graphql-tag/loader now supports both .graphql and .gql files.  If my file was named query.graphql would I not be able to import by name?

@iansu Yes, .gql files provide support for multiple operations:
import { MyQuery1, MyQuery2 } from 'query.gql' as opposed to import query from './query.graphql';
Any idea why these tests are failing?

Having different behaviour with different file extensions seems like a really bizarre choice on the part of graphql-tag. That is definitely going to cause confusion for users. Initially we chose to only support .graphql because the two extensions were equivalent and we wanted to keep things simple. I guess now we will have to support both since they do different things.
The test failures probably don't have anything to do with your changes. We've been having issues with them for a while. Once they're finished running I'll take a look.

Sorry, had some trouble trying to remove those errant comments my Prettify package added...
I agree it's a strange spec. Importing operations by name should probably be the standard approach.

It looks like these are new test failures caused by this: https://github.com/facebook/jest/issues/6766

FWIW When I initially implemented the loader to CRA the consensus was to be opinionated to only use .graphql files. See https://github.com/facebook/create-react-app/pull/3909/files/ce2e153dbc9e89855262580e469878fa3f54912d#diff-a7f98c18479be87c9f33e7604dbd1a09 by @gaearon

@petetnt
Ok, I do understand that choice. I can probably live without .gql.

I think the fact that .gql files offer different functionality from .graphql files is probably a good enough reason to include support for both. While I personally disagree with the different file types working in different ways that is not a decision that's under our control.
There is also some discussion of using babel macros to allow for importing graphql files for both Apollo and Relay so maybe that's a better way forward.

What's the different functionality .gql files provide?

See this comment above: https://github.com/facebook/create-react-app/pull/4867#issuecomment-411807746
It sounds like .gql files support multiple queries per file that can be imported by name, whereas .graphql does not.

Never heard of that myself, interesting. Sounds pretty obscure though, any references for that? The docs make it seem that it's just a documentation quirk and I didn't see anything relevant in the source either.
(Sorry, it's pretty late here and I cannot verify that myself ATM 😞)


how can i get the code to train the model with my own dataset?

i'm a little confused about the readme, i want to train my own dataset, by i cant found the pytorch code of ResNeSt, is the ResNeSt/scripts/torch/ verify.py just for inference? where is the training code?

Please see the link to the training code:
https://github.com/zhanghang1989/ResNeSt#how-to-train

you said: "The training script is in the experiments/segmentation/ folder"
but no "experiments/segmentation/ folder" could be found

https://github.com/zhanghang1989/PyTorch-Encoding/tree/master/experiments/segmentation

thank you for your reply


Have v16 features been implemented?

Hello, have v16 features been implemented? For example, setting the base dose plan in code. I ask because we have compiled the script using the v16 libraries, but we see the message "More features coming in v16!" Not sure if we made an error compiling the v16 plugin.

No, all code was developed and tested using v15.6 of Eclipse. So the code was primarily targeted towards that version of ESAPI. The improvements with v16 should be relatively minor including building a plan setup with ESAPI, adding setup fields, setting a plan as a base dose plan, etc. I might do that in the future, but for now the code is targeted towards v15.6 of ESAPI. It will definitely still work on v16 of Eclipse. Nope, no errors on your end. That's a legacy message from the VMAT TBI autoplanning code (copied from that project). If you let me know what features you're interested in for v16, I can work with you and show you where to implement those pieces of code into the codebase

@adamblais One of the V16+ features I've been waiting to try is using multiple energies with one optimization. Is this something your clinic might explore?

@esimiele Thanks for the offer! We're still early on in testing, but the goal would be to automate as much as we can, so setting plan orientation on AP/PA plans, setting base dose plan, and autoplanning for AP/PA would be of interest. We do have a programmer in house that might be able to implement these and share a fork.
@crcrewso Unfortunately, our clinic currently only has 6X VMAT commissioned (and 6FFF and 10FFF) so I don't think we will be exploring that in the foreseeable future.

Sounds good. Let me know when you get to the point when you guys want to change things and I'd be happy to help if necessary.  Haha we have not experimented with multi-energy optimization. No idea if it will help or not

What would be the best way to get in touch with you? Our programmer is looking at adding v16 features and could use some guidance on where to put the new code. Thanks!

email primarily and possibly a zoom call depending on the complexity of what you want to implement.
<EMAIL_ADDRESS>


Any way to use html-webpack-template to generate Static Site?

Hey Jake,
I was wondering if there was any way to use html-webpack-template to prerender my index.html page. I've come across other Webpack plugins like 'static-jsx-webpack-plugin', 'static-site-generator-webpack-plugin', and others which I'd like to use alongside this plugin.
Any suggestions on how to proceed?
Thanks,
Michael

I haven't done it, but my guess is that you could.  It's all node, right?  So, if you put it behind a server endpt, you should be able to code something custom up.  I don't know of something prepackaged.  Good luck!


leading and trailing spaces do not seem to be allowed

a document that looks like this:
doc =
    """
| Title
    My Brilliant Blog Post
"""

will fail to parse, due to whitespace before and after the doc. It works if you pass the string into String.trim though!

Fixed in v3!  (again, thanks for so many great issues)


Tag v1.0.9 refers to a broken and deleted commit

The tag v1.0.9 refers to commit 840f2e4f8f2fb5bb1d57b7e6e78c74f1cf55db29, but this commit is broken and already been deleted. This can make distro maintainers to packaging difficult and causes misunderstanding.

ok，it update

I create a new version

Migrate to yarn and create v1.1.0？


Organize 2 different configs for REDIS

We should have following configs:

[x] To run locally without Docker
[x] To run in DOCKER with env Vars substitution

This is correlates with #64 therefore it will be solved simultaneously (we have 2 configs but no substitution yet)

finished, done


Simplify lexer::Token to contain offset instead of len.

By storing the token offset we kinda add identity for the token which simplifies things.
Before this PR:
We are storing the length of the tokens. so:

To get the offset of a random token we need to do a linear sum of the length of prev tokens

In turn, this means we store some additional state in local mutable variables or in a struct when iterating over tokens

To get the length of a random token we need a constant lookup
Tokens don't have an identity, you may intern them (which is what we don't do :D )

After this PR:
We are storing the offsets of the tokens, so:

To get the offset of a token we need a constant lookup
To get the length of a token we need a constant lookup +
the info about the last token length (i.e. input length)
Tokens have an identity, it is not possible to intern them (bruh, we don't do this).

One more appealing simplification would be storing (EOF, text_len) token right at the end of Vec<Token> which will quite reduce the handling of the last-token-length special case. I haven't gone this route because in our code we have access to this information everywhere (but anyway, I think this will further simplify kinds_with_ranges() function as well as increase performance?)

Okay, so this won't work for us I guess

@matklad does it make sense to extract fn ranged_tokens_iter(tokens: &[Token]) -> impl Iterator<Item = (SyntaxKind, TextRange)> ?


Implement create/delete for Function apps via Activity API

Known issue:  For deleting, there are two prompts because the appservice package has a built in prompt to the deleteSite command.  I'll get rid of that eventually and bump the version later.

Waiting on https://github.com/microsoft/vscode-azuretools/pull/1124 to be merged and released


cannot go get elastic.v5

Please use the following questions as a guideline to help me answer
your issue/question without further inquiry. Thank you.
Which version of Elastic are you using?
[ ] elastic.v2 (for Elasticsearch 1.x)
[ ] elastic.v3 (for Elasticsearch 2.x)
[ yes] elastic.v5 (for Elasticsearch 5.x)
Please describe the expected behavior
can go get elastic.v5
Please describe the actual behavior
when i run the cmd
go get -u gopkg.in/olivere/elastic.v5
i got error
package gopkg.in/olivere/elastic.v5: unrecognized import path "gopkg.in/olivere/
elastic.v5" (https fetch: Get https://gopkg.in/olivere/elastic.v5?go-get=1: net/
http: TLS handshake timeout)
there is no problem when i get elastic.v2 and elastic.v3
Any steps to reproduce the behavior?

i retry 1min ago
SUCCESS
maybe network`s problem
sorry


Identical lines not squeezed

The help indicates:

--no-squeezing Displays all input data. Otherwise any number of groups of output lines which would be identical to the preceding group of lines, are replaced with a line comprised of a single asterisk.

It seems that lines are squeezed when they all are filled with the same single byte (for example, all 0x00 or all 0xFF). However, lines which are not filled with a single repeated byte can still be identical to previous lines. In these cases they do not appear to be squeezed.
I'll attach an example file, which contains rows filled with the two-byte word 0x1400 starting at position 00000020. If the standard two panels are displayed, I would expect this file to have data squeezed until position 00000fa0.
example.tar.gz

Thank you for reporting this. The documentation is just wrong. I don't think the squeezing feature was ever planned to work that way. But I now realize that hexdumps squeezing feature might actually do just that?
FYI: @awidegreen @sharifhsn

But I now realize that hexdumps squeezing feature might actually do just that?

Yes, hexdump does work that way.

If hexdump will squeeze on identical lines always, then the squeezing feature should be changed to match hexdump. It's not difficult to make this change, I'll look at this sometime soon.


When can i use the framework on Mac m1

Description
(A clear and concise description of what the feature is.)
Will this change the current api? How?
Who will benefit from this enhancement?
References

list reference and related literature
list known implementations

We build the engines using GitHub Actions, so we are waiting for GitHub Actions support for Mac M1 for us to add DJL support. You can follow GitHub Actions support through their tracking issue at https://github.com/actions/virtual-environments/issues/2187

@javst
I manually build M1 PyTorch JNI for PyTorch. You can try to DJL with PyTorch engine on mac M1 with latest SNAPSHOT release.


Add value loading

Codecov Report

Merging #3 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master     #3   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines         151    153    +2
=====================================
+ Hits          151    153    +2

Impacted Files
Coverage Δ

json_schema_to_class.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


WriteFile - Should it Cancel flow?

So as of right now WriteFile till write the payload to file and not do anything
Maybe add 2 Properties so that it will
ForwardFile -- if true it will print the filename of the written file to the next procssor
ForwardOriginal -- if true will print the original file
Both cannot be true-

Maybe, what if adding something to the Relationship or Processor about forwarding?
Then it would be up to the infrastructure to take care of it instead of each processor, reducing code.
Would be cool with a few options to a relationship, sich as TriggerBy, TriggerTimer, Proxy

For now it allows for a forward property to continue on.
Ill mark this issue as 2.0 to remember it for when 2.0 is being done,


Fixing social links on homepage

this will update the link to the page on website #127

Thanks @cheapwebmonkey for the review, but I think we are already using the approach from that article, or are you referring something else from my PR. I will appreciate if you can tell me exactly I got wrong, thanks.