Provide Dart grammar in a machine-readable format

I'm working on a Visual Studio extension for Dart, and need to be able to parse Dart code for more reliably syntax highlighting (and ultimately statement completion, etc.).
The Dart spec contains a lot of EBNF definitions for the grammar, but it's embedded all over the spec, and difficult to extract (in an automated way).
Is it possible to provide/maintain some sort of machine-readable definition for the Dart spec? It doesn't really matter what the format is, as long as I I can parse it.
This would help tremendously with tooling support; which will ultimately help adoption of Dart!

@eernstg has that file moved? It's a 404 now (and FWIW, it's also linked to from https://github.com/dart-lang/sdk/wiki/The-Dart-specification-parser).
What's the current best thing to try and parse if I wanted to see if I can generate a TextMate syntax highlighting file? (I keep finding issues in VS Code like this so wonder if I could do something more reliable than hacking regexes every month! :-))

It's here now: https://github.com/dart-lang/sdk/blob/master/tools/spec_parser/Dart.g. I corrected several links in the wiki page, too.

Hey from 2021!
Looks like EBNF schema for dart still doesn't exist in this world. Any update of this proposal?

Hey from 2021!
Looks like EBNF schema for dart still doesn't exist in this world. Any update of this proposal?

The language specification contains grammar rules. In addition to the language specification itself, we have several specifications of new features (e.g., for null safety or inference).
This means, unfortunately, that it is necessary to take multiple documents into account in order to gather the grammar for a specific version of the language, and in particular in order to include the latest features.
So you may be justified in claiming that it doesn't exist, but you should be able to create it when needed. ;-)
The file https://github.com/dart-lang/sdk/blob/master/tools/spec_parser/Dart.g is still a good place to look, in order to get a complete and reasonably current grammar for Dart. It is being used to perform grammar design experiments for new features, and to verify that the language specification grammar rules are in sync with the actual language implementation (by keeping the spec and Dart.g in sync, and checking that Dart.g will parse the language test suite).
So we don't have a perfect solution (and in particular: no complete grammar for each version of the language), but I think it's sufficiently complete to useful in practice.

The language specification contains grammar rules. In addition to the language specification itself, we have several specifications of new features (e.g., for null safety or inference).
This means, unfortunately, that it is necessary to take multiple documents into account in order to gather the grammar for a specific version of the language, and in particular in order to include the latest features.
So you may be justified in claiming that it doesn't exist, but you should be able to create it when needed. ;-)
The file https://github.com/dart-lang/sdk/blob/master/tools/spec_parser/Dart.g is still a good place to look, in order to get a complete and reasonably current grammar for Dart. It is being used to perform grammar design experiments for new features, and to verify that the language specification grammar rules are in sync with the actual language implementation (by keeping the spec and Dart.g in sync, and checking that Dart.g will parse the language test suite).
So we don't have a perfect solution (and in particular: no complete grammar for each version of the language), but I think it's sufficiently complete to useful in practice.

@eernstg proprietary .g file format is not like ebnf (not due to proprietary, but due to not understandable file format). Literaly any parser, compiler, syntax highlighter and any other language tool works with ebnf, or at least some extension of ebnf :smile: so, some strange .g does nothing to anyone who came to this issue))))
Also, language spec is amazing (no, i'm honest! dart is amazingly well documented, not all parts, but 99% at least is awesome). But, you know, at january of 2021, computers can't read human documentation, unfortunately. So, i think that official approved machine readable language spec like in golang, python, java, rust (rust has too specific spec, but anyway) even swift (same thing, too specific, but at least you can cinvert to bnf) even lua (!!!), ALL OF THEM has OFFICIAL bnf or, at least, custom extended bnf schema.
So, my point is simple: language specification can not be full until maintainers of sdk don't approve official ebnf. .g makes no sense without required convertion software in open source.

@DanTup @eernstg  I don't want to offend developers and maintainers in any way, you are doing incredibly helpful work, for mobile developers for sure, but please understand me, we have unified standards in this world, thanks to unified standards and open source formats, all developers are able to achieve your goal (your as language developers and maintainers) and create amazing dart environment. I love dart and I want to make it more convenient as an independent language, but not as a piece of flutter, I want to help make it more convenient for users, i want to write linters, code analyzers, documentation generators, but I cannot do this with just one .g file, to unfortunately.

@eernstg Unfortunately, antlr != ebnf. First one is java-likely parser, ebnf is standartized ISO grammar format, which is supported by literally any devkits and sdks today.
So, honestly, Dart.g file makes no sense, unlike similar ebnf grammars for golang, rust, javascript, java, lua, python, ruby, etc. etc. etc. All of listed languages has officialy approved ebnf schema for side open source developers. Dart is not.
Thanks this, for example, i can't make dart linters, cause i want to inspect dart AST for linting, and guess what? I can't get ast of my dart file, cause i don't know how to parse it :upside_down_face:

@eernstg Unfortunately, antlr != ebnf. First one is java-likely parser, ebnf is standartized ISO grammar format, which is supported by literally any devkits and sdks today.
So, honestly, Dart.g file makes no sense, unlike similar ebnf grammars for golang, rust, javascript, java, lua, python, ruby, etc. etc. etc. All of listed languages has officialy approved ebnf schema for side open source developers. Dart is not.
Thanks this, for example, i can't make dart linters, cause i want to inspect dart AST for linting, and guess what? I can't get ast of my dart file, cause i don't know how to parse it :upside_down_face:

I think the most practical approach would be to use existing Dart parsers, e.g., by building a tool that imports the dart analyzer package.
Admitted, this isn't always possible: If you wish to provide a Dart grammar specification to an existing non-Dart tool, it could require any format, including standard EBNF (I assume you mean this one: https://standards.iso.org/ittf/PubliclyAvailableStandards/s026153_ISO_IEC_14977_1996(E).zip).
However, if you wish to use a parser generator to parse Dart programs based on an EBNF grammar specification then it would have to specify an unambiguous grammar.
That isn't quite possible with Dart, because its grammar isn't "context free friendly" (it's probably actually not context free). In particular, it is necessary to maintain a separate stack of open string literal interpolations in order to be able to close the correct one. This gives rise to out-of-parser computations like enterBraceSingleQuote() in the following rules:
SINGLE_LINE_STRING_SQ_BEGIN_MID
    :    '\'' STRING_CONTENT_SQ* '${' { enterBraceSingleQuote(); }
    ;

SINGLE_LINE_STRING_SQ_MID_MID
    :    { currentBraceLevel(BRACE_SINGLE) }?
         { exitBrace(); } '}' STRING_CONTENT_SQ* '${'
         { enterBraceSingleQuote(); }
    ;

SINGLE_LINE_STRING_SQ_MID_END
    :    { currentBraceLevel(BRACE_SINGLE) }?
         { exitBrace(); } '}' STRING_CONTENT_SQ* '\''
    ;

The problem is that we need to keep track of arbitrary nested terms of the form ' ... ${e1} ... ${e2} ...' and similarly for the other quotes/triple-quotes, where ei are expressions (possibly containing other string interpolations), such that each single quote is matched up with a single quote, triple-single-quote with triple-single-quote, and so on. We'd presumably need a complete copy of the entire expression grammar for each of the possible stack states in order to know whether to accept a given " at some point or not (or we could have built-in support for parser states, which is just the same thing as what we do with exitBrace() and its brethren, and that's not context free).
So the nice parser that you'd generate from any given EBNF would probably need to be fixed up in ways that may not be supported by the given parser generator.
Another issue is that yield and await are treated specially in the body of an async/async*/sync* function, and yet another is that f(A < B, C > (D)) is parsed as a function invocation passing the result of calling the generic function A with type arguments B, C and value argument D, not as an invocation of f passing two arguments that compare A and B respectively C and (D).
In summary, I don't think it's going to work as smoothly as one might hope, even if we decide on a specific EBNF specification and announce that it is official.

I think the most practical approach would be to use existing Dart parsers, e.g., by building a tool that imports the dart analyzer package.
Admitted, this isn't always possible: If you wish to provide a Dart grammar specification to an existing non-Dart tool, it could require any format, including standard EBNF (I assume you mean this one: https://standards.iso.org/ittf/PubliclyAvailableStandards/s026153_ISO_IEC_14977_1996(E).zip).
However, if you wish to use a parser generator to parse Dart programs based on an EBNF grammar specification then it would have to specify an unambiguous grammar.
That isn't quite possible with Dart, because its grammar isn't "context free friendly" (it's probably actually not context free). In particular, it is necessary to maintain a separate stack of open string literal interpolations in order to be able to close the correct one. This gives rise to out-of-parser computations like enterBraceSingleQuote() in the following rules:
SINGLE_LINE_STRING_SQ_BEGIN_MID
    :    '\'' STRING_CONTENT_SQ* '${' { enterBraceSingleQuote(); }
    ;

SINGLE_LINE_STRING_SQ_MID_MID
    :    { currentBraceLevel(BRACE_SINGLE) }?
         { exitBrace(); } '}' STRING_CONTENT_SQ* '${'
         { enterBraceSingleQuote(); }
    ;

SINGLE_LINE_STRING_SQ_MID_END
    :    { currentBraceLevel(BRACE_SINGLE) }?
         { exitBrace(); } '}' STRING_CONTENT_SQ* '\''
    ;

The problem is that we need to keep track of arbitrary nested terms of the form ' ... ${e1} ... ${e2} ...' and similarly for the other quotes/triple-quotes, where ei are expressions (possibly containing other string interpolations), such that each single quote is matched up with a single quote, triple-single-quote with triple-single-quote, and so on. We'd presumably need a complete copy of the entire expression grammar for each of the possible stack states in order to know whether to accept a given " at some point or not (or we could have built-in support for parser states, which is just the same thing as what we do with exitBrace() and its brethren, and that's not context free).
So the nice parser that you'd generate from any given EBNF would probably need to be fixed up in ways that may not be supported by the given parser generator.
Another issue is that yield and await are treated specially in the body of an async/async*/sync* function, and yet another is that f(A < B, C > (D)) is parsed as a function invocation passing the result of calling the generic function A with type arguments B, C and value argument D, not as an invocation of f passing two arguments that compare A and B respectively C and (D).
In summary, I don't think it's going to work as smoothly as one might hope, even if we decide on a specific EBNF specification and announce that it is official.

@eernstg wow... That's a lot of issues.
Okay, first of all, thanks for the detailed explanation of these problems of issue, Now i understand real scale of the situation.
When we talk about grammar schema like ebnf, i don't mean that it exactly must generate ready-to-go parser, no, it's not. I don't remember any runnable ast generator from ebnf schema only. So, create super-universal grammar specification is too utopian.
Also, when we talk about code like f(A < B, C > (D)) is valid (what is too funny for me), i want ask you: if i have variables A,B,C and D, does this code will be parsed as class constructor, or as bool expressions? If it can be parsed in two variants with different situations, there is a huuuuuge problem with language. But i hope that i am wrong. I understand that the parsing option depends on what arguments f takes as input, but still believe that this can be described as context free and resolved in higher layer ast builders.
At the same time, it seems to me that this problem is solved (in my not the most thoughtful one opinion) in several ways, and here is one of them:
Let's take a look on await keyword: of course, we expected, that find await expression in text is valid only ins async function. But i think that code like this one:
Future notRealyAsync() {
    await doSomethingAnother()
}

contains not a syntax error, but a logic one. I mean, this code won't work in one type of error, or another, it's an error, code won't run with any error. Bur when we talk about parsing code this means a lot. so we can define something like:
expression ::= bitwiseExpression | blahblahblah | ... | awaitExpression;
awaitExpression ::= 'await' expression ';';

Is this context-free? If we parse syntax things like this, it would be! (But it's for my opinion, i could be wrong in real life). If we can define grammar in this way, what can we left? Of course, we must also add some logic rules like if non-async function body contains any awaitExpression, then parser must throw logic error..
I'll be honest with you, i really appreciate your and my time, so here is the thing: i've give you this idea, and really want your feedback, if you like it (or someone another from dart team) i'll try to make proposal of this idea with proof-of-concept tiny ebnf schema, set of simple rules, and simple parser written on golang (cuz i using go, lol). Then maybe we can discuss more about this stuff :smiley:
Btw, i don't think, that syntax grammar must define formatted strings. Yes, it's part of language specification, but this can be implemented as another grammar or even regex, which is way more simpler, and added into logic specification.

@eernstg wow... That's a lot of issues.
Okay, first of all, thanks for the detailed explanation of these problems of issue, Now i understand real scale of the situation.
When we talk about grammar schema like ebnf, i don't mean that it exactly must generate ready-to-go parser, no, it's not. I don't remember any runnable ast generator from ebnf schema only. So, create super-universal grammar specification is too utopian.
Also, when we talk about code like f(A < B, C > (D)) is valid (what is too funny for me), i want ask you: if i have variables A,B,C and D, does this code will be parsed as class constructor, or as bool expressions? If it can be parsed in two variants with different situations, there is a huuuuuge problem with language. But i hope that i am wrong. I understand that the parsing option depends on what arguments f takes as input, but still believe that this can be described as context free and resolved in higher layer ast builders.
At the same time, it seems to me that this problem is solved (in my not the most thoughtful one opinion) in several ways, and here is one of them:
Let's take a look on await keyword: of course, we expected, that find await expression in text is valid only ins async function. But i think that code like this one:
Future notRealyAsync() {
    await doSomethingAnother()
}

contains not a syntax error, but a logic one. I mean, this code won't work in one type of error, or another, it's an error, code won't run with any error. Bur when we talk about parsing code this means a lot. so we can define something like:
expression ::= bitwiseExpression | blahblahblah | ... | awaitExpression;
awaitExpression ::= 'await' expression ';';

Is this context-free? If we parse syntax things like this, it would be! (But it's for my opinion, i could be wrong in real life). If we can define grammar in this way, what can we left? Of course, we must also add some logic rules like if non-async function body contains any awaitExpression, then parser must throw logic error..
I'll be honest with you, i really appreciate your and my time, so here is the thing: i've give you this idea, and really want your feedback, if you like it (or someone another from dart team) i'll try to make proposal of this idea with proof-of-concept tiny ebnf schema, set of simple rules, and simple parser written on golang (cuz i using go, lol). Then maybe we can discuss more about this stuff :smiley:
Btw, i don't think, that syntax grammar must define formatted strings. Yes, it's part of language specification, but this can be implemented as another grammar or even regex, which is way more simpler, and added into logic specification.

about .. f(A < B, C > (D))

It is parsed as an invocation of f with one argument, and it makes no difference whether A, B, C, D are variables or types (or even undefined): The parser does not rely on name resolution in order to make a parsing decision. The point is that f(A < B, C > (D)) is ambiguous, and the language makes the choice to disambiguate it in favor of the generic function call.
If you want to parse it as an invocation of f with two boolean arguments then you can remove the parentheses from D, or any of several other things that will prevent the parse as a generic function invocation.
With respect to
Future notRealyAsync() {
    await doSomethingAnother()
}

the issue is that await had been a regular identifier for years when the <awaitExpression> and all things async were added to Dart. So it had to get a special treatment in order to ensure that code like this continued to work:
void notAsync() {
  var await = true;
  ...
}

.. i don't think, that syntax grammar must define formatted strings .. another grammar or even regex

That won't work; regular expressions do not even have the expressive power needed to keep track of simple parenthesized structures (like (())() as opposed to wrong ones like ((), and we need the parser in order to parse e in "stuff ${e} more stuff".

about .. f(A < B, C > (D))

It is parsed as an invocation of f with one argument, and it makes no difference whether A, B, C, D are variables or types (or even undefined): The parser does not rely on name resolution in order to make a parsing decision. The point is that f(A < B, C > (D)) is ambiguous, and the language makes the choice to disambiguate it in favor of the generic function call.
If you want to parse it as an invocation of f with two boolean arguments then you can remove the parentheses from D, or any of several other things that will prevent the parse as a generic function invocation.
With respect to
Future notRealyAsync() {
    await doSomethingAnother()
}

the issue is that await had been a regular identifier for years when the <awaitExpression> and all things async were added to Dart. So it had to get a special treatment in order to ensure that code like this continued to work:
void notAsync() {
  var await = true;
  ...
}

.. i don't think, that syntax grammar must define formatted strings .. another grammar or even regex

That won't work; regular expressions do not even have the expressive power needed to keep track of simple parenthesized structures (like (())() as opposed to wrong ones like ((), and we need the parser in order to parse e in "stuff ${e} more stuff".


problem on setting level idc (release 1.3.1)

Hi,
I'm trying to set level idc.
encoder_->SetOption(ENCODER_OPTION_LEVEL, &newLevel);
or
param.sSpatialLayers[i].uiLevelidc = newLevel;
encoder_->InitializeExt(param);
However it doesn't work. Level is set to 5.0 by default. How can i initialize my encoder with level idc 1.3 or 2.0. Is there any correlation between level idc and other parameters(e.g target bitrate)?
Thanks.

Hi,
yes, under UsageType=CAMERA_VIDEO_REAL_TIME, when other parameters exceeds the level limits of H.264 Annex, the encoder will increase the level-idc to make the bit stream conformed to the level limits. You may be interested in trying CAMERA_VIDEO_NON_REAL_TIME in master, which should be honoring level-idc setting and modifying other parameters accordingly, however, this CAMERA_VIDEO_NON_REAL_TIME setting is still experimental, so there can be some bugs around its logic. Thanks.


Spring Cloud Stream Pulsar Binder

Basic consumer and producer bindings.
Sample app (end to end)

We will convert them to records in the subsequent PR's.


Test for compiler flag -march=native

Added a test in the CMakeLists.txt before adding the -march=native flag
The latest clang (clang-13<IP_ADDRESS>) on Apple M1 does not support it (yet?)
Depends on https://github.com/iic-jku/dd_package/pull/30 & submodule reference needs to be updated

I updated the dd_package version to the latest one that has the same change for compiler flags as this PR


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>

:tada: This PR is included in version 2.20.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Manually set actor names

We should probably set the actor names manually so that they will appear less verbose in the tokio console

You mean statically? :trollface:

You mean statically? :trollface:

No, haha, I mean we should override the default name method because the std::any::type_name strings are very long since they contain the path.

Closed by #204


[Unexpected Behavior]Error occurs after disabling Matomo analytics

According to analytics.yml & _includes/analytics.html, it seems that if site_id is blank,  Matomo analytics will be disabled.
Sadly,analyticsAPI defined here is used by several JavaScripts ( common.js & home.js ).Simply leave it blank will cause errors which will stop necessary JavaScripts from working.
It seems that this is an unexpected behavior.
根据 analytics.yml 和 _includes/analytics.html, 看起来似乎当site_id留空时,  Matomo统计相关代码会被自动移除。
不幸的是，变量analyticsAPI（定义在这里）被一些脚本 ( common.js 和 home.js )使用。直接留空会发生错误并阻止一些基于js的功能。
这似乎是一个未预料到的行为。

Fixed by https://github.com/BYR-Navi/BYR-Navi/commit/3c612f3ac4642f2c3e3b1c130ed5b450a90a9ab7.


An easy way to restart the PilosDeck_FNX

This is a more of enhancement request:
It happens to me from time to time that during a flight PilotsDeck get "confused" and start displaying wrong data and/or inputs stop working. I am not sure why is that. It  may well be because of other programs.  The easy workaround to this is to kill the process via (Task manager) and restart the program. However when this happens while you are flying on line and getting close to the approach or landing (this what happened during my flight on Vatsim this afternoon), it is disturbing and it takes few precious seconds to execute this workaround.
Would be possible to add a small simple menu to be able to stop the program (and then restart it manually) or even better, a button that can allow the restart the program?
Thanks
Sam

Does not happen for me and hear that for the first time - so it is likely something in your Environment. Remember it is using a Offset-Range which is assigned to other Programs! (5400-5FFF => Enrico's Project Magenta)
That is why the Base (Starting) Offset is configureable.
I won't add any UI, Menu, Tray-Icon or anything like that. It is specifically designed to its work silently in the Background. Also, a small Batch/PowerShell Script to Stop and Start the Binary is no Rocket-Science.

You are right a script for that would do the job.
Thanks
Sam

For Powershell:
Get-Process -Name ("PilotsDeck_FNX2PLD") -ErrorAction SilentlyContinue | Stop-Process –force -ErrorAction SilentlyContinue
Sleep(1)
Start-Process "X:\Full\Path\to\PilotsDeck_FNX2PLD.exe"

That should do it. Many thanks

$destDir = "X:\Full\Path"
Stop-Process -Name PilotsDeck_FNX2PLD -ErrorAction SilentlyContinue
Sleep(3)
Start-Process -FilePath ($destDir + "\PilotsDeck_FNX2PLD.exe") -WorkingDirectory $destDir

That works better 😄

Wilco

@Samhaho
Here's something else for you to test 😉
https://github.com/Fragtality/PilotsDeck_FNX/raw/master/PilotsDeck_FNX2PLD-latest.zip

The Binary now also uses the WASM Module from Mobi Flight - so no Issues anymore because it can not read the Fenix L-Vars

Like the Plugin itself, FSUIPC is still required for the Connection

The Raw-Value-Mode can now also output to L-Vars
The Offset-Addresses / Variable-Names are directly written to a Text-File when the Application starts (based on the current Configuration). So they can now be known without the Need to start the Sim & Fenix

I am running it. It seems to be working fine. As for to the three improvements:

The Binary now also uses the WASM Module from Mobi Flight - so no Issues anymore because it can not read the Fenix L-Vars

Like the Plugin itself, FSUIPC is still required for the Connection

You are now using Mobiflight WASM, Great. But I am not sure what existing issue you are talking about and has been resolved with this?  I haven’t identified any issue on my side 😉

The Raw-Value-Mode can now also output to L-Vars

You mean to a custom L-Vars (instead or in addition to FSUIPC offsets)?  What are they, I do not see them in the Assignment file. What is the use case?

The Offset-Addresses / Variable-Names are directly written to a Text-File when the Application starts (based on the current Configuration). So they can now be known without the Need to start the Sim & Fenix

This one is easy to understand…and very handy.
Thanks
Sam
From: Fragtality @.>
Sent: vendredi 3 février 2023 16:21
To: Fragtality/PilotsDeck_FNX @.>
Cc: Samhaho @.>; Mention @.>
Subject: Re: [Fragtality/PilotsDeck_FNX] An easy way to restart the PilosDeck_FNX (Issue #10)
@Samhaho https://github.com/Samhaho
Here's something else for you to test 😉
https://github.com/Fragtality/PilotsDeck_FNX/raw/master/PilotsDeck_FNX2PLD-latest.zip

The Binary now also uses the WASM Module from Mobi Flight - so no Issues anymore because it can not read the Fenix L-Vars

Like the Plugin itself, FSUIPC is still required for the Connection

The Raw-Value-Mode can now also output to L-Vars

The Offset-Addresses / Variable-Names are directly written to a Text-File when the Application starts (based on the current Configuration). So they can now be known without the Need to start the Sim & Fenix

—
Reply to this email directly, view it on GitHub https://github.com/Fragtality/PilotsDeck_FNX/issues/10#issuecomment-1416019010 , or unsubscribe https://github.com/notifications/unsubscribe-auth/A3VR43XDI26JYN4YOFJMHLTWVUO6FANCNFSM6AAAAAAUJZWM2Y .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/A3VR43UDEOCVYHMVWA46JJ3WVUO6FA5CNFSM6AAAAAAUJZWM22WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSUM26EE.gif Message ID: @.*** @.***> >

You are now using Mobiflight WASM, Great. But I am not sure what existing issue you are talking about and has been resolved with this?  I haven’t identified any issue on my side

Then you were lucky 😉 FSUIPC can't access more than 3066 L-Vars, but with switching Aircrafts and/or Scenery this Limit is easily reached. When that happens and the Fenix Variables are "above" that Limit, the Executable would not Display anything (at least in the Default / String-Mode). Because it could not read the L-Vars to know when the FCU is powered. And the only Fix: Restart the Simulator. 🙄
Another Reason for the WASM Switch: to create & update custom L-Vars reliably (without the Potential in running into a Limit-Based Issue).

You mean to a custom L-Vars (instead or in addition to FSUIPC offsets)?  What are they, I do not see them in the Assignment file. What is the use case?

It is instead of the numeric Offsets (configureable in the Config File).
Use-Case: None specific - it allows for more flexibility to integrate with the Tool. For example the "Client" does not need to be able to read FSUIPC Offsets anymore. Or maybe L-Vars are just easier to handle in a Client? (Which they generally are - or would you directly know the difference between "0x5408:10:s" and "0x5422:10:s"? 😅 )
The Assignments File is always based on the current Configuration only - so if the L-Var Output is not enabled, it is not written. And the Format is always specific to the Use-Case: the String-Based Offsets are directly formatted for the PilotsDeck Plugin, for Numeric Offsets the Type and Size is written and for L-Vars only the Name.

All very clear thanks.
The issue of L-var number limitation of FSUIPC leading to the need to restart the sim when you switch aircraft was indeed annoying, including for me who switches often between PMDG and Fenix. I just did not get it in your previous message. I am glad it is now resolved thanks to MF WASM
Many thanks
Sam
From: Fragtality @.>
Sent: vendredi 3 février 2023 18:03
To: Fragtality/PilotsDeck_FNX @.>
Cc: Samhaho @.>; Mention @.>
Subject: Re: [Fragtality/PilotsDeck_FNX] An easy way to restart the PilosDeck_FNX (Issue #10)
You are now using Mobiflight WASM, Great. But I am not sure what existing issue you are talking about and has been resolved with this? I haven’t identified any issue on my side
Then you were lucky 😉 FSUIPC can't access more than 3066 L-Vars, but with switching Aircrafts and/or Scenery this Limit is easily reached. When that happens and the Fenix Variables are "above" that Limit, the Executable would not Display anything (at least in the Default / String-Mode). Because it could not read the L-Vars to know when the FCU is powered. And the only Fix: Restart the Simulator. 🙄
Another Reason for the WASM Switch: to create & update custom L-Vars reliably (without the Potential in running into a Limit-Based Issue).
You mean to a custom L-Vars (instead or in addition to FSUIPC offsets)? What are they, I do not see them in the Assignment file. What is the use case?
It is instead of the numeric Offsets (configureable in the Config File).
Use-Case: None specific - it allows for more flexibility to integrate with the Tool. For example the "Client" does not need to be able to read FSUIPC Offsets anymore. Or maybe L-Vars are just easier to handle in a Client? (Which they generally are - or would you directly know the difference between "0x5408:10:s" and "0x5422:10:s"? 😅 )
The Assignments File is always based on the current Configuration only - so if the L-Var Output is not enabled, it is not written. And the Format is always specific to the Use-Case: the String-Based Offsets are directly formatted for the PilotsDeck Plugin, for Numeric Offsets the Type and Size is written and for L-Vars only the Name.
—
Reply to this email directly,  https://github.com/Fragtality/PilotsDeck_FNX/issues/10#issuecomment-1416150418 view it on GitHub, or  https://github.com/notifications/unsubscribe-auth/A3VR43V62R654G75RU56G2TWVU22TANCNFSM6AAAAAAUJZWM2Y unsubscribe.
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/A3VR43RSB4LZXWUOKEMHSILWVU22TA5CNFSM6AAAAAAUJZWM22WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSUNC6ZE.gif Message ID: < @.> @.>

It looks like VS and FPA are not working neither in Offsets nor Lvar.
What does FNX2PLD_isAltVs  indicate?
From: Fragtality @.>
Sent: vendredi 3 février 2023 18:03
To: Fragtality/PilotsDeck_FNX @.>
Cc: Samhaho @.>; Mention @.>
Subject: Re: [Fragtality/PilotsDeck_FNX] An easy way to restart the PilosDeck_FNX (Issue #10)
You are now using Mobiflight WASM, Great. But I am not sure what existing issue you are talking about and has been resolved with this? I haven’t identified any issue on my side
Then you were lucky 😉 FSUIPC can't access more than 3066 L-Vars, but with switching Aircrafts and/or Scenery this Limit is easily reached. When that happens and the Fenix Variables are "above" that Limit, the Executable would not Display anything (at least in the Default / String-Mode). Because it could not read the L-Vars to know when the FCU is powered. And the only Fix: Restart the Simulator. 🙄
Another Reason for the WASM Switch: to create & update custom L-Vars reliably (without the Potential in running into a Limit-Based Issue).
You mean to a custom L-Vars (instead or in addition to FSUIPC offsets)? What are they, I do not see them in the Assignment file. What is the use case?
It is instead of the numeric Offsets (configureable in the Config File).
Use-Case: None specific - it allows for more flexibility to integrate with the Tool. For example the "Client" does not need to be able to read FSUIPC Offsets anymore. Or maybe L-Vars are just easier to handle in a Client? (Which they generally are - or would you directly know the difference between "0x5408:10:s" and "0x5422:10:s"? 😅 )
The Assignments File is always based on the current Configuration only - so if the L-Var Output is not enabled, it is not written. And the Format is always specific to the Use-Case: the String-Based Offsets are directly formatted for the PilotsDeck Plugin, for Numeric Offsets the Type and Size is written and for L-Vars only the Name.
—
Reply to this email directly, view it on GitHub https://github.com/Fragtality/PilotsDeck_FNX/issues/10#issuecomment-1416150418 , or unsubscribe https://github.com/notifications/unsubscribe-auth/A3VR43V62R654G75RU56G2TWVU22TANCNFSM6AAAAAAUJZWM2Y .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/A3VR43RSB4LZXWUOKEMHSILWVU22TA5CNFSM6AAAAAAUJZWM22WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSUNC6ZE.gif Message ID: @.*** @.***> >

It looks like VS and FPA are not working neither in Offsets nor Lvar.

Did not really change something substantial there and also tested all Modes. Does this also happen in the Air? It is not really accurate on the Ground, especially with an unprogrammed FMGC ...
I've explained it somewhere along ... VS/FPA still is "Guesswork". The right Value is in only one of two possible Locations and there is no 100% Indicator when to read from which. So it is guessed based on Value Differences in the Alt and Vs Switch (if they where pulled/pushed). Based on which has changed, the Binary determines if the Plane is now in VS Mode (which is also the Answer to the Second Question: this Information is exported in that Variable).
That works mostly well in the Air, where it is important. Like I said: it is still the same Mechanic as before.
One Thing where this would fail in the Air: when the Alt and Vs Switches are incorrectly manipulated. Their Value need to either increase or decrease (like with a Mouse-Click). If the Value is shortly toggled between -1<>0 or 0<>1 it still works in the Cockpit, but might be either too short for the Tool to recognize and/or will trigger the wrong Mode.

Thanks for the explanation. 3 notes:

If the variable L:FNX2PLD_isAltVs supposed to reflect (even though it is not 100% accurate) whether VS mode is active, then why don’t you call it L:FNX2PLD_isVsActive.  Also I noticed that I did not need to know this information to configure the FCU; the variable L:FNX2PLD_fcuVsDashed is enough to configure correctly the output.
Almost everything is working on my FCU now using raw/variable mode except the L:FNX2PLD_fcuSpd,, that seems to reflect the managed speed and not the CU speed. I restarted the proves couple of time, but it did not help.
Is there anything to do to make sure the process uses Mobiflight WASM. I did not really test the improvement when switching aircraft but just to make sure my configuration is good before testing this improvement.

Otherwise, all those improvements/modes are great. Many thanks for sharing.
From: Fragtality @.>
Sent: vendredi 3 février 2023 21:42
To: Fragtality/PilotsDeck_FNX @.>
Cc: Samhaho @.>; Mention @.>
Subject: Re: [Fragtality/PilotsDeck_FNX] An easy way to restart the PilosDeck_FNX (Issue #10)
It looks like VS and FPA are not working neither in Offsets nor Lvar.
Did not really change something substantial there and also tested all Modes. Does this also happen in the Air? It is not really accurate on the Ground, especially with an unprogrammed FMGC ...
I've explained it somewhere along ... VS/FPA still is "Guesswork". The right Value is in only one of two possible Locations and there is no 100% Indicator when to read from which. So it is guessed based on Value Differences in the Alt and Vs Switch (if they where pulled/pushed). Based on which has changed, the Binary determines if the Plane is now in VS Mode (which is also the Answer to the Second Question: this Information is exported in that Variable).
That works mostly well in the Air, where it is important. Like I said: it is still the same Mechanic as before.
One Thing where this would fail in the Air: when the Alt and Vs Switches are incorrectly manipulated. Their Value need to either increase or decrease (like with a Mouse-Click). If the Value is shortly toggled between -1<>0 or 0<>1 it still works in the Cockpit, but might be either too short for the Tool to recognize and/or will trigger the wrong Mode.
—
Reply to this email directly, view it on GitHub https://github.com/Fragtality/PilotsDeck_FNX/issues/10#issuecomment-1416382437 , or unsubscribe https://github.com/notifications/unsubscribe-auth/A3VR43ULDPUMMKDRZC4OSX3WVVUSBANCNFSM6AAAAAAUJZWM2Y .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/A3VR43VZSURNAKSB5RWUHWDWVVUSBA5CNFSM6AAAAAAUJZWM22WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSUNRD6K.gif Message ID: @.*** @.***> >

The thing with that Variable - it was exported the whole time in the normal Mode because I need/use it in my Lua Scripts for the Fenix Integration to toggle the Alt-Switch correctly. So it is pulled when Alt is managed OR Vs is Active. I just added it now to the other Modes so it can be used if it would be needed :wink:
But you're right, the Name could be a little bit clearer 😅  I'll change it for the next Build/Release.
Every Display except Alt has the same Challenge that the correct Value is in one of two Locations. But Logic for Speed is basically the same for all Modes and I've did some basic Tests with that Build - so I don't really know why it is not working for you. I have to look into that in the next Days (I'm currently busy with rewriting the Readme for the Plugin). You can look at my Code for the Normal Mode how I build the Output-String there, maybe that helps: https://github.com/Fragtality/PilotsDeck_FNX/blob/master/PilotsDeck_FNX2PLD/ElementManager.cs#L235
No, there is no User Interaction needed. There is no fallback to FSUIPC, it can either connect and work normally - or it can't and does not do anything :wink: But no one will stop you from monitoring the Log File if you really want ^^

Regarding the speed issue, sorry, I should have been more precise: preselected mode (only) doesn’t work whether in raw or string mode.  This mode (like all other preselected modes) works fine in the latest “public” release (0.8), I’ve just retested it again. I am just mentioning this as FYI, obviously no hurry to test and/or fix.
I tested the switch plane situation (advantage of using MF WASM). It is working fine now. This is very handy improvement specially with MSFS loading time.  Thanks
From: Fragtality @.>
Sent: samedi 4 février 2023 19:32
To: Fragtality/PilotsDeck_FNX @.>
Cc: Samhaho @.>; Mention @.>
Subject: Re: [Fragtality/PilotsDeck_FNX] An easy way to restart the PilosDeck_FNX (Issue #10)

The thing with that Variable - it was exported the whole time in the normal Mode because I need/use it in my Lua Scripts for the Fenix Integration to toggle the Alt-Switch correctly. So it is pulled when Alt is managed OR Vs is Active. I just added it now to the other Modes so it can be used if it would be needed 😉
But you're right, the Name could be a little bit clearer 😅 I'll change it for the next Build/Release.
Every Display except Alt has the same Challenge that the correct Value is in one of two Locations. But Logic for Speed is basically the same for all Modes and I've did some basic Tests with that Build - so I don't really know why it is not working for you. I have to look into that in the next Days (I'm currently busy with rewriting the Readme for the Plugin). You can look at my Code for the Normal Mode how I build the Output-String there, maybe that helps: https://github.com/Fragtality/PilotsDeck_FNX/blob/master/PilotsDeck_FNX2PLD/ElementManager.cs#L235
No, there is no User Interaction needed. There is no fallback to FSUIPC, it can either connect and work normally - or it can't and does not do anything 😉 But no one will stop you from monitoring the Log File if you really want ^^

—
Reply to this email directly, view it on GitHub https://github.com/Fragtality/PilotsDeck_FNX/issues/10#issuecomment-1416820515 , or unsubscribe https://github.com/notifications/unsubscribe-auth/A3VR43V6DDHTOS7DZBVAQZLWV2ODFANCNFSM6AAAAAAUJZWM2Y .

Was to fixated on the Code that was not changed and totally overlooked that I forgot to add the Speed-Managed-Lvar to the Subscriptions (to receive Updates). So it worked as it should ... but just under the wrong assumption that Managed was never activated 😅

All working like a charm.
Thanks
From: Fragtality @.>
Sent: dimanche 5 février 2023 18:54
To: Fragtality/PilotsDeck_FNX @.>
Cc: Samhaho @.>; Mention @.>
Subject: Re: [Fragtality/PilotsDeck_FNX] An easy way to restart the PilosDeck_FNX (Issue #10)
OMG - that Bug was dumb 🤣
Fixed in the latest!
Was to fixated on the Code that was not changed and totally overlooked that I forgot to add the Speed-Managed-Lvar to the Subscriptions (to receive Updates). So it worked as it should ... but just under the wrong assumption that Managed was never activated 😅
—
Reply to this email directly, view it on GitHub https://github.com/Fragtality/PilotsDeck_FNX/issues/10#issuecomment-1418201053 , or unsubscribe https://github.com/notifications/unsubscribe-auth/A3VR43SPXQ737GRSLIMGGVTWV7SK3ANCNFSM6AAAAAAUJZWM2Y .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/A3VR43VTJK6CFK5IURBFXTTWV7SK3A5CNFSM6AAAAAAUJZWM22WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSURAD52.gif Message ID: @.*** @.***> >


offline use: MakeCode's normal cacheing behaviour is not preserved in webview

Describe the bug
When clicking 'create code' while not connected to the internet, even if MakeCode has previously been loaded in the app, does not launch MakeCode.
To Reproduce

Load MakeCode with 'create code'
Use it
Quit the app
Disable connectivity /enable Airplane mode
Open the app and choose "Create code"
404 page

Expected behavior
We would expect the cached version of MakeCode to load.
@microbit-carlos has debuged this in the desktop browser too - it appears our queryparameter specifying the android app (or the ?dbg=1) appears to defeat the cacheing.
@microbit-matt-hillsdon do you think this is really a MakeCode bug given the issue with the queryparam?

Using the 'change makecode URL' option (long press on the micro:bit face on homescreen) to remove the queryparameter fixes this.


Register the project with Bower

Register the project with Bower, so it can be referenced with something like:
bower install jquery-validate-unobstrusive-bootstrap

This issue can be closed, it was resolved here 2e77558ee73f77dd4783bd169d90399b6fb85a76

Thanks!


Fixes RemoteInterpreterProcessTest.

There is a testClientFactory(), which assert depends on coincidence and performance of particular machine.
The fix is to provide an ability to turn off poller, which interfere with the process during testing.

Thank you for contribution, @fathersson
How can I verify the fix?
I have tried mvn test in zeppelin-interpreter and somehow got build failure.
Caused by: java.net.ConnectException: Connection refused
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:579)
	at org.apache.thrift.transport.TSocket.open(TSocket.java:180)
	... 8 more
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 5.039 sec <<< FAILURE! - in org.apache.zeppelin.scheduler.RemoteSchedulerTest
test(org.apache.zeppelin.scheduler.RemoteSchedulerTest)  Time elapsed: 5.039 sec  <<< ERROR!
org.apache.zeppelin.interpreter.InterpreterException: org.apache.zeppelin.interpreter.InterpreterException: org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:579)
	at org.apache.thrift.transport.TSocket.open(TSocket.java:180)
	at org.apache.zeppelin.interpreter.remote.ClientFactory.create(ClientFactory.java:51)
	at org.apache.zeppelin.interpreter.remote.ClientFactory.create(ClientFactory.java:37)
	at org.apache.commons.pool2.BasePooledObjectFactory.makeObject(BasePooledObjectFactory.java:60)
	at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:861)
	at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435)
	at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)
	at org.apache.zeppelin.interpreter.remote.RemoteInterpreterProcess.getClient(RemoteInterpreterProcess.java:138)
	at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.init(RemoteInterpreter.java:134)
	at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.open(RemoteInterpreter.java:159)
	at org.apache.zeppelin.scheduler.RemoteSchedulerTest.test(RemoteSchedulerTest.java:71)

Results :
Failed tests:
  RemoteInterpreterProcessTest.testStartStop:41 expected:<true> but was:<false>
...
Tests run: 19, Failures: 1, Errors: 9, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

I don't know what to say, really. It's working on my machine (that's why I pushed it here) and it's passed Travis CI (whatever that is). Although that there are 19 tests in your set up already. It's still 18 in mine. Could that be the cause? Could you, please, try mvn clean test to be sure there is nothing left from previous starts.

Let me test this, too.

Tested and Looks good to me.
Thanks for the contribution!

If there're no more discussions, i'm merging it.

Let's merge! =)

Hi I'm seeing the above issue as well can't seem to run any interpreter (skipped test when I built so didn't pick it up then) with a connection refused error - I cloned the master repo this morning. Any guidance greatly appreciated.

Hi @azurecoder
Zeppelin runs interpreter as separate process and communicate with it using thrift protocol.
Connection refused error above is there's some problem between connection between Zeppelin-daemon and Interpreter process.
To figure out what is causing the error, i recommend do following steps,

stop zeppelin if it is running, by bin/zeppelin-daemon.sh
check any zeppelin-daemon/zeppelin interpreter process running. If there're kill them.
eg) ps -ef | grep -i zeppelin | grep -v grep | awk '{print $2}' | xargs kill
start zeppelin and try run some code
if connection refused error raised, then check logs/zeppelin-interpreter-[INTERPRETER_NAME]-*.log if there're any exception.

Thanks Lee -
It seemed like none of the interpreters started due to a lack permission on the interpreters.sh file. My bad.
Richard

From: Lee moon soo<EMAIL_ADDRESS>Sent: 01 May 2015 23:25
To: apache/incubator-zeppelin
Cc: Richard Conway
Subject: Re: [incubator-zeppelin] Fixes RemoteInterpreterProcessTest. (#40)
Hi @azurecoderhttps://github.com/azurecoder
Zeppelin runs interpreter as separate process and communicate with it using thrift protocol.
Connection refused error above is there's some problem between connection between Zeppelin-daemon and Interpreter process.
To figure out what is causing the error, i recommend do following steps,

stop zeppelin if it is running, by bin/zeppelin-daemon.sh
check any zeppelin-daemon/zeppelin interpreter process running. If there're kill them. eg) ps -ef | grep -i zeppelin | grep -v grep | awk '{print $2}' | xargs kill
start zeppelin and try run some code
if connection refused error raised, then check logs/zeppelin-interpreter-[INTERPRETER_NAME]-*.log if there're any exception.

 I don't seem to have logs/zeppelin-interpreter-[INTERPRETER_NAME]-*.log at all ... thanks

They should start automatically. I had the same problem but bin/interpreters.sh didn't have execute permissions for my user. I could see this in the zeppelin log.
I wasn't getting an exception from the front end even though the interpreters weren't running.

test "mvn test" inside zeppelin-interpreter folder and works find.  also checked that my interpreter.sh permission seems fine. but "Argument list too long"? any ideas what might be the problem here? thx
org.apache.zeppelin.interpreter.InterpreterException: Interpreter md not found
at org.apache.zeppelin.notebook.Note.run(Note.java:269)
at org.apache.zeppelin.socket.NotebookServer.runParagraph(NotebookServer.java:531)
at org.apache.zeppelin.socket.NotebookServer.onMessage(NotebookServer.java:119)
at org.java_websocket.server.WebSocketServer.onWebsocketMessage(WebSocketServer.java:469)
at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:368)
at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657)
/Users/xxxx/Projects/_gitroot/github.com/apache/zeppelin/incubator-zeppelin/bin/interpreter.sh: line 72: /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin/java: Argument list too long
org.apache.zeppelin.interpreter.InterpreterException: org.apache.zeppelin.interpreter.InterpreterException: org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused

i found bin/common.sh and bin/function.sh are not exec enabled - which I fixed. but I'm still having same errors that no interpreter process running...
any more idea how to diagnose?

That looks like a problem of Zeppelin.
I have created issue https://issues.apache.org/jira/browse/ZEPPELIN-68
@charles-cai could you share your environment? like OS name and version?

More information:
MacOS Yosemite / JDK 1.7.65
Fresh git clone.
Both of the following not executable
bin/common.sh
bin/functions.sh
Once fixed above 2 with "chmod +x" maven build / tests have all passed but at the end I still couldn't get
"bin/zeppelin-daemon start"
bring up remote interpreters and sample notebook shows "connection refused" error and no interpreter logs.
Configuration is done via XML not environment variables.
Wondering if interpreter/../jars not deployed? Because none of the jars is in Classpath.
Hope this helps. Any more information please let me know so I can find out. Also any expected runtime behaviour please let me know to help me understand the code base.
At the moment I'm trying to debug the runtime to find out what should be running and how.
Thanks and kind regards,
Charles

On 5 May 2015, at 03:52, Lee moon soo<EMAIL_ADDRESS>wrote:
That looks like a problem of Zeppelin.
I have created issue https://issues.apache.org/jira/browse/ZEPPELIN-68
@charles-cai could you share your environment? like OS name and version?
—
Reply to this email directly or view it on GitHub.

I pull the master branch and simply use mvn clean package when I am sure that I have all the preference.
And it have the following issues:
Failed tests:
RemoteInterpreterProcessTest.testStartStop:41 expected: but was:
Tests in error:
RemoteSchedulerTest.test:71 » Interpreter org.apache.zeppelin.interpreter.Inte...
RemoteAngularObjectTest.setUp:86 » Interpreter org.apache.zeppelin.interpreter...
RemoteAngularObjectTest.tearDown:91 » Interpreter org.apache.zeppelin.interpre...
RemoteInterpreterProcessTest.testClientFactory:57 » Interpreter org.apache.thr...
RemoteInterpreterTest.testRemoteInterperterCall:101 » Interpreter org.apache.z...
RemoteInterpreterTest.testRunOrderPreserved:319 » Interpreter org.apache.zeppe...
RemoteInterpreterTest.testRunParallel:398 » Interpreter org.apache.zeppelin.in...
RemoteInterpreterTest.testRemoteSchedulerSharingSubmit:216 » Interpreter org.a...
RemoteInterpreterTest.testRemoteSchedulerSharing:154 » Interpreter org.apache....
And it has and error in the log :
cannot find or load main class:org.apache.zeppelin.server.ZeppelinServer

Hi,
There is a PR to remove large tests by default (they tend to work on CI,
but crash on people's computer)
Use the -skipTests option with mvn clean package
On May 13, 2015 4:11 AM, "liushiqi9"<EMAIL_ADDRESS>wrote:

I pull the master branch and simply use mvn clean package when I am sure
that I have all the preference.
And it have the following issues:
Failed tests:
RemoteInterpreterProcessTest.testStartStop:41 expected: but was:
Tests in error:
RemoteSchedulerTest.test:71 » Interpreter
org.apache.zeppelin.interpreter.Inte...
RemoteAngularObjectTest.setUp:86 » Interpreter
org.apache.zeppelin.interpreter...
RemoteAngularObjectTest.tearDown:91 » Interpreter
org.apache.zeppelin.interpre...
RemoteInterpreterProcessTest.testClientFactory:57 » Interpreter
org.apache.thr...
RemoteInterpreterTest.testRemoteInterperterCall:101 » Interpreter
org.apache.z...
RemoteInterpreterTest.testRunOrderPreserved:319 » Interpreter
org.apache.zeppe...
RemoteInterpreterTest.testRunParallel:398 » Interpreter
org.apache.zeppelin.in...
RemoteInterpreterTest.testRemoteSchedulerSharingSubmit:216 » Interpreter
org.a...
RemoteInterpreterTest.testRemoteSchedulerSharing:154 » Interpreter
org.apache....
And it has and error in the log :
cannot find or load main class:org.apache.zeppelin.server.ZeppelinServer
—
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-zeppelin/pull/40#issuecomment-101390994
.

Hi,
I tried your suggestion.
If I use mvn clean package -skipTests same problem remains.
If i use mvn clean package -DskipTests I got
Embedded error: Failed during checkstyle execution
Could not find resource '_tools/checkstyle.xml'.
which is the same error I got when I try mvn install -DskipTests

I solve this problem.
This is cause by install both maven and maven2 in ubuntu.
As  long as I  remove maven 2 and upgrade maven to 3.1.1 I build it successfully.
Thank you very much for your help!!

Good, now we know another error case :)
I did a typo, it was indeed -DskipTests
On Thu, May 14, 2015 at 3:35 AM, liushiqi9<EMAIL_ADDRESS>wrote:

I solve this problem.
This is cause by install both maven and maven2 in ubuntu.
As long as I remove maven 2 and upgrade maven to 3.1.1 I build it
successfully.
Thank you very much for your help!!
—
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-zeppelin/pull/40#issuecomment-101770657
.


Specify columns as strings?

Related to #43, I noticed that columns can't be specified as strings:
julia> table_one(pkpain_df, names(pkpain_df); show_n=true)
ERROR: MethodError: no method matching SummaryTables.Analysis(::String, ::DataFrame)

Closest candidates are:
  SummaryTables.Analysis(::Any, ::Any, ::Any)
   @ SummaryTables ~/.julia/packages/SummaryTables/WKLcB/src/table_one.jl:82
  SummaryTables.Analysis(::Symbol, ::DataFrame)
   @ SummaryTables ~/.julia/packages/SummaryTables/WKLcB/src/table_one.jl:87
  SummaryTables.Analysis(::Symbol, ::Any, ::DataFrame)
   @ SummaryTables ~/.julia/packages/SummaryTables/WKLcB/src/table_one.jl:96
  ...

Stacktrace:
 [1] (::SummaryTables.var"#32#33"{DataFrame})(x::String)
   @ SummaryTables ~/.julia/packages/SummaryTables/WKLcB/src/table_one.jl:117
 [2] iterate
   @ ./generator.jl:47 [inlined]
 [3] _collect
   @ ./array.jl:854 [inlined]
 [4] collect_similar
   @ ./array.jl:763 [inlined]
 [5] map
   @ ./abstractarray.jl:3285 [inlined]
 [6] make_analyses
   @ ~/.julia/packages/SummaryTables/WKLcB/src/table_one.jl:117 [inlined]
 [7] table_one(table::DataFrame, analyses::Vector{…}; groupby::Vector{…}, show_overall::Bool, show_pvalues::Bool, show_tests::Bool, show_confints::Bool, show_n::Bool, compare_groups::Vector{…}, nonnormal::Vector{…}, minmax::Vector{…}, tests::@NamedTuple{…}, combine::MultipleTesting.Fisher, sort::Bool, celltable_kws::@Kwargs{})
   @ SummaryTables ~/.julia/packages/SummaryTables/WKLcB/src/table_one.jl:263
 [8] top-level scope
   @ REPL[120]:1
Some type information was truncated. Use `show(err)` to see complete types.

In my use case this would have been convenient (arguably names(df) is a bit simpler than propertynames(df)).

Good point, I'll add the option to  use strings as well. When you have column names with spaces (I guess you shouldn't but...), symbols are also not easy to use.


Test homework

Recheck all existing homework tests

Realized: pull request #79

To production: pull request #83


Improve UI of the scan fragment

Summary:
Redesigning the UI of the scan fragment giving an immersive experience. Cards will be used to display the key information during the scan. Cards will be made slidable to show the complete information just like ‘Google Maps’.
The designs which I plan to implement during GSoC 2018 are :

I plan to use this library.

The UI of the scan fragment was completely redesigned in the PR #1618. A bottom sheet was developed to display the key information about the product. The bottom sheet can be dismissed by sliding down however due to some issues which I have already mentioned in the weekly report, I was not able to make the sheet slide up and display the entire product details with tabs. Closing this issue and moving it forward to #1813


Windows could not apply unattended settting during pass [OfflineServicing]. - exception during installation

Hello I'm trying to install win11 docker image however getting the above mentioned error. I tried to disable few things but still it gives me the same error. Could you please help out ? This happens with win 10 image and the other ones as well.
docker run
-d
--name='WindowsinDocker'
--net='bridge'
-e TZ="America/New_York"
-e HOST_OS="Unraid"
-e HOST_HOSTNAME="MATRIX"
-e HOST_CONTAINERNAME="WindowsinDocker"
-e 'VERSION'='win11'
-e 'CPU_CORES'='2'
-e 'RAM_SIZE'='12G'
-e 'DISK_SIZE'='64G'
-e 'DHCP'='N'
-e 'MANUAL'='Y'
-e 'TPM'='N'
-e 'HV'='N'
-l net.unraid.docker.managed=dockerman
-l net.unraid.docker.webui='http://[IP]:[PORT:8006]'
-l net.unraid.docker.icon='https://github.com/dockur/windows/raw/master/.github/logo.png'
-p '8007:8006/tcp'
-p '3389:3389/tcp'
-v '/mnt/cache/appdata/WindowsinDocker/':'/storage':'rw'
--device='/dev/kvm'
--cap-add=NET_ADMIN
--stop-timeout=120
--device-cgroup-rule='c : rwm' 'dockurr/windows'
BdsDxe: failed to load Boot0002 "UEFI QEMU QEMU HARDDISK " from PciRoot(0x0)/Pci(0xA,0x0)/Scsi(0x0,0x0): Not Found
BdsDxe: loading Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x5,0x0)/Scsi(0x0,0x0)
BdsDxe: starting Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x5,0x0)/Scsi(0x0,0x0)

Ha it did pick u the flag now ( before i deleted only .iso file not the whole folder). however not its throws this error :/

From the message it looks like the downloaded ISO file is corrupted somehow? Never seen it before!

sorry for the late reply. Yeah, message is weird, and it happened few times. Does it matter the file system that docker is on ? i.e. my docker is running in Unraid server on disk partition in BTRFS. not sure if internally in container would be different file system.

No, it should not matter. Did you manage to solve it already?

nope =( tried deleting everything and re-running, with same results.

Good afternoon. I am getting the same error shown in the first post of this thread. I am using the UnRaid Community App and have not made any changes to the default settings. I have tried both the Windows 11 and Windows 10 images. On initial run I get the original error, then after a reboot I get a "Recovery" screen (see attachment).

@passtpro When you add a container variable with the key MANUAL and the value Y does it allow you to complete the installation manually? Because that may help to diagnose why the automatic one fails.

Sorry for the late response. I am trying this today and will report the results.

Completely wiped it all out, followed manual install selecting the correct storage driver, and now I get an error about a missing, required driver.

Having the same issue in Unraid with the WindowsinDocker from the CA store. Tried with default settings, WIN10, Server2022 and Server2019. Starting fresh with including wiping appdata and image each with each version. Stating the "... unattend during pass.."  and BSOD recovery.

I noticed that everyone who has this problem are all users of unRaid / WindowsInDocker CA? So my guess is that it may have something to do with the filesystem for example. Maybe it only happens on ZFS disks for storage, and thats why it does not happen on other Linux distros?
So my suggestion would be to try if using a another filesystem makes a difference? (On unRaid you can switch between FUSE and native by using /mnt/cache/ instead of /mnt/user for example. Or if you have a EXT4 partition to use that one).
Other suggestion would be to play with the disk parameters via container variables, for example:
Set DISK_FMT to qcow2 instead of raw. Or set ALLOCATE to Y instead of N. Or set DISK_IO to threads and DISK_CACHE to writeback.
The difficulty for me is that when everybody just say "I am having the same issue", while nobody is listing their machine specs (like filesystem, cpu model, etc) it is impossible to detect a pattern what you all share in common. If everyone who reports it is using BTRFS filesystem or is using the same CPU, it would be much easier to figure out it was a problem with BTRFS for example.

Specs:

Model:
R720XD

M/B:
Dell Inc. 0C4Y3R Version A02

BIOS:
Dell Inc. Version 2.9.0 Dated 12/06/2019

CPU:
Intel® Xeon® CPU E5-2667 v2 @ 3.30GHz

HVM:
Enabled

IOMMU:
Enabled

Cache:
Not Specified: 256 KiB, Not Specified: 2 MiB, Not Specified: 25 MiB, Not Specified: 256 KiB, Not Specified: 2 MiB, Not Specified: 25 MiB

Memory:
192 GiB DDR3 Multi-bit ECC (max. installable capacity 1536 GiB)

Network:
bond0: adaptive load balancing, mtu 1500

Kernel:
Linux 6.1.79-Unraid x86_64

Appdata FS : BTRFS on PCIe Gen3 NVMe

Does one of you happen to have any partitions that are not BTRFS in your unRaid? To see if it makes a difference when the storage path is on a different filesystem?
Or otherwise try changing it from /mnt/cache to /mnt/user so that even though its still on BTRFS it goes through the FUSE layer.

Testing some different FS now:
So far it boots in ZFS off a USB SDD, mounted in unassigned devices( quick and dirty). Looking to test more when I have time.
Container:

ZFS "pool":

Building containers based on the image tag 3.08 seems to cause this issue now on a system that I previously did not see this on.
Rolling images back to 3.07 resolved the error message. Not sure what changed, but 3.08 has some problems with this.

@kroese Been a while since I responded, but wanted to follow up. I was able to get everything installed once I changed my cache disk to ZFS. Looks like the standard install does not play well with BTRFS.

@GiuffreLab Can you provide some more info, like the Windows version you are installing, on which filesystem, etc?

Docker node is bare a metal Debian server latest release, file systems ext4 and was tested against win11 and 2022 Windows Versions.

@kroese Sorry, been tied up all day. Here is two examples of how I was deploying. These work when I change the image to dockurr/windows:3.07. In this state last I tried a few days ago (day of update), they failed. This is exactly how they were deployed, aside from credentials and the full volume path changing.
Apologies for the over commenting, I keep archives of working docker compose files, and it helps me not have to remember why I did things the way they are.
Single Node Deployment
version: "3.8"
services:
  windows:
    image: dockurr/windows
    container_name: windows
    environment:
      VERSION: win11 # win11e, win11, win10e, win10, win8, win8e, win7, vista, winxp, 2022, 2019, 2016, 2012, 2008
      DISK_SIZE: 128G # 64G is the minimum - This is how much space the windows system drive can use as needed on the host
      CPU_CORES: 4 # 2 cores is the minimum
      RAM_SIZE: 8G # 4G is the minimum
      USERNAME: <CHANGEME>
      PASSWORD: <CHANGEME>
    volumes:
      - ./windows-test/shared:/shared # shared folder between host and container
      - ./windows-test/var/win:/storage # windows system drive
    devices:
      - /dev/kvm # this is for the ability to see the windows build screen via VNC web interface on port 8006
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006 # this is the port for VNC web interface
      - 3389:3389/tcp # this is the port for RDP
      - 3389:3389/udp # this is the port for RDP
    stop_grace_period: 2m
    restart: unless-stopped

Multi-Node Deployment
version: "3.8"
services:
  windows:
    image: dockurr/windows:3.07
    container_name: windows
    environment:
      VERSION: win11 # win11e, win11, win10e, win10, win8, win8e, win7, vista, winxp, 2022, 2019, 2016, 2012, 2008
      DISK_SIZE: 128G # 64G is the minimum - This is how much space the windows system drive can use as needed on the host
      CPU_CORES: 4 # 2 cores is the minimum
      RAM_SIZE: 8G # 4G is the minimum
      USERNAME: <CHANGEME>
      PASSWORD: <CHANGEME>
    volumes:
      - ./windows-test/shared:/shared # shared folder between host and container
      - ./windows-test/var/win:/storage # windows system drive
    devices:
      - /dev/kvm # this is for the ability to see the windows build screen via VNC web interface on port 8006
      - /dev/vhost-net
    device_cgroup_rules:
      - c *:* rmw
    cap_add:
      - NET_ADMIN
    networks:
      vlan:
        ipv4_address: <IP_ADDRESS> # this is the IP address of the container on the network - must be in the range of the subnet below
    ports:
      - 8006:8006 # this is the port for VNC web interface
      - 3389:3389/tcp # this is the port for RDP
      - 3389:3389/udp # this is the port for RDP
    stop_grace_period: 2m
    restart: unless-stopped
  windows-svr:
    image: dockurr/windows:3.07
    container_name: windows-svr
    environment:
      VERSION: 2022 # win11e, win11, win10e, win10, win8, win8e, win7, vista, winxp, 2022, 2019, 2016, 2012, 2008
      DISK_SIZE: 128G # 64G is the minimum - This is how much space the windows system drive can use as needed on the host
      CPU_CORES: 4 # 2 cores is the minimum
      RAM_SIZE: 8G # 4G is the minimum
      USERNAME: <CHANGEME>
      PASSWORD: <CHANGEME>
    volumes:
      - ./windows-test/shared:/shared # shared folder between host and container
      - ./windows-test/var/win:/storage # windows system drive
    devices:
      - /dev/kvm # this is for the ability to see the windows build screen via VNC web interface on port 8006
      - /dev/vhost-net
    device_cgroup_rules:
      - c *:* rmw
    cap_add:
      - NET_ADMIN
    networks:
      vlan:
        ipv4_address: <IP_ADDRESS> # this is the IP address of the container on the network - must be in the range of the subnet below
    ports:
      - 8006:8006 # this is the port for VNC web interface
      - 3389:3389/tcp # this is the port for RDP
      - 3389:3389/udp # this is the port for RDP
    stop_grace_period: 2m
    restart: unless-stopped
networks:
  vlan:
    driver: macvlan
    driver_opts:
      parent: enp1s0 # this is the physical network interface on the host docker is running on
    ipam:
      config:
        - subnet: <IP_ADDRESS>/24
          ip_range: <IP_ADDRESS>/29 # this is the usable range of IP addresses that can be assigned to containers - <IP_ADDRESS>-62
          gateway: <IP_ADDRESS>

The password is all letters and numbers with a single exclamation point as a "strange" character.

@kroese I tested a few builds with the 3.10 update. Looks to have resolved the issues seen with the PASSWORD variable. I have not seen any failures.


End to End Testing - IBM Cloud (Quick / Standard / Advanced)

Documentation Discrepancies:

[ ] Can we fix the link in the README since BOMs references are broken at this moment ? https://github.com/cloud-native-toolkit/automation-solutions/tree/main/boms/infrastructure/ibmcloud/openshift
[ ] Can we add additional instructions for each BOM layer so it helps users to run the CLI ? https://github.com/cloud-native-toolkit/automation-solutions/tree/main/boms/infrastructure/ibmcloud/openshift/1-quickstart/files#run-all-the-terraform-layers-manually
[ ] Can we add image/fix the link which is not rendering https://github.com/cloud-native-toolkit/automation-solutions/tree/main/boms/infrastructure/ibmcloud/openshift/2-standard/files
[ ] Can we fix all BOM Links which is not loading for both sections VPC with VSIs & VPC with Red Hat OpenShift ?
[ ]  Can we add image/fix the link which is not rendering https://github.com/cloud-native-toolkit/automation-solutions/tree/main/boms/infrastructure/ibmcloud/openshift/3-advanced/files
[ ]  Can we fix all BOM Links which is not loading for both sections VPC with VSIs & VPC with Red Hat OpenShift ?
[ ] Make sure runtime Colima runtime is replaced with docker or multipass based on today announcement (https://gsicsi.slack.com/archives/C039DRPL77U/p1660840741635939)

We need to regenerate BOMS, but automated testing is already in place for this.

To be discussed:
BOM folder will be generated ONLY after we run the generate.sh so the BOM links will NOT work in the automation solutions folder.
Suggestions :

Can we point to BOM YAML file instead of folder ?
If we do, BOM YAML generated name is different than file exist in the files folder.

As per discussion with sean, we are NOT expecting the README BOM links to be working inside the Files Folder.

Purpose of this BOM links to be working in the published automation folder such as automation-integration-* , automation-turbonomic-***


chore: stop running yarn upgrade at end of image build

This would posisbly cause the .NET SDK to be upgraded to a version that is significantly
more recent than it should be (i.e: take us from .NET Core 3.1 to .NET 5.0), which is
undesirable and can cause problems down the line (in particular, it currently fails to
update the fsharp distribution because this is not yet available on the mirrors).

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: AutoBuildProject6AEA49D1-5lHf64IXfvmr
Commit ID: 349ad356214b2595491a98d30c9a88253c48a8bb
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Mllib as dependency

how to add dependency of Mllib in build.sbt ? thanks

I came across the same question and solved like this
import $ivy.``org.apache.spark::spark-mllib:2.1.0\``
import org.apache.spark.mllib.fpm.PrefixSpan


bower support?

Hi,
is it possible to have bower support so that I can install $dom by bower?

Shouldn't be too hard !
Feel free to provide a bower.json in a PR, otherwise I can have a look myself in a few days.

Fixed in 6b0136ae40a7c5e6df72e240972fe3546250d45c
Can you tell me if this looks good from your pov ?

looks good to me. Thank you.
On 2 May 2015 at 23:40, Julien Wajsberg<EMAIL_ADDRESS>wrote:

Fixed in 6b0136a
https://github.com/julienw/dollardom/commit/6b0136ae40a7c5e6df72e240972fe3546250d45c
Can you tell me if this looks good from your pov ?
--
Reply to this email directly or view it on GitHub
https://github.com/julienw/dollardom/issues/9#issuecomment-98407178.


Update deps  and their structure

We are using pretty outdated deps. These should be upgraded, after all we don't want to be "vulnerable" .
Unrelated: have requirement file separate dev dependencies.

@rolfschr  heads up ! Btw the nix tests are failing at https://github.com/nexB/vulnerablecode/pull/347 due to update in  deps

Repaste from #379

The pytest bug is weird. @Hritik14 could you try updating the venv pytest to latest and try running python -m pytest . Just to determine if issue is caused due to system pytest invocation or just some version incompability.

@sbs2001 I think you're right. It is failing because the tests are only compatible with pytest version shipped with the project requirements.
Here is an asciinema reproducing my results:

As you can see, after first installation, which pytest points to the system pytest.
I have pytest 6.2.2 installed and the project requires pytest==5.3.2.
So, it is both due to system pytest invocation and version incompatibility.
Maybe we can look into this here

I have a pretty good idea about this should I start working on this I have some questions prior

This has been fixed by https://github.com/nexB/vulnerablecode/pull/379


Fix developer tools and scripts

As we changed our dev setup, a few of our integreat-cms and scripts aren't working correctly anymore.
Identified problems:

dev-tools/migrate.sh: Only works with bash and not with zsh

integreat-cms migrate: Has no effect and one should use "bash dev-tools/migrate"

dev-tools/create_superuser.sh: Behaves differently then "integreat-cms createsuperuser"

For problems related to zsh and bash, @timoludwig suggested to add a shebang to all .sh-files.

One comment on create_superuser.sh: I created this script to automatically create a superuser called "root" without e-mail-address. If you want to have the default functionality, just use integreat-cms createsuperuser instead.


Error in examples/vision /oxford_pets_image_segmentation.py

Got an error in
augmented_train_ds = (
    train_ds.shuffle(BATCH_SIZE * 2)
    .map(augment_fn, num_parallel_calls=AUTOTUNE)
    .batch(BATCH_SIZE)
    .map(unpackage_inputs)
    .prefetch(buffer_size=tf.data.AUTOTUNE)
)

Error details:
Tensor("sequential_4/rand_augment_4/cond/random_choice_4/switch_case/indexed_case/Identity_1:0", shape=(160, 160, 1), dtype=float32) and Tensor("sequential_4/rand_augment_4/cond/random_choice_4/switch_case/indexed_case/Identity_1:0", shape=(160, 160, 1), dtype=int64) have different types

https://keras.io/examples/vision/oxford_pets_image_segmentation/  Example has been rewritten with many changes to work with Keras 3, it should run without any issues. Please check and confirm. Thanks!


Fix light / deep sleep. Add light / deep sleep example. Adapt RTC wakeup example.

Tested, merged successfully.


A random assortment of things

I'm sorry for the random assortment of changes: this was mostly me going through any unmapped methods/classes I was using and trying to find something for them.
I've tried to keep each commit as atomic as possible, so if you'd prefer, you can cherry-pick individual ones in. There's definitely a few here I'm less sure about, so suggestions are welcome.

i recall that playing overlay method's hotbar overlay has rainbow color while regular overlays from chat packets are white


Fix new from kanji

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

51 of 51 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.09%) to 27.997%

Totals

Change from base Build<PHONE_NUMBER>:
-0.09%

Covered Lines:
2109

Relevant Lines:
7533

💛  - Coveralls


Improve performance for larger numbers of events

Improve performance of UI and API when displaying >10K events. Working with 24 hours to 7 days of data will work fine for most small–medium collections of events, but it would be neat to be able to support larger number of events for the sake of browsing historical data across larger timespans.
Possible improvements:

Summary API endpoints that returns data that's been pre-summarized. Ideally, weekly/monthly/yearly data should be summarized on a schedule so we don't need to process large numbers of events on the fly.
Chunking or pagination when handling larger numbers of events.

Create a mysql view : https://www.prisma.io/docs/concepts/components/prisma-schema/views
Then use vercel cron to update the views: https://vercel.com/guides/how-to-setup-cron-jobs-on-vercel