text:
V11 compatibility

foundry.js:753 TypeError: Failed drawing interface canvas group: this._getWallColor is not a function. this._getWallColor is not a function
[Detected 3 packages: df-architect, lib-wrapper, monks-tokenbar]
    at Wall._onWallDraw (WallDirections.ts:62:15)
    at 🎁call_wrapper [as call_wrapper] (libWrapper-wrapper.js:616:16)
    at 🎁Wall.prototype.draw#0 (libWrapper-wrapper.js:189:20)
    at foundry.js:34691:18
    at EmbeddedCollection.map (commons.js:4191:26)
    at WallsLayer._draw (foundry.js:34688:32)
    at WallsLayer._draw (foundry.js:42195:17)
    at WallsLayer.draw (foundry.js:34194:16)
    at async InterfaceCanvasGroup.draw (foundry.js:28972:9)
    at async InterfaceCanvasGroup.draw (foundry.js:47329:5)
    at async Canvas.draw (foundry.js:26135:9)
    at async Scene.view (foundry.js:23275:7)
    at async Scene.sceneView (monks-tokenbar.js:168:20)
    at async Game.initializeCanvas (foundry.js:8789:20)
    at async Game.setupGame (foundry.js:8623:5)
    at async Game._initializeGameView (foundry.js:9881:5)
    at async Game.initialize (foundry.js:8544:5)
onError @ foundry.js:753
🎁call_wrapped @ libWrapper-wrapper.js:507
🎁Hooks.onError#lib-wrapper @ listeners.js:138
🎁Hooks.onError#0 @ libWrapper-wrapper.js:187
draw @ foundry.js:26137
await in draw (async)
view @ foundry.js:23275
🎁call_wrapped @ libWrapper-wrapper.js:507
sceneView @ monks-tokenbar.js:168
🎁call_wrapper @ libWrapper-wrapper.js:616
🎁Scene.prototype.view#0 @ libWrapper-wrapper.js:189
initializeCanvas @ foundry.js:8789
await in initializeCanvas (async)
setupGame @ foundry.js:8618
await in setupGame (async)
_initializeGameView @ foundry.js:9881
_initializeView @ foundry.js:9857
initialize @ foundry.js:8544
await in initialize (async)
🎁call_wrapped @ libWrapper-wrapper.js:507
🎁libWrapperInit @ libWrapper-api.js:805
await in 🎁libWrapperInit (async)
🎁Game.prototype.initialize#0 @ libWrapper-wrapper.js:187
window.addEventListener.once @ foundry.js:90096
foundry.js:67285 Failed drawing interface canvas group: this._getWallColor is not a function

Wondering if this module is abandoned?

So it seems so to me.
Even more, looking at the discussions around the other open issues, I get the impression that migrating this module to v11 might be a tough nut. This mod overrides - by design -  some basic UI functionality of Foundry, and it appears that v11, by design, now prohibits such oversteering. At least in some of the aspects (whereas some of them might still work).
So someone would have to sort out what is still supported and what###  isn't, then at least remove all the now unsupported functions, update the docs, repackage the whole thing etc.

Think I will remain with 10 for the time being. DF's modules are far too good to skip.

authors: RavenknightDM apoapostolov be221b coffiarts


text:
SSL_ERROR_RX_RECORD_TOO_LONG in firefox on linux

After starting up the docker container, I went to the IP:8080 and received this SSL error. The docker host is Ubuntu server 20.04.2, if it matters. I am using firefox 86.0.1 on arch linux.

Was using HTTPS, apparently HTTP works.

source: gharchive/issue

repo: flant/ovpn-admin

license_type: permissive

license_source: github-api


text:
[Wat] Disallow user mentions

Previously, when a user set their nickname to be <@!Some-User's-ID>, Wat would ping that Some User.

Can you show this being an issue on your bot with a screenshot please? I can't seem to repro this condition with testing.

Can you show this being an issue on your bot with a screenshot please? I can't seem to repro this condition with testing.

My bad, I'm a dumbass. Thanks for the help.

My bad, I'm a dumbass. Thanks for the help.

source: gharchive/pull-request

repo: flapjax/FlapJack-Cogs

license: mit

license_source: bigquery


text:
Toolbox command now requires single layer docker images

Description
Moving from the rkt version of toolbox to the update here:
https://github.com/kinvolk/toolbox/pull/1
We've noticed that multi-layer images are not supported for custom toolboxes.  I imagine this isn't intentional (they worked on the old version), so wanted to report it.
Impact
Minimal, we refactored our toolbox image to create a single layer final container.  However, it does spit out a fairly cryptic error that took awhile to debug.
Environment and steps to reproduce

Any Flatcar EC2 instance using 2905.2.0 Stable
When a custom toolbox image is defined (see below), if that image contains more than a single layer, layers beyond the first will not be successfully unpacked.

TOOLBOX_DOCKER_IMAGE=<ecr>/<custom_image>
TOOLBOX_DOCKER_TAG=trunk
TOOLBOX_USER=<user>

Running the toolbox command in a shell
Error output below.  The culprit appears to be the tar command used to unpack layers.  Layers beyond the first have the full path stripped and the .tar files cannot be found:

sudo --preserve-env tar xvf /var/lib/toolbox/<image>/166f5ca608dd023369f6ed13256b1216823827d93aaea2e5c50caa4e4106f7e6/layer.tar 455fdf9537ae177715405ec8320ce0efb71cd8ee433733613805f725a4f163dc/layer.tar 241197fae1234fce4c43e482aaf71fcc7dbb7286fc8af1417dac8985fd7081f9/layer.tar 43ec1bba72d1a3f5ae33a28dbc7523d20804b484fc911d0aa5240881c2cd79cb/layer.tar 062a4e81e8a4ac5a41b6d1a343e526bb8cf1e10a9a750f46a1a5b5cf1b9e9d99/layer.tar 26b50f604577fedf9bce2d40cd7440568d001d3fa9ebf0bcb7f38e8a4ec7f535/layer.tar f4a65a53216db27f7ae31da74d0428c4e3ff6acb3569f8e9757a6d8b8c471272/layer.tar e6b50753df35b28315d0dbf92313216e57877c4d8e4fe74fb064231c28d6951c/layer.tar 80740d51e59e7c19edf8d6813dd21ee464996062cc2b4d281f2182d23184e23a/layer.tar a66a006f55aaff0befda99883c4d4f890e8ec60ccc8fef372e989b2a21a82d03/layer.tar e681f6f4c78e5ecf03cfadf22f52bbdeabe61dbf60caee0aa2e73644151669e5/layer.tar -C /var/lib/toolbox/<image>
tar: 455fdf9537ae177715405ec8320ce0efb71cd8ee433733613805f725a4f163dc/layer.tar: Not found in archive
tar: 241197fae1234fce4c43e482aaf71fcc7dbb7286fc8af1417dac8985fd7081f9/layer.tar: Not found in archive
tar: 43ec1bba72d1a3f5ae33a28dbc7523d20804b484fc911d0aa5240881c2cd79cb/layer.tar: Not found in archive
tar: 062a4e81e8a4ac5a41b6d1a343e526bb8cf1e10a9a750f46a1a5b5cf1b9e9d99/layer.tar: Not found in archive
tar: 26b50f604577fedf9bce2d40cd7440568d001d3fa9ebf0bcb7f38e8a4ec7f535/layer.tar: Not found in archive
tar: f4a65a53216db27f7ae31da74d0428c4e3ff6acb3569f8e9757a6d8b8c471272/layer.tar: Not found in archive
tar: e6b50753df35b28315d0dbf92313216e57877c4d8e4fe74fb064231c28d6951c/layer.tar: Not found in archive
tar: 80740d51e59e7c19edf8d6813dd21ee464996062cc2b4d281f2182d23184e23a/layer.tar: Not found in archive
tar: a66a006f55aaff0befda99883c4d4f890e8ec60ccc8fef372e989b2a21a82d03/layer.tar: Not found in archive
tar: e681f6f4c78e5ecf03cfadf22f52bbdeabe61dbf60caee0aa2e73644151669e5/layer.tar: Not found in archive

working image (Default Image):
$ ls /var/lib/toolbox/density-fedora-latest/
32ad7b7f7ecb4840ac2e7588e37462dadd877f428c0baa0ee3b72cb3d31606e9       dev   lib64          mnt   run   tmp
bin                                                                    etc   lost+found     opt   sbin  usr
boot                                                                   home  manifest.json  proc  srv   var
dce66322d6472e195c624cd3bd0c6c13918c00d1022c653a95341491a1597f52.json  lib   media          root  sys

non-working image (Custom Image):
$ ls /var/lib/toolbox/<image>/
062a4e81e8a4ac5a41b6d1a343e526bb8cf1e10a9a750f46a1a5b5cf1b9e9d99       80740d51e59e7c19edf8d6813dd21ee464996062cc2b4d281f2182d23184e23a
166f5ca608dd023369f6ed13256b1216823827d93aaea2e5c50caa4e4106f7e6       a66a006f55aaff0befda99883c4d4f890e8ec60ccc8fef372e989b2a21a82d03
241197fae1234fce4c43e482aaf71fcc7dbb7286fc8af1417dac8985fd7081f9       e681f6f4c78e5ecf03cfadf22f52bbdeabe61dbf60caee0aa2e73644151669e5
26b50f604577fedf9bce2d40cd7440568d001d3fa9ebf0bcb7f38e8a4ec7f535       e6b50753df35b28315d0dbf92313216e57877c4d8e4fe74fb064231c28d6951c
2c61969bd70f07746081f62692f91cd04c1128889cf243bd2fb3fcdca70cbb25.json  f4a65a53216db27f7ae31da74d0428c4e3ff6acb3569f8e9757a6d8b8c471272
43ec1bba72d1a3f5ae33a28dbc7523d20804b484fc911d0aa5240881c2cd79cb       manifest.json
455fdf9537ae177715405ec8320ce0efb71cd8ee433733613805f725a4f163dc```

Expected behavior
Same image works on prior versions of Flatcar.  Specifically, before this PR:
https://github.com/kinvolk/toolbox/pull/1
Additional information
I believe this line is the culprit:
https://github.com/kinvolk/toolbox/blob/fa17ec6310db9b1c2eb3fceab0334204b89c2c8c/toolbox#L58
It prepends $machinepath to the values pulled from the manifest.json, but when multiple layers are present, the $machinepath is only prepended to the first .tar file.

Reopening: the change is not in coreos-overlay yet.

authors: akio-outori jepio

repo: flatcar-linux/Flatcar


text:
Upgrade Go from 1.20.9 to 1.20.10

Subject says it all.

CI: http://jenkins.infra.kinvolk.io:8080/job/container/job/sdk/1125/cldsv

authors: flatcar-infra krnowak

repo: flatcar/scripts


text:
Fix for route params with . and _

#69

Thanks! I'll merge it tomorrow - I have to move build/* from master to gh-pages and not sure how to do it now (we have tests which need builds there).

@mmalecki Can we close this now?

No, I haven't cherry-picked it yet. I'll do it now.

69a5c3f broke the build. I'll get to it when I get home.

@mmalecki that fixes ad-hoc routing but breaks everything else, try 4525749

authors: indexzero mmalecki tblobaum

repo: flatiron/director


text:
more Grants page changes

reinstate header for grants and jobs page. Hide view all jobs link on grants page

@jamalex ready for merging and staging

@or jtamiace can you review this?

repo: fle-internal/fle-home


text:
Feature request: Frictionless adding of attachments

Is your feature request related to a problem? Please describe.
You should not have to save an image to disk and then chose "Add attachment".
Describe the solution you'd like
You should be able to drag the image into the note or at most drag it to yoink (Mac user here) and then into the note.
Describe alternatives you've considered
If there is an alternative and keen to hear what it is
Additional context
The same would apply to other files, but images in particular

Right now it's possible to paste an image into the textfield from the clipboard as an alternative. But I still agree it should be easier to paste an image.

repo: fleetingnotes/fleeting-notes-obsidian

license: MIT


text:
New DateField field control

A button lets the user select date on datepicker dialog.
Example:
import flet as ft

def main(page: ft.Page):
    def button_clicked(e):
        t.value = f"Datetime value are:  '{dt.value}'."
        page.update()

    t = ft.Text()
    dt = ft.DateField(value=DateTime.now(), on_change=button_clicked)
    b = ft.ElevatedButton(text="Submit", on_click=button_clicked)
    page.add(dt, b, t)

ft.app(target=main)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Please for an image or screen record of your control in action. 🙂

Thank you for your submission!
Some feedback:

I see you are using an ElevatedButton as a control opening a date selection dialog, but you have inherited DateField Python counterpart from a TextField. I would do that component as a non-visual and renamed to DatePicker. So, it has  some "pick_date()` method and then "on_result" event, similar to FilePicker control. This way we are not dictating the way selected date is displayed to the user. Does it make sense?

See DatePicker in Flutter's Gallery app: https://gallery.flutter.dev/#/demo/pickers

I absolutely agree. My problem is, I need a form field, not just a picker. So this is a reason to use a name datefield like textfield, etc. but not a date_picker, which will suggest similar to file_picker functionality. I thought about doing a split for GenericField and DatePicker as the next step. But with your suggestion, I'll do this now.

Closing in favour of https://github.com/flet-dev/flet/pull/930

authors: CLAassistant FeodorFitsner berecik ndonkoHenri

repo: flet-dev/flet


text:
How to add a custom emitter to ComboBox?

Is it possible to add a index_changed emitter to the ComboBox?
If there is some other way instead of an emitter to do this is fine too.
I need a way to tell when the value changed, regardless if the user or code changed the index.
Thanks

Property values are automatically emitted, I believe, so:
from flexx import flx

class Test(flx.Widget):
    def init(self):
        self.combo = flx.ComboBox(
            options=["ONE", "TWO", "THREE"],
            selected_index=0)

    @flx.reaction('combo.selected_index')
    def on_selected_index(self, *events):
        print(events[-1].new_value)

should just work.

Excellent, I did not know that! Thanks!

@jrversteegh small markdown tip: using ``` py will apply Python syntax highlighting to the snippet :)

@almarklein thanks! Guess I should have read the fine manual again ;D

authors: almarklein jrversteegh matkuki

repo: flexxui/flexx


text:
Updated full_description.txt

Background
Reading through all documentation for spelling, grammar, and punctuation errors.
Changes
Updated minor punctuation errors.
Test plan
No testing needed.

Thank you!

authors: Kavitate LionZXY

repo: flipperdevices/Flipper-Android-App


text:
Generate bindings at compile-time

This replaces the generate-bindings script with a build.rs script for flipperzero-sys that downloads the latest SDK and uses that to generate Rust bindings.
Fixes: #41

Uploading for initial review and testing.

I think that we should provide a way to build the crate offline from scratch.
Some build systems and distros (for instance, nixpkgs of NixOS) are quite  restrictive towards internet access during the build phase and thus may be unlucky trying to build the crate depending on internet download during build.rs evaluation.
What I see as the requirement for this PR is a way to have:

Some default source of truth available with the crate itself (i.e. not requiring internet access during build).
Opt-in ability to override via local path (this can actually be enough to not implement point 1).
opt-in ability to override it either via upstream flipperzero repo download (what you do in this PR);

So ideally I would like to see either:

Mode
Default
Envs (alternatively, a crate feature)
Behavior
Works offline

Pre-built
:white_check_mark:
None of the following
Uses something predefined, e.g. our pre-generated bindings.rs, as done now
:white_check_mark:

Local path
:no_entry: / :white_check_mark: (if we decide to get rid of Pre-built)
FLIPPER_SDK_PATH
Generates bindings from the local SDK installation
:white_check_mark:

Download
:no_entry:
FLIPPER_SDK_VERSION, FLIPPER_TOOLCHAIN_VERSION, maybe explicit internet access opt-in flag
Downloads the SDK by the given coordinates (by the way, I suggest adding the ability to override BUILDS_URL for the sake of custom SDKs / forks)
:no_entry:

authors: JarvisCraft dcoles

repo: flipperzero-rs/flipperzero


text:
Cannot read property 'hasOwnProperty' of undefined   ,  is use react 15 and babel 6  and jest enzyme

babel.config.js
module.exports = {
env: {
test: {
presets: [
[
"@babel/preset-env",
{
modules: "commonjs",
debug: false
}
],
"@babel/preset-react"
],
plugins: [
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-proposal-class-properties",
'@babel/plugin-transform-runtime',
'transform-es2015-modules-commonjs',
'babel-plugin-dynamic-import-node',
]
},
production: {
presets: [
[
"@babel/preset-env",
{modules: false}
],
"@babel/preset-react"
],
plugins: [
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-proposal-class-properties"
]
},
development: {
presets: [
[
"@babel/preset-env",
{modules: false}
],
"@babel/preset-react"
],
plugins: [
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-export-default-from"
]
}
}
};
jest.config.js
/* eslint-disable max-len /
/

For a detailed explanation regarding each configuration property, visit:
https://jestjs.io/docs/en/configuration.html
*/

module.exports = {
/*
 * All imported modules in your tests should be mocked automatically
 * automock: false,
 */

/*
 * Stop running tests after the first failure
 * bail: false,
 */

/*
 * Respect "browser" field in package.json when resolving modules
 * browser: false,
 */

/*
 * The directory where Jest should store its cached dependency information
 * cacheDirectory: "C:\\Users\\VenD\\AppData\\Local\\Temp\\jest",
 */

// Automatically clear mock calls and instances between every test
clearMocks: true,

/*
 * Indicates whether the coverage information should be collected while executing the test
 * collectCoverage: true,
 */

// An array of glob patterns indicating a set of files for which coverage information should be collected
collectCoverageFrom: [
  "**/src/**.{js,jsx,mjs}",
  "!src/index.js"
],

// The directory where Jest should output its coverage files
coverageDirectory: "coverage",

/*
 * An array of regexp pattern strings used to skip coverage collection
 * coveragePathIgnorePatterns: [
 *   "\\\\node_modules\\\\"
 * ],
 */

/*
 * A list of reporter names that Jest uses when writing coverage reports
 * coverageReporters: [
 *   "json",
 *   "text",
 *   "lcov",
 *   "clover"
 * ],
 */

/*
 * An object that configures minimum threshold enforcement for coverage results
 * coverageThreshold: null,
 */

/*
 * Make calling deprecated APIs throw helpful error messages
 * errorOnDeprecated: false,
 */

/*
 * Force coverage collection from ignored files usin a array of glob patterns
 * forceCoverageMatch: [],
 */

/*
 * A path to a module which exports an async function that is triggered once before all test suites
 * globalSetup: null,
 */

/*
 * A path to a module which exports an async function that is triggered once after all test suites
 * globalTeardown: null,
 */

/*
 * A set of global variables that need to be available in all test environments
 * globals: {},
 */

/*
 * An array of directory names to be searched recursively up from the requiring module's location
 * moduleDirectories: [
 *   "node_modules"
 * ],
 */

// An array of file extensions your modules use
moduleFileExtensions: [
  "js",
  "json",
  "jsx"
],

// A map from regular expressions to module names that allow to stub out resources with a single module
moduleNameMapper: {
  "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/assets.config.js",
  "\\.(css|less)$": "<rootDir>/assets.config.js"
},

/*
 * An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
 * modulePathIgnorePatterns: [],
 */

/*
 * Activates notifications for test results
 * notify: false,
 */

/*
 * An enum that specifies notification mode. Requires { notify: true }
 * notifyMode: "always",
 */

/*
 * A preset that is used as a base for Jest's configuration
 * preset: null,
 */

/*
 * Run tests from one or more projects
 * projects: null,
 */

/*
 * Use this configuration option to add custom reporters to Jest
 * reporters: undefined,
 */

/*
 * Automatically reset mock state between every test
 * resetMocks: false,
 */

/*
 * Reset the module registry before running each individual test
 * resetModules: false,
 */

/*
 * A path to a custom resolver
 * resolver: null,
 */

/*
 * Automatically restore mock state between every test
 * restoreMocks: false,
 */

/*
 * The root directory that Jest should scan for tests and modules within
 * rootDir: null,
 */

/*
 * A list of paths to directories that Jest should use to search for files in
 * roots: [
 *   "<rootDir>"
 * ],
 */

/*
 * Allows you to use a custom runner instead of Jest's default test runner
 * runner: "jest-runner",
 */

// The paths to modules that run some code to configure or set up the testing environment before each test
setupFiles: ["<rootDir>/enzyme.config.js"],

/*
 * The path to a module that runs some code to configure or set up the testing framework before each test
 * setupTestFrameworkScriptFile: "<rootDir>/config/setupTest.js",
 */

// A list of paths to snapshot serializer modules Jest should use for snapshot testing
snapshotSerializers: ["enzyme-to-json/serializer"],

// The test environment that will be used for testing
testEnvironment: "jsdom",

/*
 * Options that will be passed to the testEnvironment
 * testEnvironmentOptions: {},
 */

/*
 * Adds a location field to test results
 * testLocationInResults: false,
 */

// The glob patterns Jest uses to detect test files
testMatch: [
  "**/__tests__/**/*.js?(x)",
  "**/?(*.)+(spec|test).js?(x)"
],

// An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
testPathIgnorePatterns: ["\\\\node_modules\\\\"],

/*
 * The regexp pattern Jest uses to detect test files
 * testRegex: "",
 */

/*
 * This option allows the use of a custom results processor
 * testResultsProcessor: null,
 */

/*
 * This option allows use of a custom test runner
 * testRunner: "jasmine2",
 */

// This option sets the URL for the jsdom environment. It is reflected in properties such as location.href
testURL: "http://localhost",

/*
 * Setting this value to "fake" allows the use of fake timers for functions such as "setTimeout"
 * timers: "real",
 */

// A map from regular expressions to paths to transformers
transform: {"^.+\\.js$": "babel-jest"},

// An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation
transformIgnorePatterns: [
    "/node_modules/"
],

/*
 * An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them
 * unmockedModulePathPatterns: undefined,
 */

// Indicates whether each individual test should be reported during the run
verbose: true

/*
 * An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode
 * watchPathIgnorePatterns: [],
 */

/*
 * Whether to use watchman for file crawling
 * watchman: true,
 */

};

I don't follow. The posted stack trace nor the posted code reference flitbit/diff in a way that I can see. Please post information that ties the error that you're seeing to this module.

thanks for this link google :+1: #useful

authors: flitbit mostafaalkama nickhallph

repo: flitbit/diff


text:
docs: update README.md

minor fix

👍

authors: eltociear flo-bit

repo: flo-bit/svelte-openai-realtime-api


text:
What's a stable / unstable reference?

Can't find an explanation of a stable / unstable reference mentioned here:
https://floating-ui.com/docs/react-dom#stable-ref-prop
I'm getting the following error (sometimes, not always): ResizeObserver loop limit exceeded while using Floating UI w/ conditional rendered React Portals.

It means the value remains the same across renders vs. an inline value like ref={node => ...}. That error is not related to a stable reference though.

I updated the React DOM docs to be a little clearer about this.

authors: aaroniker atomiks

repo: floating-ui/floating-ui


text:
fix(dom): transformed body

Floating UI's tests are not as extensive as Popper's (yet) since they were rewritten. Also would be good to add tests for both Webkit and Firefox.
Fixes #1375

We talked about it in pvt but just to share it with others, I think a Storybook + Playwright would be a great solution for us.
https://storybook.js.org/addons/storybook-addon-playwright
I can spend some time this weekend to try to implement a POC.

authors: FezVrasta atomiks


text:
FEATURE: Allow setting video format of input source

It would seem some cameras need special attention. I've got a Logitech BRIO and it won't allow using higher resolutions, unless I use MJPG format as video source. YUV only works here for 640x480. And it would seem I need a higher resolution to get the fake webcam to work in my Chromium (88.0.4324.182).
The following patch extends the command line options to include the option -f. It accepts a string, which is then turned into an option of CV_CAP_PROP_FOURCC.

Please check if #48 already addresses this issue.

Please check if #48 already addresses this issue.

It doesn't solve the issue, but it greatly reduced the patch I was preparing :)
My problem is a device timeout. So really a hardware issue.

Looking forward to the updated patch. Basic idea already looks good.

Thanks @oleid - if you don't specify a format, but only a resolution, does OpenCV make sensible choices, or assume a format that doesn't work? Asking as it might only be necessary to force OpenCV's hand in rare circumstances, which would make this easier to use for a majority :)

if you don't specify a format, but only a resolution, does OpenCV make sensible choices, or assume a format that doesn't work?

v4l2-ctl --list-formats-ext lists [0]: 'YUYV' (YUYV 4:2:2) up to 1920x1080. OpenCV tries to use that codec automatically.
I'm not sure if OpenCV is to blame, since the camera works in e.g. Chromium or Firefox (I don't know which codec they use, though). But given YUYV is reported to work, my best guess is the driver is broken somehow.

Some minor notes:
1. check for `in.size() == 8`. This avoids ambiguity

My reasoning was: people might skip leading zeros. But I don't have any strong preferences.

2. the hex-format part is interpreted in the wrong byte-order. Note my previous example on how to provide MJPG in hex. The current source will fail with that example.

Maybe stupid question: why do you think MJPG should be represented as 0x4D4A5047?
From what I can tell, people[1,2] expect  0x47504A4D (which is what you'd get when translating by hand ord('M')  | ord('J') << 8 | ord('P') << 16 | ord('G') << 24)
I also saw this calculation in ffmpeg sources (which I linked in the code).

[1] https://gix.github.io/media-types/
[2] https://stackoverflow.com/questions/54740012/error-while-saving-video-as-mp4-using-videowriteropencv-in-ubuntu

the hex-format part is interpreted in the wrong byte-order.
Note my previous example on how to provide MJPG in hex. The current source will fail with that example.

Maybe stupid question: why do you think MJPG should be represented as 0x4D4A5047?
From what I can tell, people[1,2] expect 0x47504A4D (which is what you'd get when translating by hand ord('M') | ord('J') << 8 | ord('P') << 16 | ord('G') << 24)
I also saw this calculation in ffmpeg sources (which I linked in the code).

[1] https://gix.github.io/media-types/
[2] https://stackoverflow.com/questions/54740012/error-while-saving-video-as-mp4-using-videowriteropencv-in-ubuntu

I came from to that encoding by specifying the forcc byte-wise in just the order the byte values are given - just like a shortened hexdump of it. But if it's documented the other way around I'm fine with that to avoid confusing people. Maybe add a small note with an usage example in the source.

Some minor notes:
1. check for `in.size() == 8`. This avoids ambiguity

Done. I also added comments and made sure that the program doesn't run if fourCcFromString  doesn't accept the string.

authors: BenBE oleid phlash

repo: floe/deepbacksub


text:
D3D11: return a soft-error if shader model isn't compatible with GPU

Hello, im building TIC-80 with sokol renderer and when launch i get error on this line line. Videocard is intel hd on p6100 processor.

Ouch. This doesn't happen during compilation though (this should be a "soft error"), but where the D3D11 shader is created from a compiled blob. Only reason I can think of is that the video driver or GPU doesn't support the D3D shader model since the CPU/GPU might be too old.
Hmm... I think I should at least change the code to make this case a soft error, and the next step would be checking if we can optionally use an older HLSL shader model (maybe similar to the GLES3/GLES2 fallback).
Can you attach a dxdiag log here? This contains the D3D properties of you graphics card, and might give an idea what's the underlying problem ("Win+R" to open the "Run" dialog, then "dxdiag", and then there's a "Save Information" Button (the messages are all in German on my machine).

PS: as a temporary workaround, if you compile the shader from embedded source code (not using the sokol_shdc compiler), you can try some other shader model strings here:
https://github.com/floooh/sokol/blob/487822d82ca79dba7b67718d962e1ba6beef01b2/sokol_gfx.h#L5105
If this works it probably makes sense to make this configurable from the outside, and add a more HLSL shader models to sokol_shdc.

...I tried "vs_4_0" and "ps_4_0", and at least all the sokol samples still work. Since SM5 only added compute shader support and some minor features not relevant for sokol-gfx I guess switching back to shader model 4 as default would be a no-brainer. Going back even further might be a problem though, since SM3 is already D3D9 territory.
Can you check somehow whether shader model 4 works on your side?

With "vs_4_0" and "ps_4_0" works well. Awesome, thank you!

Ok, good to know thanks :) I think I'll do a bit more research and then will switch everything to shader model 4. I'll keep this ticket open as reminder.

I believe this is a good idea in general. It would be quite useful here since I have some customers with older hardware on which I would like to still use shaders which do not require SM 5.0.

Ok noted, I didn't do anything about this yet, but I think it's a good idea to add HLSL4 as an output option to sokol-shdc, and also have the sokol-gfx D3D11 backend accept HLSL4 shaders.

Interesting enough I have just encountered a customer with Intel i3-540 CPU with built-in iGPU with supposed support for DirectX 10.0 and 9.1 feature levels:

In this case I assume shader model 4.0 should work. However, that user is failing at this line with assertion:
https://github.com/floooh/sokol/blob/master/sokol_gfx.h#L7050

Looks like I misinterpreted the return value of ID3D11Device::CheckFormatSupport(), it says that the function might return E_FAIL  "if the described format does not exist":
https://docs.microsoft.com/en-us/windows/win32/api/d3d11/nf-d3d11-id3d11device-checkformatsupport
I'll add some code to "deactivate" the pixel format instead of failing hard with an assert.

@iryont I've made to fixes in the D3D11 pixelformat check, but both are "speculative" since I can't reproduce the behaviour on my Windows machines:

the D3D11 function is no longer called with DXGI_FORMAT_UNKNOWN
E_FAIL is now treated as a valid return value, and the associated sokol-pixelformat is "disabled"

@floooh I do appreciate it. I cannot test it either, but I will send an executable to the user to see how it goes for him now.

@floooh His computer went through it this time, but without any assertion call (all of them are enabled) it failed at the IDXGISwapChain_Present with result of DXGI_ERROR_DEVICE_RESET. Is there a way to determine which command actually failed within the frame rendering pass? I don't quite get how D3D11_CREATE_DEVICE_DEBUG could help me here since I need to debug it on the user side.

@floooh I do highly apologize. My user was not computer friendly and since my application has auto updater he did forget to mention that it did in fact ran.... Until the application downloaded the old executable once again leading to the same error.
So your fix solved the issue :) Also, I have to mention that I needed to use shader model 4.0 for all of it to work for him (like the author of this post). I doubt I will ever need shader model 5.0 for that matter. It might be worth re-considering to let it be set outside of sokol gfx.

I suggest that shader model version could be at least configurable via ifdefs.

I've started to work on the HLSL4 stuff. The current situation seems to be:

sokol_gfx.h already accepts shader model 4 shaders when provided as byte code
...but it's not possible to compile to shader model 4 when passing HLSL source code to sg_make_shader()

So I'm doing this:

sokol-shdc gets a hlsl4 output option, this doesn't seem to make much of a difference for HLSL source output, but it's necessary for generating shader model 4 byte code
the sokol-shdc fips integration will use hlsl4 instead of hlsl5, so all sokol samples and other projects using fips will automatically use HLSL4 by default
I'll change all the embedded byte code in sokol utility headers also to SM4
when creating a shader from HLSL source code, there will be a new init param in sg_shader_stage_desc to declare the HLSL shader model name (e.g. vs_4_0, vs_5_0, ps_4_0 or ps_5_0 - currently this is hardcoded to vs_5_0 and ps_5_0), the default for this new item will be vs_4_0 and ps_4_0.

I don't expect any code to break when switching to shader model 4.0 as default, because as far as I have seen the only difference to sm 5.0 is compute shader support, which isn't relevant for sokol_gfx.h anyway.

ok this should be fixed now, see https://github.com/floooh/sokol/pull/327 and the 20-Jun-2020 update here: https://github.com/floooh/sokol#updates

There is one extra thing I did notice in production. I've encountered users with SM below 4.0 and for that I had some fallback renderers. However, Sokol actually never fails with shader creation and the shader returned from sg_make_shader appears to be valid, so users end up with black window. The application doesn't know it failed since otherwise it would fallback to another renderer if it could detect that.
I think this is related to the same issue as described here. The shader compilation never fails, even on hardware which does not support specified SM version since I ship it with d3dcompiler_47.dll. The only way to detect that the shader won't work is by using assertion code, but we don't do that in production, so why not make the shader invalid if it fails at the lines pointed by the author of this issue? Currently from what I can see it just sets the resource as SG_RESOURCESTATE_VALID, but it's not really valid and I think we would know that from checking status of ID3D11Device_CreateVertexShader and ID3D11Device_CreatePixelShader.

Yes I think that makes sense. I'll create a separate issue and copy your comment there.

authors: RudenkoArts edubart floooh iryont

repo: floooh/sokol

license: Zlib


text:
(ES5.6.3 SG5.6.3-16) Failed to load plugin class [com.floragunn.searchguard.SearchGuardPlugin]

Search Guard and Elasticsearch version:
elasticsearch:5.6.3
com.floragunn:search-guard-5:5.6.3-16
JVM version and operating system version:
java.version: 1.8.0_141
Official dockerized elasticsearch image (I believe its base is Alpine)
Number of nodes in your cluster:
3 Master/Data nodes (smalling logging cluster)
Description of the bug:
ElasticsearchException[Failed to load plugin class [com.floragunn.searchguard.SearchGuardPlugin]]
I have created this ansible script to deploy ElasticSearch 5.6.3 and install Search-Guard. Below are the scripts that deploy the containers to the machines, for replication.
---
- name: Install local-persist plugin
  shell: curl -fsSL https://raw.githubusercontent.com/CWSpear/local-persist/master/scripts/install.sh | sudo bash

- name: Clean plugins path
  become: true
  file:
    state: absent
    path: /es-data/plugins

- name: Create es data directory
  become: true
  file: path=/es-data/data state=directory group=root owner=root mode=g+rw

- name: Create data volume
  shell: docker volume create -d local-persist --opt mountpoint=/es-data/data --name=esdata

- name: Create es config directory
  become: true
  file: path=/es-data/config state=directory group=root owner=root mode=g+rw

- name: Create config volume
  shell: docker volume create -d local-persist --opt mountpoint=/es-data/config --name=esconfig

- name: Create es plugins directory
  become: true
  file: path=/es-data/plugins state=directory group=root owner=root mode=g+rw

- name: Create plugin volume
  shell: docker volume create -d local-persist --opt mountpoint=/es-data/plugins --name=esplugins

- name: Create elasticsearch configuration file
  become: true
  template: src=elasticsearch.yml dest=/es-data/config/elasticsearch.yml

- name: Create elasticsearch logging file
  become: true
  template: src=log4j2.properties dest=/es-data/config/log4j2.properties

- name: pull an image
  docker_image:
    name: docker.elastic.co/elasticsearch/elasticsearch:5.6.3

- name: Start docker container
  docker_container:
    docker_api_version: "auto"
    image: elasticsearch:5.6.3
    name: logginges
    state: started
    recreate: yes
    ports: "9200:9200,9300:9300"
    memory_swappiness: 0
    memory: 14g
    env:
      ES_JAVA_OPTS: -Xms8g -Xmx8g
      BASE_DIR: /usr/share/elasticsearch
    volumes:
      - "esdata:/usr/share/elasticsearch/data"
      - "esconfig:/usr/share/elasticsearch/config/"
      - "esplugins:/usr/share/elasticsearch/plugins/"
    restart_policy: always
    log_driver: "json-file"
    log_opt:
      max-size: "50m"
      max-file: "5"

- name: Wait
  pause: seconds=60

- name: install Search Guard
  shell: docker exec -i logginges /bin/bash -c 'bin/elasticsearch-plugin install -b com.floragunn:search-guard-5:5.6.3-16'

- name: Copy SG elasticsearch configuration file
  become: true
  template: src=SGelasticsearch.yml dest=/es-data/config/elasticsearch.yml

- name: Copy keystore file
  become: true
  template: src=keystore.jks dest=/es-data/config/keystore.b64

- name: Copy kirk file
  become: true
  template: src=kirk.jks dest=/es-data/config/kirk.b64

- name: Copy truststore file
  become: true
  template: src=truststore.jks dest=/es-data/config/truststore.b64

- name: install Search Guard
  shell: docker exec -i logginges /bin/bash -c 'base64 -d config/keystore.b64 | tee "config/keystore.jks" > /dev/null'

- name: install Search Guard
  shell: docker exec -i logginges /bin/bash -c 'base64 -d config/kirk.b64 | tee "config/kirk.jks" > /dev/null'

- name: install Search Guard
  shell: docker exec -i logginges /bin/bash -c 'base64 -d config/truststore.jks | tee "config/truststore.jks" > /dev/null'

- name: ReStart docker container
  docker_container:
    docker_api_version: "auto"
    image: elasticsearch:5.6.3
    name: logginges
    state: started
    recreate: yes
    ports: "9200:9200,9300:9300"
    memory_swappiness: 0
    memory: 14g
    env:
      ES_JAVA_OPTS: -Xms8g -Xmx8g
    volumes:
      - "esdata:/usr/share/elasticsearch/data"
      - "esconfig:/usr/share/elasticsearch/config/"
      - "esplugins:/usr/share/elasticsearch/plugins/"
    restart_policy: always
    log_driver: "json-file"
    log_opt:
      max-size: "50m"
      max-file: "5"

- name: initial setup of Search Guard
  shell: docker exec -i logginges /bin/bash -c 'chmod +x /usr/share/elasticsearch/plugins/search-guard-5/tools/sgadmin.sh'

- name: Initializing Search Guard
  shell: docker exec -i logginges /bin/bash -c '/usr/share/elasticsearch/plugins/search-guard-5/tools/sgadmin.sh'

And this is the config that gets passed in:
path:
  data: /usr/share/elasticsearch/data

cluster.name: shared-logging
node.name: "{{ inventory_hostname }}"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: "{{ groups['logginges'] | join(", ") }}"
discovery.zen.minimum_master_nodes: 2
script.inline: on
script.stored: on
cluster.routing.allocation.node_initial_primaries_recoveries: 10
indices.recovery.max_bytes_per_sec: 100mb
cluster.routing.allocation.node_concurrent_recoveries: 5
network.bind_host: "0.0.0.0"
network.publish_host: "{{ inventory_hostname }}"
http.port: 9200

######## Start Search Guard Demo Configuration ########
searchguard.ssl.transport.keystore_filepath: keystore.jks
searchguard.ssl.transport.truststore_filepath: truststore.jks
searchguard.ssl.transport.enforce_hostname_verification: false
searchguard.ssl.http.enabled: true
searchguard.ssl.http.keystore_filepath: keystore.jks
searchguard.ssl.http.truststore_filepath: truststore.jks
searchguard.authcz.admin_dn:
  - CN=kirk,OU=client,O=client,L=test, C=de
######## End Search Guard Demo Configuration ########

This is the entire log from initialization to failure:
[2017-10-30T22:02:26,312][INFO ][o.e.n.Node               ] [10.0.102.70] initializing ...
[2017-10-30T22:02:26,431][INFO ][o.e.e.NodeEnvironment    ] [10.0.102.70] using [1] data paths, mounts [[/usr/share/elasticsearch/data (/dev/xvdb1)]], net usable_space [956.5gb], net total_space [1007.8gb], spins? [possibly], types [ext4]
[2017-10-30T22:02:26,432][INFO ][o.e.e.NodeEnvironment    ] [10.0.102.70] heap size [7.9gb], compressed ordinary object pointers [true]
[2017-10-30T22:02:26,442][INFO ][o.e.n.Node               ] [10.0.102.70] node name [10.0.102.70], node ID [4w1_T-EyRwuu4Wo0SesqCg]
[2017-10-30T22:02:26,443][INFO ][o.e.n.Node               ] [10.0.102.70] version[5.6.3], pid[1], build[1a2f265/2017-10-06T20:33:39.012Z], OS[Linux/4.4.0-1020-aws/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/1.8.0_141/25.141-b15]
[2017-10-30T22:02:26,443][INFO ][o.e.n.Node               ] [10.0.102.70] JVM arguments [-Xms2g, -Xmx2g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Xms8g, -Xmx8g, -Des.path.home=/usr/share/elasticsearch]
[2017-10-30T22:02:27,866][INFO ][c.f.s.SearchGuardPlugin  ] Clustername: shared-logging
[2017-10-30T22:02:27,867][WARN ][c.f.s.SearchGuardPlugin  ]
### LICENSE NOTICE Search Guard ###

If you use one or more of the following features in production
make sure you have a valid Search Guard license
(See https://floragunn.com/searchguard-validate-license)

* Kibana Multitenancy
* LDAP authentication/authorization
* Active Directory authentication/authorization
* REST Management API
* JSON Web Token (JWT) authentication/authorization
* Kerberos authentication/authorization
* Document- and Fieldlevel Security (DLS/FLS)
* Auditlogging

In case of any doubt mail to <sales@floragunn.com>
###################################

### LICENSE NOTICE Search Guard ###

If you use one or more of the following features in production
make sure you have a valid Search Guard license
(See https://floragunn.com/searchguard-validate-license)

* Kibana Multitenancy
* LDAP authentication/authorization
* Active Directory authentication/authorization
* REST Management API
* JSON Web Token (JWT) authentication/authorization
* Kerberos authentication/authorization
* Document- and Fieldlevel Security (DLS/FLS)
* Auditlogging

In case of any doubt mail to <sales@floragunn.com>
###################################

### LICENSE NOTICE Search Guard ###

If you use one or more of the following features in production
make sure you have a valid Search Guard license
(See https://floragunn.com/searchguard-validate-license)

* Kibana Multitenancy
* LDAP authentication/authorization
* Active Directory authentication/authorization
* REST Management API
* JSON Web Token (JWT) authentication/authorization
* Kerberos authentication/authorization
* Document- and Fieldlevel Security (DLS/FLS)
* Auditlogging

In case of any doubt mail to <sales@floragunn.com>
###################################
[2017-10-30T22:02:27,868][WARN ][c.f.s.SearchGuardPlugin  ] Consider setting -Djdk.tls.rejectClientInitiatedRenegotiation=true to prevent DoS attacks through client side initiated TLS renegotiation.
Consider setting -Djdk.tls.rejectClientInitiatedRenegotiation=true to prevent DoS attacks through client side initiated TLS renegotiation.
Consider setting -Djdk.tls.rejectClientInitiatedRenegotiation=true to prevent DoS attacks through client side initiated TLS renegotiation.
[2017-10-30T22:02:27,906][INFO ][c.f.s.SearchGuardPlugin  ] Node [10.0.102.70] is a transportClient: false/tribeNode: false/tribeNodeClient: false
[2017-10-30T22:02:27,907][INFO ][c.f.s.SearchGuardPlugin  ] FLS/DLS module not available
[2017-10-30T22:02:27,924][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] Open SSL not available (this is not an error, we simply fallback to built-in JDK SSL) because of java.lang.ClassNotFoundException: io.netty.internal.tcnative.SSL
[2017-10-30T22:02:27,924][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] java.version: 1.8.0_141
[2017-10-30T22:02:27,924][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] java.vendor: Oracle Corporation
[2017-10-30T22:02:27,924][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] java.vm.specification.version: 1.8
[2017-10-30T22:02:27,925][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] java.vm.specification.vendor: Oracle Corporation
[2017-10-30T22:02:27,925][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] java.vm.specification.name: Java Virtual Machine Specification
[2017-10-30T22:02:27,925][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] java.vm.name: OpenJDK 64-Bit Server VM
[2017-10-30T22:02:27,925][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] java.vm.vendor: Oracle Corporation
[2017-10-30T22:02:27,925][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] java.specification.version: 1.8
[2017-10-30T22:02:27,926][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] java.specification.vendor: Oracle Corporation
[2017-10-30T22:02:27,926][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] java.specification.name: Java Platform API Specification
[2017-10-30T22:02:27,926][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] os.name: Linux
[2017-10-30T22:02:27,926][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] os.arch: amd64
[2017-10-30T22:02:27,926][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] os.version: 4.4.0-1020-aws
[2017-10-30T22:02:28,175][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] JVM supports the following 82 ciphers for https [TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV, TLS_DH_anon_WITH_AES_256_GCM_SHA384, TLS_DH_anon_WITH_AES_128_GCM_SHA256, TLS_DH_anon_WITH_AES_256_CBC_SHA256, TLS_ECDH_anon_WITH_AES_256_CBC_SHA, TLS_DH_anon_WITH_AES_256_CBC_SHA, TLS_DH_anon_WITH_AES_128_CBC_SHA256, TLS_ECDH_anon_WITH_AES_128_CBC_SHA, TLS_DH_anon_WITH_AES_128_CBC_SHA, TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA, SSL_DH_anon_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_DH_anon_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA, TLS_RSA_WITH_NULL_SHA256, TLS_ECDHE_ECDSA_WITH_NULL_SHA, TLS_ECDHE_RSA_WITH_NULL_SHA, SSL_RSA_WITH_NULL_SHA, TLS_ECDH_ECDSA_WITH_NULL_SHA, TLS_ECDH_RSA_WITH_NULL_SHA, TLS_ECDH_anon_WITH_NULL_SHA, SSL_RSA_WITH_NULL_MD5, TLS_KRB5_WITH_3DES_EDE_CBC_SHA, TLS_KRB5_WITH_3DES_EDE_CBC_MD5, TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5, TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA, TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5]
[2017-10-30T22:02:28,192][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] JVM supports the following 82 ciphers for transport [TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV, TLS_DH_anon_WITH_AES_256_GCM_SHA384, TLS_DH_anon_WITH_AES_128_GCM_SHA256, TLS_DH_anon_WITH_AES_256_CBC_SHA256, TLS_ECDH_anon_WITH_AES_256_CBC_SHA, TLS_DH_anon_WITH_AES_256_CBC_SHA, TLS_DH_anon_WITH_AES_128_CBC_SHA256, TLS_ECDH_anon_WITH_AES_128_CBC_SHA, TLS_DH_anon_WITH_AES_128_CBC_SHA, TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA, SSL_DH_anon_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_DH_anon_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA, TLS_RSA_WITH_NULL_SHA256, TLS_ECDHE_ECDSA_WITH_NULL_SHA, TLS_ECDHE_RSA_WITH_NULL_SHA, SSL_RSA_WITH_NULL_SHA, TLS_ECDH_ECDSA_WITH_NULL_SHA, TLS_ECDH_RSA_WITH_NULL_SHA, TLS_ECDH_anon_WITH_NULL_SHA, SSL_RSA_WITH_NULL_MD5, TLS_KRB5_WITH_3DES_EDE_CBC_SHA, TLS_KRB5_WITH_3DES_EDE_CBC_MD5, TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5, TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA, TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5]
[2017-10-30T22:02:28,194][INFO ][c.f.s.s.DefaultSearchGuardKeyStore] Config directory is /usr/share/elasticsearch/config/, from there the key- and truststore files are resolved relatively
[2017-10-30T22:02:28,202][INFO ][c.f.s.s.u.SSLCertificateHelper] No alias given, use the first one: node-0
[2017-10-30T22:02:28,209][WARN ][c.f.s.s.u.SSLCertificateHelper] Certificate chain for alias node-0 contains a root certificate
[2017-10-30T22:02:28,387][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [10.0.102.70] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: ElasticsearchException[Failed to load plugin class [com.floragunn.searchguard.SearchGuardPlugin]]; nested: InvocationTargetException; nested: NullPointerException;
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.6.3.jar:5.6.3]
Caused by: org.elasticsearch.ElasticsearchException: Failed to load plugin class [com.floragunn.searchguard.SearchGuardPlugin]
	at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:434) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:387) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:140) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.node.Node.<init>(Node.java:313) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.node.Node.<init>(Node.java:245) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:233) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:233) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.3.jar:5.6.3]
	... 6 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_141]
	at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:423) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:387) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:140) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.node.Node.<init>(Node.java:313) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.node.Node.<init>(Node.java:245) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:233) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:233) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.3.jar:5.6.3]
	... 6 more
Caused by: java.lang.NullPointerException
	at com.floragunn.searchguard.ssl.util.ExceptionUtils.findMsg(ExceptionUtils.java:43) ~[?:?]
	at com.floragunn.searchguard.ssl.DefaultSearchGuardKeyStore.logExplanation(DefaultSearchGuardKeyStore.java:694) ~[?:?]
	at com.floragunn.searchguard.ssl.DefaultSearchGuardKeyStore.initSSLConfig(DefaultSearchGuardKeyStore.java:286) ~[?:?]
	at com.floragunn.searchguard.ssl.DefaultSearchGuardKeyStore.<init>(DefaultSearchGuardKeyStore.java:153) ~[?:?]
	at com.floragunn.searchguard.SearchGuardPlugin.<init>(SearchGuardPlugin.java:271) ~[?:?]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_141]
	at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:423) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:387) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:140) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.node.Node.<init>(Node.java:313) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.node.Node.<init>(Node.java:245) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:233) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:233) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.3.jar:5.6.3]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.3.jar:5.6.3]
	... 6 more

Thx for reporting this.
The NPE is a indeed a bug. Will provide a fix shortly.

@floragunncom I noticed that you added 5.6.4-16 with this work in it. I attempted to use that version and ran into another issue. (nested:EOFException). Do you want me to open a new issue for this or do you want to work off of this one?
org.elasticsearch.bootstrap.StartupException: ElasticsearchException[Failed to load plugin class [com.floragunn.searchguard.SearchGuardPlugin]]; nested: InvocationTargetException; nested: ElasticsearchSecurityException[Error while initializing transport SSL layer: java.io.EOFException]; nested: EOFException; 	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.6.4.jar:5.6.4] Caused by: org.elasticsearch.ElasticsearchException: Failed to load plugin class [com.floragunn.searchguard.SearchGuardPlugin] 	at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:438) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:391) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:141) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.node.Node.<init>(Node.java:313) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.node.Node.<init>(Node.java:245) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:233) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:233) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.4.jar:5.6.4] 	... 6 more Caused by: java.lang.reflect.InvocationTargetException 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?] 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] 	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_151] 	at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:427) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:391) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:141) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.node.Node.<init>(Node.java:313) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.node.Node.<init>(Node.java:245) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:233) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:233) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.4.jar:5.6.4] 	... 6 more Caused by: org.elasticsearch.ElasticsearchSecurityException: Error while initializing transport SSL layer: java.io.EOFException 	at com.floragunn.searchguard.ssl.DefaultSearchGuardKeyStore.initSSLConfig(DefaultSearchGuardKeyStore.java:287) ~[?:?] 	at com.floragunn.searchguard.ssl.DefaultSearchGuardKeyStore.<init>(DefaultSearchGuardKeyStore.java:153) ~[?:?] 	at com.floragunn.searchguard.SearchGuardPlugin.<init>(SearchGuardPlugin.java:271) ~[?:?] 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?] 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] 	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_151] 	at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:427) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:391) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:141) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.node.Node.<init>(Node.java:313) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.node.Node.<init>(Node.java:245) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:233) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:233) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.4.jar:5.6.4] 	... 6 more Caused by: java.io.EOFException 	at java.io.DataInputStream.readInt(DataInputStream.java:392) ~[?:1.8.0_151] 	at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:653) ~[?:?] 	at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56) ~[?:?] 	at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224) ~[?:?] 	at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70) ~[?:?] 	at java.security.KeyStore.load(KeyStore.java:1445) ~[?:1.8.0_151] 	at com.floragunn.searchguard.ssl.DefaultSearchGuardKeyStore.initSSLConfig(DefaultSearchGuardKeyStore.java:274) ~[?:?] 	at com.floragunn.searchguard.ssl.DefaultSearchGuardKeyStore.<init>(DefaultSearchGuardKeyStore.java:153) ~[?:?] 	at com.floragunn.searchguard.SearchGuardPlugin.<init>(SearchGuardPlugin.java:271) ~[?:?] 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?] 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] 	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_151] 	at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:427) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:391) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:141) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.node.Node.<init>(Node.java:313) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.node.Node.<init>(Node.java:245) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:233) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:233) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.4.jar:5.6.4] 	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.4.jar:5.6.4] 	... 6 more

@wesleyorama can you open another issue for the EOFException?

NPE fixed for 5.6.4 and 5.6.5 with SG >= 16

authors: floragunncom wesleyorama

repo: floragunncom/search-guard


text:
added b2d using js and regex

hey maintainer ,just created a vanilla app of binary to decimal convertor . I am aware that there is already one using vanilla js. But it has some errors(event bubbling occurs in the whole container ) .
I have done It keeping in mind

Hello everyone 👋
I hope this message finds you well. As you may know, the original repository for app ideas has not been updated in a while and is no longer actively maintained. However, I'm excited to let you know that a new repository has been created to continue this project (https://github.com/vincent0426/app-ideas).
The new repository aims to provide a comprehensive list of practical and achievable app ideas that developers of all levels can work on to improve their skills and build their portfolios. We welcome contributions from anyone who wants to add their own app ideas or improve the existing ones, and we are also looking for volunteers who can help maintain the repository and keep it up to date.
If you are interested in contributing or maintaining this project, please head over to the new repository (https://github.com/vincent0426/app-ideas) ⭐ and take a look at the existing issues and pull requests. Feel free to open a new issue if you have an app idea to suggest or if you have any questions about the project.
Thank you for your attention, and I hope to see you in the new repository soon! 💖

⚠ This message was generated by a robot 🤖, if this message reached you, consider leaving a star for this robot, repository link
⭐ https://github.com/aldairandre/github-bot ⭐

authors: aldairandre hussamkhatib


text:
User törlése után a naptár nem jelenít meg eseményeket

Kérdés, hogy ha egy usert törlünk, mi történik az általa korábban létrehozott eseményekkel és azokkal, amelyeknél meghívottként szerepelt - törlődik-e a DB-ben tárolt meetingek meghívottjai közül is.

User törlése után visszatérve naptár nézetbe vagy listanézetbe, a lekéréskor backendről az alábbi hibát dobja:
".EntityNotFoundException: Unable to find hu.flowacademy.companycalendar.model.User with id"

repo: flowacademyhu/eta-company-calendar


text:
Create social media graphic for AMA session

Story
No response
Description
Ideally we have a graphic that we can use on social media to promote the upcoming AMA session.  The graphic should include the following:
Title: Ask Me Anything about Node-RED
Date:  Februay 9 @ 17:00CET / 11:00AM ET
Meet the Experts
Nick O'Leary, co-founder Node-RED & CTO @ FlowForge
Rob Marcer, Developer Advocate @ FlowForge
Two headshot of Nick and Rob

authors: iskerrett joepavitt

repo: flowforge/website


text:
Added Rival 110 support

We had a go at making the Rival 110 work. It turned out to be fairly close to the 100, but the commands needs trailing null bytes to a certain length. The biggest difference is the wide array of DPI settings available.

Hi,
The DPI setting looks close to the Rival/Rival 300 one (https://github.com/flozz/rivalcfg/blob/master/rivalcfg/profiles/rival.py#L16-L19) but I cannot explain the inconsistent gap in the list:
200: 0x04,
300: 0x06,
400: 0x08,

→ +100: +2

400: 0x08,
500: 0x0b,

→ +100: +3

Merged, thank you for your contribution :)

Thank you!
Yeah, the 2/3 jumps are a bit confusing. You can probably use the same function that the 300 uses and no-one will notice :). When I saw the jumps were inconsistent I figured it was better to just sniff the values for every selectable DPI in the SteelSeries Engine. So, hence the big list.

hi thanks ! it works (in linux) :)

authors: ag88 flozz runfalk

repo: flozz/rivalcfg

license: WTFPL


text:
Unable to convert m4a to mp3 through streams but works with file path

When I run fluent-ffmpeg with file path, it gives me an proper output, but while running the same script with file stream reader it generates an mp3 which only contains ffprob ID3 TXXX major_brandM4A TXXX minor_version512TXXX compatible_brandsisomiso2TSSE Lavf57.41.100
My code is:
var fileReader = fs.createReadStream(__dirname + "/audio.m4a");
var tp = ffmpeg(fileReader)
    .withNoVideo()
    .inputFormat('m4a')
    .audioCodec('libmp3lame')
    .audioBitrate(128)
    .format('mp3')
    .on('error', (err) => console.error(err))
    .on('end', () => console.log('Finished!'))
    .save(fs.createWriteStream("audio.mp3"));

The wired thing for me is why the same audio.m4a is working great with file path, but not working with streams? FYI i am working on my local machine.

Looks like a ffmpeg issue. Can you please try with command line ffmpeg first and report back if it works ?

Hey thanks for your reply.
command line ffmpeg works fine:
ffmpeg -f m4a -i audio.m4a -acodec libmp3lame -f mp3 output.mp3
if i will give the file path instead of streams it works as expected
the file path code is:
ffmpeg(__dirname + "/audio.m4a")
     .withNoVideo()
     .inputFormat('m4a')
     .audioCodec('libmp3lame')
     .audioBitrate(128)
     .format('mp3')
     .on('error', (err) => console.error(err))
     .on('end', () => console.log('Finished!'))
     .pipe(fs.createWriteStream("streamed.mp3"));

The only problem i'am facing is with streams

If i call the ffmpeg code on "end" event of streams in that case it throws an error
throw new Error('Invalid input');
the complete stack trace of it is:
Error: Invalid input
    at FfmpegCommand.proto.mergeAdd.proto.addInput.proto.input (/Users/anuragtiwari/Code/RND/ffmpeg-fulent/node_modules/fluent-ffmpeg/lib/options/inputs.js:34:15)
    at new FfmpegCommand (/Users/anuragtiwari/Code/RND/ffmpeg-fulent/node_modules/fluent-ffmpeg/lib/fluent-ffmpeg.js:51:10)
    at FfmpegCommand (/Users/anuragtiwari/Code/RND/ffmpeg-fulent/node_modules/fluent-ffmpeg/lib/fluent-ffmpeg.js:34:12)
    at ReadStream.<anonymous> (/Users/anuragtiwari/Code/RND/ffmpeg-fulent/index.js:39:6)
    at emitNone (events.js:72:20)
    at ReadStream.emit (events.js:166:7)
    at endReadableNT (_stream_readable.js:921:12)
    at nextTickCallbackWith2Args (node.js:442:9)
    at process._tickCallback (node.js:356:17)

Can you please confirm if the same code works for you with streams?

command line ffmpeg works fine:
ffmpeg -f m4a -i audio.m4a -acodec libmp3lame -f mp3 output.mp3
if I give the file path instead of streams it works as expected

You already knew it worked fine with file paths. What needs to be tested is using pipes on command line.

I get a similar issue (Error: Invalid input at FfmpegCommand.proto.mergeAdd.proto.addInput) and it is caused by my input stream being a through2 stream (progress-stream actually). Since it is a custom transform stream it does not have the "readable" flag set.

I am having the same problem. It works with file paths and does not work with streams

Hi, anyone has a solution for it ?

I just got this bug also

I'm also experiencing this issue.  I can convert when the m4a is a file, but piping it from a stream claims 'partial file'.
This SO question says that "ffmpeg in streaming mode needs that header information to be near the beginning of the file. Fixing the file using ffmpeg -acodec copy -movflags faststart works for me."
https://stackoverflow.com/questions/52543595/problem-using-ffmpeg-in-streaming-mode-on-aac-files-created-by-android

Hi,
I still can't make it work... even after following @mitchell-bu proposal (on SO)
What i want to do is convert from m4a to wav.
let chunks = [];
Ffmpeg(inputStream(content))
.audioCodec('pcm_s16le')
.audioChannels(1)
.format('wav')
.outputOptions('-movflags faststart'); //-acodec copy <= this does not seem to be supported (?)
.on('end', () => { console.info(finished.); })
.on('error', (err) => { console.error(error is ${err}); });
            const ffstream = command.pipe({end: true});
            ffstream.on('data', function (chunk) {
                chunks.push(chunk);
            });

I just added the outputOptions line to solve the m4a to wav conversion problem.
Note that command line ffmpeg -i myFile.m4a outFile.wav  works fine ....
Note also that the above code works fine for other audio format to wav conversion (removing the outputOptions  line)
Where am i getting wrong ?
Thx.

Any updates on this? We're experiencing the same at my company and we are unable to fix it. CMD works fine.

Has there been an update on this issue? I am currently facing an issue and unable to find a workaround

I am also unable to find a workaround, I can't tell if this is a bug with ffmpeg or fluent ffmpeg, has anybody tried filing a report with ffmpeg regarding this?

Just got this bug and realized this has existed since 7 years ago.

I find even more crazy how nobody has found a solution yet

I also need a solution for this problem, anyone has find a workaround?

this is not a problem with fluent-ffmpeg as mitchell-bu said.
the headers of m4a are at the end of file so stream can have problem.
adding   .inputOptions('-codec:a' ,'libfdk_aac')  may solve this

authors: JimmyBoh MegaTeam89 PaddyOl alireza-hariri anurag-gethullo carlos-molero dannycortesv freitasjuciel hypo-thesis mikestonecodes mitchell-bu njoyard simhskal thiagobustamante

repo: fluent-ffmpeg/node-fluent-ffmpeg


text:
Add FLUENT_ELASTICSEARCH_RELOAD_ON_FAILURE envvar to suppress unstable sniffering

This is reported in
https://github.com/uken/fluent-plugin-elasticsearch/issues/525.
Invalid sniffer information is obtained by default, but we can avoid
the following configuration:
reload_connections false
reconnect_on_error true
reload_on_failure true

To specify reload_on_failure on fluentd-kubernetes-daemonset,
we should introduce a new envver to specify it.
Signed-off-by: Hiroshi Hatake hatake@clear-code.com

Thx!

repo: fluent/fluentd-kubernetes-daemonset


text:
Output plugin not working with tag appended file

Check CONTRIBUTING guideline first and here is the list to help us investigate the problem.
Describe the bug
When tag is appended to the filename the same isn't working error is thrown.
To Reproduce
<match **>
  @type file
  path /var/log/fluent/${tag} <== Tag added here
  <format>
    @type json
  </format>
  <buffer>
    @type file
    flush_mode interval
    timekey 10s
    timekey_wait 0s
    flush_interval 10s
  </buffer>
</match>

Expected behavior
Expect file created with tagname and written
Your Environment
1.7.3
3.10.0-957.el7.x86_64
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
Additional context
I am trying to write logs with tag to its tag file.
2020-08-25 11:19:18 +0000 [error]: config error file="/etc/td-agent/td-agent.conf" error_class=Fluent::ConfigError error="Parameter 'path: /var/log/fluent/${tag}.%Y%m%d%H%M%S_**.log' has tag placeholders, but chunk key 'tag' is not configured"
2020-08-25 11:19:19 +0000 [info]: parsing config file is succeeded path="/etc/td-agent/td-agent.conf"
2020-08-25 11:19:19 +0000 [info]: adding rewrite_tag_filter rule: task [#<Fluent::PluginHelper::RecordAccessor::Accessor:0x00007f3e2d9dc958 @keys="task">, /^UniTask$/, "", "hng"]
2020-08-25 11:19:19 +0000 [info]: adding rewrite_tag_filter rule: task [#<Fluent::PluginHelper::RecordAccessor::Accessor:0x00007f3e2d9dc228 @keys="task">, /^([A-z]+)$/, "", "$1"]
2020-08-25 11:19:19 +0000 [error]: config error file="/etc/td-agent/td-agent.conf" error_class=Fluent::ConfigError error="Parameter 'path: /var/log/fluent/${tag}.%Y%m%d%H%M%S_**.log' has tag placeholders, but chunk key 'tag' is not configured"
2020-08-25 11:19:19 +0000 [info]: parsing config file is succeeded path="/etc/td-agent/td-agent.conf"
2020-08-25 11:19:19 +0000 [info]: adding rewrite_tag_filter rule: task [#<Fluent::PluginHelper::RecordAccessor::Accessor:0x00007fc01cb0fd90 @keys="task">, /^UniTask$/, "", "hng"]
2020-08-25 11:19:19 +0000 [info]: adding rewrite_tag_filter rule: task [#<Fluent::PluginHelper::RecordAccessor::Accessor:0x00007fc01cb0f660 @keys="task">, /^([A-z]+)$/, "", "$1"]

rgds
WorkHorse

See error message first. You need to add tag to buffer keys for placeholder: https://docs.fluentd.org/configuration/buffer-section#placeholders

repo: fluent/fluentd


text:
Removing unused code.

Removing the unused code in the website.
.floe-news-iems does not use margin-left as it uses padding.
Screenshots before:-

Screenshot after:-

@jhung @jobara review.

We will be rewriting all the CSS as part of the forthcoming redesign, so I'm closing this PR. Thanks for the contribution!

authors: aashimgarg greatislander


text:
Crash Flurry on watchOs 10.x

Describe the bug
FlurryWatch.logWatchEvent(  crashing on apple watchOs 10.x
This Bug is About
Please choose the closest item by replacing [ ] with [x].

[ x] Integration
[ ] Analytics
[ ] Ads
[ ] Messaging/Push
[ ] IAP
[ ] Remote Configuration
[ ] Flurry Website/Dashboard
[ ] Other

Platform
Please choose the platform(s) that you are having the issue by replacing [ ] with [x].

[ ] iOS
[ ] tvOS
[ x] WatchOS

Environment
Please tell us the versions of Flurry SDK, XCode, and iOS you are using.

Flurry SDK:  12.4.0
XCode: 15.0.1
iOS: 17.1

To Reproduce
Steps to reproduce the behavior:

Integrate Flurry on apple watch
Run FlurryWatch.logWatchEvent(
Observe crash

Screenshots

Additional context
Are you using Flurry Push/Messaging? No
(iOS) Are you using CocoaPods or manual binary integration? Yes / No
Add any other context about the problem here.

Getting the same issue.

Thank you for reporting the issue. We're investigating to find a resolution. I have not yet reproduced the crash.
-Are you able to reproduce this on a simulator or only a physical device?

Only physical devices. Its not reproduced on simulators.

@flurrydev Hello, here are some more findings for this crash. Hope it can helps your investigation.
If the watch app was created as WatchApp and WatchAppExtension separately (developed with Storyboard):

If calling the FlurryWatch.logWatchEvent on page load, the crash happens intermittently.
If calling the FlurryWatch.logWatchEvent on button click event, it works fine.
If the watch app was created as the combined WatchApp (developed with SwiftUI):
If calling the FlurryWatch.logWatchEvent on page load, it works fine.
If calling the FlurryWatch.logWatchEvent on button click event, it works fine.

Note: The one with WatchApp and WatchAppExtension separately was an old test project created in 2021. While the one with combined WatchApp was newly created with Xcode 15.

@flurrydev Hello, just to follow up on this issue. Any further updates?

authors: KyleStation evgzor flurrydev

repo: flurry/flurry-ios-sdk


text:
7.6.3 [FlurryWatchConnectivity setup] crash

Hi,
Our project does not have watch connectivity enabled, yet in 7.6.3 there is a call to the connectivity API, which causes a crash. Issue does not occur in 7.6.0:

@pwerry this is a known issue and one that we are currently working on.  No ETA as of yet on when the fix will be out (there are other things going into that release).  So, in the meantime, I would downgrade to 7.6.0 if that is an option.  If not, let me know.

authors: pwerry rollinsio


text:
IntelliJ IDEA Community Edition (the doctor check crashed)

✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know about this issue at https://github.com/flutter/flutter/issues.
✗ FormatException: Unexpected extension byte (at offset 5)
• #0      _Utf8Decoder.convertSingle (dart:convert-patch/convert_patch.dart:1789:7)
#1      Utf8Decoder.convert (dart:convert/utf.dart:351:42)
#2      InputStream.readString (package:archive/src/util/input_stream.dart:207:30)
#3      new ZipDirectory.read (package:archive/src/zip/zip_directory.dart:40:30)
#4      ZipDecoder.decodeBuffer (package:archive/src/zip_decoder.dart:19:30)
#5      ZipDecoder.decodeBytes (package:archive/src/zip_decoder.dart:14:12)
#6      IntelliJPlugins._findPluginXml (package:flutter_tools/src/intellij/intellij.dart:130:44)
#7      IntelliJPlugins._readPackageVersion (package:flutter_tools/src/intellij/intellij.dart:141:40)
#8      IntelliJPlugins.validatePackage (package:flutter_tools/src/intellij/intellij.dart:63:35)
#9      IntelliJValidator.validate (package:flutter_tools/src/intellij/intellij_validator.dart:103:15)
#10     asyncGuard. (package:flutter_tools/src/base/async_guard.dart:111:32)
#11     asyncGuard. (package:flutter_tools/src/base/async_guard.dart:109:18)
#12     _rootRun (dart:async/zone.dart:1426:13)
#13     _CustomZone.run (dart:async/zone.dart:1328:19)
#14     _runZoned (dart:async/zone.dart:1861:10)
#15     runZonedGuarded (dart:async/zone.dart:1849:12)
#16     runZoned (dart:async/zone.dart:1780:12)
#17     asyncGuard (package:flutter_tools/src/base/async_guard.dart:109:3)
#18     Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:205:9)
#19     Doctor.diagnose (package:flutter_tools/src/doctor.dart:309:47)
#20     DoctorCommand.runCommand (package:flutter_tools/src/commands/doctor.dart:50:48)
#21     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1320:12)

#22     FlutterCommand.run. (package:flutter_tools/src/runner/flutter_command.dart:1161:27)

#23     AppContext.run. (package:flutter_tools/src/base/context.dart:150:19)

#24     CommandRunner.runCommand (package:args/command_runner.dart:209:13)

#25     FlutterCommandRunner.runCommand. (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)

#26     AppContext.run. (package:flutter_tools/src/base/context.dart:150:19)

#27     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)

#28     run.. (package:flutter_tools/runner.dart:62:9)

#29     AppContext.run. (package:flutter_tools/src/base/context.dart:150:19)

#30     main (package:flutter_tools/executable.dart:94:3)

Hi @pademo57, Thanks for filing the issue. This issue is fixed on the master channel and the fix should be available on the stable channel in the upcoming stable release. This was previously filed here https://github.com/flutter/flutter/issues/94060.
You may get the fix before the release by switching to the latest master channel by running.
flutter channel master
flutter upgrade

If you still encounter this crash on the latest master channel, do let us know by filing a new issue or leaving a comment below.
Closing as the duplicate of the linked issue above.

repo: flutter/flutter


text:
[Proposal] Update animation simulation to fix restart ballistic animation which is used by NestedScrollView

see https://github.com/flutter/flutter/pull/96512 and https://github.com/flutter/flutter/pull/100133
After making these changes, the ballistic animation in the ListView works as expected.
But the NestedScrollView is using _NestedOuterBallisticScrollActivity and  _NestedInnerBallisticScrollActivity instead of BallisticScrollActivity, So these changes won't have any effect on NestedScrollView, we need to do something extra to fix NestedScrollView's sliding animation.

I am closing this issue since the associated changes were not made, so nested scroll view does not need to be updated in this way.

authors: MxSoul Piinks


text:
Cannot resolve symbol 'FlutterPlugin'

When I create a flutter plugin project,I get an error  Cannot resolve symbol 'FlutterPlugin'
flutter doctor :
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.0.5, on macOS 12.4 21F79 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.71.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability
• No issues found!

@lichengkun1
When opening an issue, please try to provide all or some of the information indicated in the template.

Issue Template
If you are looking for support, please check out our documentation
or consider asking a question on Stack Overflow:
- https://flutter.dev/
- https://api.flutter.dev/
- https://stackoverflow.com/questions/tagged/flutter?sort=frequent

If you have found a bug or if our documentation doesn't have an answer
to what you're looking for, then fill our the template below. Please read
our guide to filing a bug first: https://flutter.dev/docs/resources/bug-reports

Steps to Reproduce

Please tell us exactly how to reproduce the problem you are running into.

Please attach a small application (ideally just one main.dart file) that
reproduces the problem. You could use https://gist.github.com/ for this.

If the problem is with your application's rendering, then please attach
a screenshot and explain what the problem is.

1. ...
2. ...
3. ...

Please tell us which target platform(s) the problem occurs (Android / iOS / Web / macOS / Linux / Windows)
Which target OS version, for Web, browser, is the test system running?
Does the problem occur on emulator/simulator as well as on physical devices?

Target Platform:
Target OS version/browser:
Devices:

Run your application with `flutter run --verbose` and attach all the
log output below between the lines with the backticks. If there is an
exception, please see if the error message includes enough information
to explain how to solve the issue.

Run `flutter analyze` and attach any output of that command below.
If there are any analysis errors, try resolving them before filing this issue.

Finally, paste the output of running `flutter doctor -v` here.

Closing this issue, since no information has been provided.
Thank you.


text:
[Impeller] Glyphs rendered using SDF are rendered into their atlases at-scale.

The SDF glyph rendering strategy is still under construction in Impeller. But, right now, glyphs rendered using SDF are rendered at scale instead of being normalized. Normalizing the sizes should lead to a substantial performance benefit.

Closing as we've decided not to use SDFs for now

authors: chinmaygarde jonahwilliams


text:
IOS: failed to read asset tags: Assets.xcassets

Flutter 3.3.9, macbook air m1, macos Ventura, xcode 14.1.
This error only started happening when I updated code and flutter version and macos version.
If I run flutter build ios --release
I get this error
warning: Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any
    outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking
    "Based on dependency analysis" in the script phase. (in target 'abseil' from project 'Pods')

    Result bundle written to path:
        /var/folders/pd/nz9mvjcs5mj49w_fvm53lr1m0000gn/T/flutter_tools.yCZKUD/flutter_ios_build_temp_dirUzfVbE/temporary_xcresult_bundle

Error (Xcode): failed to read asset tags: The command `(cd /Users/user/Documents/projects/app/ios &&
/Applications/Xcode.app/Contents/Developer/usr/bin/actool --print-asset-tag-combinations --output-format xml1
/Users/user/Documents/projects/app/ios/Runner/Assets.xcassets)` exited with status 1. The command's standard output was:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>com.apple.actool.asset-tag-combinations</key>
        <array/>
        <key>com.apple.actool.errors</key>
        <array>
                <dict>
                        <key>debug-description</key>
                        <string>No string key for value in object around line 9, column 0.</string>
                        <key>description</key>
                        <string>The data couldn’t be read because it isn’t in the correct format.</string>
                        <key>failure-reason</key>
                        <string>The data is not in the correct format.</string>
                </dict>
        </array>
</dict>
</plist>

If I remove the reference of Assets.xcassets in Xcode (I don't know if I should do that), I get this error
Error (Xcode): unable to read input file as a property list: The operation couldn’t be completed. (XCBUtil.PropertyListConversionError error 2.)
My info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CADisableMinimumFrameDurationOnPhone</key>
	<true/>
	<key>CFBundleDevelopmentRegion</key>
	<string>$(DEVELOPMENT_LANGUAGE)</string>
	<key>CFBundleDisplayName</key>
	<string>AppName</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>flutter_app</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>$(MARKETING_VERSION)</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleVersion</key>
	<string>$(CURRENT_PROJECT_VERSION)</string>
	<key>LSRequiresIPhoneOS</key>
	<true/>
	<key>UILaunchStoryboardName</key>
	<string>LaunchScreen</string>
	<key>UIMainStoryboardFile</key>
	<string>Main</string>
	<key>UIStatusBarHidden</key>
	<false/>
	<key>UISupportedInterfaceOrientations</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
	<key>UISupportedInterfaceOrientations~ipad</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationPortraitUpsideDown</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
	<key>UIViewControllerBasedStatusBarAppearance</key>
	<false/>
</dict>
</plist>

I tried removing the assets folder reference and adding it again, and I tried using the xcode legacy build system, and the issue wasn't solved.

Hello @elieobeid7. Thank you for filing this issue. Can you please provide the following information?

Detailed reproduction steps, along with any supporting files like the assets you use.
From which version did you upgrade from

Please provide the information in the form of text. See how to make collapsible sections with Markdown here.

Issue solved

How did you solve it? Would be helpful for anyone having the same issue in the future :)

There was a merge conflict in the json file of the assets folder which was not detected by VSCode. Also, I removed all the crash analytics step in xcode when building.


text:
ListView are disposing the stateful children when an item is inserted on the top

Steps to Reproduce

Execute the code sample and tap on the self explanatory buttons

Expected results:
Only the new item inserted should have its state replaced.
Actual results:
The stateful children in the list below the one added on top are having their states replaced.
This behavior does not happen when the item is inserted on the bottom of the list.

Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

int counter = 0;

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  final String title;
  const MyHomePage({super.key, required this.title});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  List<String> items = <String>[];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.white,
        foregroundColor: Colors.blue,
        actions: [
          TextButton(
            child: const Text('Clear'),
            onPressed: () {
              setState(() {
                items = [];
              });
            },
          ),
          TextButton(
            child: const Text('Pos. 1'),
            onPressed: () {
              setState(() {
                items.insert(0, (++counter).toString());
              });
            },
          ),
          TextButton(
            child: const Text('Pos. last'),
            onPressed: () {
              setState(() {
                items.add((++counter).toString());
              });
            },
          )
        ],
      ),
      body: ListView.builder(
        itemCount: items.length,
        itemBuilder: (BuildContext context, int index) {
          return ListItem(
            title: items[index],
            key: ValueKey(items[index]),
          );
        },
      ),
    );
  }
}

class ListItem extends StatefulWidget {
  final String title;
  const ListItem({
    required this.title,
    super.key,
  });

  @override
  State<ListItem> createState() => _ListItemState();
}

class _ListItemState extends State<ListItem> {
  @override
  Widget build(BuildContext context) {
    return ListTile(
      title: Text(widget.title),
      subtitle: Text('$hashCode'),
    );
  }
}

This is working as expected. if you're going to insert into existing collections of widgets, you should either:

handle configuration changes in the State class using didUpdateWidget (https://api.flutter.dev/flutter/widgets/State/didUpdateWidget.html)
or

Use keys (see https://medium.com/flutter/keys-what-are-they-good-for-13cb51742e7d)

This is working as expected. if you're going to insert into existing collections of widgets, you should either:

handle configuration changes in the State class using didUpdateWidget (https://api.flutter.dev/flutter/widgets/State/didUpdateWidget.html)
or
Use keys (see https://medium.com/flutter/keys-what-are-they-good-for-13cb51742e7d)

didUpdateWidget is not called since it is not reusing the current state but creating a new one
I'm already using keys, check out the sample code please

Is the expected behavior not reuse the current children states? Am I misunderstanding something?
Tap on the "Pos. 1" button to see it happening. The tile subtitles represent the hashcode of their state.

authors: henriqueArrazao jonahwilliams