Update input

Hello @gwenchee! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file rollo/constraints.py:

Line 124:80: E501 line too long (122 > 79 characters)


Exceptions are not logged to application insights for an Android app in Release configuration

Description
I've spent the better part of 2 days on the following issue and I'm running out of ideas. Hopefully someone has had a similar experience and can help me out.
I have a .NET 8.0 iOS, Windows, and Android app with a shared backend. Serilog exception logging to application insights is working perfectly for iOS and Windows, but it only works for Android in the DEBUG configuration of my app.
Reproduction
instantiating the telemetry client during app start:
    var telemetryConfiguration = TelemetryConfiguration.CreateDefault();
    var telemetryConnection = config["ApplicationInsightsConnection"];

    if (string.IsNullOrEmpty(telemetryConnection))
    {
        throw new InvalidOperationException("The required configuration value 'ApplicationInsightsConnection' was not configured in
        appsettings.json");
    }

    telemetryConfiguration.ConnectionString = telemetryConnection;

    var telemetryClient = new TelemetryClient(telemetryConfiguration);
    Mvx.IoCProvider.RegisterSingleton(telemetryClient);

Setting up the serilogger configuration:
    Log.Logger = new LoggerConfiguration()
        .MinimumLevel.Debug()
        .WriteTo.Async(a => a.AndroidLog())
        .WriteTo.ApplicationInsights(iocProvider.Resolve<TelemetryClient>(),
            TelemetryConverter.Events).CreateLogger();

Writing an exception (where _platformSpecificLogger is an instance of SeriLog implementing ILogger)
_platformSpecificLogger?.LogError(exception, $"{message}, {toAppend}", toAppend);
ONLY In case the exception is unhandled we finalize with this in de Android project:
 private static void CurrentDomainOnUnhandledException(object sender, UnhandledExceptionEventArgs e)
{
    Exception exception = e.ExceptionObject as Exception ?? new Exception($"{nameof(UnhandledExceptionEventArgs)}.
   {nameof(e.ExceptionObject)} is not of type Exception; {e.ExceptionObject}");

    HandleException(exception);

    // Makes sure serilog sends application insights telemetry before the application terminates.
    **Serilog.Log.CloseAndFlush();**
}

Expected behavior
On Android, after compiling my app in Release Mode, I expect exceptions logged by Serilog to be visible in Application insights.
Relevant package, tooling and runtime versions
The relevant setup:
Serilog version 4.0.1
Serilog app insights version 4.0.0
Application insights version 2.22.0
Platform: .Net 8 app, Android (no Maui).
Additional Context

Serilog throws no exceptions and all the logger, telemetryClient, connection string etc. are all properly instantiated and have correct values.
Turning off code optimalization options in .csproj (like linking) in Release mode makes no difference.
Directly sending Telemetry via the telemetry client instance DOES work, also in release mode.
I want to stretch that I do exactly the same thing for the Windos and iOS apps. In those cases, the Exceptions do arrive in application insights. Also in release mode.
Size of the exception makes no difference. It doesn't arrive in application insights even if I do: throw new Exception("test").

Hi @Thomas-Slippens - unfortunately only a very limited number of maintainers watch this repository, and it doesn't look like anyone immediately spotted the problem here. Posting this to Stack Overflow with the serilog tag should get more eyes on it. Best of luck!


[BUG] ForecastingHorizon does not work for periods of N time units, N>1, e.g., 30min PeriodIndex

Describe the bug
Although the example in the documentation works, AutoETS and ExponentialSmoothing errors out when we use a sub-daily frequency of data
Error Message:
KeyError                                  Traceback (most recent call last)
<ipython-input-49-df19e8e04e62> in <module>()
      1 forecaster = AutoETS(sp=12, auto=True,n_jobs=-1)
      2 forecaster.fit(y)
----> 3 y_pred = forecaster.predict(fh=[1,2,3])

6 frames
/usr/local/lib/python3.7/dist-packages/pandas/core/indexing.py in _validate_read_indexer(self, key, indexer, axis, raise_missing)
   1296             if missing == len(indexer):
   1297                 axis_name = self.obj._get_axis_name(axis)
-> 1298                 raise KeyError(f"None of [{key}] are in the [{axis_name}]")
   1299
   1300             # We (temporarily) allow for some missing keys with .loc, except in

KeyError: "None of [PeriodIndex(['2021-09-20 01:00', '2021-09-20 01:30', '2021-09-20 02:00'], dtype='period[30T]', freq='30T')] are in the [index]"

To Reproduce

import numpy as np
import pandas as pd
from sktime.forecasting.ets import AutoETS

freq = "30T"
_y = np.arange(50) + np.random.rand(50) + np.sin(np.arange(50)/4)*10
t = pd.date_range("2021-09-19", periods=50, freq=freq)
y = pd.Series(_y, index=t)
y.index = y.index.to_period(freq=freq)
forecaster = AutoETS(sp=12, auto=True,n_jobs=-1)
forecaster.fit(y)
y_pred = forecaster.predict(fh=[1,2,3])

Expected behavior
Forecast for the future without an error
Additional context

Versions

System:
python: 3.7.12 (default, Sep 10 2021, 00:21:48)  [GCC 7.5.0]
executable: /usr/bin/python3
machine: Linux-5.4.104+-x86_64-with-Ubuntu-18.04-bionic
Python dependencies:
pip: 21.1.3
setuptools: 57.4.0
sklearn: 0.24.2
sktime: 0.8.0
statsmodels: 0.12.2
numpy: 1.19.5
scipy: 1.7.1
Cython: 0.29.24
pandas: 1.1.5
matplotlib: 3.4.3
joblib: 1.0.1
numba: 0.54.0
pmdarima: 1.8.2
tsfresh: 0.18.0

Thanks for the bug report @manujosephv!
The error happens in the to_absolute_int method of the ForecastingHorizon object when called inside _predict of the forecaster.
The issue is that even though we subtract a period from a period index, with both having the same frequency, we do not get the difference as the number of periods, but as minutes. The returned object is an index consisting of pandas._libs.tslibs.offsets.Minute objects.

This should be fixed by #1981.


Missing Task should fail linter

Hey All!
Im trying to add the Tekton-lint to the GitHub Super-Linter and have 1 ask for improvement.
Currently, if you run the following code:
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: example-task-name
spec:
  params:
    - name: pathToDockerFile
      type: string
      description: The path to the dockerfile to build
      default: /workspace/workspace/Dockerfile
  resources:
    inputs:
      - name: workspace
        type: git
    outputs:
      - name: builtImage
        type: image
  steps:
    - name: ubuntu-example
      image: ubuntu
      args: ["ubuntu-build-example", "SECRETS-example.md"]
    - image: gcr.io/example-builders/build-example
      command: ["echo"]
      args: ["$(params.pathToDockerFile)"]
    - name: dockerfile-pushexample
      image: gcr.io/example-builders/push-example
      args: ["push", "$(resources.outputs.builtImage.url)"]
      volumeMounts:
        - name: example-volume
          mountPath: /var/run/docker.sock
  volumes:
    - name: example-volume
      emptyDir: {}

It will complete successfully with error code 0
But if i remove the line:
kind: Task

It will run and show no output, and exit with exit code 0... Can this be set to exit with error code if it fails to read the data?
thanks!

มันจะทํางานและแสดงไม่มีการส่งออกและออกด้วยรหัสออก 0... สามารถตั้งค่าให้ออกด้วยรหัสข้อผิดพลาดถ้ามันล้มเหลวในการอ่านข้อมูลหรือไม่
ขอบคุณ!

👍 I agree @admiralAwkbar, it'd make sense to exit with 0 if none of the input files contained tekton definitions.

@madbence you mentioned above

it'd make sense to exit with 0 if none of the input files contained tekton definitions

the pr implements kinda the opposite exit code-wise. Should we handle the cases differently when:

the linter has been reading some files under the given path, but no tekton-definitions are present
the linter has been trying to read files based on the paths, but there are no such file(s)/path with the given blobs

otherwise if it is implements the requested changes @admiralAwkbar, can we close this one?

@markkovari I think this shoudl work!

@admiralAwkbar I published<EMAIL_ADDRESS>which contains this change!


Metrics not visible in Prometheus

Hello everyone,
I have configured the sapnwrfc_exporter in a system where my SAP host is running.
I can successfully view my system up and running in Prometheus with multiple metrics relations to the machine itself.
However, I am not able to see the metrics in Prometheus which are related to SAP system.
Below is how my sapnwrfc_exporter.toml look like:
[[Systems]]
Name = "PR2"
Usage = "test"
Tags = ["erp"]
User = "sapuser"
Lang = "de"
Client = "120"
Server = "192.168.xxx.xx"
Sysnr = "00"
[[TableMetrics]]
Name = "sap_processes"
Help = "Number of sm50 processes"
MetricType = "gauge"
TagFilter = ["erp"]
FuMo = "TH_WPINFO"
Table = "WPLIST"
AllServers = true
[TableMetrics.Params]
SRVNAME = ""
[TableMetrics.RowCount]
WP_TABLE = ["dbvm", "dbvl", "ma61v", "mdup"]
WP_TYP = ["dia", "btc", "upd", "upd2", "spo"]
[TableMetrics.RowFilter]
WP_STATUS = ["hÃ¤lt", "lÃ¤uft"]
Am I missing something under [[TableMetrics]]?
What exactly should be in the field 'SRVNAME' should come?
Are these table related metrics are only available metrics at the moment or shall we visualize more data related to SAP System?
Any inputs are highly appreciated.
Thanks in advance.

Hi,
[TableMetrics.Params]
  SRVNAME = ""

is okay. It means that the processes of the called application server will be taken. The umlauts in TableMetric.RowFilter do not look healthy. Please try it with
Lang = "en"
and
[TableMetrics.RowFilter]
    WP_STATUS = ["on hold", "running"]

If the exporter is running you can call localhost:9663/metrics and should see a lot of metrics-lines. If everything works, also something like:
# HELP sap_processes sm50 help
# TYPE sap_processes gauge
sap_processes{count="wp_table_dbvl",server="server",system="pr2",usage="test"} 0
sap_processes{count="wp_table_dbvm",server="server",system="pr2",usage="test"} 0
sap_processes{count="wp_table_ma61v",server="server",system="pr2",usage="test"} 0
...

If you want to see these metrics in prometheus, you need a job entry in the prometheus configfile, that is responsable for calling the running exporter in defined intervalls.

Thanks for the update. The problem seems to be solved now.


difference key when reload page.

React attempted to reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injected new markup to compensate which works but you have lost many of the benefits of server rendering. Instead, figure out why the markup being generated is different on the client or server.

I'm sorry, can you elaborate? Is that an error that you saw? How can I reproduce it?

@tasti the issue is, that component is not isomorphic-rendering friendly. It uses static counter for $LINKIFY_KEY_XXX which keeps increasing while server handles various requests. So, when user opens page with linkify, react gives a warning about markup differences:

I'm not even convinced, that keys are needed in case of linkify. it's not like it is a list or reorderable items

ok. as far as I understand, keys are used to distinguish sibling elements. it means that you do not need truly unique keys. you just need ordered keys for each parsed area. I'll make a pull-request


add ember-cli-changelog

It includes babel 5.x in its dependencies. Fixing this should allow using it again here and in ember-gestures
wild guess atm

@runspired do we want to just deprecate ember-cli-changelog? It needs a lot of work, and I don't understand the code well enough to implement the changes.

To be honest this was my thinking as well. I could have tried to fix changelog, but it’s very old and I was wondering what other addons are using instead.

Most addons use lerna-changelog these days, I think. I loved the ember-cli-release and ember-cli-changelog ease of use, but would need help from @runspired to get it working well.

Not gonna lie, i just made 3 releases of ember-gestures manually, b/c it broke an app i asked someone to try it on. Thus I made 3 manual tags, 3 manual releases, 3 manual commit messages, 3 of everything. I borked one thing, which isn't a big deal, there's no 0.6.0 in the commit line of master, and it's message which really only travis saw said 'Released 0.4.8' b/c that's where I tagged 0.6.0 from, during the revert. Then I published a sem ver safe 1.0.0
This story shows that we need a tool back badly, i don't care which one.
I'll do the implementation. Let me know whether to fix ember-cli-changelog or use something else :)

I’ll poke at things tomorrow 🙂


Unified Style Specification

cc/ @jntrnr @AucaCoyan @amtoine

we have two documents that might be worth a look

the style guide in the book (added in https://github.com/nushell/nushell.github.io/pull/904, should appear in the book with https://github.com/nushell/nushell.github.io/pull/1086)
the specification of the formatter in specification.md

Hi! Thanks to pull up a RFC, I think we have to clear an delimit a goal for this specific document, otherwise we can discuss a lot of topics abroad a lot of time!

AucaCoyan mentioned that there is no standardization of style

Not really (if I did, sorry, I was wrong!), I said that there are multiple gears working on the area LSP, parser, formatter, editor-support and so on. and I'm not sure if we all are onboard with the same info and objectives.
We may have different projects, and that's okay! We only need to focus the same goals in the same offices, so to speak.
We do have stylistic recommendations, as amtoine pointed out.
Refering to this issue topic, the current question I ask is:

Is it necessary to upgrade the syle guide it to a better version? what is the purpose of those documents?
Do you seek a different purpose @IogaMaster ?

Do you seek a different purpose

No, I just would like the style guide to reach more eyes, as nufmt doesn't get a lot of changes.


Add ability to append the note to daily note

Ability to sync the note to the daily note if it exists. The template can be defined to add it under a heading if it exists or to add the heading and then insert.

happy to look into this, have you seen this specific functionality in another plugin?

I dont know if another plugin does it, but Funnel iOS app, which is a quick capture app for a lot of apps including Obsidian, supports an option of adding content to the daily note.

There is a raycast addon that does this :)

awesome to see the raycast extension -- the code appears to be here -- https://github.com/raycast/extensions/tree/4af789cc3ff180ef225c193bccdc5ef61fd66f00/extensions/obsidian


No images in series menu and in widget menu (skin.fuse.neue)

Expected Behavior

might be skin specific - mine is https://github.com/jurialmunkey/skin.fuse.neue
there is no images in series menu and in widget menu, but everything else has images
Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

install skin.fuse.neue
in skin setting set elementum widget for some main menu item
hover on elementum nemu item - no images
open tv series in elementum - no images

Context

Your Environment

Version used: 0.68, 0.66

Environment name and version: kodi 18 , spmc 17.6

Operating System and version: android 8.0

Link to Kodi debug log:

kodi 18 https://paste.ubuntu.com/p/YxYJmV8NxY/
spmc 17 https://paste.ubuntu.com/p/cCrDqs9XJF/

Images for sections of Elementum? Like "Most popular".
Or items (shows/movies) images?

Images for sections of Elementum? Like "Most popular".
yes
and only for "series menu and widget menu"
please take a look to screenshots

@elgatito
I guess I found the root cause.
could it be because of:
00:22:49.650 T:18446744072589146480   DEBUG: Caching image '/storage/emulated/0/Android/data/com.semperpax.spmc17/files/.spmc/addons/plugin.video.elementum/fanart.png' to 'd/d269b093.png':
00:22:49.651 T:18446744072589146480   DEBUG: cached image 'special://masterprofile/Thumbnails/d/d269b093.png' size 3x2
00:22:49.652 T:18446744072589146480   ERROR: Could not encode thumbnail: special://masterprofile/Thumbnails/d/d269b093.png
00:22:49.653 T:18446744072589146480   ERROR: Failed to CreateThumbnailFromSurface for special://masterprofile/Thumbnails/d/d269b093.png

?
https://paste.ubuntu.com/p/hkqkYMnQBB/
if I relace fanart.png with different image (e.g. from quasar but converted to png) - everything is fine.
Could you please change fanart.png to some nice image? :-)

Would appreciate if anyone could make a fanart image for Elementum.

@elgatito
can we simply take https://github.com/scakemyer/plugin.video.quasar/blob/master/fanart.jpg
and then change https://github.com/elgatito/plugin.video.elementum/blob/master/addon.xml#L32
to <fanart>fanart.jpg</fanart> ? :-)
(convert to png dramatically increase the file size so that's why i don't propose it)


header refactoring

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #
Test URLs:

Before: https://main--icicidirect--aemsites.hlx.live/research/equity

After: https://refactor--icicidirect--aemsites.hlx.live/research/equity

[ ] New Blocks introduced in this PR
If yes, please provide details below

Block Name
Documentation

For e.g. carousel
doc-link

Using a cleaner block structure for nav

removed the separate section for icici logo
order of the section matches the page layout
new nav document - https://adobe.sharepoint.com/:w:/r/sites/HelixProjects/Shared Documents/sites/icicidirect/draft/vivesing/nav.docx?d=w6756e952ad79489b98ef94b72236ce45&csf=1&web=1&e=MdlNtwhttps://adobe.sharepoint.com/:w:/r/sites/HelixProjects/Shared Documents/sites/icicidirect/draft/vivesing/

seems space increased after this change


Use diagnostic namespace, make message appear on ParserSealed mismatches

This should slightly improve the situation for trait errors. We don't get too much control over the diagnostic, but I tried to push the bits important to the front.

Note that this will be an MSRV bump when it happens, but that the on_unimplemented diagnostic is currently in FCP to stabilize. That isn't a guarantee obviously, but it's a lot more likely to stabilize than a rustc_attr, which never will.

Awesome!

I do - I'll merge this, then probably make another thing to fix the check build.


Phase 1B New Style for Disclaimer Modal.....

Need to change black background to opaque, add a second button dimensions and backgound of disclaimer container are slightly different . Add X to close in top right corner....
Got a start on this here: phase1b-test
desktop

mobile

looks good


Race condition when chaining tests that use sshd make 2nd test fail

Expected Behaviour
My application contains 2 Jest tests that pop out containers that must access the host on different ports (I start and stop the application on a random free port in both tests).
As I'm stopping all containers and networks in afterAll() method of my 2 tests, I expect those 2 tests to pass when run in sequence (each test launched independently pass).
Actual Behaviour
I face an error when running the 2nd test. This error occurs whatever the order of tests:
(HTTP code 409) unexpected - Conflict. The container name "/testcontainers-port-forwarder-3590a01bd23a" is already in use by container "12da1dd140b3c1db82b6b6fb1a06a9c6bfaa99a18bc6c0345657ece569fc96e0". You have to remove (or rename) that container to be able to reuse that name.

      at ../node_modules/docker-modem/lib/modem.js:343:17
      at getCause (../node_modules/docker-modem/lib/modem.js:373:7)
      at Modem.Object.<anonymous>.Modem.buildPayload (../node_modules/docker-modem/lib/modem.js:342:5)
      at IncomingMessage.<anonymous> (../node_modules/docker-modem/lib/modem.js:310:16)

It seems the sshd container is still attached to the previously running container in 1st test. Maybe it's not killed fast enough by ryuk at the end of first test...
Testcontainer Logs
When setting export DEBUG=testcontainers* before running my tests, I got following relevant logs - from the end of previous end to the failure when starting the second one:
[...]
  testcontainers [DEBUG] [a2fd73d26a53] Stopped container +176ms
  testcontainers [DEBUG] [a2fd73d26a53] Removing container... +0ms
  testcontainers [DEBUG] [a2fd73d26a53] Removed container +11ms
  testcontainers [INFO] [a2fd73d26a53] Stopped container +0ms
 PASS  test/orders.api.e2e-spec.ts (8.288 s)
  ● Console

    console.log
      {"id":"655c95c83d00cf01f6fb3798","version":2,"testNumber":1,"testDate":1700566472226,"testedEndpoint":"http://host.testcontainers.internal:3000","serviceId":"655c95c73d00cf01f6fb377f","timeout":3000,"elapsedTime":76,"success":true,"inProgress":false,"runnerType":"OPEN_API_SCHEMA","testCaseResults":[{"success":true,"elapsedTime":76,"operationName":"POST /orders","testStepResults":[{"success":true,"elapsedTime":65,"requestName":"invalid_order","message":""},{"success":true,"elapsedTime":11,"requestName":"valid_order","message":""}]}]}

      at Object.<anonymous> (orders.api.e2e-spec.ts:69:15)

  testcontainers [DEBUG] Creating new Port Forwarder... +0ms
  testcontainers [DEBUG] Testing container runtime strategy "TestcontainersHostStrategy"... +0ms
  testcontainers [DEBUG] Loading ".testcontainers.properties" file... +0ms
  testcontainers [DEBUG] Loaded ".testcontainers.properties" file +1ms
  testcontainers [DEBUG] Found custom configuration: tcHost: "tcp://<IP_ADDRESS>:49964", dockerHost: "tcp://<IP_ADDRESS>:49964" +0ms
  testcontainers [DEBUG] Container runtime strategy "TestcontainersHostStrategy" works +89ms
  testcontainers [DEBUG] Acquiring lock file "/var/folders/n9/_hd3r9c13sz76379nr9lg3p40000gn/T/testcontainers-node.lock"... +3ms
  testcontainers [DEBUG] Acquired lock file "/var/folders/n9/_hd3r9c13sz76379nr9lg3p40000gn/T/testcontainers-node.lock" +1ms
  testcontainers [DEBUG] Listing containers... +0ms
  testcontainers [DEBUG] Listed containers +6ms
  testcontainers [DEBUG] Reusing existing Reaper for session "7516d459e5ef"... +0ms
  testcontainers [DEBUG] [a58a341100e3] Connecting to Reaper (attempt 1) on "<IP_ADDRESS>:33345"... +0ms
  testcontainers [DEBUG] [a58a341100e3] Connected to Reaper +1ms
  testcontainers [DEBUG] Releasing lock file "/var/folders/n9/_hd3r9c13sz76379nr9lg3p40000gn/T/testcontainers-node.lock"... +0ms
  testcontainers [DEBUG] Released lock file "/var/folders/n9/_hd3r9c13sz76379nr9lg3p40000gn/T/testcontainers-node.lock" +0ms
  testcontainers [DEBUG] Checking if image exists "testcontainers/sshd:1.1.0"... +0ms
  testcontainers:containers [a58a341100e3] 2023/11/21 11:34:33 New client connected: <IP_ADDRESS>:47852 +678ms
  testcontainers:containers [a58a341100e3] 2023/11/21 11:34:33 Adding {"label":{"org.testcontainers.session-id=7516d459e5ef":true}} +0ms
  testcontainers [DEBUG] Checked if image exists "testcontainers/sshd:1.1.0" +6ms
  testcontainers [DEBUG] Image "testcontainers/sshd:1.1.0" already exists +0ms
  testcontainers [DEBUG] Creating container for image "testcontainers/sshd:1.1.0"... +0ms
  testcontainers [ERROR] Failed to create container for image "testcontainers/sshd:1.1.0": Error: (HTTP code 409) unexpected - Conflict. The container name "/testcontainers-port-forwarder-7516d459e5ef" is already in use by container "adcbe20ddbac8b2dca120921ed2b7f505f67ca20e26aff0024e34ceb36ea77e9". You have to remove (or rename) that container to be able to reuse that name.  +10ms
 FAIL  test/orders.api.postman.e2e-spec.ts

Steps to Reproduce

Demo in this repository: https://github.com/microcks/api-lifecycle
Go to shift-left-demo/nest-order-service folder and run npm install
Run 'npm run test:e2e'
See above error

I've tried adding --runInBand to Jest configuration to force serialization of tests but doesn't solve the problem

Environment Information

Operating System: Mac OS Ventura 13.5.2
Docker Version:  Docker Desktop 4.21.1 (114176)
Node version: v18.16.0
Testcontainers version: 10.2.2

I will take a look but yep, looks like a race condition, thanks and advance

Hi @lbroudoux, thanks for raising such a detailed issue.
The idea behind the current implementation of a session ID is that it is shared across processes, including test processes. You can see in the Resource Reaper implementation for example that it checks for the existence of an existing container for the given session ID and reuses that if it exists:
https://github.com/testcontainers/testcontainers-node/blob/824cd8dbac0615ae00a83d82e8625a108b885ecb/packages/testcontainers/src/reaper/reaper.ts#L33-L36
If the session ID implementation remains the same (I need to have a chat with the other Testcontainers maintainers about this), the correct fix would be to implement a similar check in the Port Forwarder, so that the existing container is reused instead of a conflict being thrown.

Thanks for the heads-up and commenting on the progression!
I think reuse is fine, but we should also be able to change the host port the sshd is bound to. On my 2 subsequent tests, I may use 2 different ports as those are randomly chosen when starting the main NestJS/Express application.
Also, I have used the --runInBand flag on the Jest command line to see if serialization would help. Does reusing/sharing sshd also mean that serialization becomes mandatory if it can only expose one host port at a time?

Will keep this issue open until release/verification.

@lbroudoux please try version 10.3.2

I've checked with 10.3.2, and it works like a charm! I've tried both with and without --runInBand and it works each time even when the 2 tests are run in parallel with different ports. Great! 🎉
Thanks!


Fix CDP build

scm-source.json is now injected via CDP and no longer needs to be created "manually".

:+1:


Add HTTP Auth Hook

Adds a basic HTTP auth hook. Also for custom Transport and callback for functionality.

@mochi-co it seems that I do not have access to add labels or reviewers.

@dgduncan try now

@mochi-co perfect looks like it works now!

@mochi-co How do you feel about me merging this PR and tagging with v0.0.1.PRERELEASE ? I do not know how many people are willing to review PRs in this repository.

@dgduncan I've been quite busy lately. I will try my best to find time to review the code.

@werbenhu No worries!

@dgduncan I'm sorry for the delay on this, I've had some big life stuff going on which has taken my time. I'm happy to merge and tag this as it looks great to me!

Released as v0.0.1 pre-release :)


Feature/asb 1625 project updates

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

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


log entries made after TUI destruction are ignored

As of dadbb4e4431a609111398b431de99255a7e5a19d, log entries made after TUI destruction are not written to stdout. The entry in question is the debug message about termination, which isn't printed.

After digging a bit with gdb, it turns out that the screen butler isn't destructed before the last log. Shouldn't it be destroyed after the main try-catch in main()?

It's a catch 22. The logger needs to know about the screen butler during TUI construction, so tui_up will not be set to false until the logger is destructed.


Firebase ' The caller does not have permission to execute the specified operation'

Hey wondering why I'm getting this error?
The GoogleService-Info.plist is in the correct area. Also I think my code is logically wrong, but I'm not seeing it...logical errors are the best aren't they?! Basically the concept is I want to tap on the screen and have marker stored to database. This is a social app where users tap a map to indicate where something is.
Here's the error

[VERBOSE-2:ui_dart_state.cc(177)] Unhandled Exception: [cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation.
#0      MethodChannelQuery.get (package:cloud_firestore_platform_interface/src/method_channel/method_channel_query.dart:105:7)
<asynchronous suspension>
#1      Query.get (package:cloud_firestore/src/query.dart:178:25)
#2      _HomeViewState.populateClients (package:myttcmap/screen/home_screen/home_screen.dart:58:54)
#3      _HomeViewState.initState.<anonymous closure>.<anonymous closure> (package:myttcmap/screen/home_screen/home_screen.dart:49:13)
#4      State.setState (package:flutter/src/widgets/framework.dart:1244:30)
#5      _HomeViewState.initState.<anonymous closure> (package:myttcmap/screen/home_screen/home_screen.dart:45:9)
#6      _rootRunUnary (dart:async/zone.dart:1198:47)
#7      _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#8      _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#9      Future._propagat<…>

Here's the section I think it wrong
Widget build(BuildContext context) {
    return StreamBuilder(
        stream: FirebaseFirestore.instance.collection('markers').snapshots(),
        builder: (context, snapshot) {
          if (!snapshot.hasData) return Text('loading... please wait');
          for (int i = 0; i < snapshot.data.docs.length; i++) {
            allMarkers.add(new Marker(
              markerId: snapshot.data,
              visible: true,
              position: new LatLng(snapshot.data.document[i]['loc'].latitude,
                  snapshot.data.document[i]['loc'].longitude),
              icon: createMarker(context),
            ));
          }
          // return StreamBuilder();
          // return populateClients();
          return Scaffold(
            appBar: AppBar(
              title: Text("Report fare Inspections"),
              backgroundColor: Color.fromARGB(255, 39, 104, 100),
            ),
            body: Container(
              child: mapToggle
                  ? GoogleMap(
                      markers: Set.from(allMarkers),
                      minMaxZoomPreference: MinMaxZoomPreference(15, 17),
                      initialCameraPosition: CameraPosition(
                          target: LatLng(currentLocation.latitude,
                              currentLocation.longitude),
                          zoom: 15),
                      onTap: _handleTap,
                    )
                  : LoadingPage(),
            ),
          );
        });
  }

  _handleTap(LatLng point) {
    setState(
      () {
        allMarkers.add(Marker(
          markerId: MarkerId(point.toString()),
          position: point,
          infoWindow: InfoWindow(
            title: 'INSPECTION IN PAST 10 MIN!',
          ),
          icon: custom,
        ));
        // ignore: unnecessary_statements
      },
    );
  }
}

figured it out partially- security rules.Had to change them to allow read, write,
but still not sure about the other part of my question

whoop tried and got this error
flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
flutter: The following _TypeError was thrown building StreamBuilder<QuerySnapshot>(dirty, state:
flutter: _StreamBuilderBaseState<QuerySnapshot, AsyncSnapshot<QuerySnapshot>>#c1c0d):
flutter: type 'QuerySnapshot' is not a subtype of type 'MarkerId'
flutter:
flutter: The relevant error-causing widget was:
flutter:   StreamBuilder<QuerySnapshot>
flutter:   file:///Users/juliapak/Documents/myttcmap/lib/screen/home_screen/home_screen.dart:88:12
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #0      _HomeViewState.build.<anonymous closure> (package:myttcmap/screen/home_screen/home_screen.dart:94:34)
flutter: #1      StreamBuilder.build (package:flutter/src/widgets/async.dart:525:81)
flutter: #2      _StreamBuilderBaseState.build (package:flutter/src/widgets/async.dart:129:48)
flutter: #3      StatefulElement.build (package:flutter/src/widgets/framework.dart:4744:28)
flutter: #4      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4627:15)
flutter: #5      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
flutter: #6      Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
flutter: #7      StatefulElement.update (package:flutter/src/widgets/framework.dart:4832:5)
flutter: #8      Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
flutter: #9      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
flutter: #10     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
flutter: #11     Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
flutter: #12     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2730:33)
flutter: #13     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:913:20)
flutter: #14     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:302:5)
flutter: #15     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15)
flutter: #16     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1055:9)
flutter: #17     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:971:5)
flutter: #21     _invoke (dart:ui/hooks.dart:251:10)
flutter: #22     _drawFrame (dart:ui/hooks.dart:209:3)
flutter: (elided 3 frames from dart:async)
flutter:
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: Another exception was thrown: type 'QuerySnapshot' is not a subtype of type 'MarkerId'

markerId: snapshot.data

The markerId takes the value of type MarkerId. You can refer this example

@iNeedHelpX This is not an error with the framework itself. So, please ask such questions in Stackoverflow. We have a really great community there who'll help you out 🙂

i  figure :)


Fix freertos_cli_plus_uart builds in FreeRTOS console

Fix builds for freertos_cli_plus_uart module in Projects downloaded from FreeRTOS console for boards that do not support AFR::common_io module
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

These changes are not required for FreeRTOS console project download builds for boards that do not support AFR::common_io anymore. Closing the PR.


gpsea.analysis.pscore.stats._stats.TTestStatistic

Small feature request: Can we also have a getter for the t-statistic?

See https://github.com/monarch-initiative/gpsea/pull/357


Allow client to change LiveSocket URL

To support navigation, we need a way to change the URL the socket connects to when calling join_liveview_channel. This could be done in a few ways.
1. redirect passed to join_liveview_channel
The simplest method would be to add a redirect argument to join_liveview_channel.
pub async fn join_liveview_channel(&self, join_params: Option<HashMap<String, JSON>>, redirect: Option<String>) -> Result<LiveChannel, LiveSocketError>

This would be added to the join_payload under the "redirect" key.
https://github.com/liveview-native/liveview-native-core/blob/50b1d1e2fa4679e61e7bec682f0e0ebabe27f5cb/crates/core/src/live_socket/mod.rs#L690-L691
2 .url setter on LiveSocket
Alternatively, a setter for LiveSocket.url could be added.
Then, calling join_liveview_channel would use whatever URL is set automatically.
There are a few issues with this approach:

Core wouldn't know the original URL for reconnects. The client would have to keep track of the original URL separately for reconnects on live reload or error.
It becomes ambiguous whether to pass url or redirect key in the join_payload. This could possibly be inferred by checking if a LiveChannel already exists.

3. Full browser-like navigation handling
This could be an additional feature of core built on top of another more manual solution.
The API could be based on the web's Navigation API.
The LiveSocket would be expanded with new methods like this:
fn navigate(&self, url: String, replace: bool)
fn reload(&self)
fn back(&self)
fn forward(&self)
fn traverseTo(&self, index: u32)

fn entries(&self) -> Vec<String>
fn set_event_handler(&self, handler: Box<dyn NavigationChangeHandler>)

When merge_diffs is called, core can check for the redirect/live_redirect events internally and call these methods. The client will react to navigation state changes through a bound NavigationChangeHandler.

I think Option 3 - Full browser-like navigation handling is the best path forward. It's a little bit more work and I'll have to fight an uphill battle with interior mutability but I think it's worth it.
In the mean time, I think option 1 is in #173 (if I get it to work).

an additional constraint: it's been noted that maintaining a cache of dead renders per URLs is desired, a way to prehydrate the cache might be a long term goal.

This should be closed as of #239 but will remain open until the API has been finalized.


Roost move and Damp Rock item missing

This move and item don't affect the damage calc anyway so whats the point.


TimeSeries - Restrict animation when using global mode

Story details: https://app.shortcut.com/cartoteam/story/227983

A warning is shown in console if the user wants to show animation controls and use global at the same time. Also the showControls prop is forced to false when global is enabled.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 74.968%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1543

Relevant Lines:
1939

💛  - Coveralls


Level names in multi-level index are ignored

What happened:
The difference of the level names in multi-level index is silently ignored.
What you expected to happen:
Error message.
Minimal Complete Verifiable Example:
import xarray as xr

a = xr.DataArray([[1]], dims = ["x", "y"])

b = a.stack({"z": ["x", "y"]})
c = a.rename({"x": "not-x", "y": "not-y"}).stack({"z": ["not-x", "not-y"]})

xr.testing.assert_allclose(b, c)
print(b == c, "\n")
print(b.coords == c.coords, "\n")
print(b + c, "\n")
print(c + b, "\n")

Output:
<xarray.DataArray (z: 1)>
array([ True])
Coordinates:
  * z        (z) MultiIndex
  - x        (z) int64 0
  - y        (z) int64 0

True

<xarray.DataArray (z: 1)>
array([2])
Coordinates:
  * z        (z) MultiIndex
  - x        (z) int64 0
  - y        (z) int64 0

<xarray.DataArray (z: 1)>
array([2])
Coordinates:
  * z        (z) MultiIndex
  - not-x    (z) int64 0
  - not-y    (z) int64 0

Environment:
Output of xr.show_versions()
INSTALLED VERSIONS
commit: None
python: 3.9.1 (tags/v3.9.1:1e5d33e, Dec  7 2020, 17:08:21) [MSC v.1927 64 bit
(AMD64)]
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 165 Stepping 5, GenuineIntel
byteorder: little
LC_ALL: None
LANG: ru_RU.UTF-8
LOCALE: ('Russian_Russia', '1251')
libhdf5: 1.12.0
libnetcdf: None
xarray: 0.18.2
pandas: 1.3.0
numpy: 1.21.1
scipy: 1.6.0
netCDF4: None
pydap: None
h5netcdf: None
h5py: 3.1.0
Nio: None
zarr: None
cftime: None
nc_time_axis: None
PseudoNetCDF: None
rasterio: None
cfgrib: None
iris: None
bottleneck: None
dask: None
distributed: None
matplotlib: 3.4.2
cartopy: None
seaborn: None
numbagg: None
pint: None
setuptools: 57.4.0
pip: 21.1.3
conda: None
pytest: None
IPython: None
sphinx: None

Note that comparison of pandas.MultiIndex instances ignores the names.
This may be the cause of the issue.
import pandas as pd

a = pd.MultiIndex.from_tuples([(0, 0)], names=["x", "y"])
b = pd.MultiIndex.from_tuples([(0, 0)], names=["not-x", "not-y"])

print(a == b)
print(a.names == b.names)

Output:
[ True]
False

Thanks for the report @MaksimZh!
With the ongoing index refactoring (see https://github.com/pydata/xarray/projects/1), we will be able to fix that:

we plan to drop multi-index "virtual" coordinates and expose levels as "real" coordinates instead
pandas indexes are being wrapped in xarray.Index subclasses, so we'll be able to check for the level names when comparing indexes

This is fixed in v2022.6.0
xr.testing.assert_allclose(b, c)
# AssertionError: Left and right DataArray objects are not close
#
# Coordinates only on the left object:
#   * x        (z) int64 0
#   * y        (z) int64 0
# Coordinates only on the right object:
#   * not-y    (z) int64 0
#   * not-x    (z) int64 0

print(b == c, "\n")
# ValueError: cannot re-index or align objects with conflicting indexes found for the following coordinates: 'z' (2 conflicting indexes)
# Conflicting indexes may occur when
# - they relate to different sets of coordinate and/or dimension names
# - they don't have the same type
# - they may be used to reindex data along common dimensions


fix: Wrap markdown in description

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR Type

[x] Bugfix
[ ] Feature
[ ] Refactoring

Context

[x] Closes #4731
[ ] Requires deployment <>

Before submitting pull request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </bsx/collection>
[ ] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot 📸

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

Feel free to drop some design suggestions for the markdown section. @exezbcz
I found that the scrolling part in the original issue is code type, which means we could not make the text wrap to the next line

ref: http://miaolz123.github.io/vue-markdown/

Have you tried white-space: pre-wrap;?

That's really cool. It works now.

pay 50 usd

😍 Perfect, I’ve sent the payout
💵 $50 @ 34.88 USD/KSM ~ 1.433 $KSM
🧗 Caiv9TbPz68q5dC8EcHu5xKYPRnremimGzqmEejDFNpWWLG
🔗 0x18ca7061a23d2eb453cd5b4acc2ceeecf21fc71535c71a606dbf9055c190ecd7
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues

pay 50

😍 Perfect, I’ve sent the payout
💵 $50 @ 35.11 USD/KSM ~ 1.424 $KSM
🧗 Caiv9TbPz68q5dC8EcHu5xKYPRnremimGzqmEejDFNpWWLG
🔗 0xfbd0ed7632ba7fda2abbe6b48e596990af1ea8ffe93fe5c04639ca5d86356983
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Test the generation of change maps for non-user-specified assets.

Issue Number
ADP-346
Overview
This PR:

extracts out function collateNonUserSpecifiedAssetQuantities.
extracts out function makeChangeForNonUserSpecifiedAssets.
adds property tests to verify the expected behaviour of each function.
adds unit tests to illustrate the expected behaviour of each function.

The collateNonUserSpecifiedAssetQuantities function is designed to produce a map of all assets that do NOT appear in the user-specified outputs of a coin selection. Each asset a is mapped to the complete list of discrete quantities of a found in the selected inputs.
The makeChangeForNonUserSpecifiedAssets function is designed to make a list of change maps for all assets that do NOT appear in the user-specified outputs of coin selection. The number of change maps is intended to be exactly equal to the number of user-specified outputs.

This is great, thank you :+1:

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+

bors

bors r+

bors r+


switchhosts: Update to version 3.5.7

switchhosts: Update to version 3.5.7

Prerelease version will not be used, unless there is available stable release


Improve incrementality of transform propagation updates for siblings

As of #4608 (for legitimate correctness reasons), adding or removing any child now results in recomputing the transform hierarchy for every sibling. This is extremely suboptimal for large scenes. For example, despawning a single "house" entity in a scene with thousands of houses should not recompute the transform for every house (and the things inside of it). Given that transform propagation is often a bottleneck, fixing this should be a priority.

Added to the 0.8 milestone; I agree that we should aim to get this fixed ASAP.

Apologies, I haven't quite followed the discussion on Github or Discord; but what was the proposed fix going to be since adding a marker component was seen as untenable?
Was it going to be the proposed rfc?

what was the proposed fix going to be since adding a marker component was seen as https://github.com/bevyengine/bevy/pull/3340#discussion_r786930527?

If we can get better performance characteristics with a marker component, I'm alright with that as a stop-gap.
If we can get either the scheduling changes or a hierarchy redesign in in time for  the next release, I'd prefer a more elegant and robust approach instead.

@cart @james7132, this is in the milestone. Is this still relevant following #4197?

Definitely still an issue. Any change to Children leads to propagating through the entire tree.

This won't be solved / reviewed in time for 0.8. But should be prioritized / not forgotten. For now I'm adding a P-High so we don't lose it. We should also add this to the 0.9 milestone when that is created.

Spurious thought: since Children/Parents are changed in tandem when applying hierarchy changes, and child order doesn't really matter. Shouldn't we be checking for Changed<Parent> instead of Changed<Children>? It'd be localized only to only the children which has a changed parent instead of all children of a parent with one or more changed children.


New eventsourcing version

Hi guys,
I released a new major version of the eventsourcing library. https://pypi.python.org/pypi/eventsourcing/2.1.1
It's not backwards-compatible with the 1.x.x, there are some significant changes. If you wanted to update djangoevents to use the new version, you would need to make a few changes. Would be very happy to help you work through them, if you wanted some help with it.
Hope all's well,
John

👍 congrats! thanks for letting us know!


Roscore Status Notification

Notification to server of the addition/removal of a roscore (and therefore a ros deployment)
Notification Object:
{
  name: SYSTEM_NAME,
  master_uri: ROS_MASTER_URI,
  status: OPEN/CLOSE
}

updated to instead be the notification of a rosbridge server instead of roscore
{
 name: SYSTEM_NAME,
 rosbridge_uri: ROSBRIDGE_URI,
 status: OPEN/CLOSE
}

notification is set on startup and teardown

websocket address ws://localhost:8085/realtime/notify

using this for reference: https://github.com/websockets/ws


Disabled input textbox is not responsive to themes

Issue Type: Bug
This is a general UX issue, but will explain using SQL 2019 features:

Open the New Spark Job wizard
Pick a python file for upload. This disables the Main Class input box
Change themes and note that other than default themes none respond "right" to the change. Seems like we need to have this be updated in built-in themes

Screenshot from Monokai (Dimmed): the 2 text boxes look the same even though the 1st if disabled, the 2nd isn't

Screenshot from default dark theme: It's clearer that one is disabled

Azure Data Studio version: Azure Data Studio 1.3.7-insider (487531cc52c9c7a54147dc179f97b0c4252f7458, 2018-12-04T21:21:11.749Z)
OS version: Darwin x64 18.2.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz (8 x 2200)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
3, 2, 2

Memory (System)
16.00GB (0.46GB free)

Process Argv
/Users/kevcunnane/Downloads/Dec4_BugBash/Azure Data Studio.app/Contents/MacOS/Electron -psn_0_8620088

Screen Reader
no

VM
0%

Extensions (3)

Extension
Author (truncated)
Version

vscode-sanddance
dan
0.0.1

newdatabase
kev
0.0.3

sql-vnext
Mic
0.9.0

Here is what I'm seeing with the Monokai (Dimmed) theme for disabled controls.  The colors are similar but I verified with a color picker tool they are different.


Backups segfault on ARMv7

I build restic with Jenkins from Github master as and when commits are pushed.
Until this time I have not had any issues with it backing files up... until now ;-(

Output of restic version
# restic version
debug log file debug.log
debug enabled
restic 0.9.6 (v0.9.6-135-ga307797c) compiled with go1.14 on linux/arm

How did you run restic exactly?
export B2_ACCOUNT_ID="XXXX"
export B2_ACCOUNT_KEY="XXXX"
export RESTIC_REPOSITORY="b2:restic-$(hostname | md5sum | awk '{print $1}')-$(hostname)"
export RESTIC_PASSWORD_FILE="/root/.restic"
export RESTIC_CACHE_DIR="/data/.restic"
restic init
restic backup /etc
restic backup /etc

The 1st backup of /etc will work ok, but the 2nd backup is when things segfault.

What backend/server/service did you use to store the repository?
Backblaze B2
Expected behavior
Restic should backup correctly.
My last successful backup on this host was on the 27th Feb 2020.
(I have another linux host that bacups hourly and is working just fine.)

Actual behavior
It dies with a Segmentation fault :-(
# restic backup /etc
debug log file debug.log
debug enabled
repository 4357d291 opened successfully, password is correct
Segmentation fault files 4.264 MiB, total 941 files 6.448 MiB, 0 errors ETA 0:47
root@ReadyNAS:~/test#
/etc/wgetrc

Each time I run a backup it crashes but It doesn't stop at the same point in time or file.

Steps to reproduce the behavior
I'm just running a backup (well, attempting to)

Do you have any idea what may have caused this?
I am using a ReadyNAS Duo to run this backup on. It has 512MB of RAM, and lots of swap space allocated that it never actually uses.
Do you have an idea how to solve the issue?
Restic backs up just fine on a Linux x86_64 system with 16GB RAM. Maybe its a memory thing, but its odd that its only just stopped working.
I have deleted my repo and started again with a fresh one at Backblaze so I don't believe data to be corrupted.
Did restic help you today? Did it make you happy in any way?
Yes, and no.

Hm, that's very odd.  Anything else printed to stderr? What does the kernel log say?
Without knowing too much about your specific situation my first guess is that this is an issue with your system, e.g. a hardware issue. I have extensive experience with the Go runtime, and up to now I never had a segfault without a stack trace...
How do you build restic exactly? Using build.go? or manually? Is cgo enabled?

I'm building restic with the following command on my x64_64 system and the scp'ing the binary over to the NAS.
go run build.go --goos linux --goarch arm -tags debug

Actually that gave me an idea... I've just downloaded the offical binary  and that works!
Maybe my build process is wrong? Is it?

Please try whether compiling the restic master branch with go 1.13 yields a working binary. As another sanity check you could also compile the commit used for the v0.9.6 release with go 1.14.

FYI, there's also the environment variable GOARM, maybe you need to set that? The official binaries are also built with build.go (using an empty GOARM value), maybe that's it?
I'm still wondering about the missing output to stderr, what does the kernel log say?

I've not got GOARM compiled... I've not changed my Jenkins job for months, and its only just started failing in the last 6-8 weeks.
There is nothing in the kernel logs and even looking at repo stats doesn't work for me:
$ restic --verbose=1000  stats
debug log file debug.log
debug enabled
repository 4357d291 opened successfully, password is correct
Segmentation fault
$

The debug.log ends with this:
2020/03/10 16:09:51 repository/index.go:503     repository.DecodeIndex  95      done
2020/03/10 16:09:51 repository/index.go:553     repository.LoadIndexWithDecoder 95      Loading index 06af2d143950ed481718eab4849d9f57680949a5b3da0afbf1458ac61d23ddcd
2020/03/10 16:09:51 repository/repository.go:77 repository.(*Repository).LoadAndDecrypt 95      load index with id 06af2d143950ed481718eab4849d9f57680949a5b3da0afbf1458ac61d23ddcd
2020/03/10 16:09:51 cache/backend.go:164        cache.(*Backend).Load   95      Load(<index/06af2d1439>, 0, 0) from cache
2020/03/10 16:09:51 cache/file.go:44    cache.(*Cache).Load     95      Load from cache: <index/06af2d1439>
2020/03/10 16:09:51 repository/index.go:458     repository.DecodeIndex  95      Start decoding index
2020/03/10 16:09:51 repository/index.go:458     repository.DecodeIndex  92      Start decoding index
2020/03/10 16:09:51 repository/index.go:503     repository.DecodeIndex  92      done
2020/03/10 16:09:51 repository/index.go:503     repository.DecodeIndex  94      done
2020/03/10 16:09:51 repository/index.go:458     repository.DecodeIndex  93      Start decoding index
2020/03/10 16:09:51 repository/index.go:503     repository.DecodeIndex  93      done
2020/03/10 16:09:51 repository/index.go:553     repository.LoadIndexWithDecoder 93      Loading index 082d901fa3836e5890eff2d394a5ed3e89fa4d16e5219574d390629ecde0b78e
2020/03/10 16:09:51 repository/repository.go:77 repository.(*Repository).LoadAndDecrypt 93      load index with id 082d901fa3836e5890eff2d394a5ed3e89fa4d16e5219574d390629ecde0b78e
2020/03/10 16:09:51 cache/backend.go:164        cache.(*Backend).Load   93      Load(<index/082d901fa3>, 0, 0) from cache
2020/03/10 16:09:51 cache/file.go:44    cache.(*Cache).Load     93      Load from cache: <index/082d901fa3>
2020/03/10 16:09:51 repository/index.go:458     repository.DecodeIndex  93      Start decoding index
2020/03/10 16:09:51 repository/index.go:553     repository.LoadIndexWithDecoder 92      Loading index 09b8d107e9ac06de6a4b382af3955c3842bc866a7dacb01a17abd08617fe7eb0
2020/03/10 16:09:51 repository/repository.go:77 repository.(*Repository).LoadAndDecrypt 92      load index with id 09b8d107e9ac06de6a4b382af3955c3842bc866a7dacb01a17abd08617fe7eb0
2020/03/10 16:09:51 cache/backend.go:164        cache.(*Backend).Load   92      Load(<index/09b8d107e9>, 0, 0) from cache
2020/03/10 16:09:51 cache/file.go:44    cache.(*Cache).Load     92      Load from cache: <index/09b8d107e9>
2020/03/10 16:09:51 repository/index.go:458     repository.DecodeIndex  92      Start decoding index
2020/03/10 16:09:51 repository/index.go:503     repository.DecodeIndex  92      done
2020/03/10 16:09:51 repository/index.go:553     repository.LoadIndexWithDecoder 94      Loading index 0a749ef0f3af5c03d065758d31294ade7627c255cb192791b31db94e51ae5126
2020/03/10 16:09:51 repository/repository.go:77 repository.(*Repository).LoadAndDecrypt 94      load index with id 0a749ef0f3af5c03d065758d31294ade7627c255cb192791b31db94e51ae5126
2020/03/10 16:09:51 cache/backend.go:164        cache.(*Backend).Load   94      Load(<index/0a749ef0f3>, 0, 0) from cache
2020/03/10 16:09:51 cache/file.go:44    cache.(*Cache).Load     94      Load from cache: <index/0a749ef0f3>
2020/03/10 16:09:51 repository/index.go:458     repository.DecodeIndex  94      Start decoding index
2020/03/10 16:09:51 repository/index.go:553     repository.LoadIndexWithDecoder 92      Loading index 0a64c4151402f4a873e64f215b416e9af6febb36ce0bef28c617c64f0e59d08d
2020/03/10 16:09:51 repository/repository.go:77 repository.(*Repository).LoadAndDecrypt 92      load index with id 0a64c4151402f4a873e64f215b416e9af6febb36ce0bef28c617c64f0e59d08d
2020/03/10 16:09:51 cache/backend.go:164        cache.(*Backend).Load   92      Load(<index/0a64c41514>, 0, 0) from cache
2020/03/10 16:09:51 cache/file.go:44    cache.(*Cache).Load     92      Load from cache: <index/0a64c41514>
2020/03/10 16:09:51 repository/index.go:458     repository.DecodeIndex  92      Start decoding index
2020/03/10 16:09:51 repository/index.go:503     repository.DecodeIndex  92      done
2020/03/10 16:09:51 repository/index.go:553     repository.LoadIndexWithDecoder 92      Loading index 0b6ed9aec76a902d0a1bf510b50709e91a2f6452e775e072f0924f8a229fe643
2020/03/10 16:09:51 repository/repository.go:77 repository.(*Repository).LoadAndDecrypt 92      load index with id 0b6ed9aec76a902d0a1bf510b50709e91a2f6452e775e072f0924f8a229fe643
2020/03/10 16:09:51 cache/backend.go:164        cache.(*Backend).Load   92      Load(<index/0b6ed9aec7>, 0, 0) from cache
2020/03/10 16:09:51 cache/file.go:44    cache.(*Cache).Load     92      Load from cache: <index/0b6ed9aec7>

@MichaelEischer - your Go-1.13.4 idea resulted in a good backup:
# restic version
debug log file debug.log
debug enabled
restic 0.9.6 (c542a509) compiled with go1.13.4 on linux/arm
#
# restic backup /etc
debug log file debug.log
debug enabled
repository 4357d291 opened successfully, password is correct

Files:           0 new,     1 changed,   940 unmodified
Dirs:            0 new,     0 changed,     0 unmodified
Added to the repo: 350 B

processed 941 files, 6.448 MiB in 1:45
snapshot 22b658f8 saved

So that make it more likely to be a problem with Go. Can you could try the following for Go 1.14:
Clean the go build cache go clean -cache and then build again and give it another try?

I also recently experienced restic segfaulting on armv7l:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x353e8c]

goroutine 208 [running]:
github.com/restic/restic/internal/repository.(*Index).ID(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        internal/repository/index.go:377 +0x3c
github.com/restic/restic/internal/repository.(*Repository).LoadIndex.func5(0x4, 0x8c5e50)
        internal/repository/repository.go:467 +0x88
golang.org/x/sync/errgroup.(*Group).Go.func1(0x1348f90, 0x1336ef0)
        vendor/golang.org/x/sync/errgroup/errgroup.go:57 +0x48
created by golang.org/x/sync/errgroup.(*Group).Go
        vendor/golang.org/x/sync/errgroup/errgroup.go:54 +0x50

restic version: restic 0.9.5 compiled with go1.12.9 on linux/arm
I realize this was built with an older go, and this seems to have been a one time thing so I'm not too concerned. I just thought I should include this here for completeness.

I can compile successfully with go v1.14, but I can't run an incremental backup.
I can do the initial backup, list snapshots etc etc, but not an incremental as it bombs out loading the index.

restic version: restic 0.9.5 compiled with go1.12.9 on linux/arm

That crash is unrelated to the segfault with go 1.14 and has been fixed in restic 0.9.6 via #2321 .
@richard-scott That looks like a bug in go 1.14. Can you try whether setting the environment variable GODEBUG=asyncpreemptoff=1 help? You could also try to add -gcflags="all=-N" as compilation flag, which disables the new defer optimizations.

Ah great, thanks!
On Thu, Mar 12, 2020, 6:29 AM MichaelEischer<EMAIL_ADDRESS>wrote:

restic version: restic 0.9.5 compiled with go1.12.9 on linux/arm
That crash is unrelated to the segfault with go 1.14 and has been fixed in
restic 0.9.6 via #2321 https://github.com/restic/restic/pull/2321 .
@richard-scott https://github.com/richard-scott That looks like a bug
in go 1.14. Can you try whether setting the environment variable
GODEBUG=asyncpreemptoff=1 help? You could also try to add
-gcflags="all=-N" as compilation flag, which disables the new defer
optimizations.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/restic/restic/issues/2618#issuecomment-597911936, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGRJXDWCOGRO7NF2EBOSF3RHAGETANCNFSM4LBIK7AQ
.

Confirmed on a Raspberry Pi. Backups work sometimes, but restic stats consistently segfaults. Running this in gdb points to this line as the culprit.

This:
$ GODEBUG=asyncpreemptoff=1 restic backup /etc

didn't help.
Do you mean the other flags to be used like this:
$ go run -gcflags=all=-N build.go --goos linux --goarch arm

If so, that didn't help either ;-(

Turns out that what I'm seeing is just the OOM killer. @richard-scott can you try
echo 2 > /proc/sys/vm/overcommit_memory

then run restic again?

I think I found it. restic/progress installs signal handlers with signal.Notify in various places, but uses unbuffered channels. When I make a few of the channels buffered, and I have overcommit set to 2, the SIGSEGV is properly caught by the Go runtime and I get
fatal error: runtime: out of memory

followed by a stack trace.

@richard-scott Could you test whether #2644 or Go 1.14.1 solves your crash?

@richard-scott Could you test whether #2644 or Go 1.14.1 solves your crash?

@MichaelEischer I'm affraid to say that Go 1.14.2 didn't help, neither did the #2644 built from here.
@greatroar - neither did this help:
echo 2 > /proc/sys/vm/overcommit_memory

I can create a repo on B2 just fine, I can backup the 11Mb from /etc, but then I can't add new backups of /etc to this even if nothing has changed locally.

This version: restic_0.9.6_linux_arm works just fine BTW.

Strange. It might be that the channels still don't have "sufficient buffer space to keep up with the expected signal rate", or something else entirely may be the cause of this.
(#2644 will still make these problems easier to debug.)

It looks like golang.org/x/crypto's ARM assembler has become broken due to changes in the Go runtime. That was fixed in January.
@richard-scott Can you try building restic after doing
go get -u golang.org/x/crypto

in the source directory?

I get this output:
$ go get -u golang.org/x/crypto
go: golang.org/x/crypto upgrade => v0.0.0-20200429183012-4b2356b1ed79
go: downloading golang.org/x/crypto v0.0.0-20200429183012-4b2356b1ed79

And I can now start a backup with the latest build from master.
Fantastic work guys, thank you so much :-)


NPM Analyzer NullPointerException fix

Correcting possible nullpointerException in NPM Analyzer where package information is fetched OK but does not contain any version entries.
Signed-off-by: Andreas Lärfors<EMAIL_ADDRESS>

@andreaslarfors is there still interested from your side to work on this? What's missing for me simply is to squash all commits into one, and maybe rebase one latest master.

Closing this due to a lack of feedback in favor of https://github.com/oss-review-toolkit/ort/pull/3466.


How to disable heatmap in abmplot/abmexploration?

How can I disable the plotting of simulated the environment in abmplot/abmexploration?
I think plotting those causes massive lags when the number of agents is large (>= 4000).
Can we plot just one of the agents at each position? most of them are in the same place anyway

I'm sorry that the title is misleading.
Yes, I meant the agents of the model, the scatter plot is the one causing the lag.
My current hack is just disabling the scatter completely using this:
function GLMakie.scatter!(a...; k...)
end

But I'm thinking that there should be a way to optionally draw the unique positions only.
My current attempt is monkey patching GLMakie.plot!(abmplot::InteractiveDynamics._ABMPlot) like this:
#
            unique_idx::Vector{Int} = indexin(unique(pos[]), pos[])
            scatter!(abmplot, pos[][unique_idx];
                color=color[][unique_idx],
                marker=marker[][unique_idx],
                markersize=markersize,
                abmplot.scatterkwargs...)
# ...

But seems like this is the wrong way to go because the positions won't change over time.

Okay, thanks for your reply. I'm too lazy for custom plotting so I worked around this by disabling scatter completely.
function GLMakie.scatter!(a...; k...)
end


feat(config): remove beta duplication

Beta now fallback to stable if no version found.
It avoids to duplicate configuration from stable to beta

I am a bit torn here. On the one hand yes, on the other hand I am not sure it improves the experience of adding beta release information.

I think it mainly improve the experience of adding stable releases as we don't have to duplicate the stable branch information.
I also allows for further improvements as I am able to generate the same file from a simpler one. Something like:
$versions = [
	'28.0.3' => [
		'internalVersion' => '<IP_ADDRESS>',
		'signature' => 'WToO5cGwGRwv6UAO84jqBilEabOJFytls2oL4Pvja2y28I98IZpQdK9V11Gp7+mS
wEceiJaD9pFoUWcLkKT/VH8+apU9vP55/lcChDsab5k4e2mrIN0gKbUDdsFTr/Fl
IGqsRnrFBg7XrFSg0Mm3IYjEvSHWK/YlotG6VCfdZOKkEeW1uOLFDh0RVLx6fYeo
wH7EZIg+VnJkcJ8uqoy9+SM/ROV/rsa7p8UiLJLB7UKNNUFnCSiT2OpJzxxSPeL7
78rc8LM+fDj/K5kPwIHHfjOYaHfblGxjR1qhLyxak5JonSwT9D38l9uqk/DVUs2O
8AkppHJdBdSUvZnVM4fzaA==',
	],
	'29.0.0 beta 3' => [
		'internalVersion' => '<IP_ADDRESS>',
		'signature' => 'kDGkxgxbdbOk64ONHW7lbdm0WpMx43Cj5JrcQeLtwozeaCo/HH38bCYBZog7YVdg
GqwOsuI+QqRDySNazGwcViHn71397wt0MRBUWPGw7+hDO9YjHM+b9oCgjcHLmo+J
LWiWGlcS8LgqbBW1HKHxJQFP5rzpt9hy1sc4UNjgrnmG+/XdqTSXAlewSS3S2piw
jkw+ui4UKG46X1Mfs5inmpr/qI6+H10zXyHB4Vn5uEL3qA0Q676P61YpuwYcEVVa
SVI3kysesRh+1DUp7ErG9iCzlBXJhVsDvL5bzR87QwLgIiOVUFY+dhwkiRr08AHu
IwYSX8nWX9zpP3pl58PZQw==',
	],
 …
];

$majorVersions = [
	29 => [
		'minPHP' => '8.0'
	],
	28 => [
		'eol' => '2024-12',
		'minPHP' => '8.0'
	],
	…
];

29 upgrade failure expected

It breaks EOL test (https://github.com/nextcloud/server/actions/runs/8371442609/job/22920497105?pr=44374)


Delete bayesianScanner ?

Looks like dead code, github search returns 0 results.
@rupalibehera There seems to be a few more like this. Should we do a review of the old stuff?

will have to check on this


APPS-2431: allow "constructor" search param in URL

APPS-2431: [Airbrake] [Alpha] (searchAll[key] || []) is not iterable
This fixes https://github.com/vikejs/vike/issues/1205
What I did

I made sure search params with the constructor key in URLs don't make parseUrl() blow up.
Also fixed a few typos

How I did
In following code
searchAll[key] = [...(searchAll[key] || []), val]

when searchAll[key] is accessed the first time it is typically undefined and searchAll[key] || [] evaluates as an empty array resulting in searchAll[key] = [val]. However, if key is 'constructor' searchAll['constructor'] is a function resulting searchAll['constructor'] || [] to be a function, which is not iterable, hence ...(searchAll[key] || []) throws an error.
One possible solution to the issue is checking if searchAll[key] is an array and spread it only if so, otherwise fall back to the empty array.

Thanks for the PR! How about we use hasOwnProperty? I think the intent would be clearer.

And thanks for the typos 🙂

Thanks for the PR! How about we use hasOwnProperty? I think the intent would be clearer.

Sure, that works too. I changed it.

Merged 🎉
Pre-released as<EMAIL_ADDRESS>Btw. would your company be up for sponsoring?

Btw. would your company be up for sponsoring?

I im'd the decision makers. Still waiting. Will pop it up again in a week or so.

Thanks 💚 sponsoring makes a big difference.


NDRS-797: allow node to be upgraded

Relates to NDRS-797.
This PR completes the initial requirements to allow a node to be upgraded.  It is comprised of 3 commits as follows:

7a7dd02 is a major refactor of the chainspec structure and the chainspec loader.  The notion of upgrade points is removed, with the intent that every new version will be installed with a complete chainspec.  This is the simplest way to handle supporting nodes upgrading along with nodes being installed for the first time at a version > 1.0.0.  Note that these changes also include the requirement that versions be installed to a folder named e.g. 1_0_0, and that the node's config.toml, the chainspec.toml, and the accounts.csv (if provided) all be installed to such a folder.
eb8e2fc adds the functionality to the chainspec loader to query the config dir for a newer installed version, and retrieve the activation point (era ID at which the new version will begin) for that new chainspec.  Note that this is a slight deviation from the original meaning of the activation point, which used to identify the last era before a new version was begun.  The new meaning allows us to have an initial chainspec with an activation point of 0, avoiding special-casing the first version.
f600789 adds functionality to consensus which periodically (on every finalised block) calls on the chainspec loader to provide it with the next activation point if available.  Once consensus deactivates the era immediately before the activation point, it signals to the reactor that the node should gracefully exit.  This graceful exit (the only way in which the validator node can terminate with exit code 0) allows the casper-node-launcher to start running the newly-installed casper-node binary.

This should be sufficient for an initial version.  Before the next version, we need to provide additional/amended functionality including:

avoid calling ContractRuntime::commit_genesis() on startup
call ContractRuntime::upgrade() as required
identify and update sites using hard-coded protocol versions to use the current chainspec value
implement config-migration if required (the subcommand exists, but is currently a no-op)
implement data-migration if required (the subcommand exists, but is currently a no-op)

The PR includes a reasonable amount of unit tests, but no high-level tests.  I have done some ad-hoc, local testing using nctl to ensure that nodes correctly identify a newly-installed chainspec at a higher version, and gracefully shutdown at the specified activation point.

Could https://github.com/CasperLabs/casper-node/commit/7a7dd023f569e6cbf240f99ca92dbc19c17fe8e4 become a separate PR?

adds functionality to consensus which periodically (on every finalised block) calls on the chainspec loader

The on every finalised block is not 100% correct actually. The block would be finalized long before that. The handle_deactivate_era is called after block is finalized. I would just remove the parenthesis part and leave the rest.

@goral09 I can't see in GH where all these comments apply, so answers to some inline here:

Could 7a7dd02 and/or eb8e2fc become separate PRs?

I'd rather not.  I already had your opinions in mind when I split this PR into separate commits (which took some effort).  Splitting the PR into two will only slow the process even further.

The on every finalised block is not 100% correct actually. The block would be finalized long before that. The handle_deactivate_era is called after block is finalized. I would just remove the parenthesis part and leave the rest.

That's referring to when the check for a new activation point is made.  That's after each new finalised block.  The check done in handle_deactivate_era is only to see whether we've reached the activation point.

I thought that a node has to be started with the information about scheduled upgrades. Not that it will retroactively query for it.

No - CEP-0032 covered this (although we have already deviated somewhat from the proposal in some details).  You actually asked about it in the CEP discussion :)

@goral09 I can't see in GH where all these comments apply, so answers to some inline here:

Yes, sorry. Those were the comments under the PR, the other were comments under specific commit (I followed the links you included in the PR description and made the review there, which doesn't seem to link correctly with the commits under this PR specifically).

Could 7a7dd02 and/or eb8e2fc become separate PRs?

I'd rather not. I already had your opinions in mind when I split this PR into separate commits (which took some effort). Splitting the PR into two will only slow the process even further.

The on every finalised block is not 100% correct actually. The block would be finalized long before that. The handle_deactivate_era is called after block is finalized. I would just remove the parenthesis part and leave the rest.

That's referring to when the check for a new activation point is made. That's after each new finalised block. The check done in handle_deactivate_era is only to see whether we've reached the activation point.

Oh, right. I misunderstood it. Thanks :+1:

I thought that a node has to be started with the information about scheduled upgrades. Not that it will retroactively query for it.

No - CEP-0032 covered this (although we have already deviated somewhat from the proposal in some details). You actually asked about it in the CEP discussion :)

Hah, yeah. Thanks :)

eb8e2fc adds the functionality to the chainspec loader to query the config dir for a newer installed version, and retrieve the activation point (era ID at which the new version will begin) for that new chainspec. Note that this is a slight deviation from the original meaning of the activation point, which used to identify the last era before a new version was begun.

There was an even older meaning, wasn't there? Which would be the block height at which we start the new version. I actually think that they should be specified as block heights.
The problem here is that with emergency restarts, the last block of an era might not have been planned to be the last block of an era. It just becomes one, because that's the last block from before the restart that was safe to keep, and we start a new era at the next one after the restart. In such a case, there will be nothing in the block itself that would identify it as a switch block - the only thing to do that would be the specification of the next block as an activation point.
If we go with specifying activation points as era IDs, we limit ourselves to always restarting at the era boundary. So if we have a catastrophic failure near the end of an era, we'll have no choice other than to discard the whole era, make it an activation point and restart it from the beginning.

@fizyk20

There was an even older meaning, wasn't there? Which would be the block height at which we start the new version. I actually think that they should be specified as block heights.

The problem here is that with emergency restarts, the last block of an era might not have been planned to be the last block of an era. It just becomes one, because that's the last block from before the restart that was safe to keep, and we start a new era at the next one after the restart. In such a case, there will be nothing in the block itself that would identify it as a switch block - the only thing to do that would be the specification of the next block as an activation point.

If we go with specifying activation points as era IDs, we limit ourselves to always restarting at the era boundary. So if we have a catastrophic failure near the end of an era, we'll have no choice other than to discard the whole era, make it an activation point and restart it from the beginning.

Yes, it was originally specifying a block height.  The CEP covered the possibility of reverting to that behaviour in the future, but for now it's deemed too difficult since we'd need to accommodate eras ending "early" if we use arbitrary blocks rather than switch blocks.
We should maybe discuss offline exactly what an emergency restart would need from a switch block that can't be provided instead by a non-switch-block and a modified chainspec.

bors merge


Bug of ParallelCapablePinpointURLClassLoader : java.lang.NoClassDefFoundError

What version of pinpoint are you using?
v1.7.2
Describe the bug

Precondition ： We replaced the log4j with log4j2 for log4j's poor performance and dead lock proplem.
The bug occured while the classpath of application had the Log4j2Plugins.dat. The PluginRegistry#decodeCacheFiles will load the log4j2Plugins.dat by loader.getResources(PluginProcessor.PLUGIN_CACHE_FILE). The code :

But ParallelCapablePinpointURLClassLoader#loadClass broken the default extended classloader principle , the ParallelCapablePinpointURLClassLoader will load some filtered class self , not delegate to the parent classloader. While the proplem  came up,  the ThrowablePatternConverter would be loaded by ParallelCapablePinpointURLClassLoader and the successor of ThrowablePatternConverter , like ExtendedWhitespaceThrowablePatternConverter(org.springframework.boot.logging.log4j2)  may be loaded by ParallelCapablePinpointURLClassLoader's parent classloader.Then the NoClassDefFoundError would be throught out.
Is that Clear?

@geekMessi hi
The class delegation policy is determined by ProfilerLibs.

https://github.com/naver/pinpoint/blob/master/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/classloader/ProfilerLibs.java
https://github.com/naver/pinpoint/blob/master/bootstrap/src/main/java/com/navercorp/pinpoint/bootstrap/PinpointStarter.java#L148

Take a look at ProfilerLibs.

@geekMessi hi
The class delegation policy is determined by ProfilerLibs.

https://github.com/naver/pinpoint/blob/master/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/classloader/ProfilerLibs.java
https://github.com/naver/pinpoint/blob/master/bootstrap/src/main/java/com/navercorp/pinpoint/bootstrap/PinpointStarter.java#L148

Take a look at ProfilerLibs.

While I got  the ParallelCapablePinpointURLClassLoader delegation policy，and I modified the ProfilerLibs to adapte the log4j2  lib.

The solution for this problem is that ParallelCapablePinpointURLClassLoader override the getResources method ,like this
 public Enumeration<URL> getResources(String name) throws IOException {
        try {
             //libClass.onLoadResource limit the resourceName,
            // eg : "META-INF/org/apache/logging/log4j/core/config/plugins/Log4j2Plugins.dat",
            //          "org/slf4j/impl/StaticLoggerBinder.class"
            if (libClass.onLoadResource(name)) {
                return findResources(name);
            }
        } catch (IOException e) {
            //Ignore
        }
        return super.getResources(name);
    }

Since pinpoint 1.8.0 The Agent ClassLoader becomes the child of Bootstrap Class Loader.
This behavior solves resource conflicts problem when deploying an application to System ClassLoader.
If you are deploying an application to the System ClassLoader, It is recommended to test with 1.8.0.

All right , I will have a try.  It looked like that I missed some good story about the new feature.
Thanks for your reply.


Title:  Adding CHATBOT FEATURE

Is your feature request related to a problem? Please describe.
By adding CHATBOT  THIS WEBSITE become more user friendly
Describe the solution you'd like.
It will provide basic information to user .
Describe alternatives you've considered.
I want to work on this issue
Please assign me this issue
Add any other context or screenshots about the feature request here.
No response

@Husan7 Thank you for providing your insight but it is not required as of now


This actually doesn't work??

I try using it in browser via the cdn and then do
 var converter = new showdown.Converter();
  converter.setFlavor('github');
 console.log(converter.makeHtml("#Hello markdown"));

It only outputs #Hello markdown

As per Github documentation, github markdown flavor requires a space between # and title text.
Showdown mimics this through the option requireSpaceBeforeHeadingText which gets enabled when you activate github flavor.
Either disable this option, disable github flavor or add a space between # and title text.


Feature: Add manager charts with submodule

Description

Add manager charts with submodule.

Related Issue

Motivation and Context

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist:

[x] Code compiles correctly.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Codecov Report

Merging #525 (a511a5f) into main (85bfa36) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #525      +/-   ##
==========================================
- Coverage   39.50%   39.46%   -0.05%
==========================================
  Files          86       86
  Lines        6520     6520
==========================================
- Hits         2576     2573       -3
- Misses       3573     3576       +3
  Partials      371      371

Flag
Coverage Δ

e2etests
?

unittests
39.46% <ø> (-0.05%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

client/daemon/peer/peertask_base.go
34.33% <0.00%> (-0.65%)
:arrow_down:


Presence Not Updating

events.log
2016-04-18T16:57:42.226Z - info: Incoming message from MQTT: smartthings/Mike_Phone/presence = not present 2016-04-18T16:57:50.308Z - info: Incoming message from MQTT: smartthings/Mike_Phone/presence = present
Smartthings Log
f78cb95f-c930-44b1-83d7-541b176fada4  11:57:50 AM: debug Received device event from bridge: [name:Mike_Phone, value:present, type:presence] f78cb95f-c930-44b1-83d7-541b176fada4  11:57:42 AM: debug Received device event from bridge: [name:Mike_Phone, value:not present, type:presence]

Sadly SmartThings doesn't allow us to change the presence of a device, only read the current value: http://docs.smartthings.com/en/latest/capabilities-reference.html#presence-sensor  You can see here there are no commands we can call.

 Thanks for looking.

I use a simulated presence sensor. I don't have MQTT set up yet, but I use Tasker and SharpTools on my phone to update it


pull request for e2e test at 12/27/2016 10:15:06

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


RSS feed has an issue with relative paths

Big fan of your blog! When I was reading your blog today through my RSS reader, I noticed there's an issue with the URLs.
The alternate link has a relative path with the full URL:
<link rel="alternate" type="application/rss+xml" title="TIL Feed"
    href="clytaemnestra.github.io/tech-blog/feed.xml">

which leads to the feed not being found as it's searched from https://clytaemnestra.github.io/tech-blog/clytaemnestra.github.io/tech-blog/clytaemnestra.github.io/tech-blog/feed.xml
Same happens in the feed itself:
in <channel>
<atom:link href="clytaemnestra.github.io/tech-blog/feed.xml" rel="self" type="application/rss+xml"/>

and in individual <item>s
<link>clytaemnestra.github.io/tech-blog/djangocon</link>

I figured you'd like to know!

Hey @Hamatti, thanks a lot! 😻 I'll have a look at it later today.