Gyp dependency on Windows despite shipping precompiled binary

Hi - I was hoping to be able to use sharp in some ASP.NET samples because it looked like it would install easily on Mac/Linux/Windows.
However, when installing via npm install --save sharp on a stock Windows 10 machine I'm getting the following error:
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at failNoPython (C:\Program Files\nodejs\node_modules\npm\node_modules\node-    gyp\lib\configure.js:401:14)
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:356:11
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:117:15)
gyp ERR! System Windows_NT 10.0.10586
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd myproject\node_modules\sharp
gyp ERR! node -v v6.2.0
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok

Of course, python isn't generally installed on typical Windows developer or production server machines, so this error is to be expected if gyp gets involved.
What I had been hoping is that your pre-bundling of the binary libvips would mean this situation didn't occur, and no external dependencies (such as python) would be needed.
Can you let me know if I'm understanding this correctly?

Is python really mandatory for installing this on Windows? If so it would be great if you would amend your docs to emphasise this, as it hugely influences which projects will be able to use sharp. People won't generally install python.
Is it possible that a python/gyp requirement could be eliminated in the case of Windows installs, since you just need to download the precompiled binary?

Thanks. And BTW everything else about sharp worked magnificently - the API is beautiful and the performance was a couple of orders of magnitude better than I was getting from jimp before.

Hi Steve, thanks for your interest.
sharp depends on node-gyp at install time and Python, MSVC etc. are dependencies of node-gyp. I'd be happy to accept a PR to improve the clarity of these docs.
#186 covers the adoption of node-pre-gyp, which would involve shipping pre-compiled versions of sharp (in addition to pre-compiled versions of libvips currently provided).

https://github.com/nodejs/node-gyp/pull/962 might remove the need for Python.

@SteveSanderson Have you seen https://www.npmjs.com/package/windows-build-tools ?

Thanks for the responses! It's been a while, but I'd still definitely be interested in using sharp more heavily in those ASP.NET samples if the Windows install process does get smoothed out. We probably wouldn't want to rely on windows-build-tools, as fetching a complete Python environment just to install one NPM module somewhat undermines the idea that it can be a quick, natural fit to use the technologies together.
I'll look forward to progress on #186, especially if the use of prebuild-install doesn't involve installing extra system-wide tools first (e.g., you don't need to run npm install -g prebuild-install first).
Thanks so much for your work on this!

Yes, #186 should remove the need for Python+MSVC. I'd like for initial testing to be on Windows as that's the most complex platform for native modules.
I'll close this question and let's continue tracking/discussion at #186.


Unable to place model on surface; it is floating in air

I am using the latest model-viewer library for placing an animated santa on a surface.
However, the model is not getting placed on the surface. It is floating in air. I have tried mentioning the 'ar-placement' attribute also explicitly but that also isn't working.
Please help. Is this library version issue? Or is it something to do at model-creation level?
Code link: https://github.com/sonalmahendru/modelviewer
Code in run mode (to be checked on android): https://sonalmahendru.github.io/modelviewer/

It looks like your model is huge, probably exported in the wrong units. Remember that glTF specifies that all models are in meters, so you probably need a top-level transform. We have a small offset built in for shadows, so that has probably just been scaled way up. Also, our auto-target is based on the bounding box of the model at rest, so ensure that your animation doesn't transform it to some other location.

Thanks for your reply. I will try to fix the model and its animation then.

I am also facing the same issue, I have tried so many 3d models including from model viewer's as well but it always float in air. However when I tried from official page, the object placed on surface. This is my code

@vinayvidhani It's probably better to start a new discussion rather than commenting on a closed issue. Make sure to include a URL so we can repro what you're seeing.


Databricks connection type

Is there a way to use this provider with the databricks connection on a project? looking through the code looks like only snowflake and bigquery is supported? https://github.com/GtheSheep/terraform-provider-dbt-cloud/blob/86c89283157915277916ae315beb11fe5ea9db7a/pkg/resources/connection.go#L14

Hey, there isn't currently, happy to try to add it though!
Will check out if there's a free tier to test against or something 👌

Hey, there isn't currently, happy to try to add it though! Will check out if there's a free tier to test against or something 👌

That will be great! and yes there should be a free tier for you to test out

@GtheSheep wanted to check if there is an update on this request?

Hey, yes I've been working on it, no luck with testing it tho, will update you here when I merge the resource/ related release 🙂

@GtheSheep do you happen to have an ETA on this would also like for Redshift?

Hey, yeah sorry things have dropped off a bit lately (especially the connectors that require sign ups to test), am at coalesce this week but will continue working on things next week so you'll see the PRs 👌


Accessibility attributes issue

@jannicz First of all thanks for your package, fast response and Angular 9 support :)
I have some issue with dynamic accessibility attributes.

It's okay that ng-reflect-attribute is cropped?
Video should describe the issue - https://www.loom.com/share/28dbd121a453454bb14d9ba297c539aa . aria-labelledby updates only after page reload.

Do you have any suggestions maybe?
My icon template:
<svg-icon-sprite
  [src]="'logo'"
  [width]="'109px'"
  [height]="'13px'"
  [classes]="'font-color-light'"
  [attribute]="[['aria-labelledby', 'ticket_search_page.egyjegy_logo_grey.alt' | translate], ['role', 'img']]">
</svg-icon-sprite>

It might have to do with Ivy/Ngcc. While porting to Angular 9 I had to disable Ivy (this is a requirement for pre-rendered libs). While doing so, I came across an article that described problems with internationalization. First, lets find out if this is the case here.
Try not to do the translation via a pipe but via a variable that is already defined (i.e. inside the component). Is it helping?

@jannicz I tried to use variable for attribute but have no success. ng-reflect-attribute updating on language change for both svg-icon-sprite and svg inside, but aria-labelledby on svg doesn't updating.

I noticed that you use aria-labelledby not the right way. The correct solution works following:

aria-labelledby's value is a reference to an id (it should not be a text)
there is a span with the label holding the id (id="label123")
you translate the span's label, the id stays the same

See: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-labelledby_attribute
If you have no objections I will close this issue by tomorrow

@jannicz You're right about aria-labelledby, but the main issue is still that any attribute doesn't update dynamically and my translate pipe doesn't work.
I changed aria-labelledby to aria-label that's not required id reference, and still no success.

So i don't think that a pipe inside of the property string will work. Last thing you can try:
[attribute]="wholeArrayAsVariable"
Put the whole Array as a variable. I don't think this is an issue with the library but rather a limitation how Angular's change detection works. If Angular does not pass your updated string as a Change event, my lib won't be able to do anything about it. You need to find an alternative solution. I recommend referencing the span via id.

ok, thanks for support, close the issue.


add nbactions

Would be nice to add nbactions.xml, so clicking the run button actually starts the application in NetBeans. Something like this:
<?xml version="1.0" encoding="UTF-8"?>
<actions>
    <action>
        <actionName>run</actionName>
        <displayName>Run</displayName>
        <goals>
            <goal>clean</goal>
            <goal>javafx:run</goal>
        </goals>
    </action>
</actions>

Yes, we want to do this on the NetBeans side, i.e. by first extending the API: https://issues.apache.org/jira/browse/NETBEANS-3104, since not everyone using the javafx-maven-archetypes makes use of NetBeans.

The fork errael/javafx-maven-archetypes modifies pom.xml for debug execution and creates nbactions.xml for project with run and debug actions.

I guess the request has now been addressed by integrating #10

I guess the request has now been addressed by integrating #10

No.
#10 does not include nbactions.xml. Comment https://github.com/openjfx/javafx-maven-archetypes/issues/7#issuecomment-565726866 suggests that it will be handled on the NetBeans side.
In addition, the pom.xml created by #10 is out of date compared to the one created by the NetBeans specific archetypes which handle profiling: <execution><id>ide-profile ... and jlink

I see:

Too bad #10 is out of date.
Alas, nbactions.xml aren't welcomed contribution by other projects. NetBeans probably will have to deal with it some other way.

CCing @sdedic.

What would be the drawback of adding nbactions.xml here? As long as it is not breaking other IDE's or CLI deployment, I think it would be a good addition -- but I might miss something?


re-open the PR, queue length counter still underflows

Scope & Purpose
This PR addresses two things:

It prevent spurious log messages "Scheduler queue is filled more than 50% in last x s" from occurring when this is not the case. Due to a data race, the message could previously also occur if the queue was empty.
It makes the scheduler enforce the configured queue lengths. The values of the options --server.scheduler-queue-size, --server.prio1-size and --server.maximal-queue-size will now be honored and not exceeded.

As we are now rejecting requests due to a full queue, the queue sizes have been adjusted as well.
The current queue sizes are:

high priority queue: 4096 requests (up from 128)
medium priority queue: 4096 requests (down from 1048576)
low priority queue: 4096 requests (unchanged)

This is still work in progress, as the queue length calculation still underflows spuriously, i.e. _jobsSubmitted < _jobsDone.

[x] Bug-Fix for devel-branch (i.e. no need for backports?)
[ ] Bug-Fix for a released version (did you remember to port this to all relevant release branches?)
[x] The behavior in this PR can be (and was) manually tested (support / qa / customers can test it)
[ ] The behavior change can be verified via automatic tests

https://jenkins01.arangodb.biz/view/PR/job/arangodb-matrix-pr/6407/


Backfill Tests for Steve

Steve currently has limited tests. This creates a need for highly manual review of things like dependency bumps, and low confidence in the regression potential for changes. These tests should focus on how Steve would be used as a library and avoid mocking as much as is possible. Some potential examples:

Adapting the test cases hosted in rancher to be ran directly in Steve's repo.
Creating integration tests for the schemaDefinitions endpoint (which gives field definitions of each schema), including:

Add a CRD, make sure the definitions show up
Remove a CRD, make sure the definitions are no longer present
Try to access a schema that you can't see, make sure that neither the schema nor the definitions is present
Make sure a schema which uses openapi v3 specific fields has all fields correctly specified (example, provisioning.cattle.io.clusters)
Make sure a base schema which doesn't represent a k8s resource (e.x. generateKubeconfigOutput) has the fields properly specified
Make sure a resource that has multiple versions has the definition for the preferred group

Tests for a custom action on a resource
Tests for watch events on a resource
Tests for creating/updating/deleting a resource
Tests for watching a count

Just so I don't forget, we should look at the coverage from schema definition fix and see what can be added.
For example, a test that returns an error if io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta no longer exists.


fix: use correct base path for CheckGroup testMatch

I hereby confirm that I followed the code guidelines found at engineering guidelines
Affected Components

[x] CLI
[ ] Create CLI
[ ] Test
[ ] Docs
[ ] Examples
[ ] Other

Notes for the Reviewer

Resolves #549

CheckGroup supports loading *.spec.ts checks using testMatch, and BrowserCheck supports relative paths for *.spec.ts files passed in code: { entrypoint }. Internally, these relative files are loaded using the Session.checkFileAbsolutePath as the base path. As mentioned in the linked GH issue - this doesn't always give the expected behavior. In particular, if the constructs are instantiated in a helper file then imported in a *.check.ts file - then the extra files will be loaded relative to the *.check.ts file. For a more clear illustration, see the test in this PR (which fails for main).
It's hard to detect the file where the CheckGroup constructor is actually called. One possible solution is to require the user to pass the base path explicitly:
new CheckGroup('my-group', { basePath: __filename })

This adds extra boilerplate for users, though. Instead, this PR uses a library get-caller-file. This library parses the file name of the caller from the Error stack trace. This is a bit of a hack, but it works fine and the library is widely used. This let's us correctly detect which file the CheckGroup is actually instantiated in.
This will be a bit of a breaking change in case any users were importing CheckGroup's and Check's to other files. I think that it's unlikely that users are doing this, though, so I think it's OK to merge this. Maybe we should consider making the next release 0.5.x, though.

@clample this also works for ts, right? I think it does but wasn't 100% sure

@umutuzgur correct - it should work for TS. The integration test added here is testing the TS case.

What about the Session.checkFilePath btw? Is it still needed?

What about the Session.checkFilePath btw? Is it still needed?

Good question. It's currently being used for npx checkly test for filtering (f.ex npx checkly test foo.check.ts) and for organizing the results. I think that we can definitely migrate this to use get-caller-file instead.
What do you think? Do you have a preference whether I do it in this PR, or do it in a follow up PR?

Hmmm, @umutuzgur I think that I found another issue with this approach.
Suppose that a user is making constructs with a helper file:
check-factory.ts
export function makeCheck(endpoint) {
    return new ApiCheck(`check-${endpoint}`, {
        ....
    })
}

login.check.ts
makeCheck('/login')

signup.check.ts
makeCheck('/signup')

In this case, the getCallerFile approach will report that all of the checks are coming from check-factory.ts. I think that this behavior might end up seeming a bit strange as well.

Closing this PR for now, I think that this needs a bit more thinking on what the solution should be.

@clample We can also just document the corner cases to address the issue. I don't think we will find a solution that solves every case


Add --diff option to show diff when running with --check

We use mdformat to validate Markdown formatting in a documentation project we're running. Most users are contributing to the documentation by creating changes, commits and pull requests from the Github UI, so they won't be running any linting/validation on commit. In this case, it would be very useful for those users to see what mdformat is marking as "unformatted" and knowing what should be done to fix that.
This was highly inspired by the implementation that Black uses, as it seems to doing just what we need.
Looking forward to your thoughts and review :).

Would be great to have this feature! :rocket:

@hukkin any chance to get a review for this PR? :)

Hi @tdgroot, thanks for contributing and sorry for the long wait!

Most users are contributing to the documentation by creating changes, commits and pull requests from the Github UI, so they won't be running any linting/validation on commit. In this case, it would be very useful for those users to see what mdformat is marking as "unformatted" and knowing what should be done to fix that.

I think you may find setting mdformat up with https://pre-commit.ci/ and pre-commit even more useful than this feature. The fixes would be automatically applied to PRs -> the contributor doesn't have to care about failures or bad formatting at all.
Regardless, I've decided to accept this feature. Do you still want to work on this or should I continue from where you left?
We should make --diff work also without --check, returning 0 also in the case there is a diff. Also mypy compains, and test coverage is not 100%.

Closes https://github.com/executablebooks/mdformat/issues/268

Hi @hukkin,
That's amazing! I'm not available to work on it this week, but I can update this PR next week I think. If that's taking too long for you, feel free to take my work and finish it :).


pypy3 is broken in ci

I fiddled a bit yesterday:

changed the build system to setuptools_scm for automatic versioning based on git tags
added a workflow for automatic publishing on pypi

somehow that broke all kinds of tests in CI, none of the failures I could reproduce locally despite the same python version and workflow. the tests looked broken though, so I fixed them up.
now pypy3 is broken: https://github.com/gis-ops/routing-py/runs/5544884127?check_suite_focus=true
it seems to me that it tried to install a py27 version of typed-ast for pypy3.6:
ast27/Parser/tokenizer.c:17:10: fatal error: codecs.h: No such file or directory
       17 | #include "codecs.h"
          |          ^~~~~~~~~~
    compilation terminated.
    error: command 'gcc' failed with exit status 1

hey @nilsnolde wanna work for this issue !

Sure, feel free. Though might not be an issue anymore. Personally I’d start with letting CI run once with PyPy and then see.


@amphitheatre/playground React Component

npm install --save @amphitheatre/playground

import Playground from '@amphitheatre/playground'

export default function App() {
  return <Playground style={{ width: 800, height: 500 }} />
}

Components have been abstracted to standalone projects https://github.com/amphitheatre-app/playground-react


Incompatibility between ambient occlusion and parallax occlusion.

Hello @pissang,
When I use ambient occlusion with parallax occlusion, shadows strangely surround geometry. This looks like a bug:

Below, when I only use parallax occlusion. This is OK:

Best regards,
Samuel Tallet

@SamuelTS Hi, can you provide your asset for me to debug?

Yes, for sure. Thank you! You can download glTF model asset here. Diffuse/normal/AO map is embedded.
And here is parallax occlusion map:

Best regards,
Samuel Tallet

Thanks @SamuelTS


ipset: 7.3 -> 7.4

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/ipset/versions.
meta.description for ipset is: '"Administration tool for IP sets"'.
meta.homepage for ipset is: '"http://ipset.netfilter.org/"

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 7.4 with grep in /nix/store/fc7v10fp0mmv81i5gwf2xdvwi886281r-ipset-7.4

directory tree listing: https://gist.github.com/a36683dc926d5d088a5d816813044f16

du listing: https://gist.github.com/32bbc7313f87d31a8406a8f970f3a922

Rebuild report (if merged into master) (click to expand)

9 total rebuild path(s)
3 package rebuild(s)
3 x86_64-linux rebuild(s)
3 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
3 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
ferm
firehol
ipset

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/fc7v10fp0mmv81i5gwf2xdvwi886281r-ipset-7.4 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A ipset https://github.com/r-ryantm/nixpkgs/archive/de978f92a02a48e3994ca360073bebd2569e04e2.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/fc7v10fp0mmv81i5gwf2xdvwi886281r-ipset-7.4
ls -la /nix/store/fc7v10fp0mmv81i5gwf2xdvwi886281r-ipset-7.4/bin

@GrahamcOfBorg test ferm


Autofill engagement pixels

Task/Issue URL: https://app.asana.com/0/0/1206508535741137/f
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

#4524  👈
develop

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @CDRussell and the rest of your teammates on  Graphite


Fix installation of helm charts

Fixes #5827
Notice the added behaviours, they describe completely how it should work. There's still lot to improve in the implementation, but that's enough for now.

https://user-images.githubusercontent.com/40840436/179756154-eb74dcb4-2325-4a7c-a7d3-3428355de3e7.mov
Or maybe this is related to the Upgrade bug

The release details page slides in a few extra times (sometimes it doesn't happen till ~30 seconds later)
Also, after removing a release, the release list gets redrawn a few extra times.
https://user-images.githubusercontent.com/40840436/179889331-fb8a374a-84f4-4494-9bb0-32fdb433de70.mov

crash after removing a release with an upgrade tab open
https://user-images.githubusercontent.com/40840436/179889451-ec409597-387a-42b4-a254-2ba254b5955a.mov


Add wrapper for attacking X, y

Maybe you can also add a sample_limit option like in attack_epsilon_feasibility. It would save a lot of time when running on datasets like MNIST.

Maybe you can also add a sample_limit option like in attack_epsilon_feasibility. It would save a lot of time when running on datasets like MNIST.

I added it like in attack_epsilon_feasibility. This may be problematic when all instances of a certain class are situated next to each other. E.g. sample_limit = 50, but the first 50 samples are all from class 0. I think we can improve on this by using random.sample:
all_indices = [i for i in range(len(y))]
if CONSISTENT_DRAWS:
    random.seed(0)
chosen_indices = random.sample(all_indices, k=n)  # Draw without repetition
return [X[i] for i in chosen_indices], [y[i] for i in chosen_indices]


Initial state not persisted on first render

Describe the bug
Maybe this is intended, but I was trying to see if I had initialized the plugin correctly and I wasn't seeing anything in the DevTools Application -> Storage -> Cookies tab when using the demo store:
import { defineStore } from 'pinia'

export const useStore = defineStore('store', {
  state: () => {
    return {
      someState: 'hello pinia',
    }
  },
  persist: {
    storage: persistedState.cookies
  },
})

To see anything appear, I had to manually edit a value of my store.
I would expect the initial state to also be saved in the cookie, no ?
At least this would prevent confusion even if it's not stricly necessary as the initial value is "saved" in the JS.
Reproduction
Let me know, and I'll create one
System Info
System:
    OS: macOS 13.0.1
    CPU: (8) arm64 Apple M1 Pro
    Memory: 1.15 GB / 32.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 16.14.0 - ~/.nvm/versions/node/v16.14.0/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 8.3.1 - ~/.nvm/versions/node/v16.14.0/bin/npm
  Browsers:
    Chrome: 108.0.5359.124
    Chrome Canary: 111.0.5495.0
    Firefox: 107.0.1
    Safari: 16.1
    Safari Technology Preview: 16.4

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] The provided reproduction is a minimal reproducible of the bug.

Hi, this is sort of intended. this was also the default behaviour of vuex-persistedstate, as there is no real need to persist a state that is the same as the initial one. However if you need to force persistence, you can call $persist as documented here https://prazdevs.github.io/pinia-plugin-persistedstate/guide/advanced.html#forcing-the-persistence :)

Thanks, noob question again. Just trying out Nuxt 3 for the first time.
In Nuxt 2, I would run this in nuxtServerInit in the VueX action.
How would I do this in Nuxt 3 ? In my app.vue created ?

You can run that in your app.vue, script setup probably, which is pretty much like the created hook.


update cuda::arch constants and calculator

See Section 4.2 of the CUDA Programming Guide [1] and the new CUDA Occupancy Calculator [2]
[1] http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/CUDA_C_Programming_Guide.pdf
[2] http://developer.download.nvidia.com/compute/DevZone/docs/html/C/tools/CUDA_Occupancy_Calculator.xls
I think we might be able to remove the occupancy calculator entirely and make decisions based on cudaFuncAttributes::maxThreadsPerBlock instead.
Forwarded from http://code.google.com/p/thrust/issues/detail?id=382

Related to nvbug 1468459, which is an RFE for Thrust to use the new occupancy API and remove the old calculator.

1468459 is closed; I have confirmed that Thrust uses the CUDA occupancy APIs now.


add  cloudwaftjh

ok

Hi @cloudwafs, thanks a bunch for this PR. It would be nicer to have a working demo of the WAF you've made the PR for. Can you give me a demo site running the WAF? If you do not want to disclose the site publicly here, you can email me the site via the mail address on my profile. :)

Hi @cloudwafs, thanks a bunch for this PR. It would be nicer to have a working demo of the WAF you've made the PR for. Can you give me a demo site running the WAF? If you do not want to disclose the site publicly here, you can email me the site via

[ ]

[ ]

[ ] the mail address on my profile. :)


Inner pages: Missing word in the page

Hi @helms-charity,
Please see bug details below:
Steps to Reproduce:

Access https://eds-www.888.de/banking/einzahlung/zahlungsmethode/
For the bulleted points, notice that there is a missing word. It should have the word "Aktzeptierte" before "Zahlungsmethode" as compared with the original site.

@jeric888williamhill This issue has been resolved. Please check it and if it's good close out the ticket.

@jeric888williamhill This issue has been resolved. Please check it and if it's good close out the ticket.

Hi @dave-fink ,
I just noticed that letter "n" is missing in the word "Zahlungsmethoden".

The links have been updated.  This is part of content and can be edited easily.

Thanks. Closing this issue.


ini: false error on ; comments

Ini files do also support ; comments and some of them may even prefer them (editors may also add them automatically when using commenting shortcuts).
I observed the this caused errors with mypy.ini files.

The js compiled codes from mvdan-sh is outdated, see also https://github.com/mvdan/sh/issues/760


Type Mismatch: Signed to Unsigned

We have used the 'Firebase/Core' 4.2.5  podfile as per our swift need . Here We have attached the image for your reference: Kindly help us asap.
Issue Summary:
The function encode:() in FIRInstanceIDStringEncoding.m is declared to return an unsigned value, but on line 138 it returns a signed value.The function is declared to return an unsigned number but returns a signed value.

The referenced file FIRInstanceIDStringEncoding.m was deleted in February.  Please run pod update to update your installation.


Problems with docker, needed for testing ibis-exasol locally

Hi there, I'm trying to get the container up to be able to test locally some test for the exasol ibis backend that @Nicoretti added.
In Ibis, we create the container with docker compose via a just command (just up exasol)  which triggers a docker compose up --wait exasol that runs this https://github.com/ibis-project/ibis/blob/580536c02fb2f0263185984384c779dce24fe1d1/compose.yaml#L364C1-L379C21
I'm on a mac m2, but using docker via colima. I'm running colima with virtualization options and adding more memory and cpu resources than the default.
colima start --arch amd64 --memory 6 --cpu 5
and then I trigger I do just exasol up and the container comes up but unhealthy and it's unclear what's causing the problem.
When I check the docker logs I get. Can you help me solve the problem? It's unclear what's causing it.

Logs
[2024-02-14 23:06:37] exadt:: '/exa/etc' does not exist! Doing full initialization.
[2024-02-14 23:06:37] exadt:: searching for the first interface with state UP
[2024-02-14 23:06:37] exadt:: copying license file ''/.license.xml'' to ''/exa/etc/license.xml''
[2024-02-14 23:06:37] exadt:: initializing EXAConf
[2024-02-14 23:06:38] exadt:: using interface 'eth0@if16' with address '<IP_ADDRESS>/16'.
[2024-02-14 23:06:38] exadt:: setting hostname to 'n11'
[2024-02-14 23:06:38] exadt:: creating EXAStorage devices
[2024-02-14 23:06:38] exadt:: calling '('/usr/opt/EXASuite-7/EXARuntime-7.1.25/bin/numactl', ['--interleave=all', '/usr/opt/EXASuite-7/EXAClusterOS-7.1.25/libexec/exainit.py'])'
[2024-02-14 23:06:40] stage0: Output redirected to '/exa/logs/cored/exainit.log'
[2024-02-14 23:06:41] stage0: Run service init_done_marker
[2024-02-14 23:06:41] stage0: Run service license_check
[2024-02-14 23:06:41] stage0: Run service fix_permissions
[2024-02-14 23:06:41] stage0: Run service prepare_update
[2024-02-14 23:06:41] stage0: Run service node_options
[2024-02-14 23:06:41] stage0: Run service register_node
[2024-02-14 23:06:41] stage0: Run service next_stage
[2024-02-14 23:06:41] stage0: Current environment settings:
[2024-02-14 23:06:41] stage0: >>> [('COS_CONF_DIR', '/exa'),
[2024-02-14 23:06:41] stage0: >>>  ('COS_DIRECTORY', '/usr/opt/EXASuite-7/EXAClusterOS-7.1.25'),
[2024-02-14 23:06:41] stage0: >>>  ('EXA_DB_VERSION', '7.1.25'),
[2024-02-14 23:06:41] stage0: >>>  ('EXA_IMG_VERSION', '7.1.25'),
[2024-02-14 23:06:41] stage0: >>>  ('EXA_NODE_ID', '11'),
[2024-02-14 23:06:41] stage0: >>>  ('EXA_OS_VERSION', '7.1.25'),
[2024-02-14 23:06:41] stage0: >>>  ('EXA_RE_VERSION', '7.1.25'),
[2024-02-14 23:06:41] stage0: >>>  ('HOME', '/'),
[2024-02-14 23:06:41] stage0: >>>  ('HOSTNAME', 'n11'),
[2024-02-14 23:06:41] stage0: >>>  ('LANG', 'C'),
[2024-02-14 23:06:41] stage0: >>>  ('LC_ADDRESS', 'C'),
[2024-02-14 23:06:41] stage0: >>>  ('LC_COLLATE', 'C'),
[2024-02-14 23:06:41] stage0: >>>  ('LC_CTYPE', 'en_US.utf8'),
[2024-02-14 23:06:41] stage0: >>>  ('LC_IDENTIFICATION', 'C'),
[2024-02-14 23:06:41] stage0: >>>  ('LC_MEASUREMENT', 'C'),
[2024-02-14 23:06:41] stage0: >>>  ('LC_MESSAGES', 'C'),
[2024-02-14 23:06:41] stage0: >>>  ('LC_MONETARY', 'C'),
[2024-02-14 23:06:41] stage0: >>>  ('LC_NAME', 'C'),
[2024-02-14 23:06:41] stage0: >>>  ('LC_NUMERIC', 'C'),
[2024-02-14 23:06:41] stage0: >>>  ('LC_PAPER', 'C'),
[2024-02-14 23:06:41] stage0: >>>  ('LC_TELEPHONE', 'C'),
[2024-02-14 23:06:41] stage0: >>>  ('LC_TIME', 'C'),
[2024-02-14 23:06:41] stage0: >>>  ('MANPATH',
[2024-02-14 23:06:41] stage0: >>>   '/usr/opt/EXASuite-7/EXAClusterOS-7.1.25/man:/usr/local/share/man:/usr/share/man'),
[2024-02-14 23:06:41] stage0: >>>  ('PATH',
[2024-02-14 23:06:41] stage0: >>>   '/usr/opt/EXASuite-7/EXAClusterOS-7.1.25/bin:/usr/opt/EXASuite-7/EXAClusterOS-7.1.25/sbin:/usr/opt/EXASuite-7/EXARuntime-7.1.25/bin:/usr/opt/EXASuite-7/EXARuntime-7.1.25/sbin:/bin:/sbin:/usr/bin:/usr/sbin'),
[2024-02-14 23:06:41] stage0: >>>  ('PWD', '/'),
[2024-02-14 23:06:41] stage0: >>>  ('RE_PATH', '/usr/opt/EXASuite-7/EXARuntime-7.1.25'),
[2024-02-14 23:06:41] stage0: >>>  ('SHLVL', '0')]
[2024-02-14 23:06:41] stage0: Successfully set timestamps of all jobs to the current date for anacron.
[2024-02-14 23:06:41] stage0: Init done marker in mode 'start' done with file '/exa/etc/init_done' done.
[2024-02-14 23:06:41] stage0: You have following license limits:
[2024-02-14 23:06:41] stage0: >>>     Database memory (GiB):         10 Main memory (RAM) usable by databases
[2024-02-14 23:06:41] stage0: >>>   Database raw size (GiB):         10 Raw Size of Databases (see Value RAW_OBJECT_SIZE in System Tables)
[2024-02-14 23:06:41] stage0: >>>             Cluster nodes:          1 Number of usable cluster nodes
[2024-02-14 23:06:41] stage0: >>>   Database mem size (GiB):  unlimited Compressed Size of Databases (see Value MEM_OBJECT_SIZE in System Tables)
[2024-02-14 23:06:41] stage0: >>>           Expiration date:  unlimited Date of license expiration
[2024-02-14 23:06:41] stage0: Permissions fixed: nsexec
[2024-02-14 23:06:41] stage0: Current node id is '11'
[2024-02-14 23:06:41] stage0: Node could not be registered.
[2024-02-14 23:06:41] stage0: Next stage will be 'stage1'.
[2024-02-14 23:06:43] stage1: Output redirected to '/exa/logs/cored/exainit.log'
[2024-02-14 23:06:43] stage1: Run stage 'stage1'
[2024-02-14 23:06:43] stage1: Ignore service environment_conf
[2024-02-14 23:06:43] stage1: Ignore service rc_local
[2024-02-14 23:06:43] stage1: Run service node_options
[2024-02-14 23:06:43] stage1: Run service prepare_update
[2024-02-14 23:06:43] stage1: Run service timezone
[2024-02-14 23:06:43] stage1: Run service create_users
[2024-02-14 23:06:46] stage1: Run service node_etc_cos
[2024-02-14 23:06:47] stage1: Run service name_resolution
[2024-02-14 23:06:47] stage1: Run service sysctl
[2024-02-14 23:06:47] stage1: Run service hugepages_support
[2024-02-14 23:06:47] stage1: Run service diskconf
[2024-02-14 23:06:47] stage1: Run service broadcast_peers
[2024-02-14 23:06:47] stage1: Run service lvm_config
[2024-02-14 23:06:47] stage1: Run service devshm_config
[2024-02-14 23:06:47] stage1: Run service root_bashrc
[2024-02-14 23:06:47] stage1: Run service rsyslogd
[2024-02-14 23:06:47] stage1: Run service crond
[2024-02-14 23:06:47] stage1: Run service super_cored
[2024-02-14 23:06:48] stage1: Run service storaged_conf
[2024-02-14 23:06:48] stage1: Run service bucketfs
[2024-02-14 23:06:48] stage1: Run service cored_command
[2024-02-14 23:06:48] stage1: Run service next_stage
[2024-02-14 23:06:48] stage1: Current node id is '11'
[2024-02-14 23:06:48] stage1: Current node options are:
[2024-02-14 23:06:48] stage1: >>> [('_sec_name', 'Node : 11'),
[2024-02-14 23:06:48] stage1: >>>  ('affinity', '11'),
[2024-02-14 23:06:48] stage1: >>>  ('disks',
[2024-02-14 23:06:48] stage1: >>>   {'disk1': {'component': 'exastorage',
[2024-02-14 23:06:48] stage1: >>>              'devices': ['dev.1'],
[2024-02-14 23:06:48] stage1: >>>              'direct_io': True,
[2024-02-14 23:06:48] stage1: >>>              'ephemeral': False,
[2024-02-14 23:06:48] stage1: >>>              'mapped_devices': [('/exa/data/storage/dev.1',
[2024-02-14 23:06:48] stage1: >>>                                  '/exa/data/storage/dev.1')],
[2024-02-14 23:06:48] stage1: >>>              'mapping': [('dev.1', '/exa/data/storage')],
[2024-02-14 23:06:48] stage1: >>>              'name': 'disk1'}}),
[2024-02-14 23:06:48] stage1: >>>  ('docker_volume', '/exa/etc/n11'),
[2024-02-14 23:06:48] stage1: >>>  ('exposed_ports', [(8563, 8574), (2580, 2591)]),
[2024-02-14 23:06:48] stage1: >>>  ('id', '11'),
[2024-02-14 23:06:48] stage1: >>>  ('name', 'n11'),
[2024-02-14 23:06:48] stage1: >>>  ('private_ip', '<IP_ADDRESS>'),
[2024-02-14 23:06:48] stage1: >>>  ('private_net', '<IP_ADDRESS>/16'),
[2024-02-14 23:06:48] stage1: >>>  ('state', ''),
[2024-02-14 23:06:48] stage1: >>>  ('uuid', 'B3903957569A41EE83A2A3635710DAA7BE62DDB4')]
[2024-02-14 23:06:48] stage1: Configure OS timezone Europe/Berlin
[2024-02-14 23:06:48] stage1: >>> is configured with wrong file '../usr/share/zoneinfo/UTC'
[2024-02-14 23:06:48] stage1: Following user/group entries are configured:
[2024-02-14 23:06:48] stage1: >>> users: exadefusr, exameta, root
[2024-02-14 23:06:48] stage1: >>> groups: exaadm, exabfsadm, exadbadm, exameta, exastoradm, exausers, root
[2024-02-14 23:06:48] stage1: Current node UUID is 'B3903957569A41EE83A2A3635710DAA7BE62DDB4' (EXAConf)
[2024-02-14 23:06:48] stage1: /etc/hosts content:
[2024-02-14 23:06:48] stage1: >>> # hosts is generated by exaconf
[2024-02-14 23:06:48] stage1: >>> <IP_ADDRESS> localhost localhost.localdomain
[2024-02-14 23:06:48] stage1: >>> <IP_ADDRESS> n11
[2024-02-14 23:06:48] stage1: /etc/hostname content:
[2024-02-14 23:06:48] stage1: >>> n11
[2024-02-14 23:06:48] stage1: /etc/resolv.conf content:
[2024-02-14 23:06:48] stage1: >>> # Generated by exaconf
[2024-02-14 23:06:48] stage1: >>> nameserver <IP_ADDRESS>
[2024-02-14 23:06:48] stage1: Following sysctl parameters have incorrect values (should != is):
[2024-02-14 23:06:48] stage1: net.core.netdev_max_backlog: '1000' != None
[2024-02-14 23:06:48] stage1: net.core.rmem_default: '4194304' != None
[2024-02-14 23:06:48] stage1: net.core.rmem_max: '4194304' != None
[2024-02-14 23:06:48] stage1: net.core.wmem_default: '524288' != None
[2024-02-14 23:06:48] stage1: net.core.wmem_max: '1048576' != None
[2024-02-14 23:06:48] stage1: /sys/kernel/mm/transparent_hugepage/enabled: 'never' != 'always madvise [never]'
[2024-02-14 23:06:48] stage1: /sys/kernel/mm/transparent_hugepage/defrag: 'never' != 'always defer defer+madvise madvise [never]'
[2024-02-14 23:06:48] stage1: Hugetable filesystem successfully mounted.
[2024-02-14 23:06:48] stage1: Hugetable group is configured.
[2024-02-14 23:06:48] stage1: Registering device '/exa/data/storage/dev.1'
[2024-02-14 23:06:48] stage1: Following nodes are registered: <IP_ADDRESS>:325
[2024-02-14 23:06:48] stage1: Wrong configured LVM parameters:
[2024-02-14 23:06:48] stage1: >>> 'cache_dir' = "/run/lvm" (before "/etc/lvm/cache")
[2024-02-14 23:06:48] stage1: >>> 'udev_sync' = 0 (before 1)
[2024-02-14 23:06:48] stage1: >>> 'udev_rules' = 0 (before 1)
[2024-02-14 23:06:48] stage1: /dev/shm was remounted to the proper size of 1048576 KiB (from 65536 KiB of type tmpfs)
[2024-02-14 23:06:48] stage1: rsyslogd was configured
[2024-02-14 23:06:48] stage1: crond was configured
[2024-02-14 23:06:48] stage1: super_cored started with return code: 0
[2024-02-14 23:06:48] stage1: storaged config file genarated here: '/exa/etc/cos_storage.conf'
[2024-02-14 23:06:48] stage1: Call cored with following command: '/usr/opt/EXASuite-7/EXAClusterOS-7.1.25/libexec/cos_cored -n 11 --renice -10 --auth-sock-dir /var/lock --oom-adjustment -350 -m <IP_ADDRESS> -s <IP_ADDRESS> -t 325 -l /exa/logs/cored --node-uuid B3903957569A41EE83A2A3635710DAA7BE62DDB4 --default-file-mode 600 --with-strict-node-id --use-privileged-ports --allow-only-same-subnet /usr/opt/EXASuite-7/EXAClusterOS-7.1.25/libexec/exainit.py stage2'
[2024-02-14 23:06:48] stage1: Next stage will be 'stage2'.
[2024-02-15 00:06:48] Starting with PID 1
[2024-02-15 00:06:48] Core Daemon v7.1.25  (build d3f7957f5577e0d726b3babfd5ca8e51afdb3d1d)
[2024-02-15 00:06:48] Using multicast address <IP_ADDRESS>.
[2024-02-15 00:06:48] Using node name B3903957569A41EE83A2A3635710DAA7BE62DDB4.
[2024-02-15 00:06:48] Receive socket is bind to interface eth0.
[2024-02-15 00:06:48] Interface address specified (<IP_ADDRESS>). Finding corresponding subnet to filter with.
[2024-02-15 00:06:48] ---- Filtering incoming packets by subnets ----
[2024-02-15 00:06:48] addr <IP_ADDRESS> mask <IP_ADDRESS>
[2024-02-15 00:06:48] Started UNIX socket authentication engine (authentication socket directory is /var/lock).
[2024-02-15 00:06:48] Core Engine started ... logdir=/exa/logs/cored
[2024-02-15 00:06:48] child 17 (anacron) returned with state 0.
[2024-02-15 00:06:50] Received transitional Config Change Message: rid=0 seq=10977545566552065 conf=3 <>
[2024-02-15 00:06:50] Received regular Config Change Message: rid=4 seq=0 conf=3 < B3903957569A41EE83A2A3635710DAA7BE62DDB4>
[2024-02-15 00:06:50] Self information: NID = <invalid>, address = <none>; event_id: 0; no. of cluster nodes: 0
[2024-02-15 00:06:50]   11: B3903957569A41EE83A2A3635710DAA7BE62DDB4 (offline) usage: 0
[2024-02-15 00:06:50] No partitions known.
[2024-02-15 00:06:50] Taking over offline nodes (if any)
[2024-02-15 00:06:50] Active Nodes: 1 - B3903957569A41EE83A2A3635710DAA7BE62DDB4
[2024-02-15 00:06:50] Nodes of last Configuration: 0 -
[2024-02-15 00:06:50] Config Change completed.
[2024-02-15 00:06:50] Self information: NID = 11, address = B3903957569A41EE83A2A3635710DAA7BE62DDB4; event_id: 2; no. of cluster nodes: 1
[2024-02-15 00:06:50]   11: B3903957569A41EE83A2A3635710DAA7BE62DDB4 (available) usage: 0
[2024-02-15 00:06:50] No partitions known.
[2024-02-15 00:06:50] Started /usr/opt/EXASuite-7/EXAClusterOS-7.1.25/libexec/exainit.py with PID:254 UID:0 GID:0 Part:0 Node:11
[2024-02-15 00:06:52] stage2: Run stage 'stage2'
[2024-02-15 00:06:52] stage2: Ignore service environment_conf
[2024-02-15 00:06:52] stage2: Ignore service rc_local
[2024-02-15 00:06:52] stage2: Ignore service create_users
[2024-02-15 00:06:52] stage2: Run service node_options
[2024-02-15 00:06:52] stage2: Run service prepare_update
[2024-02-15 00:06:52] stage2: Run service init_dev_structure
init_dev_structure: Skipping LVM device initialization due to device_type 'file'
[2024-02-15 00:06:52] stage2: Run service remote_volumes
[2024-02-15 00:06:52] stage2: Run service wait_for_nodes
[2024-02-15 00:06:52] stage2: Run service ssl_init
[2024-02-15 00:07:00] Started /usr/opt/EXASuite-7/EXAClusterOS-7.1.25/sbin/cos_sync_files with PID:278 UID:0 GID:0 Part:1 Node:0
[2024-02-15 00:07:03] stage2: Run service next_stage_for_slave
Waiting for 0 slave nodes to reach the barrier (13000)
[2024-02-15 00:07:03] stage2: Run service sshd
[2024-02-15 00:07:03] child 278 (Part:1 Node:0 cos_sync_files) returned with state 0.
[2024-02-15 00:07:03] Started /bin/sh with PID:356 UID:0 GID:0 Part:2 Node:0
[2024-02-15 00:07:03] child 356 (Part:2 Node:0 sh) returned with state 0.
[2024-02-15 00:07:05] Started /bin/sh with PID:408 UID:0 GID:0 Part:3 Node:0
[2024-02-15 00:07:05] child 408 (Part:3 Node:0 sh) returned with state 0.
Thu Feb 15 00:07:06 CET 2024: start script '/usr/opt/EXASuite-7/EXAClusterOS-7.1.25/sbin/cos_sync_files'.
Thu Feb 15 00:07:06 CET 2024: pack files for sync.
root/.ssh/id_rsa
root/.ssh/id_rsa.pub
root/.ssh/authorized_keys
root/.ssh/config
No nodes to synchronize.
Thu Feb 15 00:07:09 CET 2024: start script '/usr/opt/EXASuite-7/EXAClusterOS-7.1.25/sbin/cos_sync_files'.
Thu Feb 15 00:07:09 CET 2024: pack files for sync.
home/exadefusr/.ssh/id_rsa
home/exadefusr/.ssh/id_rsa.pub
home/exadefusr/.ssh/authorized_keys
home/exadefusr/.ssh/config
No nodes to synchronize.
[2024-02-15 00:07:10] Started /bin/sh with PID:503 UID:0 GID:0 Part:4 Node:0
[2024-02-15 00:07:11] stage2: Run service rsyslogd
[2024-02-15 00:07:11] stage2: Run service crond
[2024-02-15 00:07:11] stage2: Run service logd
[2024-02-15 00:07:11] stage2: Run service lockd
[2024-02-15 00:07:11] stage2: Run service merge_and_sync_exaconf
[2024-02-15 00:07:11] Started /sbin/rsyslogd with PID:506 UID:0 GID:0 Part:5 Node:0
[2024-02-15 00:07:11] Started /sbin/crond with PID:507 UID:0 GID:0 Part:6 Node:0
[2024-02-15 00:07:11] Started /usr/opt/EXASuite-7/EXAClusterOS-7.1.25/libexec/logd with PID:508 UID:0 GID:0 Part:7 Node:0
[2024-02-15 00:07:11] Started /usr/opt/EXASuite-7/EXAClusterOS-7.1.25/libexec/lockd with PID:509 UID:0 GID:0 Part:8 Node:0
[2024-02-15 00:07:11] Started /bin/sh with PID:514 UID:0 GID:0 Part:9 Node:0
FILE_SYNC: Starting partition with shell and command 'for((I=30; I>0; I--)); do scp /exa/etc/EXAConf "n11:/exa/spool/sync/EXAConf_gfiedic3/EXAConf_$EXA_NODE_ID" 2>&1 && exit 0; sleep 0.$((RANDOM % 6 + 1)); done; exit 1' on nodes [11].
FILE_SYNC: Synchronizing file '/exa/etc/EXAConf' between all nodes.
FILE_SYNC: Generated temporary filename '/exa/etc/EXAConf_0.11.1707952032.3640013'.
FILE_SYNC: Starting partition with shell and command 'tee /exa/etc/EXAConf_0.11.1707952032.3640013 2>&1 1>/dev/null' on nodes [11].
FILE_SYNC: 'tee' wrote 6718 bytes.
FILE_SYNC: Transferring access rights of file '/exa/etc/EXAConf' to file '/exa/etc/EXAConf_0.11.1707952032.3640013' .
FILE_SYNC: Starting partition with shell and command 'if [ -e /exa/etc/EXAConf ]; then chmod --reference=/exa/etc/EXAConf /exa/etc/EXAConf_0.11.1707952032.3640013 && chown --reference=/exa/etc/EXAConf /exa/etc/EXAConf_0.11.1707952032.3640013; fi 2>&1' on nodes [11].
FILE_SYNC: Moving file '/exa/etc/EXAConf_0.11.1707952032.3640013' to '/exa/etc/EXAConf'.
FILE_SYNC: Starting partition with shell and command 'mv -f /exa/etc/EXAConf_0.11.1707952032.3640013 /exa/etc/EXAConf 2>&1' on nodes [11].
[2024-02-15 00:07:12] stage2: Run service fix_script_lang_containers_config
FILE_SYNC: Synchronizing file '/exa/etc/EXAConf' between all nodes.
FILE_SYNC: Generated temporary filename '/exa/etc/EXAConf_0.11.1707952032.6652439'.
FILE_SYNC: Starting partition with shell and command 'tee /exa/etc/EXAConf_0.11.1707952032.6652439 2>&1 1>/dev/null' on nodes [11].
FILE_SYNC: 'tee' wrote 6829 bytes.
FILE_SYNC: Transferring access rights of file '/exa/etc/EXAConf' to file '/exa/etc/EXAConf_0.11.1707952032.6652439' .
FILE_SYNC: Starting partition with shell and command 'if [ -e /exa/etc/EXAConf ]; then chmod --reference=/exa/etc/EXAConf /exa/etc/EXAConf_0.11.1707952032.6652439 && chown --reference=/exa/etc/EXAConf /exa/etc/EXAConf_0.11.1707952032.6652439; fi 2>&1' on nodes [11].
FILE_SYNC: Moving file '/exa/etc/EXAConf_0.11.1707952032.6652439' to '/exa/etc/EXAConf'.
FILE_SYNC: Starting partition with shell and command 'mv -f /exa/etc/EXAConf_0.11.1707952032.6652439 /exa/etc/EXAConf 2>&1' on nodes [11].
[2024-02-15 00:07:12] stage2: Run service slave_unblock
[2024-02-15 00:07:12] stage2: Run service next_stage
[2024-02-15 00:07:12] stage2: Current node id is '11'
[2024-02-15 00:07:12] stage2: Skipping LVM device initialization due to device_type 'file'
[2024-02-15 00:07:12] stage2: All nodes are online: ('n11',)
[2024-02-15 00:07:12] stage2: Current SSL configuration:
[2024-02-15 00:07:12] stage2: >>>     CA cert: /exa/etc/ssl/ssl.ca
[2024-02-15 00:07:12] stage2: >>> server cert: /exa/etc/ssl/ssl.crt
[2024-02-15 00:07:12] stage2: >>>  server key: /exa/etc/ssl/ssl.key
[2024-02-15 00:07:12] stage2: Current node is a master node.
[2024-02-15 00:07:12] stage2: sshd was started with PID 4
[2024-02-15 00:07:12] stage2: SSH keys for following users was generated: 0, 500
[2024-02-15 00:07:12] stage2: rsyslogd was started with PID 5
[2024-02-15 00:07:12] stage2: crond was started with PID 6
[2024-02-15 00:07:12] stage2: logd was started with PID 7
[2024-02-15 00:07:12] stage2: lockd was started with PID 8
[2024-02-15 00:07:12] stage2: Merged the EXAConf of 1 nodes.
[2024-02-15 00:07:12] stage2: UDF configuration fixed in: DB1
[2024-02-15 00:07:12] stage2: >>> use container ScriptLanguages-standard-EXASOL-7.1.0-slc-v6.0.0-VYP23K36
[2024-02-15 00:07:12] stage2: Next stage will be 'stage3'.
[2024-02-15 00:07:12] child 514 (Part:9 Node:0 sh) returned with state 0.
[2024-02-15 00:07:12] Started /bin/sh with PID:536 UID:0 GID:0 Part:10 Node:0
[2024-02-15 00:07:12] child 536 (Part:10 Node:0 sh) returned with state 0.
[2024-02-15 00:07:12] Started /bin/sh with PID:538 UID:0 GID:0 Part:11 Node:0
[2024-02-15 00:07:12] child 538 (Part:11 Node:0 sh) returned with state 0.
[2024-02-15 00:07:12] Started /bin/sh with PID:541 UID:0 GID:0 Part:12 Node:0
[2024-02-15 00:07:12] child 541 (Part:12 Node:0 sh) returned with state 0.
[2024-02-15 00:07:12] Started /bin/sh with PID:545 UID:0 GID:0 Part:13 Node:0
[2024-02-15 00:07:12] child 545 (Part:13 Node:0 sh) returned with state 0.
[2024-02-15 00:07:12] Started /bin/sh with PID:547 UID:0 GID:0 Part:14 Node:0
[2024-02-15 00:07:12] child 547 (Part:14 Node:0 sh) returned with state 0.
[2024-02-15 00:07:12] Started /bin/sh with PID:550 UID:0 GID:0 Part:15 Node:0
[2024-02-15 00:07:12] child 550 (Part:15 Node:0 sh) returned with state 0.
[2024-02-15 00:07:15] stage3: Output redirected to '/exa/logs/cored/exainit.log'
[2024-02-15 00:07:15] stage3: Run stage 'stage3'
[2024-02-15 00:07:15] stage3: Ignore service environment_conf
[2024-02-15 00:07:15] stage3: Ignore service rc_local
[2024-02-15 00:07:15] stage3: Ignore service hugepages
[2024-02-15 00:07:15] stage3: Run service node_options
[2024-02-15 00:07:15] stage3: Run service prepare_update
[2024-02-15 00:07:15] stage3: Run service sshd
[2024-02-15 00:07:15] stage3: Run service databases_conf
[2024-02-15 00:07:15] stage3: Run service wait_for_nodes
[2024-02-15 00:07:15] stage3: Run service bucketfs
[2024-02-15 00:07:15] stage3: Run service storaged_upgrade
[2024-02-15 00:07:15] stage3: Run service next_stage_for_slave
Waiting for 0 slave nodes to reach the barrier (13001)
[2024-02-15 00:07:15] stage3: Run service healthd
[2024-02-15 00:07:15] stage3: Run service dwad
[2024-02-15 00:07:15] Started /usr/opt/EXASuite-7/EXAClusterOS-7.1.25/libexec/bucketfsd with PID:563 UID:500 GID:500 Part:16 Node:0
[2024-02-15 00:07:15] Started /usr/opt/EXASuite-7/EXAClusterOS-7.1.25/libexec/healthd with PID:564 UID:0 GID:0 Part:17 Node:0
[2024-02-15 00:07:15] Started /usr/opt/EXASuite-7/EXAClusterOS-7.1.25/libexec/dwad with PID:565 UID:0 GID:0 Part:18 Node:0
[2024-02-15 00:07:16] stage3: Run service storaged
[2024-02-15 00:07:16] Started /usr/opt/EXASuite-7/EXAClusterOS-7.1.25/bin/csctrl with PID:608 UID:0 GID:0 Part:19 Node:0
[2024-02-15 00:07:16] Started /usr/opt/EXASuite-7/EXAClusterOS-7.1.25/libexec/cos_storage with PID:624 UID:0 GID:0 Part:20 Node:0
[2024-02-15 00:07:16] child 608 (Part:19 Node:0 csctrl) returned with state 0.
[2024-02-15 00:07:17] Force new cluster synchronization upon user request from partition 20.
[2024-02-15 00:07:17] Force new cluster configuration upon user request on node B3903957569A41EE83A2A3635710DAA7BE62DDB4.
[2024-02-15 00:07:17] Received transitional Config Change Message: rid=4 seq=85 conf=7 < B3903957569A41EE83A2A3635710DAA7BE62DDB4>
[2024-02-15 00:07:17] Received regular Config Change Message: rid=8 seq=0 conf=7 < B3903957569A41EE83A2A3635710DAA7BE62DDB4>
[2024-02-15 00:07:17] Self information: NID = 11, address = B3903957569A41EE83A2A3635710DAA7BE62DDB4; event_id: 51; no. of cluster nodes: 1
[2024-02-15 00:07:17]   11: B3903957569A41EE83A2A3635710DAA7BE62DDB4 (available) usage: 9
[2024-02-15 00:07:17]   Partition 4 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 5 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 6 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 7 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 8 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 16 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 17 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 18 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 20 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17] Registered local processes:
[2024-02-15 00:07:17] PID: 254 (PID: 0, NID: 11)
[2024-02-15 00:07:17] PID: 503 (PID: 4, NID: 0)
[2024-02-15 00:07:17] PID: 506 (PID: 5, NID: 0)
[2024-02-15 00:07:17] PID: 507 (PID: 6, NID: 0)
[2024-02-15 00:07:17] PID: 508 (PID: 7, NID: 0)
[2024-02-15 00:07:17] PID: 509 (PID: 8, NID: 0)
[2024-02-15 00:07:17] PID: 563 (PID: 16, NID: 0)
[2024-02-15 00:07:17] PID: 564 (PID: 17, NID: 0)
[2024-02-15 00:07:17] PID: 565 (PID: 18, NID: 0)
[2024-02-15 00:07:17] PID: 624 (PID: 20, NID: 0)
[2024-02-15 00:07:17] Taking over offline nodes (if any)
[2024-02-15 00:07:17] Active Nodes: 1 - B3903957569A41EE83A2A3635710DAA7BE62DDB4
[2024-02-15 00:07:17] Nodes of last Configuration: 1 - B3903957569A41EE83A2A3635710DAA7BE62DDB4
[2024-02-15 00:07:17] Config Change completed.
[2024-02-15 00:07:17] Self information: NID = 11, address = B3903957569A41EE83A2A3635710DAA7BE62DDB4; event_id: 62; no. of cluster nodes: 1
[2024-02-15 00:07:17]   11: B3903957569A41EE83A2A3635710DAA7BE62DDB4 (available) usage: 9
[2024-02-15 00:07:17]   Partition 4 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 5 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 6 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 7 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 8 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 16 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 17 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 18 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17]   Partition 20 contains 1 nodes: [ 11 ]
[2024-02-15 00:07:17] Registered local processes:
[2024-02-15 00:07:17] PID: 254 (PID: 0, NID: 11)
[2024-02-15 00:07:17] PID: 503 (PID: 4, NID: 0)
[2024-02-15 00:07:17] PID: 506 (PID: 5, NID: 0)
[2024-02-15 00:07:17] PID: 507 (PID: 6, NID: 0)
[2024-02-15 00:07:17] PID: 508 (PID: 7, NID: 0)
[2024-02-15 00:07:17] PID: 509 (PID: 8, NID: 0)
[2024-02-15 00:07:17] PID: 563 (PID: 16, NID: 0)
[2024-02-15 00:07:17] PID: 564 (PID: 17, NID: 0)
[2024-02-15 00:07:17] PID: 565 (PID: 18, NID: 0)
[2024-02-15 00:07:17] PID: 624 (PID: 20, NID: 0)
[2024-02-15 00:07:20] stage3: Run service confd
[2024-02-15 00:07:20] stage3: Run service slave_unblock
[2024-02-15 00:07:20] stage3: Run service next_stage
[2024-02-15 00:07:20] stage3: Current node id is '11'
[2024-02-15 00:07:20] stage3: sshd was started with PID 4
[2024-02-15 00:07:20] stage3: Database configuration: /usr/opt/mountjail, /exa/logs/db/DB1
[2024-02-15 00:07:20] stage3: All nodes are online: ('n11',)
[2024-02-15 00:07:20] stage3: Current node is a master node.
[2024-02-15 00:07:20] stage3: healthd was started with PID 17
[2024-02-15 00:07:20] stage3: dwad was started with PID 18
[2024-02-15 00:07:20] stage3: storaged was started with PID 20
[2024-02-15 00:07:20] stage3: confd was started with PID 21
[2024-02-15 00:07:20] stage3: Next stage will be 'stage4'.
[2024-02-15 00:07:20] Started /usr/opt/EXASuite-7/EXAClusterOS-7.1.25/libexec/confd with PID:762 UID:0 GID:0 Part:21 Node:0
[2024-02-15 00:07:23] stage4: Output redirected to '/exa/logs/cored/exainit.log'
[2024-02-15 00:07:23] stage4: Run stage 'stage4'
[2024-02-15 00:07:23] stage4: Ignore service environment_conf
[2024-02-15 00:07:23] stage4: Ignore service rc_local
[2024-02-15 00:07:23] stage4: Run service node_options
[2024-02-15 00:07:23] stage4: Run service prepare_update
[2024-02-15 00:07:23] stage4: Run service wait_for_nodes
[2024-02-15 00:07:23] stage4: Run service storage_ephemeral
[2024-02-15 00:07:25] stage4: Run service next_stage_for_slave
Waiting for 0 slave nodes to reach the barrier (13002)
[2024-02-15 00:07:25] stage4: Run service storage_volumes
[2024-02-15 00:07:25] stage4: Run service virtserverd
[2024-02-15 00:07:25] stage4: Run service webuibackend
[2024-02-15 00:07:25] stage4: Run service databases
[2024-02-15 00:07:25] Started child /usr/opt/EXASuite-7/EXAClusterOS-7.1.25/share/webui_backend/saas (PID: 793) returns with errno set to "No such file or directory".
[2024-02-15 00:07:25] child 793 (membership) returned with state 1.
Thu Feb 15 00:07:27 CET 2024: start script '/usr/opt/EXASuite-7/EXAClusterOS-7.1.25/sbin/cos_sync_files'.
Thu Feb 15 00:07:27 CET 2024: pack files for sync.
exa/etc/dwad/db_DB1_ca.pem
exa/etc/dwad/db_DB1_cert.pem
exa/etc/dwad/db_DB1_key.pem
No nodes to synchronize.
Thu Feb 15 00:07:29 CET 2024: start script '/usr/opt/EXASuite-7/EXAClusterOS-7.1.25/sbin/cos_sync_files'.
Thu Feb 15 00:07:29 CET 2024: pack files for sync.
exa/etc/dwad/db_DB1.conf
No nodes to synchronize.
[2024-02-15 00:07:30] Started /usr/opt/EXASuite-7/EXAClusterOS-7.1.25/bin/dwa_wrapper with PID:893 UID:500 GID:500 Part:23 Node:0
[2024-02-15 00:07:33] child 893 (Part:23 Node:0 controller) returned with state 1.

Hi @ncclementi,
When I set the maximum timeout of 90 seconds for the Container's Health Check, I based it on the observation that approximately 1 minute was sufficient for the standard configuration. Although I'm not a core DB expert, I anticipate that a non-default configuration could take up to 5 minutes for the system to be fully up and operational.
Could you please try adjusting the timeout to 300 seconds to see if that resolves your issue?
If the problem persists, let me know so I can consult with our internal experts for further assistance.
Best,
Nico

Thanks @Nicoretti I'll give that a try. One question, in colima the default resources is 2 cpu and 2GB memory, that's why I was trying to give it more resources, but I understand that in linux the dafault is to take as much as it can?
Not sure if you have this info but when you get your container up, how many CPUs and Memory are assigned?
Thanks

I'm not entirely sure off the top of my head, but @tkilias, who has more experience in these topics, mentioned the following:

The CPU should be unrestricted unless you specifically configure restrictions in Docker. As for memory, the default memory size is 2GB, but it only uses what it needs.

Hi @ncclementi, I just wanted to follow up quickly to see if adjusting the timeout resolved your issue?

@Nicoretti sorry for the delayed, unfortunately it didn't.
As I mentioned I'm running docker using Colima, on a mac with an arm64, using virtualization so I can "replicate" an x86_64 architecture and I have to set up cpu and memory for the instance before running the docker compose. I did give it 8 cpu and plenty and 8GB of memory, plus adjusting the timeout to 300 seconds (I even tried 600s) but I still can't get it to work.
colima start --arch amd64 --cpu 8 --memory 8

Which gives me an instance

But when I try to get the exasol container up with ibis just up exasol I keep getting an unhealthy status
No matter how long the timeout is I always get:

and the same errors reported above when checking docker logs, and it's unclear to me what's happening.

@ncclementi, thanks for the feedback. I will try to get a hold of the Database team to assist with this issue. Please note that the database is not managed publicly, which may result in an extended period of inactivity on this ticket.
Alternatively, you may consider contacting our customer support directly. They have a more efficient feedback loop for issues affecting database components.
Last but not least I will investigate the possibility of upgrading to the Exasol 8.x series in the ibis project.

Hi @ncclementi,
To better understand the issue, it would be helpful if we could access the logs of the problematic container. Below is a step-by-step guide to retrieve them (assuming you are using the standard Ibis Exasol database setup).
Retrieve Support Logs

Ensure the container is "up" (even if it's unhealthy).

Generate the support logs by executing the following command:
docker exec -it ibis-exasol-1 exasupport -d 0 -x 1 -e 1

For more details on the exasupport command, you can have a look at it's documentation.

Copy the support logs to your host machine using the command below.
Note: Replace  with the actual path displayed after executing step 2
docker cp ibis-exasol-1:/<path-outputed-by-step-2> .

Hi @ncclementi,
Thank you for providing the logs. We were able to identify the issue: Exasol requires SSSE3 support, which is not available through the "emulation" layer you are currently using.
If you would like to verify this, please refer to the log file located at /exacluster_debuginfo/n11/exa/logs/logd/EXASolution_DB1.log in the logs you provided. Within this file, you will find the following log entry:
[2024-02-23 14:45:49.960222] ERR: [DB1] Controller(0.0): Shutting down due to missing SSSE3 support.

Although this information may not directly solve your immediate issue, we hope it assists you in better managing the situation.
best
Nico

@Nicoretti Does this mean that unless there is an arm64 compatible docker image/support. Then users in arm64 can't use ibis-exasol.
Is there a plan to build support for exasol on arm64? It's been 3+ years since the architecture is out.

@Nicoretti Does this mean that unless there is an arm64 compatible docker image/support. Then users in arm64 can't use ibis-exasol.

As far as my understanding goes, the key factor is whether the emulation or virtualization layer supports the necessary features, such as SSSE3, for it to function correctly.  This perspective is supported by feedback I have found in a GitHub issue comment. Although I'm not directly familiar with Colima, it appears to offer some means of configuring the virtualization or emulation environment. Should there be a method to enable SSSE3 within its virtualization settings, I would expect the container to work properly.

Is there a plan to build support for exasol on arm64? It's been 3+ years since the architecture is out.

This question seems best suited for our product management team. I'll see if I can obtain their feedback on this matter.
On a personal note, as far as I understand the Docker container is primarily intended for small-scale testing and experimentation.

@ncclementi  as so often, the matter is quite complex, but the TL;DR of the PM feedback on ARM support is as follows: "Support is not planned yet."

Thanks @Nicoretti.
Colima documentation is not great, but there might be an option of enabling ssse3 . I'll investigate this later, and report back.
https://github.com/abiosoft/colima/blob/9b0809d0ed9ad3ff1e57c405f27324e6298ca04f/embedded/defaults/colima.yaml#L130-L134

Hi @ncclementi,
any updates (good news) from your side on this?
Otherwise I think this should be closed with won't fix (at lest for now).

Hi @Nicoretti I'll have some time next week to give it a second try. I'll report back and if not I'll close it myself.

 He did tried virtualization and enabling ssse3 but no luck.
I'm not sure what next steps are for your team, but it would be great if we were able to test the exasol backend on M1/M2.

@ncclementi, @mfatihaktas  could you help me out by sharing the support logs from the run with ssse3 on M1/M2? For how to do this, see https://github.com/exasol/docker-db/issues/78#issuecomment-1961399307. I'm keen to take a look and see if I can find anything interesting there.
Thanks so much!
best
Nico


ci: Run micro-bechmarks on every commit and PR

Description
APM Data is a crucial module, rather than just rely on the APM Server benchmarks to detect potential performance regressions, run the Go micro benchmarks for every commit and in every PR, so any regressions (and performance improvements) can be caught early

@cachedout can the automation team drive this?

@cachedout friendly reminder, do you think the eng.productivity team could take this on?

Apologies for missing this earlier. Yes, certainly. I've added it to our queue.

@cachedout is there an ETA for this? It seems that this is part of your board, but not yet scheduled (afaics).

IIUC, you want to run go test -bench=. -count=10 as explained https://pkg.go.dev/golang.org/x/perf/cmd/benchstat#hdr-Example but using the existing micro-benchmark pool? Or are you happy to use the existing ephemeral GitHub runners?
If it requires the micro-benchmark then we are at the moment blocked by some security concerns. The current pool of micro-benchmarks are defined in Buildkite, and to simplify how to use them we have provided a GitHub action integration with Buildkite, but it requires some GitHub secret access and running on forker PRs we cannot use any secrets.

IMO github runners are fine; the objective is to run the benchmark tests on every PR and commit to be aware of regressions.

Thanks Silvia, one more question:

do we need to compare the output with a previous run? Or that's not required for the time being but something to be done in a follow up?

Otherwise https://github.com/elastic/apm-data/pull/168 is the proposal, so we can iterate on this if needed

PR has been merged and https://github.com/elastic/apm-data/runs/17814931419 is one of the examples with the report.
It's possible to configure the thresholds and the status of the build as explained in https://github.com/elastic/apm-data/pull/170#discussion_r1361316159. Let me know if you want to change the settings to be less relaxed and notify if a big variation in the benchmarks with some failures.
I'll close this now, feel free to reach me if you need something else. 🙏

I've just found wrongly that pull_request does not allow to create GitHub checks on forked PRs, hence https://github.com/elastic/apm-data/pull/173 is the alternative to visualise the micro-benchmarks when running on forked PRs.


Multi-CQ + doubling cmddatQ and max prefetch size for tensix dispatch bug in writing large buffer

Branch abhullar/fetch-cmddat-sizes increases number of fetchQ entries and doubles cmddatQ and max prefetch size for dispatch out of tensix.
It seems like increasing max prefetch size from 64K to 128K causes failure in 1GB EWB/ERB multi-CQ test:
[ RUN      ] MultiCommandQueueSingleDeviceFixture.TestIssueMultipleReadWriteCommandsForOneBuffer
                  Metal | INFO     | Initializing device 0. Program cache is NOT enabled
                  Metal | INFO     | AI CLK for device 0 is:   1202 MHz
                 Always | FATAL    | Event Order Issue: expected to read back completion signal for event 1 but got 234882048!
terminate called after throwing an instance of 'std::runtime_error'
  what():  TT_ASSERT @ tt_metal/impl/dispatch/command_queue.cpp:1502: event_completed == read_descriptor.event_id

with watcher enabled we hit assert of seeing invalid command in the prefetcher
              LLRuntime | INFO     | Watcher checking device 0
                 Always | WARNING  | Watcher stopped the device due to tripped assert, see watcher log for more details
                 Always | WARNING  | Device 0 worker core(x= 1,y= 9) phys(x= 2,y=11): ncrisc tripped an assert on line 874. Current kernel: tt_metal/impl/dispatch/kernels/cq_prefetch.cpp. Note that file name reporting is not yet implemented, and the reported line number for the assert may be from a different file.
                 Always | INFO     | Last waypoint:  NTW,!CMD,   W,   W,   W
                 Always | INFO     | While running kernels:
                 Always | INFO     |  brisc : blank
                 Always | INFO     |  ncrisc: tt_metal/impl/dispatch/kernels/cq_prefetch.cpp
                 Always | INFO     |  triscs: blank
                 Always | FATAL    | Watcher detected tripped assert and stopped device.

cmd to repro: TT_METAL_WATCHER=120 TT_METAL_NUM_HW_CQS=2 ./build/test/tt_metal/unit_tests_fast_dispatch_single_chip_multi_queue --gtest_filter=MultiCommandQueueSingleDeviceFixture.TestIssueMultipleReadWriteCommandsForOneBuffe

This branch had three changes:

increase num fetchQ entries to 4K (from 128)
double cmddatQ size (128K to 256K)
increase max fetch size (64K to 128K)

combination of these three was causing the issue above. reverting either 1 or 3 is a workaround for the issue.
reverting 3 yielded lower perf numbers on the model perf pipeline than reverting 1 so I went with workaround of merging 2 and 3 to fd-2/main.
changes 2 and 3 yield better perf than what was first reported in #7816.
Model perf pipeline for reduced num fetchQ entries: https://github.com/tenstorrent/tt-metal/actions/runs/8862959986
Model perf pipeline for reducing fetch size: https://github.com/tenstorrent/tt-metal/actions/runs/8862972357

Closing as this is understood.  We need to be careful going forward of the relative sizes of these and/or need to put in explicit wrap handling


Actually make the change intended in #111

This actually updates the peerDependencies reference

@sandersky self-merging


STEM and diagrams enabling

How to enable the https://asciidoctor.org/docs/asciidoctor-diagram/ and https://docs.asciidoctor.org/asciidoc/latest/stem/stem/ ?
I tried to do it by adding the 'Install plantuml' and 'Install gnuplot' steps into asciidoctor-ghpages.yml but it seems doesn't work:
name: asciidoctor-ghpages

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - uses: actions/checkout@v2

      - name: Install plantuml
        run: sudo apt-get install -y plantuml

      - name: Install gnuplot
        run: sudo apt-get install -y gnuplot

      - name: asciidoctor-ghpages
        uses: manoelcampos/asciidoctor-ghpages-action@v2
        with:
          asciidoctor_params: --attribute=nofooter
          pdf_build: true

I haven't tried that but I would expect it to work. Do you have any public repo where I can check the workflow logs?

I'm having the same issue and I think I know why:
asciidoctor-docker has support for asciidoctor-diagram
however this github-action doesn't add the generated image files to the gh-pages branch

To add -r asciidoctor-diagram I used
      asciidoctor_params: "-r asciidoctor-diagram" # add support for diagrams

Which was working, except for the fact that the images weren't pushed to the repo
So, what I did was use the the new post_build option
      post_build: 'find . -name "*.png" -name "*.svg" | xargs git add -f'

However, to do so I had to update to version 2.0.3 and when I did that asciidoctor_params stopped working
https://github.com/Forward-Lang/forward/runs/2841084674?check_suite_focus=true


Add docs/migration-renumbering.md

We will either need to amend this commit or add a follow-up commit to integrate this new file into the existing docs.

Automated message from Dropbox CLA bot
@showell, it looks like you've already signed the Dropbox CLA. Thanks!

Thanks for doing this @showell!  It probably makes sense to just merge this in as an extended tutorial section of http://zulip.readthedocs.io/en/latest/schema-migrations.html (which currently only have a brief paragraph about this issue).

My only concern with inlining it into the doc is that it's a fairly involved piece of documentation that most folks will probably only need to read once or twice.  I don't feel strongly, though, as we could always extract it out in the future.  Thoughts?

I think it'd be reasonable to keep it as a separate doc and just link it from there.  Maybe at some later date when we've built a nice tool for doing this and the process is really simple, we could inline that process into the other doc.

Merged, thanks @showell!


How to use feign client between my services with csrf protection ?

I have 403 when I attempt to contact my services with feign. How to manage it ? I want csrf protection.
Caused by: feign.FeignException: status 403 reading CharacterApi#createNewCharacterList(String); content:
{"timestamp":1455221787486,"status":403,"error":"Forbidden","message":"Expected CSRF token not found. Has your session expired?","path":"/characterList/max3"}
	at feign.FeignException.errorStatus(FeignException.java:62) ~[feign-core-8.12.1.jar:8.12.1]
	at feign.codec.ErrorDecoder$Default.decode(ErrorDecoder.java:91) ~[feign-core-8.12.1.jar:8.12.1]
	at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:126) ~[feign-core-8.12.1.jar:8.12.1]
	at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:74) ~[feign-core-8.12.1.jar:8.12.1]
	at feign.hystrix.HystrixInvocationHandler$1.run(HystrixInvocationHandler.java:54) ~[feign-hystrix-8.12.1.jar:8.12.1]
	at com.netflix.hystrix.HystrixCommand$1.call(HystrixCommand.java:294) ~[hystrix-core-1.4.21.jar:1.4.21]

If you have Spring Security on the server you can ask it to send you a cookie with the CSRF token, or you can set up an endpoint to read the session cookie and CSRF token from. You are going to have to send the session cookie as well, so be prepared for some header schlepping and some state management work.
I can't really see why a Feign client needs to send a CSRF token though. Do you have a scenario where you are worried about a specific threat?

Hi, thanks for reply.
Yes I have spring security on my servers. Each server manage its own security concern but authentication is on gateway with zull and shared redis.
Each micro services is exposed through the gateway so I need csrf protection.
The use case is tha

So your backend resources are used both by a browser (XHR) and also other services (Feign)? Could you not split them into two populations to be used by one or the other (it's easier to secure endpoints based on path than anything the caller can influence like a header).

Yes backend resources would be used both by a browser and other services. But this rest end point  is specifically called by the feign client. Not the browser. But crsrf protection and authentication are shared for all end points and I want to protect this specific end point from browser.
When you say "split into two populations" you say lauch a new specific service apart to be used by feign client ? and protected by browser but not feign ?

If this endpoint is called only by the Feign client then you can secure it independently (and switch off CSRF). Just add a new WebSecurityConfigurer with a low order and a request matcher that only matches this resource.

Ok it's seems good to me. But I don't see how can I protect the end point from user while authorizing access to my feign client. Do you have an example ? My feign client use zuul and eureka like users to discover services.

How is your Feign client going to authenticate? That's how you protect the endpoint from users (make it something only the Feign client knows or has). Pretty normal security configuration really.

Now you say, it seems simple. I will try tonight. I'll let you know

I used requestInterceptor on my feign client to to pass login/password.
@Bean
public BasicAuthRequestInterceptor basicAuthRequestInterceptor() {
	return new BasicAuthRequestInterceptor("login", "password");
}

And I deactivate csrf on the service called. I realized that csrf protection on the gateway is sufficent. I thought zuul proxy forwarded request before csrf protection work.I thought it was necessary to have csrf protection on all services. But in fact no :).
I have shared a module to authenticate a user through my services and now each service is able to log in a user with dedicated database. Not really "micro-service warranty" but not a problem for me.  So now my feign client has its own user and password and I can manage right easily with Spring security. The feign client is considered as a user with specific rights.
Thank you for support. More I use Spring and more I want to use Spring :+1:


jest run error

when i ran 'npm run test' command, console show errors

all errors are similar to this one

@liujichao2017 I am not able to reproduce this, can you give me more info about your setup?


🦺 Support hyphens and underscores in local-part of EmailAddress

📝 Description
We would like to allow the use of hyphens (-) and underscores (_) in the local-part of an email address.
// Before
val address: EmailAddress? =
<EMAIL_ADDRESS>println(address) // null

// After
val address: EmailAddress? =
<EMAIL_ADDRESS>println(address) //<EMAIL_ADDRESS>
The local-part shouldn't start or end with one of these symbols, and shouldn't accept a consecutive usage of those.
Here are some examples of invalid local-parts:
cont--act
cont__act
cont-_act
cont_-act
cont.-act
cont-.act
cont._act
cont_.act

🔗 Dependencies
This issue is blocked by the following ones:

[x] #394

✅ Checklist

[x] Update the regular expression of EmailAddress, update its Kotlin and Java tests, update its documentation, update the tests of create* functions, update the unreleased changelog.
[x] Fix problems identified by this integration workflow.
[x] Close this issue as completed and update tracking ones if present.

Reimplemented by #600.


Fix #3313: Not all activities are captured in service activity feed

Describe your changes :
See #3313

Type of change :

[x] Bug fix

Checklist:

[x] I have read the CONTRIBUTING document.
[x] I have performed a self-review of my own.
[ ] I have tagged my reviewers below.
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

@vivekratnavel lets push this in 0.9.1 release


Improve error related strings

Not sure where's the best place to put this, but we would like a better way to capture 400 and 500 error responses from lower libraries like urrllib3. Right now on 500 responses we see the following unhelpful message accompanied by a stack-trace:

Caused by ResponseError('too many 500 error responses',))

It would be nice if there was some callback we could register to handle these errors more gracefully

This should be achievable by overriding CLI. exception_handler (https://github.com/Microsoft/knack/blob/master/knack/cli.py#L158).
It gets called if there's an unknown exception - https://github.com/Microsoft/knack/blob/master/knack/cli.py#L205.


Railroad Accident Data Collection

As an Analysts, I need to locate the railroad accident data so that I can upload it to the team repository for use.

All RR accident data
Subset Track Incident data

References
Railroad Accident Data

Two data sets store in DSBA 6211 > Datasets.

Railroad_Accidents.csv is a full download of the reportable incidents to the FRA.
Railroad_Accidents_Track_Subset.csv is a subset of the first data set containing only the track related incidents.


[Request] Bevel edges

Requested in forum by pvloon: https://forum.unity3d.com/threads/released-realtime-csg-level-design-for-unity.427601/#post-2852128

This is implemented in version 1.400!
I will close this ticket once this is available from the asset store

This is now available on the asset store, so I'll close this ticket


Conditioning to finish events

Is there any possibility to finish all events by a condition?
For example, I have a variable TMAX to finish all events after, let's say, 5 seconds. But if an agent completes the task in my simulation, the simulation should stop before TMAX has ended.
@event call_initial_plot(c,sc) DiscreteEvents.every myParameters.param().Ts
@event call_linearized_vehicle_mpc(c, obj_veh, targ_veh, sc) DiscreteEvents.every myParameters.param().Ts
#@event call_reach(c) DiscreteEvents.every myParameters.param().Ts

@run! c myParameters.param().TMAX

@ga72kud please provide a minimum working example code for what you are doing so as to best help.

@hdavid16, thank you for answering. I try a fictive example that might not work or make no sense to clarify the issue.
The idea of following a minimal example is that I have a simulation where the simulation will run 5 seconds and an event to call a function sample_number every Ts (sample time).
The question is if there is a possibility to reduce  5 seconds of simulation when in sample_number some condition is fulfilled? For example, in my simulations, I simulate an autonomous vehicle, which might take 50 seconds, but when there is a collision, the simulation should stop. I am not sure if the package DiscreteEvents is providing something. I know that there are possibilities from JuliaLang.
@event sample_number(c) DiscreteEvents.every Ts
@run! c 5s (running 5 seconds)

So it sounds like you want to interrupt events. In your example, if a collision event occurs, then interrupt the main event. Right?
https://pbayer.github.io/DiscreteEventsCompanion.jl/dev/examples/queue_mmc_srv_fail/
The link above might help setting up an interruption (failure)

Yes
I currently had no time to read the example, but I guess this will work


Timed out waiting for Chrome connection after Restarting Chrome

Running prerender in a docker container, after a period of time, all requests Timed out waiting for Chrome connection will appear. After observation, I found that most of them appear after Restarting Chrome. I try to set BROWSER_TRY_RESTART_PERIOD time This problem will appear faster after being shortened. It is speculated that the source of the problem is a problem with the steps to reset Chrome
Version:
$ node server.js
2023-07-03T05:28:50.172Z Starting Prerender
2023-07-03T05:28:50.175Z Starting Chrome
2023-07-03T05:28:50.193Z Prerender server accepting requests on port 3000
2023-07-03T05:28:50.713Z Started Chrome: HeadlessChrome/114.0.5735.198

Full problem log, BROWSER_TRY_RESTART_PERIOD is 60000
$ node server.js
2023-07-03T05:38:04.987Z Starting Prerender
2023-07-03T05:38:04.989Z Starting Chrome
2023-07-03T05:38:04.997Z Prerender server accepting requests on port 3000
2023-07-03T05:38:05.517Z Started Chrome: HeadlessChrome/114.0.5735.198
2023-07-03T05:38:10.731Z getting https://kivo.wiki/data/character/42
2023-07-03T05:38:10.975Z Initial request to https://kivo.wiki/data/character/42
2023-07-03T05:38:11.595Z Initial response from https://kivo.wiki/data/character/42 with status code 200
2023-07-03T05:38:11.765Z Initial request finished https://kivo.wiki/data/character/42
2023-07-03T05:38:56.119Z got 200 in 45387ms for https://kivo.wiki/data/character/42
2023-07-03T05:39:00.140Z getting https://kivo.wiki/data/character/42
2023-07-03T05:39:00.724Z Initial request to https://kivo.wiki/data/character/42
2023-07-03T05:39:00.989Z Initial response from https://kivo.wiki/data/character/42 with status code 200
2023-07-03T05:39:01.054Z Initial request finished https://kivo.wiki/data/character/42
2023-07-03T05:39:42.916Z Restarting Chrome
2023-07-03T05:39:42.984Z got 200 in 42844ms for https://kivo.wiki/data/character/42
2023-07-03T05:39:47.578Z getting https://kivo.wiki/data/character/42
2023-07-03T05:40:07.627Z Timed out waiting for Chrome connection
2023-07-03T05:40:07.733Z got 504 in 20151ms for https://kivo.wiki/data/character/42

I am having the same issue and the only way to get rid of this is to restart the container

@nijinekoyo I am having the same issue and the only way to get rid of this is to restart the container as for now

I'm currently doing the same thing, setting a super long reset chrome time, and then restarting the container regularly, but I always feel that this may cause problems: (

@nijinekoyo I followed this solution and it worked for me  https://github.com/prerender/prerender/issues/755
I reverted back this change. https://github.com/prerender/prerender/pull/748/files
Give it a try!

@nijinekoyo I followed this solution and it worked for me #755 I reverted back this change. https://github.com/prerender/prerender/pull/748/files Give it a try!

This is useful, he does solve the problem caused by resetting chrome, but he will cause new errors, I'm not sure if he will have bad effects
2023-07-04T03:37:53.090Z Starting Prerender
2023-07-04T03:37:53.092Z Starting Chrome
2023-07-04T03:37:53.104Z Prerender server accepting requests on port 3000
2023-07-04T03:37:53.624Z Started Chrome: HeadlessChrome/114.0.5735.198
2023-07-04T03:37:56.557Z getting https://kivo.wiki/data/character/42
2023-07-04T03:37:56.807Z Initial request to https://kivo.wiki/data/character/42
2023-07-04T03:37:57.430Z Initial response from https://kivo.wiki/data/character/42 with status code 200
2023-07-04T03:37:57.452Z Initial request finished https://kivo.wiki/data/character/42
2023-07-04T03:38:35.817Z Restarting Chrome
2023-07-04T03:38:35.832Z got 200 in 39275ms for https://kivo.wiki/data/character/42
2023-07-04T03:38:35.843Z error closing Chrome tab Error: WebSocket is not open: readyState 3 (CLOSED)
    at sendAfterClose (/prerender/node_modules/ws/lib/websocket.js:988:17)
    at WebSocket.send (/prerender/node_modules/ws/lib/websocket.js:405:7)
    at Chrome._enqueueCommand (/prerender/node_modules/chrome-remote-interface/lib/chrome.js:286:18)
    at /prerender/node_modules/chrome-remote-interface/lib/chrome.js:88:22
    at new Promise (<anonymous>)
    at Chrome.send (/prerender/node_modules/chrome-remote-interface/lib/chrome.js:87:20)
    at Object.handler [as disposeBrowserContext] (/prerender/node_modules/chrome-remote-interface/lib/api.js:32:23)
    at /prerender/lib/browsers/chrome.js:186:31
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
2023-07-04T03:38:35.920Z Chrome connection closed... restarting Chrome
2023-07-04T03:38:35.920Z Starting Chrome
2023-07-04T03:38:36.434Z Started Chrome: HeadlessChrome/114.0.5735.198

I've fixed the timeout issue by calling this.startPrerender(); at the end of server.restartBrowser function in lib/server.js:143
which will be like:
 server.restartBrowser = function () { 	this.isBrowserConnected = false; 	util.log(Restarting ${this.browser.name}); 	this.browser.kill(); 	this.startPrerender(); };

I am trying a workaround by adding the code below:
this.startPrerender();

at the end of server.restartBrowser function in ./lib/server.js:143 to force the restart.
which will be like:
server.restartBrowser = function () {
	this.isBrowserConnected = false;
	util.log(`Restarting ${this.browser.name}`);
	this.browser.kill();
	this.startPrerender(); //<--- This will be added
};

I believe there is an issue with latest chrome versions which causes error on prerender to listen chromeChild.on('close', callback) event and that locks the whole process. That's why triggering the start function without listening close event seems to solve it.
I am not sure if it will cause any memory leak but it is working for now, at least.

Disable browserForceRestart plugin also which relies on close event and causes timeout error.

I am trying a workaround by adding the code below:
this.startPrerender();

at the end of server.restartBrowser function in ./lib/server.js:143 to force the restart.
which will be like:
server.restartBrowser = function () {
	this.isBrowserConnected = false;
	util.log(`Restarting ${this.browser.name}`);
	this.browser.kill();
	this.startPrerender(); //<--- This will be added
};

I believe there is an issue with latest chrome versions which causes error on prerender to listen chromeChild.on('close', callback) event and that locks the whole process. That's why triggering the start function without listening close event seems to solve it.
I am not sure if it will cause any memory leak but it is working for now, at least.
Disable browserForceRestart plugin also from server.js on root which relies on close event and probably causing error.
// server.use(prerender.browserForceRestart());

UPDATE:
No chance :( Memory leak as I guessed. Trying to install older Chrome version that I got from the container @jirikrepl shared.

None of the approaches I tried have worked yet. Even tried chromium versions instead of chrome-stable but no chance. Considering permission issues now.

Hi guys,
I faced the same problem. I fixed It quick and dirty 👯
create a new file e.q monitor.js and copy paste this:
const { spawn } = require('child_process');
let yourCommand;
function startAndMonitorProcess() {
if (yourCommand) {
yourCommand.stdout.removeAllListeners('data');
yourCommand.stderr.removeAllListeners('data');
yourCommand.kill();
}
yourCommand = spawn('node', ['server.js']);
yourCommand.stdout.on('data', (data) => {
console.log(stdout: ${data});
if (data.includes('Timed out waiting for Chrome connection')) {
console.log("Error detected! Restarting...");
startAndMonitorProcess();
}
});
yourCommand.stderr.on('data', (data) => {
console.error(stderr: ${data});
});
yourCommand.on('close', (code) => {
console.log(child process exited with code ${code});
});
}
startAndMonitorProcess();
this will check the output of server.js if the problem is listed in the console - this script will kill the instance and create a new server.js instance and begins from begin to listen the output.

Hi guys,
I faced the same problem. I have for this problem a quick and dirty workaround.👯
create a new file e.q monitor.js and copy paste this:
const { spawn } = require('child_process');
let yourCommand;
function startAndMonitorProcess() { if (yourCommand) { yourCommand.stdout.removeAllListeners('data'); yourCommand.stderr.removeAllListeners('data'); yourCommand.kill(); }
yourCommand = spawn('node', ['server.js']);
yourCommand.stdout.on('data', (data) => { console.log(stdout: ${data}); if (data.includes('Timed out waiting for Chrome connection')) { console.log("Error detected! Restarting..."); startAndMonitorProcess(); } });
yourCommand.stderr.on('data', (data) => { console.error(stderr: ${data}); });
yourCommand.on('close', (code) => { console.log(child process exited with code ${code}); }); }
startAndMonitorProcess();
this will check the output of server.js if the problem is listed in the console - this script will kill the instance and create a new server.js instance and begins from begin to listen the output.

Great I've made some additions to put some pm2 magic in it. you can save it as pm2_monitor.js and run it also by using pm2 like pm2 start pm2_monitor.js
const { spawn } = require('child_process');
const pm2 = require('pm2')

let yourCommand;
pm2.connect(function (err) {
    if (err) {
        console.error(err)
        process.exit(2)
    }
    pm2.start({
        script: 'server.js',
        name: 'server',
        instances: 7
    }, function (err, apps) {
        if (err) {
            console.error(err)
            return pm2.disconnect()
        }
        yourCommand = spawn('pm2', ['log']);
        yourCommand.stdout.on('data', (data) => {
            if (data.includes('page timed out') || data.includes('parse html timed out') || data.includes('Timed out waiting for')) {
                console.log("Error detected! Restarting...");
                pm2.restart('server', (err, proc) => {
                    if (err) {
                        console.log(err);
                        return pm2.disconnect()
                    }
                });
            }
        });
    })
})

We should find a proper solution for the main issue btw. I am still investigating.

Same issue.. confirmed on Mac M2 with Chrome 114

Is there any update for this? Facing the same issue

Facing the same with ubuntu 22.04

The same Debian 10 + Chrome 120

I'm having the same problem on my deployment. The way I partially solved was to run 4 processes (4 containers, each one running node server.js) and reverse proxy a nginx server to them, so if one fails nginx will forward to request to another process.
I'm not sure if it's related to browser restarting (the restart plugin is enabled) but saw this on container's stdout:
 /app/node_modules/ws/lib/websocket.js:988
     const err = new Error(
                 ^

 Error: WebSocket is not open: readyState 2 (CLOSING)
     at sendAfterClose (/app/node_modules/ws/lib/websocket.js:988:17)
     at WebSocket.send (/app/node_modules/ws/lib/websocket.js:405:7)
     at Chrome._enqueueCommand (/app/node_modules/chrome-remote-interface/lib/chrome.js:286:18)
     at /app/node_modules/chrome-remote-interface/lib/chrome.js:88:22
     at new Promise (<anonymous>)
     at Chrome.send (/app/node_modules/chrome-remote-interface/lib/chrome.js:87:20)
     at Object.handler [as continueInterceptedRequest] (/app/node_modules/chrome-remote-interface/lib/api.js:32:23)
     at Chrome.<anonymous> (/app/node_modules/prerender/lib/plugins/blockResources.js:62:30)
     at Chrome.emit (node:events:519:28)
     at Chrome._handleMessage (/app/node_modules/chrome-remote-interface/lib/chrome.js:272:18)

 Node.js v21.6.2