feat: Add an activation opt-in/opt-out checkbox in registration form

Description
LEARNER-8653
An activation opt-in, opt-out checkbox is added on the registration page to increase the number of users who will receive marketing emails.

Notes
The new registration field marketing_emails_opt_in in the form can be disabled from the server-side in the future.
Testing
Please use the following host and oauth:
Host: https://van779.sandbox.edx.org
OAuth: lR151q3gZnyH85vW2wW3NWzfaWBJ3jm1PXtnbKl2

[x] Designs with and without checkbox as it can be disable in future - Figma
[x] Analytics

Thanks for the pull request, @HamzaIsrar12! I've created OSPR-6339 to keep track of it in JIRA, where we prioritize reviews. Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.
:warning: We can't start reviewing your pull request until you've submitted a     signed contributor agreement     or indicated your institutional affiliation. Please see the CONTRIBUTING     file for more information.     If you've signed an agreement in the past, you may need to re-sign.  See     The New Home of the Open edX Codebase     for details.

@HamzaIsrar12 Thank you for your contribution. Please note that we cannot merge this until your contributor status is confirmed by our IT team. Stay tuned, I will post here once it has been resolved and this PR is fit to merge. CC @omerhabib26

Thanks for the pull request, @HamzaIsrar12! I've created OSPR-6342 to keep track of it in JIRA, where we prioritize reviews. Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.
:warning: We can't start reviewing your pull request until you've submitted a     signed contributor agreement     or indicated your institutional affiliation. Please see the CONTRIBUTING     file for more information.     If you've signed an agreement in the past, you may need to re-sign.  See     The New Home of the Open edX Codebase     for details.

@natabene actually there seems to be an issue with how the @edx-webhook is considering this as an OSPR cuz:

@HamzaIsrar12 is a member of our @edx/android-devs team.
He recently changed his username, which seems to be causing this issue.

Can you help fix it?
p.s. we haven't been able to figure out the issue internally, let alone fix it.

@HamzaIsrar12 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.

@HamzaIsrar12 Please reach out to your People Operations and Development to ensure you are included on the list they provide to TCRIL. Otherwise your PRs will always be tagged like this.

@HamzaIsrar12 Please do not open any new PRs until this is resolved.


Feature Request and Thank You!

Hello,
thank you for your work you have done already!
Two questions:

Are you planning to maintain this package in the future, because we want to implement it into our software.
Is it planned to have property injection with annotations like @injectable? This would be great.

Thanks for your time,
Niklas

Hi @HerrNiklasRaab
Yes I am actively maintaining this and using it in a couple of app in production (ios and android).
The @Injectable is a tricky one as this is a runtime dependency injector rather than a compile time one.
I favour the approach of simple code rather than relying on build time code generation.
In that essence I modularize the dependency injection creating a container that invokes smaller module containers to manage the dependencies of that part of the app.

Hi @HerrNiklasRaab
Yes I am actively maintaining this and using it in a couple of app in production (ios and android).
The @Injectable is a tricky one as this is a runtime dependency injector rather than a compile time one. Keep in mind that we cannot use mirrors (reflection) in flutter as it is not included so the annotation route is a compile time one.
I favour the approach of simple code rather than relying on build time code generation.
In that essence I modularize the dependency injection creating a container that invokes smaller module containers to manage the dependencies of that part of the app.

Ok, great the we will also use this in production. With @Injectible I thought so because i saw this package: https://github.com/ltackmann/dice. But your Api is "more friendly", this is why i chose yours.
Just tried to use your package, works like charme :)

Awesome, thanks for using it. Let me know if you need a new feature or
anything.
Jon
On Fri, 12 Oct 2018, 21:03 HerrNiklasRaab<EMAIL_ADDRESS>wrote:

Ok, great the we will also use this in production. With @Injectible I
thought so because i saw this package: https://github.com/ltackmann/dice.
But your Api is "more friendly", this is why i chose yours.
Just tried to use your package, works like charme :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jonsamwell/flutter_simple_dependency_injection/issues/6#issuecomment-429274421,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADhfoYsBQPJT1tRxzLgf8GGbUMZMioW1ks5ukGkMgaJpZM4XZEY0
.

This let's me parameters on requesting types via get method popping in my mind. Not needed yet but probably in the future.
Did you checked out the dice project how they handle the @Injectable?

Hi @HerrNiklasRaab dice uses mirrors (reflection) to handle the @Injectable annotation so I won't be able to use this in Flutter as it does not come with mirrors.

Ok, no problem, still great software!

Thanks!


Move androidTest Dao test to Robolectric

What I have done and why
Instrumented test for NewsResourceDaoTest can be moved to Robolectric.
How I'm testing it
Choose at least one:

Unit tests
UI tests
Screenshot tests
N/A (provide justification)

Do tests pass?

[ ] Run local tests on DemoDebug variant: ./gradlew testDemoDebug
[ ] Check formatting: ./gradlew --init-script gradle/init.gradle.kts spotlessApply

Is this your first pull request?

[x] Sign the CLA
[ ] Run ./tools/setup.sh
[ ] Import the code formatting style as explained in the setup script.

I am curious what's benefit of when moves to Robolectric .

@JackEblan I think this PR looks can be merged. The similar PR #1048 was merged.


Drop PG type, alter PG functions to use typeclass constraints

Looks great! Thanks!
P.S. I think that we are ready for release. I want to use this new class based API a bit and make   release together with selda ;-)


drupal/vendor/islandora/chullo/src/IFedoraApi.php \EasyRdf\Graph Already In Use

Getting the following warning in IFedoraApi.php:
Warning: Cannot declare class \EasyRdf\Graph, because the name is already in use in require() (line 24 of /var/www/html/drupal/vendor/islandora/chullo/src/IFedoraApi.php).
These lines of code seem to be the issue:
if (class_exists('\EasyRdf_Graph')) {
class_alias('\EasyRdf_Graph', ' \EasyRdf\Graph');
}

Can confirm that I am seeing this warning too when I do a drush cr.

PR is up

Merged, closing.


jQuery UI version have ten numbers

Platform
Which platform does the bug apply to?

WebExtension on Google Chrome

Describe the bug
jQuery UI version have ten numbers:

To Reproduce
Steps to reproduce the behavior:

Go to "https://www.wonder.legal/us/"
Click on the webextension to see technologies
Search category "JavaScript librairies"
See error

Expected behavior
Have a correct version.
Additional context
Nothing. I said everything.

Hi, I think it's only for me... Sorry


Update the Scripter class to allow two commands on the same line.

At the current stage, the Scripter class supports the functionality to have 'end-line characters'. The default is a semicolon (;), but I have the functionality to change to alternative characters to conclude the script. The current functionality clears and deletes the parts of the line after the character.
This means that if the line looked something like this, Hello,; world!;, then the line after the first semi-colons would be cleared. This means that the part with world!; would be deleted and fail to be considered.
I would like to adapt the Scripter class to store the remaining part of the line into a variable to later use. I think it should become member of a new variable, named something such as line_subsequent, or the like. This way, it doesn't get intermingled with the behaviour of line_previous. When the Scripter class is being looped over, if there is a line in the line_subsequent variable, then it should simply return that and not advance the reading of the script.

Addressed in #24.


retry_wait_seconds does not work

    - name: Create AWS Secrets
        if: steps.semantic.outputs.new-release-published == 'true'
        uses: nick-invision/retry@v1
        with:
          timeout_minutes: 1
          max_attempts: 60
          retry_wait_seconds: 5
          command: aws secretsmanager create-secret --name stripeSecretKey --secret-string ${STRIPE_KEY}```

Using it this way, but it retry's every second and does not wait

@ahansson89 Can you try again? I just fixed an issue in v1.0.4 (v1 alias was moved to v1.0.4 also so it should still work) where retry_wait_seconds was ignored if the process exits with a non-zero code.  I believe this is what you have encountered.

Looks to be working perfectly now. Thanks! Great plugin!


MaxSuggestionCount

Hello, I am using this control well. Have you ever wanted to change the MaxSuggestionCount inside AutoCompleteComboBoxSetting, is there a way? If yes, I would appreciate it if you could show me an example.

Quick answer: Create a class inheriting from AutoCompleteComboBoxSetting, override MaxSuggestionCount property, and bind an instance to AutoCompleteComboBox.Setting property. I hope someone write an example... :thinking:

Xaml
<dotNetKitControls:AutoCompleteComboBox
     Grid.Row="0" Grid.Column="1"
     Name="ComboBox"
     Height="25">
</dotNetKitControls:AutoCompleteComboBox>

code-behind
public class AutoCompleteComboBoxSettingControl : AutoCompleteComboBoxSetting
{
	public override int MaxSuggestionCount => int.MaxValue;
}
public partial class TestView : Window
{
        public TestView()
        {
                InitializeComponent();
		AutoCompleteComboBoxSettingControl test = new AutoCompleteComboBoxSettingControl();
		ComboBox.Setting = test;
	}
}

Thank you vain0x
I'll try a little harder and change it later so that I can do it with Code-behind-Zero.
Thanks again for the quick reply

Closing, it seems resolved.


Function assignment thru type definition product inconsistent compile messages (Version 1.4)

// The following function assignment don't product error messages when needed.
type t_cb = (p:number, q:number) => void;
function callback_1(): void {
}
function callback_2(p: number): void {
}
function callback_3(p: number, q: number): void {
}
function callback_4(p: number, q: number, r: number): void {
}
var cb: t_cb = null;
cb = callback_1; // doesn't product compile error
cb = callback_2; // doesn't product compile error
cb = callback_3; // doesn't product compile error
cb = callback_4; // compile error

This is by design. JavaScript permits you to provide fewer arguments than are required in situations like this. In practice you can see why this isn't really that strange:
var cb: (a: number) => void;
// you want an error here for forgetting a parameter:
cb = () => { console.log('hi'); }
// but then this is ok, no one forces you to actually use the argument anyway:
cb = (x: number) => { console.log('hi'); }

You'll see many JavaScript APIs that take advantage of this property. Array.map takes an array and a callback to process it. The callback accepts 3 arguments, the current value, the index, and the array. Most often you don't need either the index or the array, and so you can simply call:
[1,2,3].map(x => x * 2)
rather than
[1,2,3].map(x, i, arr => x * 2);

OP here. Meanwhile reading the docs I realized that this is by design, at the same while
cb = callback_1;
doesn't produce a compile error, calling callback_1 thru a
cb();
call will produce the following compile error "Supplied parameters do not match any signature of call target."

The type of cb does not change dynamically based on what is assigned to it. It is still typed as a function that requires 2 arguments of type number, it just so happens that you've assigned an implementation of a function that won't use those numbers. Consider some conditions which cause you to pick between which implementation is used:
if(something) {
    cb = callback_1;
} else if (somethingElse) {
    cb = callback_2;
} else {
    cb = callback_3;
}
cb(1,2); // this would break if both arguments weren't still required


WinUser.h/user32.dll: SetForegroundWindow and AllowSetForegroundWindow minor technical corrections

The SetForegroundWindow doc page remarks were not quite correct about the cases when a process can call the function to set the foreground window.
This change makes some corrections to the doc page. However, the SetForegroundWindow rules are very complex, so a full accounting of when you can set foreground would probably be too long to fit - and would encode details that might be misused to annoy the user. I thus added a generic escape clause to note that there may be additional restrictions not stated.
Pairs with https://github.com/MicrosoftDocs/win32/pull/548

@metathinker : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Although I have reviewed the SetForegroundWindow implementation code as part of making these changes, I freely admit that I am not an expert in this area, which is very complex. Please feel free to reject this PR or refer it to reviewers who know more about user32/NTUser than me.

@metathinker : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@metathinker : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@metathinker : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@metathinker : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@metathinker : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@metathinker : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Man, when I wrote this PR, I was still working for Microsoft. Good times.
@microsoft-github-policy-service agree

I believe there's also missing documentation here regarding what happens when a debugger is active (e.g. Visual Studio).

I think a user mode debugger just running by itself won't change matters. If the debugger is debugging the old foreground process or the process that calls SetForegroundWindow(), then yes, that does change things. But it's been 2 1/2 years since I looked at the SetForegroundWindow() source in win32k.

Sorry this PR was left sitting around for so long. And thanks for the extra info about the debugger.

Life happens :)
Actually @jwmsft , it looks like your last merge commit https://github.com/MicrosoftDocs/sdk-api/pull/394/commits/b5f9f4f44d158ea4e2b3a6975fe06a3a4dd167cc accidentally erased the example code snippet on SetForegroundWindow(). Oops!
It probably disappeared because it was introduced long after this PR branch forked off the main (https://github.com/MicrosoftDocs/sdk-api/commit/dad7a561b89925bfd507d01e3be690211861fc45#diff-48cda94a27ca2d7e18faf87ebc0ae317399483537d90cce41de5b75128a7338f). We'll have to restore it - I'll leave that to you, though.

Thanks for going the extra mile and catching that. I will fix it.


Openshift testing framework for node.js

Currently, testing an application in an openshift environment is kind of hackey. We do it in the origin test target, but it would be nice if we could abstract this a bit, and make it more generally usable.
The wildfly booster tests use something in the io.openshift package, but I'm not sure yet what this is.
https://github.com/wildfly-swarm-openshiftio-boosters/wfswarm-rest-http/blob/master/src/test/java/io/openshift/booster/OpenshiftIT.java#L23

This is the repo for those test-utils: https://github.com/openshiftio/booster-common/blob/master/openshift-test-utils/src/main/java/io/openshift/booster/test/OpenShiftTestAssistant.java
Which is using a fabric8 project: https://github.com/fabric8io/kubernetes-client
I was able to run the tests using  mvn clean verify -Popenshift,openshift-it
I needed to first run an oc login and point to the project where the integration tests would execute.  I have an instance of minishift running locally

Looking at this issue, https://github.com/openshiftio/booster-common/issues/8 the OpenshiftTestAssistent.java from the link above was a temporary solution and they are looking to move away from it.  I will take a look at some the links in that issue to see where they are going

@lholmquist good follow up. Is good to know that they have some concerns/warnings on this approach.

I'm not 100% sure but from what I understood it is not possible yet to run minishift on travis:
https://github.com/minishift/minishift/issues/1108
https://github.com/minishift/minishift/issues/144
https://github.com/minishift/minishift/issues/1229#issuecomment-320301971

progress!
https://travis-ci.org/bucharest-gold/mean-booster/builds/289038920#L1287

I wonder if we can consider this closed now that we have rhoaster. @lholmquist @helio-frota your thoughts?

I think it makes sense to close now that we have rhoaster


Release BigQuery 1.5.0

For clustering feature.
@alixhami Do you want to try your hand at releasing this one?

We might want to wait for https://github.com/GoogleCloudPlatform/google-cloud-python/pull/5711

@tswast We likely also need to fix the missing bigquery-1.4.0 tag (I don't know if releasetool will work without it).

Thanks for taking care of the tag.

I think we need to land #5714 first, as it fixes non-flaky BQ system tests.

Seth is OOO today, so I'll take a stab at the open comments.

when can I expect new version with clustering?
https://pypi.org/project/google-cloud-bigquery/1.4.0/#description

@chenleiwhu Track PR 5735.

The CI for doing the auto-release just failed due to a failure in the spanner tests https://circleci.com/gh/GoogleCloudPlatform/google-cloud-python/7549
Assigning to Chris to cut a manual release.

The tag build just completed. The package is now live. https://pypi.org/project/google-cloud-bigquery/#history


A git caching mechanism

Command

[ ] check-image-updates
[ ] delete
[X] deploy
[ ] diff
[ ] helm-pull
[ ] helm-update
[ ] list-images
[ ] list-targets
[ ] poke-images
[ ] prune
[ ] render
[ ] seal
[ ] validate
[ ] version

Who are you?
Pat Riehecky, Computing Specialist at Fermilab
What do you want to do?
I'd love a way to cache the git: deployments similarly to the helm-pull so I have all my manifests on hand.
Why do you need that?
Some of my deployments track git repos that aren't available from all hosts.

That makes sense, I somehow missed KLUCTL_LOCAL_GIT_GROUP_OVERRIDE_0in the docs.


Feature/enhanced cc

Enhanced ChemicalComposition so
a) unimod xml is parsed only once and not every time the class is initialised
b) _mass also can be used with e.g. TMT6Plex that contains 13C

Added Test that checks for TMT6plex mass ... Thanks the review 👍

This might be slightly off topic but we should work on merging ChemicalComposition from Ursgal and pyQms ... ideally before adding more to either of the two.
But since I had assigned that task to myself some time ago, I just go with: looks good, approved :P


Rails 5 support

Hi there,
Is there any chance that version for Rails 5 will be released?
Thanks in advance

Hi,
I haven't tried it under rails 5 - the version constraint in the gemspec is more there out of paranoia than anything else. Have you tried it with rails 5?

Master should work with rails 5

Thank you!


Allow $this object type comparison

As logically is an ObjectType, but typed differently in \PHPStan\Type namespace

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.6%) to 76.154%

Totals

Change from base Build<PHONE_NUMBER>:
-0.6%

Covered Lines:
99

Relevant Lines:
130

💛  - Coveralls


OpenXR: Make sure to set types for XrActionState[Boolean|Float] structs

Thanks!  I've made a note to change the indentation to 2 spaces here later


AR: Improve TableTop AR plane visulaization

This PR improves plane visualization in TableTop AR by creating a plane with convex polygon geometry which is more accurate since it uses all enclosing points with ARSCNPlaneGeometry. The previous implementation visualizes a plane with less accuracy since the plane geometry is estimated based on the plane anchor's extent and center.

Thank you both.


Question about: RUN apt-get -y install rsync (and other apps)

Hey guys,
Here is my Dockerfile
FROM phusion/baseimage:0.9.18

    # Use baseimage-docker's init system.
CMD ["/sbin/my_init"]

    # svn details http://goo.gl/NNWBJK
RUN apt-get update && apt-get -y install rsync git subversion wget zip unzip

    # Clean up APT when done.
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

I bash into the container:
$ docker exec -it phusion bash
When I want to use rsync command the system answers:

bash: sudo: command not found

So I'm want to check via:
$ apt-cache policy rsync

N: Unable to locate package rsync

Well well !!!??
Let's install it from here:
$ apt-get update && apt-get -y install rsync
It works! See
So why the apps are not installed when I create the container ??
Thank you in advance and goooooodd job about this while project/philosophy :)
Cheers!
Pascal

Have you built an image from the Dockerfile? If not, you'll need to do so, and then run a container from that image, e.g.:
$ docker build -t pascalandy/baseimage .
$ docker run -it pascalandy/baseimage bash

Hello Eric,
I just did it.
devmtl/phusion:0.9.18
But I have to same behavior :((
Here is my turnaround which in not clean and take about 60 sec to build
phusion:
  image: devmtl/phusion:0.9.18
  container_name: phusion
  volumes:
    - ./app/volumes/content:/var/lib/app
  working_dir: /var/lib/
  command: sh -c 'apt-get update && apt-get upgrade -y && apt-get install -y rsync git && cd /var/lib/ && ls -la && git clone https://github.com/user/somerepo.git tmp-themes && rsync -zvrh --delete /var/lib/tmp-themes/ /var/lib/prod && rm -r tmp-themes'

Well, what I shame, it was a mistake on my side. With this Dockerfile, it works :)
    # docker build -t devmtl/phusion:0.9.18 .
    # docker push devmtl/phusion:0.9.18

    # Use phusion/baseimage:0.9.18 as base image. To make your builds reproducible, make
    # sure you lock down to a specific version, not to `latest`!
    # See https://github.com/phusion/baseimage-docker/blob/master/Changelog.md for
    # a list of version numbers.
CMD ["/sbin/my_init"]

    # Update & Install theses apps.
RUN apt-get update && apt-get upgrade -y && apt-get install -y rsync git

    # Clean up APT when done.
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*


set 32-byte dimension capacity as default for SOMASparseNDArray

Issue and/or context:
Changes:
Notes for Reviewer:

Codecov Report
Patch coverage has no change and project coverage change: +25.66 :tada:

Comparison is base (71616d4) 65.35% compared to head (59fa045) 91.01%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1358       +/-   ##
===========================================
+ Coverage   65.35%   91.01%   +25.66%
===========================================
  Files          91       30       -61
  Lines        7603     2416     -5187
===========================================
- Hits         4969     2199     -2770
+ Misses       2634      217     -2417

Flag
Coverage Δ

python
91.01% <ø> (ø)

r
?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 62 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

superseded by #1440


all unit tests are implemented even if some tests return failure

Using LibreSSL, 's2n_override_openssl_random_test' returns failure. (cf. issue #97)
At this time, the remaining tests are not implemented.
Because this is not convenient, I modify Makefile as all tests are implemented even if a test fails.

I think we want the build to fail even if one test does. Is there a good macro to use to tell that we're compiling with LibreSSL and shouldn't expect our random over-rides to work for the DHE generation?

Thank you for your comment.
I have no idea with the good macro. Instead, I modify Makefile as it shows the version of openssl after finishing unit tests. Note that boringssl doesn't have the version.

I'm going to merge the first part of this commit, but not the second. It'd be nice to have a way to run all tests even when one fails, but we definitely don't want the build succeeding if a test fails.

I agree with you. I'll think a better solution.
And I'm sorry to comment out the test commands.


ForwardDiff Tag from prepare_jacobian not being applied to function in jacobian!

I'm hitting this error related to the ForwardDiff tags:
ERROR: Invalid Tag object:
  Expected ForwardDiff.Tag{SciMLBase.UJacobianWrapper{true, ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, SciMLBase.NullParameters, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, SciMLBase.NullParameters, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, SciMLBase.NullParameters, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, SciMLBase.NullParameters, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, SciMLBase.NullParameters}, Float64},
  Observed ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}.

prepare_jacobian was supplied with an ADType ADTypes.AutoForwardDiff(chunksize=1, tag=ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}())
but when using DI.jacobian! with the jacobian config, it looks like the function isn't using the provided tag.
I'll try to make an MWE.

An MWE would be really helpful. You may also want to read the discussion in #594

What would be your good reason to turn off tag checking? Usually it's a bad idea ^^
And no at the moment it is not possible to turn off tag checking from within DI, because the backend object has no such setting.

It has to do with the way function wrappers or function wrappers wrappers work, in ODE we need the tags of the user functions to all be the same. @oscardssmith would be able to explain it better.
Ah right, the AutoForwardDiff ADType doesn't have such a setting. Hmm

It would still hit this line though CHK && checktag(T, f, x) right? We want to be able to not go through checktag at all.

@gdalle the problem is that we are specifying a custom tag, but the tag checking is hitting.

To bypass tag checking we would probably need to add a new type parameter like AutoForwardDiff{chunksize,T,tagcheck} in ADTypes, and then take it into account inside DI.
Will you also have a problem with tag precedence, i.e. the function below?
https://github.com/JuliaDiff/ForwardDiff.jl/blob/3acc8a64088564deec85103ed2dcc7cf6c0c2406/src/config.jl#L24-L26

Alternatively, we could make it so that the default tag = nothing disables tag checking. If you don't want tag checking, you shouldn't need the custom tag at all, right?

we very much do need the custom tag because the reason we are giving a custom tag is that we create a FunctionWrapper to prevent over-compiling on the integrated function, so we will get a MethodError unless the tag is ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}

See https://www.stochasticlifestyle.com/improved-forwarddiff-jl-stacktraces-with-package-tags/ for a good description of our approach here.

Then please give me an MWE where it doesn't and I'll tell you whether it's a mistake on my end or not ^^ it's kind of hard to fix in a vacuum

Finally, I was able to get a MWE that shows what I'm talking about.
using OrdinaryDiffEqCore
using OrdinaryDiffEqSDIRK
using ADTypes
using ForwardDiff
using DiffEqBase
import DifferentiationInterface as DI

function lorenz!(du, u, p, t)
    du[1] = 10.0 * (u[2] - u[1])
    du[2] = u[1] * (28.0 - u[3]) - u[2]
    du[3] = u[1] * u[2] - (8 / 3) * u[3]
end

u0 = [1.0; 0.0; 0.0]
tspan = (0.0, 100.0)
prob = ODEProblem(lorenz!, u0, tspan)

integrator = DiffEqBase.__init(prob, ImplicitEuler())
OrdinaryDiffEqCore.@unpack nlsolver = integrator.cache
OrdinaryDiffEqCore.@unpack cache = nlsolver
OrdinaryDiffEqCore.@unpack du1, uf, jac_config = cache
J = [6.57121223582643e-310 0.0 6.5712076203142e-310; 0.0 6.5712076203142e-310 0.0; 6.57121342505034e-310 0.0 6.5712041387988e-310]

autodiff = AutoForwardDiff(chunksize = 1, tag = ForwardDiff.Tag(DiffEqBase.OrdinaryDiffEqTag(), eltype(integrator.u)))
jac_config = DI.prepare_jacobian(uf,du1,autodiff, integrator.u)

DI.jacobian!(uf, du1, J, jac_config, autodiff, integrator.u)

stacktrace
ERROR: Invalid Tag object:
  Expected ForwardDiff.Tag{SciMLBase.UJacobianWrapper{true, ODEFunction{true, SciMLBase.AutoSpecialize, typeof(lorenz!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, SciMLBase.NullParameters}, Float64},
  Observed ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}.
Stacktrace:
 [1] checktag(::Type{…}, f::SciMLBase.UJacobianWrapper{…}, x::Vector{…})
   @ ForwardDiff ~/.julia/packages/ForwardDiff/UBbGT/src/config.jl:34
 [2] jacobian!(result::Matrix{…}, f!::SciMLBase.UJacobianWrapper{…}, y::Vector{…}, x::Vector{…}, cfg::ForwardDiff.JacobianConfig{…}, ::Val{…})
   @ ForwardDiff ~/.julia/packages/ForwardDiff/UBbGT/src/jacobian.jl:80
 [3] jacobian!(result::Matrix{…}, f!::SciMLBase.UJacobianWrapper{…}, y::Vector{…}, x::Vector{…}, cfg::ForwardDiff.JacobianConfig{…})
   @ ForwardDiff ~/.julia/packages/ForwardDiff/UBbGT/src/jacobian.jl:79
 [4] jacobian!(::SciMLBase.UJacobianWrapper{…}, ::Vector{…}, ::Matrix{…}, ::DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgJacobianPrep{…}, ::AutoForwardDiff{…}, ::Vector{…})
   @ DifferentiationInterfaceForwardDiffExt ~/.julia/packages/DifferentiationInterface/bulUW/ext/DifferentiationInterfaceForwardDiffExt/twoarg.jl:359
 [5] top-level scope
   @ ~/Documents/Work/dev/ODETesting/ODETest.jl:143
Some type information was truncated. Use `show(err)` to see complete types.

I'm pretty sure as long as checktag is on, this will always fail. The checktag function just checks if the tag used is the function type, and errors if it's not. This doesn't even get to the point of calculating the Jacobian because of checktag.

The latest release v0.6.23 should fix this, thanks for reporting it!

In the versions of the operators that use a prep, maybe the tag type check should use the tag from the prep, since that's the one that's actually used in the operation?
e.g.
function DI.jacobian!(
    f!::F,
    y,
    jac,
    prep::ForwardDiffTwoArgJacobianPrep,
    backend::AutoForwardDiff,
    x,
    contexts::Vararg{Constant,C},
) where {F,C}
    fc! = with_contexts(f!, contexts...)
    CHK = tag_type(backend) === Nothing
    return jacobian!(jac, fc!, y, x, prep.config, Val(CHK))
end

if the tag in backend is nothing, but the tag in the prep is something, the tag check triggers.

if the tag in backend is nothing, but the tag in the prep is something, the tag check triggers.

That's on purpose. If the tag in the backend is nothing (the default), then we create a tag based on the function and its argument, as ForwardDiff normally would. Then tag-checking should proceed, and succeed.


#146 copying transitive dependencies functionality for containerize-d…

…ependencies goal
Release Notes Addition Request
A new non-default execution goal containerize-dependencies has been added the habushu-maven-plugin. This execution is helpful for establishing a virtual environment (of a containerized setting) housing monorepo python dependencies in a more resilient pattern. The goal examines the project's habushu-type dependencies declared in the building project's pom.xml and copies relevant source files to the build directory. Transitive habushu-type dependencies are also copied over, with the original file structure preserved to maintain continuity for any path-based dependencies specified throughout the monorepo.

PR feedback has been addressed, along with updated documentation to reflect the available configurations.


RAC:4189: Release notes automation

This is the script to help to generate release notes in Confluence automatically.

write more description for @kellylu2sym
(1) script will be triggered after Sprint Release build successfully
(2) it will create a release page(named release notes x.y.z ) under https://rackhd.atlassian.net/wiki/display/RAC1/Release+Notes+Lists
in this page, some JIRA query will show feature/issue fixed in this sprint.

(3) then it will add a new row about x.y.z information into https://rackhd.atlassian.net/wiki/display/RAC1/RackHD+Release+Page

@kellylu2sym , you have 10+ commits in your PR.
does every commit make sense ? if not, can you please rebase -i  to squash them ?

besides, I recommended to write the final JQL example as comment in the code.
(1) help people to understand what your JQL will be
(2) in case the ReleaseTemplate being deleted by accident, you will still have  the JQL


⚠ Bofrost.fr has degraded performance

In 73f6f56, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1542 ms

Resolved: Bofrost.fr performance has improved in 1330484 after 18 minutes.


Frida snippet don't work for constructors anymore

When generating a Frida snippet via jadx for a constructor, the code looks like this:
let MyClass = Java.use("com.MyClass");
MyClass["$init"].implementation = function () {
    console.log('$init is called');
    let ret = this.$new();
    console.log('$init ret value is ' + ret);
    return ret;
};

This generates the following error in the latest frida versions (haven't tested how far back that dates):
Error: Implementation for MyClass expected return value compatible with void

When using let ret = this.$init(); instead, it works for me.
let MyClass = Java.use("com.MyClass");
MyClass["$init"].implementation = function () {
    console.log('$init is called');
    let ret = this.$init();
    console.log('$init ret value is ' + ret);
    return ret;
};

According to https://github.com/skylot/jadx/pull/1605 $new should the the correct way to call an constructor.
What version of Frida and frida-server do you use?

Hm. I am not a Frida expert, but I believe that a $new is a correct call here. Unfortunately, error message is not very helpful, so it is hard to understand what is the main cause of the issue. I will try to reproduce it, so I will keep this issue open for some time.
As a workaround, I can move template for this snippet to the preferences, so it will be possible to edit it, but this solution is not flexible enough, because a lot of code used to form a strings in snippet. So maybe script for that will be better (I will try to make it).

@skylot I created a controlled environment to test this.
I created new Android Studio Project with a basic Activity and a basic class with constructor.
Here is the working example with $init:

Here is the failing example with $new:

I am happy to provide the code or condunct further tests, but I think this is pretty clear :)

@xxr0ss thank you for clarifying

Therefore the FridaAction needs to be adapted further.

@daMatz I commit additional changes including separate template for constructors and void methods. Please check :slightly_smiling_face:
@xxr0ss thank you for your help :+1:

Thanks @skylot!
Just tried the nightly build jadx-<IP_ADDRESS>-bb4d88cc.zip.
The generated code for the example above is now
	let MyClass = Java.use("com.jadx.test.MyClass");
	MyClass["$init"].implementation = function (str) {
		console.log('MyClass.$init is called' + ', ' + 'str: ' + str);
	};

Looking good!

Great! Thanks for verify.


Issue Resolved!

Fixes #116
Issue is resolved
After refreshing page, it will render page properly

@ShubhamSj07 Great!


Remove extra parens

As of "node-sass": "3.3", checked that it is parsing correctly. Made a gist to demonstrate:
https://www.sassmeister.com/gist/fc77f10337d940ea3a1015b5e524dee8

Ok, it fails! But, why?


Example project fail

Downloaded the example project. Run. Lldb crash. Fail.

My quick fixes to run the project were:
Drag SFFocusViewLayout.swift to Example project (be sure to include it in Example target).
In ViewController.xib in Attributes Inspector, confirm SFFocusViewLayout (press enter)
So the Module is empty and "Inherit module from target" is checked.


Inconsistent BIC format

A Belgian BIC comes out as: 'KRED BE BB', while Dutch BICs look like: 'RABONL2U'.
AFAIK, a BIC shouldn't include spaces.

Thank you for reporting this issue.
I've just released an update. BICs should no longer contain spaces. https://github.com/fourcube/goiban-data-loader/commit/3a924d136ab40dee170a63209f5dfd04e3867b6c


Failing to reproduce the NaxRiscv/Debian setup

I am trying to reproduce the NaxRiscv/Debian setup as described here and am running into some issues.
Steps I have untertaken:

Downloaded the files from the google drive and put them on an sd-card according to the instructions.
Created the gateware:

python3 -m litex_boards.targets.digilent_nexys_video --build --no-compile-gateware \
    --cpu-type=naxriscv \
    --bus-standard axi-lite \
    --with-video-framebuffer \
    --with-spi-sdcard \
    --with-ethernet \
    --xlen=64 --scala-args='rvc=true,rvf=true,rvd=true' \
    --csr-csv $HOME/build/csr.csv \
    --csr-json $HOME/build/csr.json

Created the bitstream using Vivado 2023.2
Loaded the bitstream to my Digilent Nexys Video board

openFPGALoader -b nexysVideo --freq 15M digilent_nexys_video.bin

First issue
The fist issue I ran into is a "hang" after printing the memory write speed. Pressing reset the first time leads to a "hang" at the same spot. After pressing reset a second time the boot continues and I am running into the second issue.
        __   _ __      _  __
       / /  (_) /____ | |/_/
      / /__/ / __/ -_)>  <
     /____/_/\__/\__/_/|_|
   Build your hardware, easily!

 (c) Copyright 2012-2023 Enjoy-Digital
 (c) Copyright 2007-2015 M-Labs

 BIOS built on Nov 15 2023 07:56:26
 BIOS CRC passed (70194846)

 LiteX git sha1: 6d9cacd4

--=============== SoC ==================--
CPU:            NaxRiscv @ 100MHz
BUS:            AXI-LITE 32-bit @ 4GiB
CSR:            32-bit data
ROM:            128.0KiB
SRAM:           8.0KiB
L2:             8.0KiB
SDRAM:          512.0MiB 16-bit @ 800MT/s (CL-7 CWL-5)
MAIN-RAM:       512.0MiB

--========== Initialization ============--
Ethernet init...
Initializing SDRAM @0x40000000...
Switching SDRAM to software control.
Read leveling:
  m0, b00: |00000000000000000000000000000000| delays: -
  m0, b01: |00000000000000000000000000000000| delays: -
  m0, b02: |01111111111111100000000000000000| delays: 07+-06
  m0, b03: |00000000000000000011111111111110| delays: 24+-06
  m0, b04: |00000000000000000000000000000000| delays: -
  m0, b05: |00000000000000000000000000000000| delays: -
  m0, b06: |00000000000000000000000000000000| delays: -
  m0, b07: |00000000000000000000000000000000| delays: -
  best: m0, b02 delays: 07+-06
  m1, b00: |00000000000000000000000000000000| delays: -
  m1, b01: |00000000000000000000000000000000| delays: -
  m1, b02: |01111111111111100000000000000000| delays: 08+-06
  m1, b03: |00000000000000000001111111111110| delays: 24+-05
  m1, b04: |00000000000000000000000000000000| delays: -
  m1, b05: |00000000000000000000000000000000| delays: -
  m1, b06: |00000000000000000000000000000000| delays: -
  m1, b07: |00000000000000000000000000000000| delays: -
  best: m1, b02 delays: 08+-06
Switching SDRAM to hardware control.
Memtest at 0x40000000 (2.0MiB)...
  Write: 0x40000000-0x40200000 2.0MiB
   Read: 0x40000000-0x40200000 2.0MiB
Memtest OK
Memspeed at 0x40000000 (Sequential, 2.0MiB)...
  Write speed: 164.7MiB/s
<<<HANGS>>>

Second issue
When the boot continues, files are loaded from the sd-card into memory, OpenSBI and the kernel are starting. However the kernel gets hung up on litespi_rxtx, see the logs below.
        __   _ __      _  __
       / /  (_) /____ | |/_/
      / /__/ / __/ -_)>  <
     /____/_/\__/\__/_/|_|
   Build your hardware, easily!

 (c) Copyright 2012-2023 Enjoy-Digital
 (c) Copyright 2007-2015 M-Labs

 BIOS built on Nov 15 2023 07:56:26
 BIOS CRC passed (70194846)

 LiteX git sha1: 6d9cacd4

--=============== SoC ==================--
CPU:            NaxRiscv @ 100MHz
BUS:            AXI-LITE 32-bit @ 4GiB
CSR:            32-bit data
ROM:            128.0KiB
SRAM:           8.0KiB
L2:             8.0KiB
SDRAM:          512.0MiB 16-bit @ 800MT/s (CL-7 CWL-5)
MAIN-RAM:       512.0MiB

--========== Initialization ============--
Ethernet init...
Initializing SDRAM @0x40000000...
Switching SDRAM to software control.
Read leveling:
  m0, b00: |00000000000000000000000000000000| delays: -
  m0, b01: |00000000000000000000000000000000| delays: -
  m0, b02: |01111111111111100000000000000000| delays: 07+-06
  m0, b03: |00000000000000000011111111111110| delays: 24+-06
  m0, b04: |00000000000000000000000000000000| delays: -
  m0, b05: |00000000000000000000000000000000| delays: -
  m0, b06: |00000000000000000000000000000000| delays: -
  m0, b07: |00000000000000000000000000000000| delays: -
  best: m0, b02 delays: 07+-06
  m1, b00: |00000000000000000000000000000000| delays: -
  m1, b01: |00000000000000000000000000000000| delays: -
  m1, b02: |01111111111111100000000000000000| delays: 08+-06
  m1, b03: |00000000000000000001111111111110| delays: 24+-05
  m1, b04: |00000000000000000000000000000000| delays: -
  m1, b05: |00000000000000000000000000000000| delays: -
  m1, b06: |00000000000000000000000000000000| delays: -
  m1, b07: |00000000000000000000000000000000| delays: -
  best: m1, b02 delays: 08+-06
Switching SDRAM to hardware control.
Memtest at 0x40000000 (2.0MiB)...
  Write: 0x40000000-0x40200000 2.0MiB
   Read: 0x40000000-0x40200000 2.0MiB
Memtest OK
Memspeed at 0x40000000 (Sequential, 2.0MiB)...
  Write speed: 163.7MiB/s
   Read speed: 215.4MiB/s

--============== Boot ==================--
Booting from serial...
Press Q or ESC to abort boot completely.
sL5DdSMmkekro
             Timeout
Booting from SDCard in SPI-Mode...
Booting from boot.json...
Copying Image to 0x41000000 (15451440 bytes)...
[########################################]
Copying linux.dtb to 0x46000000 (2615 bytes)...
[########################################]
Copying opensbi.bin to 0x40f00000 (49992 bytes)...
[########################################]
Executing booted program at 0x40f00000

--============= Liftoff! ===============--

OpenSBI v0.9
   ____                    _____ ____ _____
  / __ \                  / ____|  _ \_   _|
 | |  | |_ __   ___ _ __ | (___ | |_) || |
 | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |
 | |__| | |_) |  __/ | | |____) | |_) || |_
  \____/| .__/ \___|_| |_|_____/|____/_____|
        | |
        |_|

Platform Name             : LiteX / VexRiscv-SMP
Platform Features         : timer,mfdeleg
Platform HART Count       : 8
Firmware Base             : 0x40f00000
Firmware Size             : 124 KB
Runtime SBI Version       : 0.2

Domain0 Name              : root
Domain0 Boot HART         : 0
Domain0 HARTs             : 0*,1*,2*,3*,4*,5*,6*,7*
Domain0 Region00          : 0x0000000040f00000-0x0000000040f1ffff ()
Domain0 Region01          : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address      : 0x0000000041000000
Domain0 Next Arg1         : 0x0000000046000000
Domain0 Next Mode         : S-mode
Domain0 SysReset          : yes

Boot HART ID              : 0
Boot HART Domain          : root
Boot HART ISA             : rv64imafdcsu
Boot HART Features        : scounteren,mcounteren,time
Boot HART PMP Count       : 0
Boot HART PMP Granularity : 0
Boot HART PMP Address Bits: 0
Boot HART MHPM Count      : 4
Boot HART MHPM Count      : 4
Boot HART MIDELEG         : 0x0000000000000222
Boot HART MEDELEG         : 0x000000000000b109
[    0.000000] Linux version 5.14.0 (rawrr@rawrr) (riscv64-unknown-linux-gnu-gcc (GCC) 11.1.0, GNU ld (GNU Binutils) 2.37) #2 SMP Mon Sep 12 12:04:51 CEST 2022
[    0.000000] earlycon: sbi0 at I/O port 0x0 (options '')
[    0.000000] printk: bootconsole [sbi0] enabled
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000041000000-0x000000005fffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000041000000-0x000000005fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000041000000-0x000000005fffffff]
[    0.000000] SBI specification v0.2 detected
[    0.000000] SBI implementation ID=0x1 Version=0x9
[    0.000000] SBI TIME extension detected
[    0.000000] SBI IPI extension detected
[    0.000000] SBI RFENCE extension detected
[    0.000000] SBI v0.2 HSM extension detected
[    0.000000] riscv: ISA extensions acdfim
[    0.000000] riscv: ELF capabilities acdfim
[    0.000000] percpu: Embedded 13 pages/cpu s23448 r0 d29800 u53248
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 125240
[    0.000000] Kernel command line: console=hvc0 earlycon=sbi root=/dev/mmcblk0p2 rootfstype=ext4 rw swiotlb=noforce rootwait rcupdate.rcu_cpu_stall_timeout=2
[    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.000000] Sorting __ex_table...
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 483724K/507904K available (4928K kernel code, 4778K rwdata, 2048K rodata, 2118K init, 300K bss, 24180K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
[    0.000000]  RCU CPU stall warnings timeout set to 2 (rcu_cpu_stall_timeout).
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] riscv-intc: 64 local interrupts mapped
[    0.000000] plic: interrupt-controller@f0c00000: mapped 32 interrupts with 1 handlers for 2 contexts.
[    0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [0]
[    0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x171024e7e0, max_idle_ns:<PHONE_NUMBER>15 ns
[    0.000004] sched_clock: 64 bits at 100MHz, resolution 10ns, wraps every<PHONE_NUMBER>100ns
[    0.008818] Console: colour dummy device 80x25
[    0.012702] printk: console [hvc0] enabled
[    0.012702] printk: console [hvc0] enabled
[    0.021105] printk: bootconsole [sbi0] disabled
[    0.021105] printk: bootconsole [sbi0] disabled
[    0.030499] Calibrating delay loop (skipped), value calculated using timer frequency.. 200.00 BogoMIPS (lpj=1000000)
[    0.040882] pid_max: default: 32768 minimum: 301
[    0.046431] Mount-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.053007] Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.072016] ASID allocator disabled
[    0.075342] rcu: Hierarchical SRCU implementation.
[    0.083957] smp: Bringing up secondary CPUs ...
[    0.087537] smp: Brought up 1 node, 1 CPU
[    0.094079] devtmpfs: initialized
[    0.101869] random: get_random_u32 called from bucket_table_alloc.isra.0+0x4a/0x136 with crng_init=0
[    0.105057] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns:<PHONE_NUMBER>2750000 ns
[    0.123237] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[    0.132339] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.184340] raid6: skip pq benchmark and using algorithm int64x8
[    0.189536] raid6: using intx1 recovery algorithm
[    0.196563] SCSI subsystem initialized
[    0.200932] FPGA manager framework
[    0.207691] clocksource: Switched to clocksource riscv_clocksource
[    0.215405] simple-framebuffer 40c00000.framebuffer: framebuffer at 0x40c00000, 0x1d4c00 bytes
[    0.223097] simple-framebuffer 40c00000.framebuffer: format=a8b8g8r8, mode=800x600x32, linelength=3200
[    0.305815] Console: switching to colour frame buffer device 100x37
[    0.384229] simple-framebuffer 40c00000.framebuffer: fb0: simplefb registered!
[    0.441975] NET: Registered PF_INET protocol family
[    0.446871] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.459625] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.467251] TCP established hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.475330] TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    0.482671] TCP: Hash tables configured (established 4096 bind 4096)
[    0.489546] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.495315] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.503544] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.515132] workingset: timestamp_bits=62 max_order=17 bucket_order=0
[    0.555244] fuse: init (API version 7.34)
[    0.560510] 9p: Installing v9fs 9p2000 file system support
[    0.566846] xor: measuring software checksum speed
[    0.608650]    8regs           :   260 MB/sec
[    0.650044]    8regs_prefetch  :   258 MB/sec
[    0.691152]    32regs          :   260 MB/sec
[    0.732624]    32regs_prefetch :   257 MB/sec
[    0.735798] xor: using function: 32regs (260 MB/sec)
[    0.741194] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    0.753083] LiteX SoC Controller driver initialized
[    0.761742] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.778495] f0001000.serial: ttyLXU0 at MMIO 0x0 (irq = 0, base_baud = 0) is a liteuart
[    0.793789] loop: module loaded
[    0.843602] libphy: Fixed MDIO Bus: probed
[    0.850846] liteeth f0002000.mac eth0: irq 1 slots: tx 2 rx 2 size 2048
[   24.097454] watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [swapper/0:1]
[   24.103504] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.14.0 #2
[   24.109484] epc : litespi_rxtx+0xe4/0x2b4
[   24.113561]  ra : spi_transfer_one_message+0x1ee/0x37e
[   24.118771] epc : ffffffff8037bc90 ra : ffffffff80379360 sp : ffffffd00040ba70
[   24.126062]  gp : ffffffff80ebc150 tp : ffffffe001078000 t0 :<PHONE_NUMBER>000000
[   24.133354]  t1 :<PHONE_NUMBER>000000 t2 : ffffffff80a02350 s0 : ffffffe00117e000
[   24.140647]  s1 : ffffffe001350708 a0 : ffffffff80eee1c0 a1 : ffffffe0012523c0
[   24.147940]  a2 : ffffffe001350708 a3 : ffffffe001333801 a4 : ffffffe00117e4b0
[   24.155232]  a5 :<PHONE_NUMBER>000000 a6 : ffffffff8080d420 a7 :<PHONE_NUMBER>000801
[   24.162526]  s2 : ffffffe001350798 s3 :<PHONE_NUMBER>000001 s4 : ffffffe00117e390
[   24.169819]  s5 : ffffffe001286a50 s6 :<PHONE_NUMBER>000000 s7 : ffffffe001286800
[   24.177111]  s8 : 00000000ffffffff s9 : ffffffe00117e300 s10:<PHONE_NUMBER>0186a0
[   24.184404]  s11:<PHONE_NUMBER>000000 t3 :<PHONE_NUMBER>000000 t4 :<PHONE_NUMBER>00033d
[   24.191698]  t5 :<PHONE_NUMBER>000000 t6 :<PHONE_NUMBER>000019
[   24.197080] status:<PHONE_NUMBER>000120 badaddr:<PHONE_NUMBER>000000 cause:<PHONE_NUMBER>000005
[   24.205072] [<ffffffff8037bc90>] litespi_rxtx+0xe4/0x2b4
[   24.210461] [<ffffffff80377e8a>] spi_controller_transfers_show+0x50/0x54
[   24.217230] [<ffffffff80378f92>] __spi_pump_messages+0x284/0x446
[   24.223303] [<ffffffff80377e8a>] spi_controller_transfers_show+0x50/0x54
[   24.230077] [<ffffffff80379cde>] __spi_sync+0x1c0/0x1e6
[   24.235378] [<ffffffff803a58ac>] mmc_spi_readbytes+0x2c/0x58
[   24.241100] [<ffffffff803a5fe8>] mmc_spi_set_ios+0xb2/0x1f0
[   24.246749] [<ffffffff80396a08>] mmc_power_up.part.0+0xe2/0x164
[   24.252736] [<ffffffff80397966>] mmc_start_host+0x80/0x8c
[   24.258204] [<ffffffff80398cf0>] mmc_add_host+0x28/0x3c
[   24.263501] [<ffffffff803a5cc6>] mmc_spi_probe+0x2e8/0x558
[   24.269057] [<ffffffff8060007e>] rdinit_setup+0x28/0x2c
[   24.274357] [<ffffffff80348e06>] really_probe.part.0+0x54/0x22c
[   24.280344] [<ffffffff803490b2>] driver_probe_device+0x26/0xf0
[   24.286249] [<ffffffff80349386>] __driver_attach+0x86/0x150
[   24.291889] [<ffffffff803492fc>] __device_attach_driver+0xfc/0x100
[   24.298141] [<ffffffff803476d2>] bus_for_each_dev+0x3c/0x64
[   24.303786] [<ffffffff80347d4c>] bus_add_driver+0xd2/0x180
[   24.309343] [<ffffffff80349d38>] driver_register+0x46/0xd8
[   24.314898] [<ffffffff80615da2>] mmc_blk_init+0x10c/0x110
[   24.320367] [<ffffffff80600c9e>] do_one_initcall+0x5e/0x110
[   24.326012] [<ffffffff8060007e>] rdinit_setup+0x28/0x2c
[   24.331310] [<ffffffff80600f5c>] kernel_init_freeable+0x1a8/0x226
[   24.337475] [<ffffffff804cacb4>] rest_init+0xc8/0xcc
[   24.342505] [<ffffffff804cacce>] kernel_init+0x16/0xfe
[   24.347714] [<ffffffff804cacb4>] rest_init+0xc8/0xcc
[   24.352750] [<ffffffff80001c94>] ret_from_syscall_rejected+0x8/0xc
[   48.097457] watchdog: BUG: soft lockup - CPU#0 stuck for 44s! [swapper/0:1]
[   48.103467] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G             L    5.14.0 #2
[   48.110839] epc : litespi_rxtx+0xd4/0x2b4
[   48.114916]  ra : spi_transfer_one_message+0x1ee/0x37e
[   48.120125] epc : ffffffff8037bc80 ra : ffffffff80379360 sp : ffffffd00040ba70
[   48.127417]  gp : ffffffff80ebc150 tp : ffffffe001078000 t0 :<PHONE_NUMBER>000000
[   48.134710]  t1 :<PHONE_NUMBER>000000 t2 : ffffffff80a02350 s0 : ffffffe00117e000
[   48.142004]  s1 : ffffffe001350708 a0 : ffffffff80eee1c0 a1 : ffffffe0012523c0
[   48.149296]  a2 : ffffffe001350708 a3 : ffffffe001333801 a4 : ffffffe00117e4b0
[   48.156588]  a5 :<PHONE_NUMBER>000000 a6 : ffffffff8080d420 a7 :<PHONE_NUMBER>000801
[   48.163881]  s2 : ffffffe001350798 s3 :<PHONE_NUMBER>000001 s4 : ffffffe00117e390
[   48.171175]  s5 : ffffffe001286a50 s6 :<PHONE_NUMBER>000000 s7 : ffffffe001286800
[   48.178467]  s8 : 00000000ffffffff s9 : ffffffe00117e300 s10:<PHONE_NUMBER>0186a0
[   48.185760]  s11:<PHONE_NUMBER>000000 t3 :<PHONE_NUMBER>000000 t4 :<PHONE_NUMBER>00033d
[   48.193053]  t5 :<PHONE_NUMBER>000000 t6 :<PHONE_NUMBER>000019
[   48.198437] status:<PHONE_NUMBER>000120 badaddr:<PHONE_NUMBER>000000 cause:<PHONE_NUMBER>000005
[   48.206427] [<ffffffff8037bc80>] litespi_rxtx+0xd4/0x2b4
[   48.211813] [<ffffffff80377e8a>] spi_controller_transfers_show+0x50/0x54
[   48.218584] [<ffffffff80378f92>] __spi_pump_messages+0x284/0x446
[   48.224659] [<ffffffff80377e8a>] spi_controller_transfers_show+0x50/0x54
[   48.231432] [<ffffffff80379cde>] __spi_sync+0x1c0/0x1e6
[   48.236733] [<ffffffff803a58ac>] mmc_spi_readbytes+0x2c/0x58
[   48.242456] [<ffffffff803a5fe8>] mmc_spi_set_ios+0xb2/0x1f0
[   48.248106] [<ffffffff80396a08>] mmc_power_up.part.0+0xe2/0x164
[   48.254092] [<ffffffff80397966>] mmc_start_host+0x80/0x8c
[   48.259560] [<ffffffff80398cf0>] mmc_add_host+0x28/0x3c
[   48.264856] [<ffffffff803a5cc6>] mmc_spi_probe+0x2e8/0x558
[   48.270412] [<ffffffff8060007e>] rdinit_setup+0x28/0x2c
[   48.275711] [<ffffffff80348e06>] really_probe.part.0+0x54/0x22c
[   48.281700] [<ffffffff803490b2>] driver_probe_device+0x26/0xf0
[   48.287605] [<ffffffff80349386>] __driver_attach+0x86/0x150
[   48.293245] [<ffffffff803492fc>] __device_attach_driver+0xfc/0x100
[   48.299498] [<ffffffff803476d2>] bus_for_each_dev+0x3c/0x64
[   48.305143] [<ffffffff80347d4c>] bus_add_driver+0xd2/0x180
[   48.310698] [<ffffffff80349d38>] driver_register+0x46/0xd8
[   48.316254] [<ffffffff80615da2>] mmc_blk_init+0x10c/0x110
[   48.321723] [<ffffffff80600c9e>] do_one_initcall+0x5e/0x110
[   48.327367] [<ffffffff8060007e>] rdinit_setup+0x28/0x2c
[   48.332666] [<ffffffff80600f5c>] kernel_init_freeable+0x1a8/0x226
[   48.338831] [<ffffffff804cacb4>] rest_init+0xc8/0xcc
[   48.343861] [<ffffffff804cacce>] kernel_init+0x16/0xfe
[   48.349070] [<ffffffff804cacb4>] rest_init+0xc8/0xcc
[   48.354105] [<ffffffff80001c94>] ret_from_syscall_rejected+0x8/0xc

This is bitstream I am using:
digilent_nexys_video.bin.gz
Hope you can help me, I really would like to get this working.

Hi,

Yes i noticed that sometime, there is some weird hang in the litex bios, so far after doing reset it goes away most of the time.
I didn't tracked the exact source of the issue so far.

Ahh i recently tested using https://github.com/SpinalHDL/NaxSoftware/blob/main/debian_litex/README.md which use the native MMC litex interface (not the SPI one)

What kernel were you using ? all the ones from the readthedoc ? you didn't recompiled anything right ?
Maybe the address mapping of the SPI peripheral moved. What dts are you using / does the spi controller address of the generated soc match the dts/dtb you are using ?
Note, i'm mostly based on https://github.com/SpinalHDL/NaxSoftware/blob/main/debian_litex/README.md

Thanks for your quick reaction.
Reassuring to hear that you experienced the same bios/boot hang. I was wondering whether it may be a problem with my board. Not a major issue, but it would be nice if we could resolve it.
I was indeed using all the files from the readthedoc, including the dtb. And your guess was correct, the address mapping of the SPI has moved from spi@f0004800 to spi@f0005800.
After updating the dts and putting the corresponding dtb on the card, I was able to boot debian. Nice! Thanks!
I will now try to create a system based on your newer instructions.

Nice :D
Thanks for the update.
Let's me know if you have any issue with the new instructions / there is missing information, especialy on the litex side of things.

I started with upgrading my config to the new instructions on step at a time:

opensbi
kernel
naxriscv bitstream with dma/non-spi sd/multi cpu
rootfs

Upgrading the opensbi was not successful. This is what I did:
(I changed the CROSS_COMPILE to riscv64-unknown-elf-)
git clone https://github.com/litex-hub/opensbi --branch 1.3.1-linux-on-litex-vexriscv
cd opensbi/
make CROSS_COMPILE=riscv64-unknown-elf- PLATFORM=litex/vexriscv
cp build/platform/litex/vexriscv/firmware/fw_jump.bin ../part1/opensbi.bin

This leads to a hang at liftoff:
...
Memspeed at 0x40000000 (Sequential, 2.0MiB)...
  Write speed: 163.6MiB/s
   Read speed: 215.4MiB/s

--============== Boot ==================--
Booting from serial...
Press Q or ESC to abort boot completely.
sL5DdSMmkekro
             Timeout
Booting from SDCard in SPI-Mode...
Booting from boot.json...
Copying Image to 0x41000000 (15451440 bytes)...
[########################################]
Copying linux.dtb to 0x46000000 (2630 bytes)...
[########################################]
Copying opensbi.bin to 0x40f00000 (132040 bytes)...
[########################################]
Executing booted program at 0x40f00000

--============= Liftoff! ===============--
<<<HANGS>>>

What I find strange is that you create the opensbi with the config of VexRiscv, which leads to a 32-bit executable.
Then I created the new linux 6.1-rc2 linux kernel per your instructions, which went fine and booted correctly with the old opensbi:
...
Memspeed at 0x40000000 (Sequential, 2.0MiB)...
  Write speed: 164.2MiB/s
   Read speed: 243.5MiB/s

--============== Boot ==================--
Booting from serial...
Press Q or ESC to abort boot completely.
sL5DdSMmkekro
             Timeout
Booting from SDCard in SPI-Mode...
Booting from boot.json...
Copying Image to 0x41000000 (17603072 bytes)...
[########################################]
Copying linux.dtb to 0x46000000 (2630 bytes)...
[########################################]
Copying opensbi.bin to 0x40f00000 (49992 bytes)...
[########################################]
Executing booted program at 0x40f00000

--============= Liftoff! ===============--

OpenSBI v0.9
   ____                    _____ ____ _____
  / __ \                  / ____|  _ \_   _|
 | |  | |_ __   ___ _ __ | (___ | |_) || |
 | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |
 | |__| | |_) |  __/ | | |____) | |_) || |_
  \____/| .__/ \___|_| |_|_____/|____/_____|
        | |
        |_|

Platform Name             : LiteX / VexRiscv-SMP
Platform Features         : timer,mfdeleg
Platform HART Count       : 8
Firmware Base             : 0x40f00000
Firmware Size             : 124 KB
Runtime SBI Version       : 0.2

Domain0 Name              : root
Domain0 Boot HART         : 0
Domain0 HARTs             : 0*,1*,2*,3*,4*,5*,6*,7*
Domain0 Region00          : 0x0000000040f00000-0x0000000040f1ffff ()
Domain0 Region01          : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address      : 0x0000000041000000
Domain0 Next Arg1         : 0x0000000046000000
Domain0 Next Mode         : S-mode
Domain0 SysReset          : yes

Boot HART ID              : 0
Boot HART Domain          : root
Boot HART ISA             : rv64imafdcsu
Boot HART Features        : scounteren,mcounteren,time
Boot HART PMP Count       : 0
Boot HART PMP Granularity : 0
Boot HART PMP Address Bits: 0
Boot HART MHPM Count      : 4
Boot HART MHPM Count      : 4
Boot HART MIDELEG         : 0x0000000000000222
Boot HART MEDELEG         : 0x000000000000b109
[    0.000000] Linux version 6.1.0-rc2+ (embryonic@litex) (riscv64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #1 SMP Thu Nov 16 12:27:06 UTC 2023
[    0.000000] earlycon: sbi0 at I/O port 0x0 (options '')
[    0.000000] printk: bootconsole [sbi0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000041000000-0x000000005fffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000041000000-0x000000005fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000041000000-0x000000005fffffff]
[    0.000000] SBI specification v0.2 detected
[    0.000000] SBI implementation ID=0x1 Version=0x9
[    0.000000] SBI TIME extension detected
[    0.000000] SBI IPI extension detected
[    0.000000] SBI RFENCE extension detected
[    0.000000] SBI HSM extension detected
[    0.000000] riscv: base ISA extensions acdfim
[    0.000000] riscv: ELF capabilities acdfim
....

I will now start working on updating the bitstreams, but wanted to let you know about my progress and hear your ideas on the opensbi issue.

Ahhhh right, i had some local changes about opensbi.
I created a fork, and changed the readme instructions.
with that updated https://github.com/SpinalHDL/NaxSoftware/blob/main/debian_litex/README.md#compile-opensbi it should be good.
Let's me know ^^

That solved it:
--============= Liftoff! ===============--

OpenSBI v0.9-614-g034d47a
   ____                    _____ ____ _____
  / __ \                  / ____|  _ \_   _|
 | |  | |_ __   ___ _ __ | (___ | |_) || |
 | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |
 | |__| | |_) |  __/ | | |____) | |_) || |_
  \____/| .__/ \___|_| |_|_____/|____/_____|
        | |
        |_|

Platform Name             : LiteX / NaxRiscv-SMP
Platform Features         : medeleg
Platform HART Count       : 8
Platform IPI Device       : aclint-mswi
Platform Timer Device     : aclint-mtimer @ 100000000Hz
Platform Console Device   : litex_uart
Platform HSM Device       : ---
Platform PMU Device       : ---
Platform Reboot Device    : ---
Platform Shutdown Device  : ---
Platform Suspend Device   : ---
Platform CPPC Device      : ---
Firmware Base             : 0x40f00000
Firmware Size             : 248 KB
Firmware RW Offset        : 0x20000
Firmware RW Size          : 120 KB
Firmware Heap Offset      : 0x32000
Firmware Heap Size        : 48 KB (total), 3 KB (reserved), 8 KB (used), 36 KB (free)
Firmware Scratch Size     : 4096 B (total), 736 B (used), 3360 B (free)
Runtime SBI Version       : 1.0

Domain0 Name              : root
Domain0 Boot HART         : 0
Domain0 HARTs             : 0*,1*,2*,3*,4*,5*,6*,7*
Domain0 Region00          : 0x00000000f0018000-0x00000000f001bfff M: (I,R,W) S/U: ()
Domain0 Region01          : 0x00000000f0010000-0x00000000f0017fff M: (I,R,W) S/U: ()
Domain0 Region02          : 0x0000000040f00000-0x0000000040f1ffff M: (R,X) S/U: ()
Domain0 Region03          : 0x0000000040f20000-0x0000000040f3ffff M: (R,W) S/U: ()
Domain0 Region04          : 0x0000000000000000-0xffffffffffffffff M: (R,W,X) S/U: (R,W,X)
Domain0 Next Address      : 0x0000000041000000
Domain0 Next Arg1         : 0x0000000046000000
Domain0 Next Mode         : S-mode
Domain0 SysReset          : yes
Domain0 SysSuspend        : yes

Boot HART ID              : 0
Boot HART Domain          : root
Boot HART Priv Version    : v1.10
Boot HART Base ISA        : rv64imafdc
Boot HART ISA Extensions  : zicntr,zihpm
Boot HART PMP Count       : 0
Boot HART PMP Granularity : 0
Boot HART PMP Address Bits: 0
Boot HART MHPM Count      : 4
Boot HART MIDELEG         : 0x0000000000000222
Boot HART MEDELEG         : 0x000000000000b109
[    0.000000] Linux version 6.1.0-rc2+ (embryonic@litex) (riscv64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #1 SMP Thu Nov 16 12:27:06 UTC 2023
[    0.000000] earlycon: sbi0 at I/O port 0x0 (options '')
[    0.000000] printk: bootconsole [sbi0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] Zone ranges:

great :D

Now I am running into problems with the network. DHCP is not working and when statically configured I get:
root@sid-rv64:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether 7e:4a:a0:19:59:68 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::7c4a:a0ff:fe19:5968/64 scope link
       valid_lft forever preferred_lft forever
root@sid-rv64:~# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
From <IP_ADDRESS> icmp_seq=1 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=2 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=3 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=4 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=5 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=6 Destination Host Unreachable
^C
--- <IP_ADDRESS> ping statistics ---
7 packets transmitted, 0 received, +6 errors, 100% packet loss, time 6074ms
pipe 3
root@sid-rv64:~# ifdown eth0
root@sid-rv64:~# ifup eth0
[  158.218664] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
root@sid-rv64:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 7e:4a:a0:19:59:68 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::7c4a:a0ff:fe19:5968/64 scope link
       valid_lft forever preferred_lft forever
root@sid-rv64:~# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
From <IP_ADDRESS> icmp_seq=1 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=2 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=3 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=4 Destination Host Unreachable
^C
--- <IP_ADDRESS> ping statistics ---
7 packets transmitted, 0 received, +4 errors, 100% packet loss, time 6073ms
pipe 3
root@sid-rv64:~# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 7e:4a:a0:19:59:68 brd ff:ff:ff:ff:ff:ff

Hi,
I didn't had particular with ethernet in debian, could it be aswell that the DTS memory address / interrupt id for the ethernet peripheral changed ?
Can you check the eth0 stats ? (ifconfig eth0)
RX packets 55249  bytes 65328784 (65.3 MB)
RX errors 0  dropped 300  overruns 0  frame 0
TX packets 12857  bytes 2470859 (2.4 MB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
to see if the trafic goes both way

For your information my setup is now as follows. I created the bitmap using the following command:
python3 -m litex_boards.targets.digilent_nexys_video --build --no-compile-gateware \
    --cpu-type=naxriscv \
    --bus-standard axi-lite \
    --with-video-framebuffer \
    --with-coherent-dma \
    --with-sdcard \
    --with-ethernet \
    --xlen=64 --scala-args='rvc=true,rvf=true,rvd=true,alu-count=2,decode-count=2' \
    --uart-baudrate 3000000 \
    --with-jtag-tap \
    --sys-clk-freq 75000000 \
    --cpu-count 2 \
    --csr-csv $HOME/build/csr.csv \
    --csr-json $HOME/build/csr.json

I reduced the speed to 75MHz as I noticed that Vivado signals that timing cannot be met at 100MHz. At 75MHz the booting hangs are completely resolved and I can use the SD card in non-SPI mode. At 100MHz the core was unable to read the files reliable from SD to bootstrap everything. And I increased the serial speed to 3Mbps (for serial boots).
The dts is generated from csr.json, with the following modifications:

CPU ISA changed to rv64imafdc
Memory starts at 0x41000000 length reduced to 0x1f000000
Reserved memory areas removed
LEDs removed
Chosen initrd fields removed
Bootargs set to console=hvc0 earlycon=sbi root=/dev/mmcblk0p2 rootfstype=ext4 rw swiotlb=noforce rootwait rcupdate.rcu_cpu_stall_timeout=2

These are all the files I use, if you want to reproduce:
naxriscv.tar.gz
Below are the requested ifconfig logs:
sid-rv64 login: root
Password:
Linux sid-rv64 6.1.0-rc2+ #1 SMP Thu Nov 16 12:27:06 UTC 2023 riscv64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Aug 27 21:39:55 UTC 2022 on hvc0
root@sid-rv64:~# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        inet6 fe80::c086:f0ff:fe24:4714  prefixlen 64  scopeid 0x20<link>
        ether c2:86:f0:24:47:14  txqueuelen 1000  (Ethernet)
        RX packets 4  bytes 366 (366.0 B)
        RX errors 0  dropped 4  overruns 0  frame 0
        TX packets 79  bytes 3694 (3.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 1

root@sid-rv64:~# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
From <IP_ADDRESS> icmp_seq=1 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=2 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=3 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=6 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=7 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=8 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=9 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=10 Destination Host Unreachable
From <IP_ADDRESS> icmp_seq=11 Destination Host Unreachable
^C
--- <IP_ADDRESS> ping statistics ---
11 packets transmitted, 0 received, +9 errors, 100% packet loss, time 10139ms
pipe 4
root@sid-rv64:~# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        inet6 fe80::c086:f0ff:fe24:4714  prefixlen 64  scopeid 0x20<link>
        ether c2:86:f0:24:47:14  txqueuelen 1000  (Ethernet)
        RX packets 4  bytes 366 (366.0 B)
        RX errors 0  dropped 4  overruns 0  frame 0
        TX packets 147  bytes 6578 (6.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 1

root@sid-rv64:~# echo Just pinged to the naxriscv
Just pinged to the naxriscv
root@sid-rv64:~# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        inet6 fe80::c086:f0ff:fe24:4714  prefixlen 64  scopeid 0x20<link>
        ether c2:86:f0:24:47:14  txqueuelen 1000  (Ethernet)
        RX packets 13  bytes 906 (906.0 B)
        RX errors 0  dropped 13  overruns 0  frame 0
        TX packets 207  bytes 9126 (8.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 1

75MHz

Ahh maybe on my devkit i more lucky, (vivado give me slack violation of around -0.6 ns)
One thing you can do to increase fmax is to set alu-count=1,decode-count=1 instead
The thing which is botthering with vivado, is that -0.6 ns violation mean it could run at  94 Mhz. But when i change setting to 90 Mhz, then vivado relax too much and still get timing violation XD
maybe the best would be to fake a higher clock frequancy to vivado  than what it realy is to stress him well
Ahhh one thing to diagnostic is :
cat /proc/interrupts
To see if interrupts happen or not.

Interrupts info:
root@sid-rv64:~# cat /proc/interrupts
           CPU0       CPU1
  1:        154          0  SiFive PLIC   3 Edge      eth0
  2:      10813          0  SiFive PLIC   4 Edge      litex-mmc
  5:      51092      51065  RISC-V INTC   5 Edge      riscv-timer
IPI0:        29         56  Rescheduling interrupts
IPI1:      2238       6428  Function call interrupts
IPI2:         0          0  CPU stop interrupts
IPI3:         0          0  IRQ work interrupts
IPI4:         0          0  Timer broadcast interrupts
root@sid-rv64:~# cat /proc/interrupts
           CPU0       CPU1
  1:        277          0  SiFive PLIC   3 Edge      eth0
  2:      10815          0  SiFive PLIC   4 Edge      litex-mmc
  5:      71969      71942  RISC-V INTC   5 Edge      riscv-timer
IPI0:        31         56  Rescheduling interrupts
IPI1:      2239       6505  Function call interrupts
IPI2:         0          0  CPU stop interrupts
IPI3:         0          0  IRQ work interrupts
IPI4:         0          0  Timer broadcast interrupts

I was wondering if you can reproduce with the files I provided.

hmm doesn't look bad.

Note if you try to revert litex to https://github.com/Dolu1990/litex.git 5e482d64
i had to change litex-boards/litex_boards/targets/digilent_nexys_video.py
pll.create_clkout(self.cd_sys,       sys_clk_freq, reset_buf="bufg")
into
pll.create_clkout(self.cd_sys,       sys_clk_freq)

Should have been fixed with https://github.com/enjoy-digital/litex/issues/1831#issuecomment-1847283321 ?

Last week I was able to get networking running with reverting to the commit you mentioned and modifying the board file. Will try the "official fix" this week.

ok, thanks :D

Hi,
I had time to test. With litex upstream all seems good now.
Also, it seems it may have fixed the random freeze i had in litex bios / early linux boot. (@100 Mhz)
let's me know how things goes on your side :D

Working for me as well. But only tested at 75MHz.
Will test for 100Mhz later and report back. Thanks again.

With 100Mhz, indeed the memory hangs seem to be resolved. However, the lite-x bios fails to recognize my SD-card in non-SPI mode or has read failures, so not usable for me at 100MHz.

Some are.


[AutoRelease] t2-sphere-2023-07-26-61937(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/4313
Live test success

issue link:https://github.com/Azure/sdk-release-request/issues/4313

/azp run prepare-pipelines


Consider text compression in CloudFront

It appears that Amazon CloudFront is used to serve https://aws.permissions.cloud/
I've noticed that your text files (JSON/JS/CSS) are returned in a plain format, instead of one in a compressed format (GZIP or Brotli).
Enabling compression will speed up network download and save your bandwidth == AWS payment 💵

Applied as indicated. Thanks for the recommendation!


fix some tests

some fix and cleanup from #90

LGTM

@enricosada failure of diamondAssembly was silly test issue, I fixed that too.  Thanks for the cleanup!


Slow Jupyter server startup

Extension version: 2019.5.18875
Python version: 3.7.3
Conda version: 4.6.14
Jupyter version: 4.4.0
Initial start up tends to take ~25s

Investigate first.

Clone https://github.com/jhconning/Econ-Teach (randomly selected)

Started Anaconda Prompt (7 seconds)
From clone folder ran: jupyter notebook intro\GainsTrade.ipynb & executed first cell (40 seconds)
Ctrl-C then run jupyter notebook intro\GainsTrade.ipynb again
Time to first cell execution (10 sec)
Export to .py file (1 sec)

Start VSCode

Open intro\GainsTrade.ipynb, choose to import notebook
Notebook converted (50 seconds)
Shift Enter first cell (50 seconds)
Restart kernel and execute first cell (10 sec)

So your first step took 47 seconds till you have your first cell.
VS Code takes 50. Sounds like the same time to me.


Skype for Business CU update KB number same for CU10, CU10HF1, CU11

Hi I noted the CU updates CU10, CU10HF1 and CU11 are marked with the same KB 3061064
https://docs.microsoft.com/en-us/skypeforbusiness/sfb-server-updates#skype-for-business-server-2015-update-history
Suresh

@suresh-solomon  Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@suresh-solomon thank you for reaching out. Please see the note above stipulating "KB 3061064 contains all Cumulative Updates that have been released." Let me know if you need further assistance.

@suresh-solomon Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Does not support conda command

In Ubuntu, conda source activate custom_env_name is not working.

@jxltom What would you expect to happen?
I'm currently not sure how support for Conda should look like.

Here is the sample and it raises error activate: No such file or directory
#!/usr/bin/env bash

source activate my-custom-python-env

This source activate my-custom-python-env is used for Conda to activate virtual environment. It works fine in terminal but not working in Pycharm via BashSupport

@jxltom Please reopen if you have some further feedback on this.


Consider placement of contact info for charts

What
We need to review the design of chart pages to consider what contact info they require and where this info should sit.
Currently, they follow the same pattern as other pages (tables etc), with contact info in the right hand panel. This includes a heading of "Request access" which:

is not relevant for any data that can be accessed directly
contains a statement that doesn't relate to the heading

One possible approach is that, for charts, the access heading and link that currently sit beneath the description are moved and replace the 'request access' info. Users might benefit from having a single consistent position on the page for access info regardless of the actions required.

Why
It's potentially confusing to suggest that users may need to "request access" to chart data and the inconsistency in current design may be a minor usability issue for users.

i think we have 2 distinct user paths here under 'access':

'access to view this chart here' (this view might be public or private)
'access the data that was used to create this graph' (this data might be public or private)

both are valid expectations, but at the moment we are only fulfilling path 1.
users on path 2 are sent to the graph / dashboard to source the underlying data from there (whilst this data might actually be registered in the catalogue).


Fix example for fetch.

Good catch thank you!

great i  think that worked....
           Thank You  xfaronang88


Update docs to remove refs to standalone

remove 'you' pronouns from installation docs
merge old 'broker' installation into main installation guide

/kind documentation

/retest


No user id

I am using Azure AD with OpenId in my aspnet core application and noticed all properties on the Context.User from the TelemetryClient were null.
I tried creating middleware as such, but looking at the injected TelemetryClient instance on a controller has the id value back to null.
public class AddUserToTelemetry
{
    private RequestDelegate _next;
    private TelemetryClient _telemetryClient;

    public AddUserToTelemetry(RequestDelegate next, TelemetryClient telemetryClient)
    {
        _next = next;
        _telemetryClient = telemetryClient;
    }

    public async Task Invoke(HttpContext context)
    {
        var userEmail = context.User.FindFirst(ClaimTypes.Upn)?.Value ?? context.User.FindFirst(ClaimTypes.Email)?.Value;
        _telemetryClient.Context.User.Id = userEmail;

        await _next.Invoke(context);
    }
}

It seems as the injected TelemetryClient is being added by AddScoped for DI so I would've assumed this instance was the same and scoped to the request. Is there another way/guidance on setting user properties without having to do it in each controller?

Something like this would work:
var request = context.RequestServices.GetService<RequestTelemetry>();
request.Context.User.Id = "value you need";

This will associate requests with user context. For other types of telemetry you will need to implement telemetry initializer. Something similar to https://github.com/Microsoft/ApplicationInsights-aspnetcore/blob/master/src/Microsoft.ApplicationInsights.AspNet/TelemetryInitializers/WebUserTelemetryInitializer.cs Basically you have http context accessor and take user from it.

Thanks @sergey-shandar
I see the a custom telemetry initializer as a good way to go. My initial findings were to add it by this in my Startup.Configure method:
var contextAccessor = app.ApplicationServices.GetRequiredService<IHttpContextAccessor>();
TelemetryConfiguration.Active.TelemetryInitializers.Add(new UserTelemetryInitializer(contextAccessor));

But my overriden OnInitializeTelemetry method never seems to get called.
In an aspnet core, wouldn't this more appropriately be configured on an extension after services.AddApplicationInsightsTelemetry in Startup.ConfigureServices so the IHttpContextAccessor can be injected and follow more similar patters as mvc add further options? Something like:
services.AddApplicationInsightsTelemetry(Configuration)
    .AddTelemetryInitializer<UserTelemetryInitializer>();

Or is there another way to add it in aspnet core other than the static TelemetryConfiguration.Active?
Thanks for the assistance.

Don't use TelemetryConfiguration.Active, register initializers in DI before EnableApplicationInsights like we override the channel: https://github.com/Microsoft/ApplicationInsights-aspnetcore/blob/master/test/Mvc6Framework45.FunctionalTests/Startup.cs#L44
Something like services.AddInstance<ITelemetryInitializer>(new AddApplicationInsightsTelemetry());

I don't believe I could use AddInstance and new up the telemetry initializer as it requires IHttpContextAccessor as a parameter to the constructor.
Tried both
services.AddTransient<ITelemetryInitializer, UserTelemetryInitializer>();
services.AddScoped<ITelemetryInitializer, UserTelemetryInitializer>();
which helps and my OnInitializeTelemetry is called and I set the User.Id on the ITelemetry and RequestTelemetry instance that gets passed in there, but the injected TelemetryClient on my controller has Context.User.Id still as null.

Yes, you are correct. We are using AddSingleton for telemetry initializers: https://github.com/Microsoft/ApplicationInsights-aspnetcore/blob/master/src/Microsoft.ApplicationInsights.AspNet/Extensions/ApplicationInsightsExtensions.cs#L43

I see what it is this is recommending, but I still don't understand why TelemetryConfiguration.Active.TelemetryInitializers.Add works for some telemetry, but not others? Why are we responsible for knowing the implementation details of how Application Insights is hooking into ASP.NET when AI provides its own extension points specifically designed for this? This prevents my code from being reusable between Web and non-Web projects. Unless I'm misunderstanding what's happening, I would consider it a bug that any telemetry is being sent without calling the actively configured initializers.

@TheXenocide - it should be fixed with this PR: https://github.com/Microsoft/ApplicationInsights-aspnetcore/pull/256 @kartang, can you pls confirm?

Cool. I think for now I can get by with ApplicationInsights.config if those are guaranteed to run on all telemetry tracking operations?

We do not support ApplicationInsights.config with asp.net core

Maybe you can expose AddFoo extension on services for asp.net core that will register all telemetry initializers you need.

Ahhh, I see. So is this the same reason as to why TelemetryConfiguration.Active shouldn't be used? Either way, I feel like things that aren't supposed to be used with specific deployment profiles should at least be removed from PCLs/profile specific builds or perhaps at least marked Obsolete? It just doesn't seem obvious that this generic thing that exists and works as expected in most scenarios should be allowed to not work in one specific scenario without any feedback to the consumer? Regardless, I think I've found my solution for now, I'm just hoping to recommend more consistency in consumption.

Apologies. It sounds like my original concern is already slated for resolution

@SergeyKanzhelev it looks like AI ASP.NET Core pulls configuration from multiple places:

TelemetryConfiguration.Active - source (since 1.0.0-rc1-update4).
appsettings.json - source (since 2.1.0-beta5).
AddApplicationInsightsTelemetry (ApplicationInsightsServiceOptions) - source (since 2.0.0).
IServiceCollection manipulation (usually UseApplicationInsights) - source.

It looks like 1-3 control simple properties like InstrumentationKey and DeveloperMode whereas 4 injects all the services and ignores whatever is set in TelemetryConfiguration.Active.TelemetryInitializers, TelemetryModules.Instance.Modules, TelemetryConfiguration.Active.TelemetryProcessors, and TelemetryConfiguration.Active.TelemetryChannel.
Did I get it right? Could you please clarify exactly what configuration is taken from which place and what overrides what (I half guessed the order above)?

@ohadschn you forgot the environment variables that will also be checked for the Azure Web Apps case mostly. We also have a standing PR https://github.com/Microsoft/ApplicationInsights-dotnet/pull/536 that I hesitant to accept as it will complicate the story even more.
Would you please create a separate issue for configuration story ironing/documenting.

@SergeyKanzhelev done: https://github.com/Microsoft/ApplicationInsights-aspnetcore/issues/505.


It is better to use the repository field

To allow Crates.io , lib.rs and the Rust Digger to link to it. See also the manifest.

Thank you.


Update test-summary/action to v2

Thank you for this awesome action.
Exactly what I was looking for 🙂
When I run a workflow with this action, I get the following error:
Node.js 12 actions are deprecated. Please update the following actions to use Node.js 16: test-summary/action@v1. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.

test-summary/action already has a version 2 (and also a version 2.1) that uses node.js 16.
It would be great if you could update the test-summary/action version. 🎉

Hi Nils. Thanks. I forgot to add dependabot to this project.
I hope this will happen automatically from now on.
Thank you for your contribution. Looking forward to knowing you more!

Hi Nils. Thanks. I forgot to add dependabot to this project. I hope this will happen automatically from now on.
Thank you for your contribution. Looking forward to knowing you more!

Hi Dario 👋 ,
you're welcome. That's what open source software is all about. 🙂


Allow uppercase words in relationship phrases of xmm files

The general rule is that relationship phrases should be lower case (Starr style) on the class diagram, however...
couldn't use:
yields as A
is yielded as A side of
sometimes it is helpful to break the rule
Suggest loosening it up entirely and leaving the standard to the individual modeler with a mix of upper and lower case as necessary

And, while we're at it, should be able to use lower case and in a subsystem name since subsystems are never referenced in action language.  Thus 'Class and Attribute' subsystem should be a legitimate name


libchdr no longer compiles with MSVC

The ssize_t type is undefined when using Visual Studio 2019.
This can be fixed by defining it in coretypes.h or similar as follows:
#ifdef _WIN32
#ifdef _MSC_VER
typedef size_t ssize_t;
#endif
#endif

Hello, thanks for the report.
Can you make a pull request ?


lower memory usage

We keep track of of all Pods in the cluster, while only caring about a small subset of them. Since we only need very basic information from the Pod, we can lower memory usage by ensuring we only store information we actually care about.

In my totally unscientific tests, this about halfed the memory usage of each pod.


Investiage slow page load times

The site-enonic-next project uses the next adapter and is getting quite slow in execution speed.
Investigate if its possible to make some optimizations, and possibel fixes for this.

Added the findings of this to #297


Failed to create task using xTaskCreate() despite having sufficient heap available. (IDFGH-11918)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
5.1
Espressif SoC revision.
ESP32S2
Operating System used.
Linux
How did you build your project?
Other (please specify in More Information)
If you are using Windows, please specify command line type.
None
Development Kit.
ESP32S2 WROOM-I
Power Supply used.
External 3.3V
What is the expected behavior?
For xTaskCreate to push the newly created task onto the task list.
What is the actual behavior?
xTaskCreate returns pdFAIL
Steps to reproduce.
`
bool ota_update_initiator_transfer_task_start(esp_partition_t *target_partition, uint8_t *target_mac, TaskHandle_t calling_task)
{
initiator_task_params_t *task_params = (initiator_task_params_t *)malloc(sizeof(initiator_task_params_t));
if (task_params == NULL)
{
ESP_LOGE(TAG, "Failed to allocate memory for ota initiator task parameters!");
return false;
}
task_params->target_partition = target_partition;
task_params->target_mac = target_mac;
calling_task_initiator = calling_task;
if(target_mac == NULL){
    printf("Received a null reference to the target mac! \n");
}

if(target_partition == NULL){
    printf("Received a null reference to the target partition! \n");
}

ESP_LOGI(TAG, "Starting initiator task!");

TaskHandle_t created_task_handle = NULL;
size_t total_heap_size = heap_caps_get_total_size((MALLOC_CAP_INTERNAL));
printf("Free Heap Size: %d bytes\n", total_heap_size);

BaseType_t task_creation_result = xTaskCreate(ota_update_initiator_transfer_task, "OTAInitiatorTask", INITIATOR_STACK_SIZE, task_params, configMAX_PRIORITIES -1, &created_task_handle);

vTaskDelay(pdMS_TO_TICKS(75));

printTaskList();

if (task_creation_result == pdPASS)
{
    ESP_LOGI(TAG, "Initiator task started successfully! Task handle: %p", created_task_handle);
    return true;
}
else
{
    ESP_LOGE(TAG, "Initiator task failed to start!");
    free(task_params); // Free allocated memory in case of failure
    return false;
}

}
`
This is part of my "local OTA" system, that sends firmware updates locally over ESPNOW.
It has the following serial output:
I (56124) Local Coms OTA - Initiator: Starting initiator task!
Free Heap Size: 189136 bytes
Tasks:  Status: TaskID: Priority:       Stack HWM:      TaskNum:        CPU:    RunCount:
hub_local_ota          X       24      1260    18
IDLE            R       0       1144    3
mqtt_task       B       5       3508    16
Tmr Svc         B       1       116     4
rmaker_queue_ta B       5       2036    10
Button (GPIO:6) B       0       1352    13
tiT             B       18      1476    6
btm_rrm_t       B       2       6332    9
Button (GPIO:34 S       0       2740    14
sys_evt         B       20      708     7
Main Controller S       0       1184    15
espnow_main     B       1       2288    21
esp_timer       S       22      1936    1
wifi            B       23      4040    8
Flow Sensor     S       0       1716    5
E (56235) Local Coms OTA - Initiator: Initiator task failed to start!
I (56243) Network: Local OTA Failed!
Debug Logs.
No response
More Information.
 You need to use another function to get free heap size.
heap_caps_get_total_size -> heap_caps_get_free_size

@KonstantinKondrashov  Thanks for the quick reply. I do indeed call the total instead of free. That is my mistake, I have been experimenting with the memory and task debugging functions and left that in there by mistake.
I would be right in concluding that xTaskCreate only returns pdFAIL in the case that the memory could not be allocated for the stack and/or buffer?

Yes, according to the doc (https://www.freertos.org/a00125.html), xTaskCreate returns pdPASS or errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY (if memory is not enough to allocate the requested stack size).
You might need to decrease the INITIATOR_STACK_SIZE to get it to work.

Many thanks @KonstantinKondrashov will close this as is a non issue!


Sticky navigation consumes too much vertical space when zoomed in

What version of starlight are you using?
Haven't used yet
What version of astro are you using?
Haven't used yet
What package manager are you using?
npm
What operating system are you using?
macOS
What browser are you using?
Chrome
Describe the Bug
Starlight, as well as the Astro docs, have a large sticky navigation header that consumes a lot of vertical space. Occasionally, I prefer to zoom in when reading any documentation, and as a consequence I have a lot less room to read than I would otherwise if the navigation header wasn't fixed.
I'm interested in Starlight, though I would like to see this navigation treatment improved; either to keep it at the top of the page, or auto-hide as I scroll down. Check out how navigation is handled on the new Svelte website on desktop and mobile: https://svelte.dev/
Here's a reference with some more considerations: https://adamsilver.io/blog/the-problem-with-sticky-menus-that-appear-on-scroll-and-what-to-do-instead/
And a screenshot of my typical reading experience:

Thanks for reading!
Link to Minimal Reproducible Example
No response
Participation

[ ] I am willing to submit a pull request for this issue.

The optimal way to display a table of contents (TOC) depends on the type of content being presented and the number of headings on the page, as well as the complexity of their hierarchy.
Svelte offers a  modern approach that works well, especially for mobile usage.
Docusaurus follows a similar logic with Svelte and even includes a thoughtful "back to top" button, making it a compelling option if you enjoy Svelte. Another popular tool is Materials for MkDocs, which showcases the TOC in a convenient collapsible sidebar.
In my view, Astro and Starlight provide a distinct feature by displaying the current section's heading at the top of the page, which is particularly useful for complex and lengthy documents. As for concerns about space occupation, it may be possible to reduce the header's height and adjust the background of the TOC header to make it less intrusive.

One suggestion for improvement is to add "Anchor following" feature.In some lengthy page, it can be challenging when the current anchor point moves outside the visible area of the screen. It would be convenient if the current anchor point automatically scrolled to the center of the screen, similar to the "Anchor following" feature offered by Materials for MkDocs.
https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/
Thanks for reading!