Fix goroutine leak when reconciling

This patch fixes the propagation of context cancellation through the call stack. It prevents leaks of channel and goroutine from the terraform provider.

Description of your changes

In order to fix this bug we tracked down the leak to the underlying terraform provider. We managed to isolate this function: provider code using pprof.
By adding it to our deployment, we noticed the creation of 2 channels and 2 goroutines on each resource every time the reconciliation is kicking. All the never closing routines had the same stack trace:

As we can see the routine is waiting on the closing of the Done channel from the parent "process". However, we see in the controller bootstraping that we are overriding the parent context with WithoutCancellation context. Implementation shows from source code that channel is now nil. And a nil channel will never close and block the goroutine as showcased in this playground demo
Fixes #538
I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested

Thanks for the fix @IxDay 🙏 @erhancagirici reminded me that we had used context.withoutCancel(), because propagating ctx would cause early cancelation issues. Have you observed such issues? I'm not sure if they were easily observable, by the way.

Yes, I was editing my message to ask if there was a reason to choose this, it was not obvious from the code/history/comment.
Do you have any idea how those early cancellation event would materialize? For the moment we are monitoring our claim on their "Readiness" status. Which was flaky when memory was reaching the limit (the underlying provider was not able to issue http calls due to garbage collection pressure). However, since the release of the patch we did not observe any de-sync yet.
To give you an idea of the timeframe, we rolled the change on Monday on ~150 claims (which are composed of ~2 crossplane gcp provider objects). Then on ~170 more yesterday. For the moment, we did not notice any unexpected behavior.
But once again, we might not be tracking the right thing here, so if you have more details, I would be happy to investigate.

We are starting to roll this across our entire infrastructure. We still haven't notice any issue yet. I am bumping this channel in order to make this move forward.
Regarding my previous message, do you have any insight to share with me in order to reproduce the previous bug which motivated the introduction of WithoutCancel ?

@IxDay, I've been working on this issue from time to time. The fact that you haven't had any issues is great news. I've scheduled a meeting with a team member next week. They have more experience in the problem. Having a memory leak greatly disturbs me. Now that I've addressed some of my urgent tasks, this issue will be at the top of my priority list.

Thank you @ulucinar for providing background information off-channel. We hypothesized that the implementation was ported from Azure provider, which had context cancelation issues when the context was propagated. It is likely that GCP provider would never had any issues, in the first place, even if the context was propagated.
We will run some simple tests on our side. If all goes well, we will merge.

Let me know if you need anything. We are really looking forward for this PR to be merged

/test-examples="examples/container/v1beta2/cluster.yaml"

/test-examples="examples/cloudplatform/v1beta1/serviceaccount.yaml"

/test-examples="examples/storage/v1beta2/bucket.yaml"

Hi @IxDay,
After this change, we encountered regression with creating and deleting some resources, so we reverted this change. Please see the related issue and PR.
We would be pleased if you could work on resolving this issue and create a new PR to address the regression.

I will take a look, but I will need a few days before, since I have other priorities at the moment.


Multi-GPU performance worse than single GPU

System Info
accelerate 0.22.0
cuda-runtime 11.8.0 0 nvidia
cuda-version 11.8 h70ddcb2_2 conda-forge
cudatoolkit 11.8.0 h4ba93d1_12 conda-forge
cudnn <IP_ADDRESS> h838ba91_3 conda-forge
python 3.10.12 hd12c33a_0_cpython conda-forge
pytorch 2.0.1 py3.10_cuda11.8_cudnn8.7.0_0 pytorch
pytorch-cuda 11.8 h7e8668a_5 pytorch
transformers 4.33.1 pypi_0 pypi
deepspeed==0.10.3

Information

[X] The official example scripts
[ ] My own modified scripts

Tasks

[X] One of the scripts in the examples/ folder of Accelerate or an officially supported no_trainer script in the examples folder of the transformers repo (such as run_no_trainer_glue.py)
[ ] My own task or dataset (give details below)

Reproduction
I noticed that performance with my own scripts was worse with multi-gpu than with single gpu. I tried the nlp_examply.py in the examples of the official repo and notice the performance is slightly worse. I only averaged over 3 seeds for nlp_examply, so maybe it's just because of variance, but in my own scripts, the gap is very noticeable.
What I did with nlp_example.py:

Single GPU accelerate config:

compute_environment: LOCAL_MACHINE
debug: false
distributed_type: 'NO'
downcast_bf16: 'no'
gpu_ids: '0'
machine_rank: 0
main_training_function: main
mixed_precision: bf16
num_machines: 1
num_processes: 1
rdzv_backend: static
same_network: true
tpu_env: []
tpu_use_cluster: false
tpu_use_sudo: false
use_cpu: false

Set the number of epochs to 50 in nlp_example.py
Ran accelerate launch --config_file=accelerate_config.yaml nlp_example.py --mixed_precision=bf16
Set the two gpu accelerate config:

compute_environment: LOCAL_MACHINE
debug: false
deepspeed_config:
  gradient_accumulation_steps: 1
  zero3_init_flag: false
  zero_stage: 0
distributed_type: DEEPSPEED
downcast_bf16: 'no'
machine_rank: 0
main_training_function: main
mixed_precision: bf16
num_machines: 1
num_processes: 2
rdzv_backend: static
same_network: true
tpu_env: []
tpu_use_cluster: false
tpu_use_sudo: false
use_cpu: false

Reduced the batch size in nlp_example.py to 8 such that the total batch size is 16.
Ran accelerate launch --config_file=accelerate_config_2gpus.yaml nlp_example.py --mixed_precision=bf16

Repeated this for 3 different seeds. I get the following results:

Not sure if this is a DeepSpeed, accelerate or torch issue.
Expected behavior
Performance shouldn't be worse.

Thanks for opening this issue. I am seeing the same thing when I keep the total batch size constant, i.e. divide per-device batch size by the number of GPUs.

Just want to update that I tested this again with:
accelerate                0.24.1
deepspeed                 0.12.3
pytorch                   2.1.0

and I still observe a gap in performance.

After further investigation, I am pretty sure that this is a DeepSpeed issue. TL;DR: DeepSpeed isn't sharing moving averages of optimizers between devices. E.g., the first and second moment estimates of Adam remain per device, which leads to the observed worse performance and difference in performance between 1 vs multi-gpu.
Left all of the details in the DeepSpeed issue: https://github.com/microsoft/DeepSpeed/issues/4550


FFmpeg was missing (color/tone can't find file error)

For anyone who gets the error that says something about "color" and "tone" and not being able to find a file (I didn't save the exact error message), I looked it up and seen a barely related post about FFmeg and decided it was worth a shot. I choco'd it into the openvoice folder and it shockingly fixed the issue.

https://github.com/myshell-ai/OpenVoice/issues/34

Hey @Zengyi-Qin , can you add this as a note for windows users in the README file to install FFmeg so that in future people don't have to waste their time fixing it?


3 bookmark UI component feature

Good for merging. Can you merge this?

I've found some issues with the code. I'll simply ask those and add as comment.

Good for merging


Add limit and channel params and fix json conversion for Python 3.9

Thank you for your contribution!
Does the JSON deserialisation still work in python versions below 3.9?

Thank you for your contribution!
Does the JSON deserialisation still work in python versions below 3.9?

I just tested it with Python 3.6.9 and it works.

Awesome, thank you!


^2.4.10 ERROR ERROR ERROR

Don't make multiple issues for the same thing

Don't make multiple issues for the same thing

how to solve


[Bug] The logo is not properly aligned for small devices

Description
When switched to smaller screens, the Creative Commons logo gets partially hidden because of poor padding around it.
Reproduction

Go to https://resources.creativecommons.org/
right click and go to inspect element.
make the width of the screens smaller.
For every decrease in width, The logo gradually slips out of the page.

Expectation
The page should have some padding on the top So that the whole logo becomes visible.
Screenshots
Before :

###After :

Additional context
The sliding bar at the top named Explore CC also needs to be positioned correctly according to the padding at the top.
Resolution

[x] I would be interested in resolving this bug.

@Murdock9803 is this issue still open?

Hey,
This is Blaraj,
and I am willing to work on this issue,
can you please guide me.

hello @BalrajDhakad, the issue has not been approved yet, So we should wait while making any contributions. Also, I already made a PR which solves the issue, you can check that

Okay,
thanks,
Can you suggest me some other issue similar to this one that I can do a job of contributing

Anyone that wants to try to correct this, please do so.

I previously made a PR which was closed as the issue wasn't approved. I would like to take up this again

Thanks everyone !


Changing TotalQueryableSamples from int to int64

Follow up of https://github.com/prometheus/prometheus/pull/10369
int can only count up to ~2B and for some very big query_ranges is possible have an overflow.
The stepStat  struct was already an int64 but some internal data structures and the totalQueryableSamples is using int.
https://github.com/prometheus/prometheus/blob/a236166c71b6eaae622d585f35f3f27459971c1c/util/stats/query_stats.go#L105-L109
https://github.com/prometheus/prometheus/blob/a236166c71b6eaae622d585f35f3f27459971c1c/util/stats/query_stats.go#L81-L84

I'm not sure why the checks are not passing.. seems not related at all with this change! :(

Thanks!

Thanks!!!  @roidelapluie


sendDistributionMetric() syntax error using Lambda Layer

Expected Behavior
Using the example code from the Node section of this page. Removing the call to sendDistributionMetric() results in no syntax error.
Actual Behavior
Syntax error is returned.
Steps to Reproduce the Problem

Use the installing and using the DataDog layer example to create a new lambda with the arn:aws:lambda:<AWS_REGION>:464622532012:layer:Datadog-Node10-x:3 layer
Set the DD_API_KEY env var
Set the DD_FORWARD_LOG to false.

Specifications

Datadog Lambda Layer version: 3
Node version: 10.x

Stacktrace
{
  "errorType": "Runtime.UserCodeSyntaxError",
  "errorMessage": "SyntaxError: Unexpected token {",
  "trace": [
    "Runtime.UserCodeSyntaxError: SyntaxError: Unexpected token {",
    "    at _loadUserApp (/var/runtime/UserFunction.js:98:13)",
    "    at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)",
    "    at Object.<anonymous> (/var/runtime/index.js:36:30)",
    "    at Module._compile (internal/modules/cjs/loader.js:776:30)",
    "    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)",
    "    at Module.load (internal/modules/cjs/loader.js:653:32)",
    "    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)",
    "    at Function.Module._load (internal/modules/cjs/loader.js:585:3)",
    "    at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)",
    "    at startup (internal/bootstrap/node.js:283:19)"
  ]
}

We're going to take a look at reproducing this. My first thought is the docs page might have encoded a character somewhere to a non-ascii value, (like a quotation mark or something). Does typing the sendDistributionMetric line by hand work?

Hi @leeDav, can you provide the exact code you used? It'll help us hunt down the reported syntax error. Thanks!

import { datadog } from "datadog-lambda-js";
import { sendDistributionMetric } from "datadog-lambda-js";

async function myHandler(event, context) {
  sendDistributionMetric(
    "coffee_house.order_value", // Metric name
    12.45,                      // Metric value
    "product:latte",            // Associated tag
    "order:online",             // Another tag
  );
  return {
    statusCode: 200,
    body: "hello, dog!",
  };
}
// Wrap your handler function:
exports.exports.myHandler = datadog(myHandler);

Literally taken from the docs.
A colleague had it working, however, by changing all the imports to require(), which was very strange as I thought Node 10 to support ES6 imports :\

Ah, that should solve it. I'll go ahead and update our docs to reflect that. Thanks for catching this.
Do you have the Node 10 runtime selected for your Lambda? https://docs.aws.amazon.com/lambda/latest/dg/programming-model.html

I do, thank you!
Apologies for the false alarm :)

No worries! Thank you for the report


kubescape: 2.9.1 -> 3.0.7

Changelog: https://github.com/kubescape/kubescape/releases/tag/v3.0.7
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 298660 run on x86_64-linux 1

1 package built:

kubescape

I disabled the package on darwin as I don't have unrestricted access to a darwin machine.

Result of nixpkgs-review pr 298660 run on x86_64-linux 1

1 package built:

kubescape


Fix speeddial-spacing.js to work with 3.8

I didn’t check it personally now, but last time they made visible changes it worked, & @Pathduck said it still works.
It should be compatible with the 3.6 speed dial.

@justdanpo Please commit this to master, otherwise speeddial-spacing.js breaks drag+drop reordering in 3.8+.


Better error message when resolving conflics

When trying librarian-puppet update it's really complicated to find out the cause of all the conflict. The error message is not helpful at all:
Could not resolve the dependencies.

even when running with verbose flag:
[Librarian] Conflict between puppetlabs-apt (>= 2.0.1) <https://forgeapi.puppetlabs.com> and puppetlabs-apt (< 2.0.0, >= 1.4.0) <https://forgeapi.puppetlabs.com>

it's not clear which module requested which version. Would it be possible to print that information?
e.g.
module puppet-foo(0.3.1) requires puppetlabs-apt (< 2.0.0)
however puppet-bar(xxxxx) requires puppetlabs-apt (> 2.0.1)

PRs welcome

+1

I actually had a look into this as I hit the same issue, but it's actually in the upstream library rather than this gem and seemed a little complicated to solve, unfortunately.
I ended up making a quick script to show all the dependencies from a Puppetfile, then use that to help show where the conflicts come from, not perfect but maybe it will help someone else? https://github.com/petems/puppet-module-dependancy-lister


ImageView partially behind navigation bar possible?

I want that the navigation bar of AppIntro is always at top so I could place a ImageView behind this bar. Is this possible?

If you create your own slides, you can definitely do whatever it is you wish to do here -- so yes, anything is possible, but you must create the layout while keeping it compatible with AppIntro (check the example app).


Add "Colour" to "Miscellaneous" list.

Adding Colour to the Miscellaneous list.

Looks good, merged. Thanks @KelSolaar

Thanks a lot @rgommers!


~access shouldn't be on persistent storage

resolution_fixed   |    by<EMAIL_ADDRESS>
The contents of /projects/access are downloaded from a subversion repo, it doesn't need to be persistent.

Issue migrated from trac:36 at 2024-01-31 17:55:08 +1100

<EMAIL_ADDRESS>changed status from new to closed

<EMAIL_ADDRESS>removed milestone (was Future)

<EMAIL_ADDRESS>changed resolution from `` to fixed

<EMAIL_ADDRESS>commented

Looks like it's not- only /projects/access.dev is mounted on NFS

<EMAIL_ADDRESS>commented

Milestone Future deleted


Release responsible schedule for v1.94 until v1.102

How to categorize this PR?

/area delivery
/kind enhancement
What this PR does / why we need it:
Extends the docs with a proposal for the release responsible schedule for v1.94 until v1.102
Release note:

NONE

/assign @plkokanov @ialidzhikov @acumino @timuthy @ScheererJ @ary1992 @shafeeqes @oliver-goetz

/lgtm

/unassign

/test pull-gardener-e2e-kind-migration-ha-single-zone


[genetic_backtester] "Error: invalid bucket size spec: undefined" when run completed

System information

Have I written custom code (as opposed to using zenbot vanilla): No.
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): The upstream Docker image
Zenbot version: unstable branch, commit 74ec688a1b492f953a86a38d2e1f21424e561241
NodeJS version: v8.9.4
Python version: 2.7.9
Exact command to reproduce: PARALLEL_LIMIT=6 scripts/genetic_backtester/darwin.js --selector=kraken.XETH-ZEUR --days 1 --population 100 --use_strategies bollinger,cci_srsi,crossover_vwap,dema,macd,momentum,rsi,sar,speed,srsi_macd,stddev,ta_ema,ta_macd,ta_macd_ext,ta_ppo,ta_trix,ta_ultosc,trend_bollinger,trend_ema,trendline,trust_distrust,wavetrend

Describe the problem
After 1300 sims with the above command, at 58.5% of the entire run, I get the following error:
Error: invalid bucket size spec: undefined
    at BucketSize.parse (/app/node_modules/timebucket/lib/bucket-size.js:15:21)
    at new BucketSize (/app/node_modules/timebucket/lib/bucket-size.js:5:21)
    at Bucket.resize (/app/node_modules/timebucket/lib/bucket.js:30:14)
    at Object.actualRange (/app/scripts/genetic_backtester/darwin.js:79:56)
    at buildCommand (/app/scripts/genetic_backtester/darwin.js:310:35)
    at Array.cb (/app/scripts/genetic_backtester/darwin.js:1126:19)
    at each (/app/scripts/genetic_backtester/node_modules/run-parallel-limit/index.js:38:19)
    at /app/scripts/genetic_backtester/node_modules/run-parallel-limit/index.js:38:45
    at ChildProcess.proc.on (/app/scripts/genetic_backtester/darwin.js:374:5)
    at emitTwo (events.js:126:13)
Resume this backtest later with:
./scripts/genetic_backtester/darwin.js --selector=kraken.XETH-ZEUR --days 1 --population 100 --use_strategies bollinger,cci_srsi,crossover_vwap,dema,macd,momentum,rsi,sar,speed,srsi_macd,stddev,ta_ema,ta_macd,ta_macd_ext,ta_ppo,ta_trix,ta_ultosc,trend_bollinger,trend_ema,trendline,trust_distrust,wavetrend --population_data=backtest_201802181228/

This triggers every time. It might be related to #938, but I'm not entirely sure about that, as that does not reference the genetic_backtester.

Further testing seems to indicate the problem is with ta_macd_ext...

hello
i have the same error i see when use strategies:
dema;
bollinger;
trendline;
ta_trix;
ta_ppo;
ta_macd_ext
momentum
abd one different error when use, but probably should be simple somewhere need add or remove")(":
noop
SyntaxError: missing ) after argument list

just had this happen to me.  As far as i can tell it was with ta_macd_ext as well.

Dear issue reporter,
We have slightly changed our github issue policy and would now kindly request folks that have questions that they ask them in our zenbot subreddit.
You can find it here: https://reddit.com/r/zenbot
This issue will be closed, but if you disagree with your ticket being marked as a question feel free to leave a comment defending your case.
Thanks for contributing time and effort!
Greetings,
🤖

Related: #938, #994


"Access is denied" with iframes in IE

In IE, when iframes are being added to the page, the GOPN function throws with"Access is denied".
Screenshot

How to reproduce

Go to https://jsbin.com/pafazegato/edit?html,output
(I used a reference do a dummy doubleclick host, as my issue occurs when tags are being added to the page)
Open up the preview in IE, and open up dev tools
Make sure to refresh the page to see the "Access is denied" errors

Remarks

I suspect that this only happens when opening up the dev tools. As getOwnPropertyNames is being used by the dev tools themselves.
I'll send a PR later on today where I wrap the GOPN function (get-own-property-symbols.js#L125) with a try/catch.

I'm a bit unclear on this; where is Object.getOwnPropertyNames() being called, that it throws?

Well, to be honest, it's not 100% clear to me either.
As you can see, the code to reproduce the error is the polyfill and a simple iframe on the page. My theory is that the very fact of opening the devtools of IE, triggers the calls to Object.getOwnPropertyNames. When activating "breaking on uncaught errors", we can see that the object being passed is window, but more curiously the callstack only contains one frame, the call to it. I think the devtools calls Object.getOwnPropertyNames(window) to get data to be used in the devtools, not sure though.

You can actually see that devtools is triggering the throwing Object.getOwnPropertyNames(window) by adding some DOM manipulation in the catch clause.

Why would IE 11's devtools be calling a function that doesn't natively exist in IE 11?

Object.getOwnPropertyNames exists natively on IE11, it's Object.getOwnPropertySymbols that doesn't exist, right? 🙈
This polyfill overrides the default implementation of Object.getOwnPropertyNames to filter away the properties that act as a Symbol. It uses the original function to do so. Appearantly, that custom usage throws.

aha, interesting

aha, interesting

Yeah, I found that interesting as well. :-) It does remind me on how other polyfills also impact how devtools is behaving (eg. webcomponents polyfill) Had not seen it before on these smaller polyfills though. 😃
Let me know if you need more info, or clarifications.

We'll probably need a technique like in object-keys.
Easiest would be to depend directly on object-keys, but that would be best done in a major bump, since this package doesn't currently have deps, and it'd need a bit of restructuring to update it to modern approaches.
I'll look into possible solutions beyond just a try/catch.

The highlighted technique is an exclusion list. What exclusions were you thinking of?
Also, when you talk about depending on object-keys, do you mean using it instead of relying on the built-in Object.getOwnPropertyNames? Or did you have something else in mind?
Some extra things I noticed:

entering window or window.frames in the console throws as well (2x each)
entering Object.getOwnPropertyNames(window) or Object.getOwnPropertyNames(window.frames) doesn't

It seems as if the objects passed directly by the devtools to the function have some kind of lowered security context.  🤔

Yes, IE has some strange behaviors around this sort of thing.
We might even need something crazier where the gOPN wrapper temporarily restores the native function, calls it, and then reverts the native one back to the wrapper, so it can successfully call it.


"AuditData" Column not present after export

I believe the download log function has changed as the 'AuditData" column is not present after I export a user for review.
I did note that you can switch between CSV and JSON formats on the download screen now.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 932eaab9-9438-a378-1ac1-e59477ed1f51
Version Independent ID: 8a0ce802-0320-16bf-bea9-1c166940d4c9
Content: Export, configure, and view audit log records - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/export-view-audit-log-records.md
Service: o365-seccomp
GitHub Login: @markjjo
Microsoft Alias: markjjo

@AMureika Thanks for pointing this out. However, I can't repro this in a production tenant. Can you please send screenshots or the keystrokes to reproduce this?

@markjjo -  I'm not sure what changed, but I tried the same steps today and the AuditData column is now there when I try to do the transform.  I'm chalking it up to a "blip in time"  ;-)
I think we can close this off.

@AMureika Thanks for following up. Glad AuditData column is displayed.


How to test the package when we developing it?

@AppPear  Hi! I want to contribute to the package. But I can't find any executable targets. When we developing the package, how can we preview the changes? Thanks!

Create a single view app project in Xcode and drag and drop the cloned package into the project now you should be able to build and test changes

Ok, thanks.


Invalid torrent identifier

when I command line   webtorrent magnet_uri
the system retrive     Error: invalid torrent identifier
Debug Info: webtorrent-cli 1.2.3, web torrent 0.95.2, node v4.4.7, win32 x64, exit 1

WebTorrent version:
Node.js version:
Browser name/version (if using WebTorrent in the browser):

What's the exact command you are using? Could you take a screenshot?

Closing due to lack of details. @huangfei3095 Please comment or open a new issue if you have more details.


Add Ergomake to pledge list

Hi everyone,
Really hoping we can get a positive outcome out of this.

Added in https://github.com/opentffoundation/manifesto/pull/203


About “running_std”

In the function "build_channel_branch", the running_std is True, while it is False in the the function "build_spatial_branch". Is it a good setting after experimental verification?

Yes，we tried several combinations on the Image classfication task. Not sure about the downstream tasks.

Thanks for your reply


allow groups < 128 and > 256 on AMD-GPUs

This extends the clang-plugin to create the amdgpu_flat_work_group_size to allow groups between 64 and 1024 work items on AMD-GPUs.
Previously when using larger/smaller groups could result in wrong results or even crashes.
I chose to set the valid range to [64, 1024]. Maybe the limits could be exposed via environment variables, for now they are hardcoded.
It compiles (on my system), but maybe we want additional includes ?  I didn't add for example llvm/ADT/APInt.h, because it wasn't present in lib/Sema/SemaDeclCXX.cpp which I referenced.
Currently I only add the attribute to marked kernels. It might also be needed for other functions or add a check to only apply on AMD-GPU passes ?

@hipSYCL-ci-bot test please to make sure I didn't make hipSYCL AMD-only :)

@hipSYCL-ci-bot test please to make sure I didn't make hipSYCL AMD-only :)

Awesome!!!
I think however that we should not enable this unconditionally; even for AMD passes there might be a reason why the default only allows group sizes of up to 256. I suspect that this restriction allows the LLVM backend to perform additional optimizations, so we shouldn't just throw this away by default. When compiling for CUDA I think the attribute will be just ignored, but it might be cleaner to not set it in this case. There are various options to accomplish setting it only conditionally:

Environment variable: Simple, but has the inherent problem that we cannot distinguish between multiple kernels. E.g. a user might only want to set this attribute for some kernels where group sizes are > 256.
Custom kernel attribute/constexpr property_list. Introduce some SYCL extension that we can expose which allows the user to attach to kernels whether this attribute should be used. Such a mechanism might also be useful for other things.
Automatically add it when compiling for AMD and using group size > 256. This might be the best option, but it requires some more thought. It would involve multi-versioning kernels when compiling for AMD (compiling one version with this attribute and one without), and then selecting at runtime which kernel to use - this could be done e.g. with an additional template argument for kernel invocation functions.

If you want to get this merged quickly, we could start with the environment variable and then look into the more elaborate
approaches in the future.

Currently I only add the attribute to marked kernels. It might also be needed for other functions

I would not expect this to be necessary. AFAIK the HIP use case is to use it with __global__ functions.

Awesome!!!
I think however that we should not enable this unconditionally; even for AMD passes there might be a reason why the default only allows group sizes of up to 256. I suspect that this restriction allows the LLVM backend to perform additional optimizations, so we shouldn't just throw this away by default. When compiling for CUDA I think the attribute will be just ignored, but it might be cleaner to not set it in this case. There are various options to accomplish setting it only conditionally:

Environment variable: Simple, but has the inherent problem that we cannot distinguish between multiple kernels. E.g. a user might only want to set this attribute for some kernels where group sizes are > 256.
Custom kernel attribute/constexpr property_list. Introduce some SYCL extension that we can expose which allows the user to attach to kernels whether this attribute should be used. Such a mechanism might also be useful for other things.
Automatically add it when compiling for AMD and using group size > 256. This might be the best option, but it requires some more thought. It would involve multi-versioning kernels when compiling for AMD (compiling one version with this attribute and one without), and then selecting at runtime which kernel to use - this could be done e.g. with an additional template argument for kernel invocation functions.

If you want to get this merged quickly, we could start with the environment variable and then look into the more elaborate
approaches in the future.

Currently I only add the attribute to marked kernels. It might also be needed for other functions

I would not expect this to be necessary. AFAIK the HIP use case is to use it with __global__ functions.

I thought about making it configurable, but this is the easiest way to allow bigger groups which solves my problem.
Since the user gets undefined results for the same code on AMD-GPUs but not on NVIDIA-GPUs when using bigger groups I think it makes sense to have the larger groups sizes by default and give the user a way to change it.
Maybe it is possible to warn/throw an error if an incorrect configuration is used (maybe in hiplike_kernel_launcher)? Until the attribute is set a simple check for flat work_group size <128 && > 256 would be sufficient and potentially prevent unnecessary confusion.
I don't need to get this merged soon, since I can apply it locally when needed. We can just use this PR as a reminder/hot-fix until we have a better solution for it.

I thought about making it configurable, but this is the easiest way to allow bigger groups which solves my problem.
Since the user gets undefined results for the same code on AMD-GPUs but not on NVIDIA-GPUs when using bigger groups I think it makes sense to have the larger groups sizes by default and give the user a way to change it.
Maybe it is possible to warn/throw an error if an incorrect configuration is used (maybe in hiplike_kernel_launcher)? Until the attribute is set a simple check for flat work_group size <128 && > 256 would be sufficient and potentially prevent unnecessary confusion.
I don't need to get this merged soon, since I can apply it locally when needed. We can just use this PR as a reminder/hot-fix until we have a better solution for it.

Since the user gets undefined results for the same code on AMD-GPUs but not on NVIDIA-GPUs when using bigger groups I think it makes sense to have the larger groups sizes by default and give the user a way to change it.

Well... the SYCL spec does not guarantee that a device has to support a particular work group size. We might just as well say that AMD GPUs, at least by default, only support 128 and 256 as work group sizes. This would allow us to run with a performance-optimized configuration by default. In any case, we should raise an error if this is violated instead of silently executing and hoping things work out.

Maybe it is possible to warn/throw an error if an incorrect configuration is used (maybe in hiplike_kernel_launcher)? Until the attribute is set a simple check for flat work_group size <128 && > 256 would be sufficient and potentially prevent unnecessary confusion.

Yes, exactly :) Preferably error handling is done inside handler because we can use synchronous errors there. But we would still need some handling inside the kernel launcher in case the kernel launcher is invoked by something else.

Since the user gets undefined results for the same code on AMD-GPUs but not on NVIDIA-GPUs when using bigger groups I think it makes sense to have the larger groups sizes by default and give the user a way to change it.

Well... the SYCL spec does not guarantee that a device has to support a particular work group size. We might just as well say that AMD GPUs, at least by default, only support 128 and 256 as work group sizes. This would allow us to run with a performance-optimized configuration by default. In any case, we should raise an error if this is violated instead of silently executing and hoping things work out.

Maybe it is possible to warn/throw an error if an incorrect configuration is used (maybe in hiplike_kernel_launcher)? Until the attribute is set a simple check for flat work_group size <128 && > 256 would be sufficient and potentially prevent unnecessary confusion.

Yes, exactly :) Preferably error handling is done inside handler because we can use synchronous errors there. But we would still need some handling inside the kernel launcher in case the kernel launcher is invoked by something else.

"In the previous ROCm release, this value was 256. In the ROCm v4.1 release, it is changed to 1024."
They have changed the default maximum groupsize in ROCm 4.1 (as far as I can see it is only usable with AMD's llvm, because of currently unmerged changes to atomic floating point instructions).

We should implement this functionality using the interface from #543 :)


Fast download

Is there a way to make the downloader download the files faster? When opening the downloader file, it has to wait almost 30 seconds before it downloads and opens the file.

Are you sure you don't have the start delay enabled? It downloads it using powershell, so it depends on your internet speed and the size of the file. For me it takes about a second or two to download a miner.

And if you manually download the file that you're trying to download then it downloads it fast? Since the downloader uses Powershell then all the downloading is handled directly by Windows so it should be as fast as anything else.

Use the same link as the one you put in the downloader.


Deprecated this project. Datapackage-py should be used instead.

@vitorbaptista :+1:

@pwalsh please, could you travis on both this and datapackage-registry-py repositories?


Implement Graphs in Adjacency List and Adjacency Matrix

Hey @abhpd, I'd like to Implement Graphs in Adjacency List and Adjacency Matrix. Would you please assign me this issue?

@Shruti-codes236 feel free to send PR with proper description of what you have added.


 Click here to learn what that means.
The diff coverage is 33.33%.

@@            Coverage Diff            @@
##             master     #292   +/-   ##
=========================================
  Coverage          ?   60.57%
=========================================
  Files             ?      130
  Lines             ?    17394
  Branches          ?        0
=========================================
  Hits              ?    10537
  Misses            ?     6007
  Partials          ?      850

Impacted Files
Coverage Δ

cmd/allinone.go
13.69% <0%> (ø)

cmd/cmd.go
63.63% <66.66%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b507125...e10dfed. Read the comment docs.

run skydive-coverage

re-run tests

run skydive-coverage


NoClassDefFoundError by ClassNotFoundException for LuckPermsApiProvider

I'm the Dev of our LobbySystem. Please keep in mind that I use for you probably strange methods of loading my permissions, just haven't found and other way to load my permissions, cause I load my permissions dynamically and don't ask "hasPermission(permission)" with Strings....
Field pluginField = LuckPermsApiProvider.class.getDeclaredField("plugin");
pluginField.setAccessible(true);
LuckPermsPlugin lpplugin = (LuckPermsPlugin) 		pluginField.get(LuckPerms.getApi());
PermissionRegistry registry = lpplugin.getPermissionRegistry();
for (String permission : api.getKnownPermissions()) {
	registry.offer(permission);
}

Sorry, I dont understand these **** github editors :P
Using CloudNet 3.2 btw.
Thanks for your good plugin and for any help!
05.02 16:17:28.877] INFO: [lobby-1] [16:16:58 ERROR]: Error occurred while enabling LobbySystem v1.0 (Is it up to date?)
[05.02 16:17:28.877] INFO: [lobby-1] java.lang.NoClassDefFoundError: me/lucko/luckperms/common/api/LuckPermsApiProvider
[05.02 16:17:28.877] INFO: [lobby-1]    at eu.darkcube.system.commandapi.CommandAPI.enable(CommandAPI.java:63) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
[05.02 16:17:28.877] INFO: [lobby-1]    at eu.darkcube.system.lobbysystem.Lobby.onEnable(Lobby.java:63) ~[?:?]
[05.02 16:17:28.877] INFO: [lobby-1]    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
[05.02 16:17:28.877] INFO: [lobby-1]    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [spigot.jar:git-Spigot-db6de12-18fbb24]
[05.02 16:17:28.877] INFO: [lobby-1]    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot.jar:git-Spigot-db6de12-18fbb24]
[05.02 16:17:28.877] INFO: [lobby-1]    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357) [spigot.jar:git-Spigot-db6de12-18fbb24]
[05.02 16:17:28.877] INFO: [lobby-1]    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317) [spigot.jar:git-Spigot-db6de12-18fbb24]
[05.02 16:17:28.877] INFO: [lobby-1]    at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414) [spigot.jar:git-Spigot-db6de12-18fbb24]
[05.02 16:17:28.877] INFO: [lobby-1]    at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378) [spigot.jar:git-Spigot-db6de12-18fbb24]
[05.02 16:17:28.877] INFO: [lobby-1]    at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333) [spigot.jar:git-Spigot-db6de12-18fbb24]
[05.02 16:17:28.877] INFO: [lobby-1]    at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263) [spigot.jar:git-Spigot-db6de12-18fbb24]
[05.02 16:17:28.877] INFO: [lobby-1]    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [spigot.jar:git-Spigot-db6de12-18fbb24]
[05.02 16:17:28.877] INFO: [lobby-1]    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232]
[05.02 16:17:28.877] INFO: [lobby-1] Caused by: java.lang.ClassNotFoundException: me.lucko.luckperms.common.api.LuckPermsApiProvider
[05.02 16:17:28.877] INFO: [lobby-1]    at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_232]
[05.02 16:17:28.877] INFO: [lobby-1]    at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_232]
[05.02 16:17:28.877] INFO: [lobby-1]    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) ~[?:1.8.0_232]
[05.02 16:17:28.877] INFO: [lobby-1]    at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_232]
[05.02 16:17:28.877] INFO: [lobby-1]    ... 13 more

either building against a different version of LP than you have installed, or, probably more likely, you didn't setup your dependency info in plugin.yml, and so your plugin is enabling after LP does

@electronicboy I indeed have setup everything correctly
main: mainclass...
version: 1.0
name: LobbySystem
author: DasBabyPixel
website: website...
softdepend: [LuckPerms]
commands:
lobby:

shouldn't be a softdepend if you require LP to be installed,
But, beyond that, need more information about your setup; logs? lp version?

Why on earh are you loading the API like that?!?
Get it like described here: https://github.com/lucko/LuckPerms/wiki/Developer-API#obtaining-an-instance-of-the-api

Instead of integrating directly with the LuckPerms internals, just register your permissions with Bukkit! This means all permission plugins (including LuckPerms) can pick up your data. :)
You can do this...

In your plugin.yml file, as explained here: https://bukkit.gamepedia.com/Plugin_YAML (preferred)

or

Programatically:

for (String permission : api.getKnownPermissions()) {
    try {
        Bukkit.getPluginManager().addPermission(new Permission(permission));
    } catch (IllegalArgumentException e) {
        // ignore: thrown if permission already registered
    }
}


account_representative_set sends back "Empty reply from server" when invalid rep is put into the field

Description of bug:
If you send a request to change the rep and put a invalid rep into the representative field u dont get any response back from the node making it difficult to understand what the problem was.
Basically the socket hung up to the node.

no error response in form of json
Steps to reproduce the issue:

action account_representive_set
put in invalid rep
no error respone back, instead: "Empty reply from server"

Describe the results you received: no error response
Describe the results you expected: an actual error response like: "invalid rep"

OS information
(Linux) Kernel (e.g. uname -a): ubuntu 16.04
Node version 15
(docker node) docker version: from source

Will be fixed with merging https://github.com/nanocurrency/raiblocks/pull/970

Fixed in 15.0


reCaptcha for SSO Login not shown on the console page.

Describe the issue:
After enabling the reCaptcha SSO Login could be able to login using the pickup dispatch app but could not able to login using the console.
The error msg prompted was reCaptcha validation is required for user.
How to reproduce:

Follow this step to enable  reCaptcha  https://is.docs.wso2.com/en/latest/learn/configuring-recaptcha-for-self-registration/#configuring-recaptcha-for-self-registration and skip step 6 and use the console to enable the reCaptcha for SSO Login
logout and try to log in

Expected behaviour:
Recaptcha should be shown when the user tries to log in using the console as well.
Environment information
Product Version: IS 5.11.0-Beta2
OS: Linux
Database: Postgres
User store: JDBC

Optional Fields
Suggested labels:
bug

There is a limitation when using saas apps. When redirecting to the authentication page we don't have the tenant domain information of the user.

reCaptcha validation is required for the user. This error message comes when the g-recaptcha-response header is missing in the request made to the server. If the Recaptcha is not configured properly(Recaptcha widget must be shown in the authentication page), this header will not be sent. How I tried this flow is,

Enabled re-captcha for both tenant and super tenant.
authenticated as the tenant admin to the console app

Couldn't observe the mentioned error. However, I was able to reproduce this issue by disabling the ReCaptcha for the super tenant where it made the ReCaptcha widget not available in the login portal.

After having an offline discussion with @Sathiyakugan I have further verified this scenario. The authentication portal at the moment is not tenant qualified. So even if we enable Recaptcha in the tenant, the authentication portal will not load the Recaptcha widget thus causing this error due to the missing captcha response header. Therefore, the ongoing tenant qualifying URLs effort should resolve this issue eventually.
CC: @ayshsandu

This issue needs to be covered with the effort: https://github.com/wso2/product-is/issues/9051.


feat(dropdown): Add multi selection example

📋 Changes

Add multi selection example
Also add the missing padding in the dropdown menu
🤔 Context

Closes #1162
✅ Checklist

[x] I have reviewed the submitted code.
[x] I have tested on a phone device/emulator.

@kazaky Please don't merge PR's if they're not based on main otherwise it'll break the branch chain


Creating Pin Issue

I am receiving too much We could not complete that request. issue since yesterday. Has anybody got the same issue?
The code was working for 2 months and suddenly receiving this error on the most pin create attempts. I was just thought that Pinterest might change the API.
Here you may found how I am creating the pin below:
$data = [
"img_url"=>"https://example.com/image.jpg",
"title" => "Test Pin",
"description" => "test description",
"board_id" => "123456",
"url" => "https://example.com"
];
$repin = $bot->pins->create($data["img_url"], $data["board_id"], $data["description"],$data["url"],$data["title]);

ı complete my bot by using this.
iletişime geçersen yardımcı olayım. skype : XocTaiL


Removing Early Penalty

Hey is there a way to remove the early penalty, or do I have to resort to using older version or editing the code? Sometimes it's hard to triple weave, and sometimes late double weaving because the early penalty sometimes goes up to 100ms.
Also, is there a discord for this program?

While triple weaving definitely is more than possible, at times it just won't work even on very low ping (<10ms). For double weaving, you might be experiencing this: https://github.com/Soreepeong/XivAlexander/pull/23#issue-582128977
You might want to try turning off Use Delay Detection, and see if you prefer that mode.
Also, no, I don't think discord for this is necessary.


[WIP] build/artefacts: Use zstd where possible

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

this is generally a good idea - the only problem with it is that pkg_tar cannot currently (years long discussion 8/) consume zstd files so it can make the output ~unusable efficiently without some hackery
in this case i mostly wanted to do this for the docs output but i want it to be consumable in the website build so not really possible
i will update this - i think we can still use and get some reasonable benefit


implement the saving in API.

The puzzle 102-cae05207 from #102 has to be resolved:
https://github.com/ammaratef45/Attendance/blob/fbdba811a613eddf24735e47ac232e93e71c179b/attendance/lib/backend/attendance.dart#L50-L50
The puzzle was created by Ammar Atef on 12-May-19.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

@ammaratef45/z please, pay attention to this issue


FYI o not working since last vscode update (VSCode bug)

This is not an issue of vscode-neovim but a new bug introduced by the last vscode update.
I'm not sure if this is the right place to post this, but since I lost some time with this issue maybe I'm not the only one and this could be of use to someone ?
The command View: Join all editor groups is not working anymore on the lastest vscode version (1.54.1 March 2021)
vscode-neovim maps o to this vscode command (workbench.action.joinAllGroups).
The issue is already taken care of and solved on the vscode repo (https://github.com/microsoft/vscode/issues/118268)
So we'll just have to wait for the next update.
Meanwhile if you're like me and use this command a lot you can still remap o to another vscode command that don't join editors but close them instead.
It's not really the same nor ideal but better than nothing as we wait for the next vscode update.
Just add this key mapping to your .nvimrc file.
if exists('g:vscode')
    nnoremap <C-W>o <Cmd>call VSCodeNotify('workbench.action.closeEditorsInOtherGroups')<CR>
endif

Thanks for taking the time to post this! I've just noticed that a new version of VSCode was released today. I'm being optimistic here and assume that this bug was fixed with the latest release. Either way, it's not something we can fix. Anyone struggling with it should be able to search for this issue.


Bugfix for database.json generation

Fixing issue while generating database.json to prevent empty files.
I missed this while updating the scripts to Python 3.

LGTM.


exception: KeyError - Alerton VLCA-1688

Describe the bug
Attempting to connect an Alerton VLCA-1688 to HA Bepacom EcoPanel BACnet/IP Interface Development Version V1.2.0
Detects device in log, No device shown in side bar interface.
Alerton Field device instance: 2000, IP <IP_ADDRESS>/24
HA Details:
Core 2023.12.3
Supervisor 2023.11.6
Operating System 11.2
Frontend 20231208.2
Log file
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service base-addon-banner: starting
-----------------------------------------------------------

 Add-on: Bepacom EcoPanel BACnet/IP Interface Development Version
 Bepacom BACnet/IP interface for the Bepacom EcoPanel. Allows BACnet devices to be available to Home Assistant through an API
-----------------------------------------------------------
 Add-on version: 1.2.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 11.2  (amd64 / generic-x86-64)
 Home Assistant Core: 2023.12.3
 Home Assistant Supervisor: 2023.11.6
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-nginx: starting
s6-rc: info: service init-interface: starting
[18:19:50] INFO: Running init-nginx.
[18:19:50] INFO: Running init-interface.
[18:19:50] INFO: Allowed interfaces for NGINX: <IP_ADDRESS>/8 <IP_ADDRESS>/24 <IP_ADDRESS>/23 <IP_ADDRESS>/23
[18:19:50] INFO: Generated ingress configuration!
s6-rc: info: service init-nginx successfully started
[BACpypes]
objectName: EcoPanel
address: <IP_ADDRESS>/24
objectIdentifier: 420
maxApduLengthAccepted: 1476
segmentation: noSegmentation
vendorIdentifier: 1234
foreignBBMD: -
foreignTTL: 255
maxSegmentsAccepted: 64
loglevel: DEBUG
defaultPriority: 8
updateInterval: 60
s6-rc: info: service init-interface successfully started
s6-rc: info: service interface: starting
[18:19:51] INFO: Running interface
s6-rc: info: service interface successfully started
s6-rc: info: service nginx: starting
s6-rc: info: service nginx successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
DEBUG:    Application initialised
INFO:     Started server process [271]
INFO:     Waiting for application startup.
INFO:    I Am from device,2000
DEBUG:    Exploring Device info of device,2000
ERROR:    Abort PDU error while reading device properties: device,2000: segmentation-not-supported
INFO:    Reading objectList from device,2000...
ERROR:    exception: KeyError('device:2000')
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/app.py", line 899, in indication
    await helperFn(apdu)
  File "/usr/bin/BACnetIOHandler.py", line 139, in do_IAmRequest
    await self.read_object_list(device_identifier=apdu.iAmDeviceIdentifier)
  File "/usr/bin/BACnetIOHandler.py", line 256, in read_object_list
    for obj_id in self.bacnet_device_dict[f"device:{device_identifier[1]}"][
                  ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'device:2000'
ERROR:    An error occurred: 'IAmRequest' object has no attribute 'apduInvokeID'
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:7813 (Press CTRL+C to quit)
WARNING:  Invalid HTTP request received.
[18:19:58] INFO: Running NGINX
2023/12/17 18:19:58 [notice] 281#281: using the "epoll" event method
2023/12/17 18:19:58 [notice] 281#281: nginx/1.24.0
2023/12/17 18:19:58 [notice] 281#281: OS: Linux 6.1.63-haos
2023/12/17 18:19:58 [notice] 281#281: getrlimit(RLIMIT_NOFILE):<PHONE_NUMBER>:1073741816
2023/12/17 18:19:58 [notice] 281#281: start worker processes
2023/12/17 18:19:58 [notice] 281#281: start worker process 326

Hey @azzey1,
The problem has to do with your device not supporting segmentation. I made a quick update to bring in support for such devices again. Can you try updating the dev version?

I have the Device shown in the web panel, how do i reference the point/outputs? or do i still have an error?
-----------------------------------------------------------
 Add-on version: 1.2.1
 You are running the latest version of this add-on.
 System: Home Assistant OS 11.2  (amd64 / generic-x86-64)
 Home Assistant Core: 2023.12.3
 Home Assistant Supervisor: 2023.11.6
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-nginx: starting
s6-rc: info: service init-interface: starting
[19:32:08] INFO: Running init-nginx.
[19:32:08] INFO: Running init-interface.
[19:32:08] INFO: Allowed interfaces for NGINX: <IP_ADDRESS>/8 <IP_ADDRESS>/24 <IP_ADDRESS>/23 <IP_ADDRESS>/23
[19:32:08] INFO: Generated ingress configuration!
s6-rc: info: service init-nginx successfully started
[BACpypes]
objectName: EcoPanel
address: <IP_ADDRESS>/24
objectIdentifier: 420
maxApduLengthAccepted: 1476
segmentation: noSegmentation
vendorIdentifier: 1234
foreignBBMD: -
foreignTTL: 255
maxSegmentsAccepted: 64
loglevel: DEBUG
defaultPriority: 8
updateInterval: 60
s6-rc: info: service init-interface successfully started
s6-rc: info: service interface: starting
[19:32:09] INFO: Running interface
s6-rc: info: service interface successfully started
s6-rc: info: service nginx: starting
s6-rc: info: service nginx successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
DEBUG:    Application initialised
INFO:     Started server process [272]
INFO:     Waiting for application startup.
INFO:    I Am from device,2000
DEBUG:    Exploring Device info of device,2000
WARNING:    Abort PDU error while reading device properties: device,2000: segmentation-not-supported
ERROR:    exception: ValueError('minimum length: 1')
Traceback (most recent call last):
  File "/usr/bin/BACnetIOHandler.py", line 226, in read_device_props
    response = await self.read_property_multiple(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/service/object.py", line 543, in read_property_multiple
    response = await self.request(read_property_multiple_request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
bacpypes3.apdu.AbortPDU: segmentation-not-supported

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/app.py", line 899, in indication
    await helperFn(apdu)
  File "/usr/bin/BACnetIOHandler.py", line 137, in do_IAmRequest
    await self.read_device_props(apdu=apdu)
  File "/usr/bin/BACnetIOHandler.py", line 238, in read_device_props
    await self.read_device_props_non_segmented(apdu)
  File "/usr/bin/BACnetIOHandler.py", line 262, in read_device_props_non_segmented
    response = await self.read_property(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/service/object.py", line 146, in read_property
    property_value = response.propertyValue.cast_out(property_type)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/constructeddata.py", line 1751, in cast_out
    result = cls.decode(tag_list)
             ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/primitivedata.py", line 1490, in decode
    return cls(value)
           ^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/primitivedata.py", line 628, in __call__
    args = (new_type.cast(args[0]),)  # type: ignore[attr-defined]
            ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/primitivedata.py", line 1392, in cast
    raise ValueError(f"minimum length: {min_length}")
ValueError: minimum length: 1
ERROR:    An error occurred: 'IAmRequest' object has no attribute 'apduInvokeID'
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:7813 (Press CTRL+C to quit)
WARNING:  Invalid HTTP request received.
[19:32:15] INFO: Running NGINX
2023/12/18 19:32:15 [notice] 282#282: using the "epoll" event method
2023/12/18 19:32:15 [notice] 282#282: nginx/1.24.0
2023/12/18 19:32:15 [notice] 282#282: OS: Linux 6.1.63-haos
2023/12/18 19:32:15 [notice] 282#282: getrlimit(RLIMIT_NOFILE):<PHONE_NUMBER>:1073741816
2023/12/18 19:32:15 [notice] 282#282: start worker processes
2023/12/18 19:32:15 [notice] 282#282: start worker process 327
INFO:    Periodic object reading...
```

There's still an error. Could you uninstall, check for updates and then reinstall again? I quickly added some logging that hopefully should give some more information for me.

ok, uninstalled, what is the expectation on when the update would be ready?

The update is already out. You just have to check for updates and then install again. This update will give me some more information what's going wrong.

I have tried to detect updates, and doesn't detect a newer version?

Right, the version doesn't get bumped. It's still 1.2.1.

ok what tests do you need me to follow?

For now, just try to start the add-on again, and paste the logs here. Hopefully I can get some more information from it.
Do you know Yet Another BACnet Explorer? If you do, could you maybe export your device as EDE file for me?

ok what log level do you want for the add on? debug?

Alerton Device 2000_EDE.csv
Alerton Device 2000_StateTexts.csv

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service base-addon-banner: starting
-----------------------------------------------------------

 Add-on: Bepacom EcoPanel BACnet/IP Interface Development Version
 Bepacom BACnet/IP interface for the Bepacom EcoPanel. Allows BACnet devices to be available to Home Assistant through an API
-----------------------------------------------------------
 Add-on version: 1.2.1
 You are running the latest version of this add-on.
 System: Home Assistant OS 11.2  (amd64 / generic-x86-64)
 Home Assistant Core: 2023.12.3
 Home Assistant Supervisor: 2023.12.0
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-nginx: starting
s6-rc: info: service init-interface: starting
[19:41:37] INFO: Running init-nginx.
[19:41:37] INFO: Running init-interface.
[19:41:37] INFO: Allowed interfaces for NGINX: <IP_ADDRESS>/8 <IP_ADDRESS>/24 <IP_ADDRESS>/23 <IP_ADDRESS>/23
[19:41:37] INFO: Generated ingress configuration!
s6-rc: info: service init-nginx successfully started
[BACpypes]
objectName: EcoPanel
address: <IP_ADDRESS>/24
objectIdentifier: 1999
maxApduLengthAccepted: 1476
segmentation: noSegmentation
vendorIdentifier: 123
foreignBBMD: -
foreignTTL: 255
maxSegmentsAccepted: 64
loglevel: DEBUG
defaultPriority: 8
updateInterval: 60
s6-rc: info: service init-interface successfully started
s6-rc: info: service interface: starting
[19:41:37] INFO: Running interface
s6-rc: info: service interface successfully started
s6-rc: info: service nginx: starting
s6-rc: info: service nginx successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
DEBUG:    Application initialised
INFO:     Started server process [271]
INFO:     Waiting for application startup.
INFO:    I Am from device,2000
DEBUG:    Exploring Device info of device,2000
WARNING:    Abort PDU error while reading device properties: device,2000: segmentation-not-supported
INFO:    Reading device device,2000, object-identifier
ERROR:    Other error: name 'address' is not defined
INFO:    Reading objectList from device,2000...
ERROR:    exception: KeyError('device:2000')
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/app.py", line 899, in indication
    await helperFn(apdu)
  File "/usr/bin/BACnetIOHandler.py", line 139, in do_IAmRequest
    await self.read_object_list(device_identifier=apdu.iAmDeviceIdentifier)
  File "/usr/bin/BACnetIOHandler.py", line 340, in read_object_list
    for obj_id in self.bacnet_device_dict[f"device:{device_identifier[1]}"][
                  ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'device:2000'
ERROR:    An error occurred: 'IAmRequest' object has no attribute 'apduInvokeID'
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:7813 (Press CTRL+C to quit)
WARNING:  Invalid HTTP request received.
[19:41:44] INFO: Running NGINX
2023/12/20 19:41:44 [notice] 281#281: using the "epoll" event method
2023/12/20 19:41:44 [notice] 281#281: nginx/1.24.0
2023/12/20 19:41:44 [notice] 281#281: OS: Linux 6.1.63-haos
2023/12/20 19:41:44 [notice] 281#281: getrlimit(RLIMIT_NOFILE):<PHONE_NUMBER>:1073741816
2023/12/20 19:41:44 [notice] 281#281: start worker processes
2023/12/20 19:41:44 [notice] 281#281: start worker process 326

this was the log from when i conducted a scan/add device with YABE ,
KeyError: 'device:2000'
ERROR:    An error occurred: 'IAmRequest' object has no attribute 'apduInvokeID'
INFO:    Received Who Is Request from <IP_ADDRESS>:57079
INFO:    I Am from device,2000
DEBUG:    Device device,2000 already in cache!
DEBUG:    Exploring Device info of device,2000
WARNING:    Abort PDU error while reading device properties: device,2000: segmentation-not-supported
INFO:    Reading device device,2000, object-identifier
ERROR:    Other error: name 'address' is not defined
INFO:    Reading objectList from device,2000...
ERROR:    exception: KeyError('device:2000')
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/app.py", line 899, in indication
    await helperFn(apdu)
  File "/usr/bin/BACnetIOHandler.py", line 139, in do_IAmRequest
    await self.read_object_list(device_identifier=apdu.iAmDeviceIdentifier)
  File "/usr/bin/BACnetIOHandler.py", line 340, in read_object_list
    for obj_id in self.bacnet_device_dict[f"device:{device_identifier[1]}"][

this was the log from when i conducted a scan/add device with YABE ,

I mean, could you export the scan from YABE?

yes, a couple of posts up

Could you reinstall and try again? Hopefully this time it'll go a little better.
Seems there's an issue inside of the BACnet library I use where it fails to read a property of the device object.

Hi, How do i tell if the update has taken affect without a version number change?
Getting the following
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service base-addon-banner: starting

-----------------------------------------------------------
 Add-on: Bepacom EcoPanel BACnet/IP Interface Development Version
 Bepacom BACnet/IP interface for the Bepacom EcoPanel. Allows BACnet devices to be available to Home Assistant through an API
-----------------------------------------------------------
 Add-on version: 1.2.1
 You are running the latest version of this add-on.
 System: Home Assistant OS 11.2  (amd64 / generic-x86-64)
 Home Assistant Core: 2023.12.4
 Home Assistant Supervisor: 2023.12.0
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-nginx: starting
s6-rc: info: service init-interface: starting
[17:12:33] INFO: Running init-nginx.
[17:12:33] INFO: Running init-interface.
[17:12:33] INFO: Allowed interfaces for NGINX: <IP_ADDRESS>/8 <IP_ADDRESS>/24 <IP_ADDRESS>/23 <IP_ADDRESS>/23
[17:12:33] INFO: Generated ingress configuration!
s6-rc: info: service init-nginx successfully started
[BACpypes]
objectName: EcoPanel
address: <IP_ADDRESS>/24
objectIdentifier: 1999
maxApduLengthAccepted: 1476
segmentation: segmentedBoth
vendorIdentifier: 5
foreignBBMD: -
foreignTTL: 255
maxSegmentsAccepted: 64
loglevel: DEBUG
defaultPriority: 8
updateInterval: 60
s6-rc: info: service init-interface successfully started
s6-rc: info: service interface: starting
[17:12:34] INFO: Running interface
s6-rc: info: service interface successfully started
s6-rc: info: service nginx: starting
s6-rc: info: service nginx successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
DEBUG:    Application initialised
INFO:     Started server process [271]
INFO:     Waiting for application startup.
INFO:    I Am from device,2000
DEBUG:    Exploring Device info of device,2000
WARNING:    Abort PDU error while reading device properties: device,2000: segmentation-not-supported
INFO:    Reading device device,2000, object-identifier
ERROR:    Other error: name 'objid' is not defined
INFO:    Last resort for this device...
ERROR:    An error occurred: segmentation-not-supported
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:7813 (Press CTRL+C to quit)
WARNING:  Invalid HTTP request received.
[17:12:41] INFO: Running NGINX
2023/12/29 17:12:41 [notice] 281#281: using the "epoll" event method
2023/12/29 17:12:41 [notice] 281#281: nginx/1.24.0
2023/12/29 17:12:41 [notice] 281#281: OS: Linux 6.1.63-haos
2023/12/29 17:12:41 [notice] 281#281: getrlimit(RLIMIT_NOFILE):<PHONE_NUMBER>:1073741816
2023/12/29 17:12:41 [notice] 281#281: start worker processes
2023/12/29 17:12:41 [notice] 281#281: start worker process 326

How do i tell if the update has taken affect without a version number change?

The logging will be slightly different. When reinstalling the add-on, Home Assistant always builds the latest version from GitHub, so if a new update has been pushed and Home Assistant is aware of this update it'll install the last version.
Could you maybe try again? I changed the way the object list is retrieved in the alternative way, so hopefully it should get some data.

Add-on version: 1.2.1
You are running the latest version of this add-on.
System: Home Assistant OS 11.2  (amd64 / generic-x86-64)
Home Assistant Core: 2023.12.4
Home Assistant Supervisor: 2023.12.0
Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-nginx: starting
s6-rc: info: service init-interface: starting
[07:32:32] INFO: Running init-nginx.
[07:32:32] INFO: Running init-interface.
[07:32:32] INFO: Allowed interfaces for NGINX: <IP_ADDRESS>/8 <IP_ADDRESS>/24 <IP_ADDRESS>/23 <IP_ADDRESS>/23
[07:32:32] INFO: Generated ingress configuration!
s6-rc: info: service init-nginx successfully started
[BACpypes]
objectName: EcoPanel
address: <IP_ADDRESS>/24
objectIdentifier: 1999
maxApduLengthAccepted: 1476
segmentation: segmentedBoth
vendorIdentifier: 4
foreignBBMD: -
foreignTTL: 255
maxSegmentsAccepted: 64
loglevel: DEBUG
defaultPriority: 8
updateInterval: 60
s6-rc: info: service init-interface successfully started
s6-rc: info: service interface: starting
s6-rc: info: service interface successfully started
s6-rc: info: service nginx: starting
s6-rc: info: service nginx successfully started
s6-rc: info: service legacy-services: starting
[07:32:33] INFO: Running interface
s6-rc: info: service legacy-services successfully started
DEBUG:    Application initialised
INFO:     Started server process [271]
INFO:     Waiting for application startup.
INFO:    I Am from device,2000
DEBUG:    Exploring Device info of device,2000
WARNING:    Abort PDU error while reading device properties: device,2000: segmentation-not-supported
INFO:    Reading device device,2000, object-identifier
INFO:    Response device device,2000, object-identifier, <bacpypes3.primitivedata.Any object at 0x7f21f61e41a0>, <bacpypes3.apdu.ReadPropertyACK(ComplexAckPDU,1) instance at 0x7f21f61e4110>
INFO:    Reading device device,2000, object-type
INFO:    Response device device,2000, object-type, <bacpypes3.primitivedata.Any object at 0x7f21f61e42f0>, <bacpypes3.apdu.ReadPropertyACK(ComplexAckPDU,2) instance at 0x7f21f61e4230>
INFO:    Reading device device,2000, object-name
INFO:    Response device device,2000, object-name, <bacpypes3.primitivedata.Any object at 0x7f21f61e4260>, <bacpypes3.apdu.ReadPropertyACK(ComplexAckPDU,3) instance at 0x7f21f61e4080>
ERROR:    Other error: minimum length: 1 device,2000
INFO:    Reading objectList from device,2000...
ERROR:    exception: KeyError('objectList')
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/bacpypes3/app.py", line 899, in indication
await helperFn(apdu)
File "/usr/bin/BACnetIOHandler.py", line 139, in do_IAmRequest
await self.read_object_list(device_identifier=apdu.iAmDeviceIdentifier)
File "/usr/bin/BACnetIOHandler.py", line 351, in read_object_list
for obj_id in self.bacnet_device_dict[f"device:{device_identifier[1]}"][
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'objectList'
ERROR:    An error occurred: 'IAmRequest' object has no attribute 'apduInvokeID'
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:7813 (Press CTRL+C to quit)
WARNING:  Invalid HTTP request received.
[07:32:40] INFO: Running NGINX
2023/12/30 07:32:40 [notice] 279#279: using the "epoll" event method
2023/12/30 07:32:40 [notice] 279#279: nginx/1.24.0
2023/12/30 07:32:40 [notice] 279#279: OS: Linux 6.1.63-haos
2023/12/30 07:32:40 [notice] 279#279: getrlimit(RLIMIT_NOFILE):<PHONE_NUMBER>:1073741816
2023/12/30 07:32:40 [notice] 279#279: start worker processes
2023/12/30 07:32:40 [notice] 279#279: start worker process 327
INFO:    Periodic object reading...
INFO:    Periodic object reading...
INFO:    Periodic object reading...
INFO:    Periodic object reading...
INFO:    Periodic object reading...
INFO:    Periodic object reading...
INFO:    Periodic object reading...

I think I got pretty close right now. Unfortunately I don't have any real BACnet devices on hand, otherwise I could experiment with those. Could you try again for me please?

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service base-addon-banner: starting

-----------------------------------------------------------
 Add-on: Bepacom EcoPanel BACnet/IP Interface Development Version
 Bepacom BACnet/IP interface for the Bepacom EcoPanel. Allows BACnet devices to be available to Home Assistant through an API
-----------------------------------------------------------
 Add-on version: 1.2.1
 You are running the latest version of this add-on.
 System: Home Assistant OS 11.2  (amd64 / generic-x86-64)
 Home Assistant Core: 2023.12.4
 Home Assistant Supervisor: 2023.12.0
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-nginx: starting
s6-rc: info: service init-interface: starting
[09:27:07] INFO: Running init-nginx.
[09:27:07] INFO: Running init-interface.
[09:27:07] INFO: Allowed interfaces for NGINX: <IP_ADDRESS>/8 <IP_ADDRESS>/24 <IP_ADDRESS>/23 <IP_ADDRESS>/23
[09:27:07] INFO: Generated ingress configuration!
s6-rc: info: service init-nginx successfully started
[BACpypes]
objectName: EcoPanel
address: <IP_ADDRESS>/24
objectIdentifier: 1999
maxApduLengthAccepted: 1476
segmentation: segmentedBoth
vendorIdentifier: 15
foreignBBMD: -
foreignTTL: 255
maxSegmentsAccepted: 64
loglevel: DEBUG
defaultPriority: 8
updateInterval: 60
s6-rc: info: service init-interface successfully started
s6-rc: info: service interface: starting
[09:27:08] INFO: Running interface
s6-rc: info: service interface successfully started
s6-rc: info: service nginx: starting
s6-rc: info: service nginx successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
DEBUG:    Application initialised
INFO:     Started server process [272]
INFO:     Waiting for application startup.
INFO:    I Am from device,2000
DEBUG:    Exploring Device info of device,2000
WARNING:    Abort PDU error while reading device properties: device,2000: segmentation-not-supported
INFO:    Reading device device,2000, object-identifier
INFO:    Response device device,2000, object-identifier, <bacpypes3.primitivedata.Any object at 0x7f49eb6f4410>, <bacpypes3.apdu.ReadPropertyACK(ComplexAckPDU,1) instance at 0x7f49eb6f4470>
INFO:    Reading device device,2000, object-type
INFO:    Response device device,2000, object-type, <bacpypes3.primitivedata.Any object at 0x7f49eb6f4350>, <bacpypes3.apdu.ReadPropertyACK(ComplexAckPDU,2) instance at 0x7f49eb6f46e0>
INFO:    Reading device device,2000, object-name
INFO:    Response device device,2000, object-name, <bacpypes3.primitivedata.Any object at 0x7f49eb6f43e0>, <bacpypes3.apdu.ReadPropertyACK(ComplexAckPDU,3) instance at 0x7f49eb6f42f0>
ERROR:    Other error: minimum length: 1 device,2000
INFO:    Reading objectList from device,2000...
ERROR:    exception: KeyError('objectList')
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/app.py", line 899, in indication
    await helperFn(apdu)
  File "/usr/bin/BACnetIOHandler.py", line 139, in do_IAmRequest
    await self.read_object_list(device_identifier=apdu.iAmDeviceIdentifier)
  File "/usr/bin/BACnetIOHandler.py", line 351, in read_object_list
    for obj_id in self.bacnet_device_dict[f"device:{device_identifier[1]}"][
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'objectList'
ERROR:    An error occurred: 'IAmRequest' object has no attribute 'apduInvokeID'
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:7813 (Press CTRL+C to quit)
WARNING:  Invalid HTTP request received.
[09:27:14] INFO: Running NGINX
2023/12/30 09:27:14 [notice] 282#282: using the "epoll" event method
2023/12/30 09:27:14 [notice] 282#282: nginx/1.24.0
2023/12/30 09:27:14 [notice] 282#282: OS: Linux 6.1.63-haos
2023/12/30 09:27:14 [notice] 282#282: getrlimit(RLIMIT_NOFILE):<PHONE_NUMBER>:1073741816
2023/12/30 09:27:14 [notice] 282#282: start worker processes
2023/12/30 09:27:14 [notice] 282#282: start worker process 327
INFO:    Periodic object reading...

Did you check for updates before reinstalling? This still behaves like the old version.

don't have a way to check for updates? how do i check?

uninstalled and re-installed
 Bepacom BACnet/IP interface for the Bepacom EcoPanel. Allows BACnet devices to be available to Home Assistant through an API
-----------------------------------------------------------
 Add-on version: 1.2.1
 You are running the latest version of this add-on.
 System: Home Assistant OS 11.2  (amd64 / generic-x86-64)
 Home Assistant Core: 2023.12.4
 Home Assistant Supervisor: 2023.12.0
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-nginx: starting
s6-rc: info: service init-interface: starting
[10:38:00] INFO: Running init-nginx.
[10:38:00] INFO: Running init-interface.
[10:38:00] INFO: Allowed interfaces for NGINX: <IP_ADDRESS>/8 <IP_ADDRESS>/24 <IP_ADDRESS>/23 <IP_ADDRESS>/23
[10:38:00] INFO: Generated ingress configuration!
s6-rc: info: service init-nginx successfully started
[BACpypes]
objectName: EcoPanel
address: <IP_ADDRESS>/24
objectIdentifier: 1999
maxApduLengthAccepted: 1476
segmentation: segmentedBoth
vendorIdentifier: 15
foreignBBMD: -
foreignTTL: 255
maxSegmentsAccepted: 64
loglevel: DEBUG
defaultPriority: 8
updateInterval: 60
s6-rc: info: service init-interface successfully started
s6-rc: info: service interface: starting
[10:38:01] INFO: Running interface
s6-rc: info: service interface successfully started
s6-rc: info: service nginx: starting
s6-rc: info: service nginx successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
DEBUG:    Application initialised
INFO:     Started server process [271]
INFO:     Waiting for application startup.
INFO:    I Am from device,2000
DEBUG:    Exploring Device info of device,2000
WARNING:    Abort PDU error while reading device properties: device,2000: segmentation-not-supported
ERROR:    exception: ValueError('minimum length: 1')
Traceback (most recent call last):
  File "/usr/bin/BACnetIOHandler.py", line 226, in read_device_props
    response = await self.read_property_multiple(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/service/object.py", line 543, in read_property_multiple
    response = await self.request(read_property_multiple_request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
bacpypes3.apdu.AbortPDU: segmentation-not-supported

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/app.py", line 899, in indication
    await helperFn(apdu)
  File "/usr/bin/BACnetIOHandler.py", line 137, in do_IAmRequest
    await self.read_device_props(apdu=apdu)
  File "/usr/bin/BACnetIOHandler.py", line 238, in read_device_props
    await self.read_device_props_non_segmented(apdu)
  File "/usr/bin/BACnetIOHandler.py", line 268, in read_device_props_non_segmented
    response = await self.read_property(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/service/object.py", line 146, in read_property
    property_value = response.propertyValue.cast_out(property_type)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/constructeddata.py", line 1751, in cast_out
    result = cls.decode(tag_list)
             ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/primitivedata.py", line 1490, in decode
    return cls(value)
           ^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/primitivedata.py", line 628, in __call__
    args = (new_type.cast(args[0]),)  # type: ignore[attr-defined]
            ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/bacpypes3/primitivedata.py", line 1392, in cast
    raise ValueError(f"minimum length: {min_length}")
ValueError: minimum length: 1
ERROR:    An error occurred: 'IAmRequest' object has no attribute 'apduInvokeID'
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:7813 (Press CTRL+C to quit)
WARNING:  Invalid HTTP request received.
[10:38:07] INFO: Running NGINX
2023/12/30 10:38:07 [notice] 281#281: using the "epoll" event method
2023/12/30 10:38:07 [notice] 281#281: nginx/1.24.0
2023/12/30 10:38:07 [notice] 281#281: OS: Linux 6.1.63-haos
2023/12/30 10:38:07 [notice] 281#281: getrlimit(RLIMIT_NOFILE):<PHONE_NUMBER>:1073741816
2023/12/30 10:38:07 [notice] 281#281: start worker processes
2023/12/30 10:38:07 [notice] 281#281: start worker process 326

uninstalled and re-installed

Basically this. To ensure you get the latest version, in the add-on store click the "Check for updates" button in the top right. I just added an exception for valueError and it'll try to ignore it for now.

ok, that seams to have worked.
 Do you see all objects you expect to see in the web UI?

yes it looks like they are all showing.

is there a reference manual to show how i setup the points for use and reference on dashboards?

i am getting this
ERROR:    Error while subscribing to device,2000, binary-value,263: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,264: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,265: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,266: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,267: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,268: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,269: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,270: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,271: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,272: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,273: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,274: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,275: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,276: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,277: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,278: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,279: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,280: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,281: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,282: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,283: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,284: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,285: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,286: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,287: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,288: resources: no-space-to-add-list-element
ERROR:    Error while subscribing to device,2000, binary-value,289: resources: no-space-to-add-list-element

is there a reference manual to show how i setup the points for use and reference on dashboards?

For entities to appear in Home Assistant, you'd have to install the custom integration.
https://github.com/Bepacom-Raalte/bepacom-custom_components/tree/main/custom_components/bacnet_interface
Installing the integration is as follows:
You create a folder named "custom_components" in your Home Assistant's /config folder.
In /config/custom_components you paste the "bacnet_interface" folder from the repository I linked.
Once this is done, restart Home Assistant and add this integration manually through Settings > Devices & Services > + Add Integration and look for BACnet.
When the integration opens, you'll have to type an IP address. Use <IP_ADDRESS>.

i am getting this

I think this is a limitation of the hardware. There's over 700 BACnet objects in your device, and subscribing to everything might be a bit too much. In the future I want to add some kind of whitelist so you only subscribe to selected objects.
Currently, what you can try in the configuration of the add-on is set multiStateInput, multiStateOutput and analogOutput to false. This reduces a couple of subscriptions.
If you plan on running the add-on undisturbed for a long time, you can manually add the subscriptions you need in the web UI. Mind you that this will be reset once the add-on restarts. These subscriptions aren't saved persistently.
If somehow you can configure your device to not include all these extra empty objects, that should solve the problem as well.
Subscriptions aren't the only way to receive data. You can also set all subscriptions to false in the configuration and only get data through polling every 60 seconds. You can increase or decrease the time through the Update interval setting.

Thanks, new to HA.
The device unfortunately does not have setting to disable points to be visible.
i will have a play

so subscriptions are for COV?
also testing the on/off control from HA, and the priority it writes too doesn't seam to change based on the configuration setting.
ie i have set Priority to 8 in configuration, and it is still writing at 16 (it did change value, however i have controller software writing to 14 so the present value state didn't change)
WARNING:    <PropertyIdentifier: status-flags> not supported
INFO:     None:0 - "POST /apiv1/device%3A2000/binaryOutput%3A7?deviceid=device:2000&objectid=binaryOutput:7&presentValue=1 HTTP/1.0" 200 OK
INFO:    Write result: inactive
2023/12/30 12:24:33 [info] 326#326: *17 client <IP_ADDRESS> closed keepalive connection
INFO:    Periodic object reading...
WARNING:    <PropertyIdentifier: status-flags> not supported
INFO:     None:0 - "POST /apiv1/device%3A2000/binaryOutput%3A7?deviceid=device:2000&objectid=binaryOutput:7&presentValue=1 HTTP/1.0" 200 OK
INFO:    Write result: inactive
2023/12/30 12:25:56 [info] 326#326: *19 client <IP_ADDRESS> closed keepalive connection
INFO:    Periodic object reading...
WARNING:    <PropertyIdentifier: status-flags> not supported
INFO:     None:0 - "POST /apiv1/device%3A2000/binaryOutput%3A7?deviceid=device:2000&objectid=binaryOutput:7&presentValue=1 HTTP/1.0" 200 OK
INFO:    Write result: inactive
2023/12/30 12:26:41 [info] 326#326: *21 client <IP_ADDRESS> closed keepalive connection

so subscriptions are for COV?

This is correct yes.

also testing the on/off control from HA, and the priority it writes too doesn't seam to change based on the configuration setting.

You're right, thank you for letting me know. I'll make a fix for this as well.

Would you mind testing the priority for me? I just pushed a possible fix.

Have just tested, and works. Thanks!

let me know if there is anything else you would like tested.

Have just tested, and works. Thanks!

Great, glad it works!

let me know if there is anything else you would like tested.

For sure, if there's any issues just let me know as well. I'll push these updates to the main version sometime early next year when I have some real devices to test with again.

Pushed to the regular version with 1.3.0.


podman host is different

 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.

@vistaarjuneja I agree - we should be driving the value from GITNESS_URL_CONTAINER and push that down.
As it is right now, the host used by containers is hard-coded in multiple places. In case the user has some custom setup, neither might work, and they can't change it.
Thus, I think we should set the GITNESS_URL_CONTAINER based on the container runtime (if it's not explicitly provided by the user) - and then all other values we should derive from that. In other words, we shouldn't set the host / protocol anywhere (as it is right now)

hi @ppphp this looks good to me, there are just some minor lint issues. Would be great if you could fix those and update the PR.

hi @ppphp this looks good to me, there are just some minor lint issues. Would be great if you could fix those and update the PR.

merge main now, sorry for my late


Some images won't load when loading a lot of images

I was having some issue with some images not loading and I couldn't figure it out because it seem pretty random which ones would not load.
I found the problem is that you check "this.networkAvailable" to see if you have network, but there appears to be a race condition there "this.networkAvailable" is not set to true in time since it is dependent on an asychronous call.
By setting the prop networkAvaliable={true} I was able to completely get rid of this issue.
I think you should either default that to true, as an extra call when you don't have internet won't cause much harm, or you need to fix the race condition.
You should also probably note these parameters in the Readme.
Thanks for the otherwise great package!

happens to me too. network is default to false that is why in android it doesn't load the image initially. but if you reload the app it will start to load the images.


Search bring up irrelevant result in Programs plugin

Recognising this upstream issue here. Fuzzy search appears to bring up irrelevant results.
Further confirmation required.

also issue https://github.com/Wox-launcher/Wox/issues/2352


Modification to staged files are not detected (and cannot be re-staged)

If you change a file after staging it previously, neo-tree doesn't detect the changes and is also unable to stage those new changes if you press ga again.

I'm not sure how other editors like VsCode handle this, but there should probably be an indication that some parts of a file have changed after it has been modified. I would have expected to see both a staged icon and a modified icon or something like that. More importantly though, I cannot use ga again to stage my new modifications.

I just tested this out and I found that:

There is no indication that a file has both staged and unstaged hunks, it just shows as staged for partially staged files. I think this should be changed to show unstaged in this situation.
ga does stage the previously staged file for me, I'm not sure why it doesn't work for you.
Neo-tree does not create any files at all, the index.lock file you mentioned came from somewhere else.

There is no indication that a file has both staged and unstaged hunks, it just shows as staged for partially staged files. I think this should be changed to show unstaged in this situation.

Sounds good!

ga does stage the previously staged file for me, I'm not sure why it doesn't work for you.

As explained in my edit, something caused neovim to create a git lock file without deleting it afterwards. My guess is that Neogit was the cause, which I have uninstalled since then. What neo-tree could do in that case is inform the user that the action cannot be executed because git returned an error instead of silently ignoring the error.
I would love to get an event callback where I can call vim.notify.

Neo-tree does not create any files at all, the index.lock file you mentioned came from somewhere else.

Not entirely true. Neo-tree calls git, and git creates this file whenever modifying changes are performed. So while I think that in this specific case the culprit wasn't neo-tree but Neogit, it could in theory also be created by neo-tree. Usually it is deleted shortly afterwards though when the git command completes. It probably didn't get deleted in my case because neogit crashed.
Anyhow you are right that neo-tree can't do anything about that, except maybe call notify when an error occurs.

I'll use this issue to track the work of showing partially staged files as unstaged, and will track the error handling aspect in #569.


Update provisioning/retirement entry point in a catalog item or bundle

https://bugzilla.redhat.com/show_bug.cgi?id=1144059
@h-kataria please test/review

@dclarizio, @h-kataria this is ready to be reviewed.

@bmclaughlin do we save the state of checkbox anywhere, after saving Catalog Item with Include Domain checked when i go back to edit the same field checkbox is no longer checked.

@h-kataria, not quite yet.  I'll let you know as soon as we do.

@h-kataria, ready for review.

@bmclaughlin When i try to edit an existing entry point it always shows include domain checkbox as unchecked even tho i had checked it previously. @gmcculloug will provide a backend method that can tell us if URI contains domain.

To check for the existence of an instance with or without the domain name we should use the following method.
MiqAeClass.find_homonymic_instances_across_domains(fqname)
so it works with
MiqAeClass.find_homonymic_instances_across_domains('/ManageIQ/Infrastructure/VM/Provisioning/Naming/default')
and
MiqAeClass.find_homonymic_instances_across_domains('/Infrastructure/VM/Provisioning/Naming/default')
It returns back a list of instances, if no instances are found you will get back an empty list

@h-kataria, @mkanoor please review

@mkanoor, I agree, I'll move the validation check.  Argh, missed the second part of externalizing the strings, thanks!

@h-kataria and @mkanoor ready for review once more.

Screenshot of multiple flash errors being displayed.

@dclarizio looks good, tested in UI.

@bmclaughlin
The flash message reads
Invalid Provision Entry Point, please update
Which is inconsistent with the Labels in the Basic Information which read
Provisioning Entry Point
Can we make them consistent?

@bmclaughlin
Another misleading message is when it saves the catalog item which had errors. If there were errors can we not save the instance

Another misleading message is when it saves the catalog item which had errors. If there were errors can we not save the instance

Agreed, should not be able to Save with these errors outstanding.  If existing URIs become invalid and a user edits the record, they either fix the errors or cancel the edit, should not be able to save with invalid values.

@Fryguy, are we testing against both ruby 1.9 and 2.0? The error above is indicating %i which was introduced in ruby 2.0 which I thought was the version of ruby we're targeting?

The Style/Next cop above seems to be a false positive, ignoring...
@h-kataria, @dclarizio, @mkanoor updated to prevent saving invalid entry points and fix/add spec tests for that change.

@mkanoor @dclarizio tested in UI, looks good. @dclarizio I am not sure if we need to validate & show the entry point flash message on summary screen when an existing Catalog Item's entry point has become invalid, we usually only validate only during save(see attached screenshot). Changes in the editor look good.

@h-kataria No, we don't need to show those errors on the summary screen.  If we want that, it should be a new feature request as we don't do that anywhere else in the product and we would have to figure out how we would want that to work.

@h-kataria, @dclarizio summary screen errors have been removed.

@bmclaughlin summary screen looks good now, ran into another issue. After I save a Catalog Item with an Entry Point and then go back to edit it and decide to check/uncheck include Domain checkbox on pop-up that doesn't enable the "Apply" button. Can you take care of that.

verified fix, ready to be merged once Travis is green.

verified fix. Merging.