Regarding CFG construction

Hi, Here is the source code of the program I am trying to construct a call graph of:
#include <stdio.h>

void A(){}
void B(){}
void C(){A();}
void D(){B();}
void E(int x){
	if ( x>0){ D(); }
	else{ C(); }
}

int main(int argc, char *argv[]){
	FILE *fp;
	fp  = fopen("input.txt","r");
	return 0;
	E(2);
}

Here is the generated CFGFast by angr which is drawn by angr-utils. Shouldn't the rightmost strongly connected component (Function E) should be somehow connected to the ending block of main? Why is that component completely disconnected from the main function graph?   Thanks in advance.

Hey! Since the main always returns before it would call E, the compiler doesn't put the call into the binary code, since it never can happen.


[Cherry-pick] server: check overlaps for new region (#1377)

What problem does this PR solve?
cherry-pick #1377

/run-all-tests tidb=release-2.1 tikv=release-2.1 tidb-test=release-2.1


AT_SECURE not set to 1 for SUID programs

Your Windows build number:  [Version 10.0.15063]

What you're doing and what's happening:  The AT_SECURE auxiliary vector entry is not set to 1 when running a SUID program:
$ LD_SHOW_AUXV=1 /bin/su
AT_SYSINFO_EHDR: 0x7ffff284f000
AT_HWCAP:        1f8bfbff
AT_PAGESZ:       4096
AT_CLKTCK:       100
AT_PHDR:         0x400040
AT_PHENT:        56
AT_PHNUM:        9
AT_BASE:         0x7fda1ba00000
AT_FLAGS:        0x0
AT_ENTRY:        0x4033e5
AT_UID:          1000
AT_EUID:         0
AT_GID:          1000
AT_EGID:         1000
AT_SECURE:       0
AT_RANDOM:       0x7ffff21d8500
AT_EXECFN:       /bin/su
AT_PLATFORM:     x86_64
Password:

What's wrong / what should be happening instead: Only Password: should be printed because if AT_SECURE is 1, the glibc dynamic linker will ignore most LD_ environment variables because they can be abused for privilege escalation.

Strace of the failing command, if applicable:  This bug occurs before the process starts running, so strace is not applicable.

LD_SHOW_AUXV, as shown in the example, is comparatively harmless (it only leaks load addresses, defeating ASLR), but LD_PRELOAD is not ignored either, and that allows code execution as root.  Fixing AT_SECURE will address all these issues at the same time (including the non-working secure_getenv, whose failing test in the glibc testsuite brought the issue to my attention).

This bug occurs before the process starts running, so strace is not applicable.

Well of course it's applicable. Fun part is in trying to collect an strace for you, it blue screens in lxcore.sys. I'll collect the dump and send to Ben.

Thanks @therealkenc I've got your dump.  What were the repro steps to get that green screen of near death?

Crap I meant to put that in the email. As root:
LD_SHOW_AUXV=1 strace -ff /bin/su

Which doesn't crash after upgrade to 16184.

@therealkenc, the auxiliary vector is supplied as part of the original process image and a pointer to it is passed to the startup code. It's not obtained using a system call or anything that would be visible in strace. Furthermore, the interaction of strace and SUID programs is complex and actually makes the bug harder to see.

Thanks for reporting the issue.  Marking this as a bug so we can track adding AT_SECURE to auxv.

Thanks @stehufntdev. To be clear, it is already there, it's just stuck at the constant 0, ignoring the actual execution context.

Understood, we just need to plumb up the logic to set that value.

@fweimer - I have a fix for this, do you happen to have a link to instructions for running the glibc test suite you mention above?  That test suite is something we should definitely add to our regression suite.

wget http://ftp.gnu.org/gnu/glibc/glibc-2.25.tar.xz
tar xf glibc-2.25.tar.xz
cd glibc-2.25
mkdir build && cd build
../configure --disable-sanity-checks
make -j8
make check

Stats for glibc-2.23 on Xenial, FWIW:
16237:
Summary of test results:
    161 FAIL
   2242 PASS
     84 XFAIL
      2 XPASS

Native:

134 FAIL

2260 PASS
84 XFAIL
2 XPASS

There's known stuff in there, but also a few nuggets. Interestingly WSL passes some tests that Native fails (🤷). In the other direction, here is the [short list](https://gist.github.com/therealkenc/df350678c771b11c53ff293d9777866b). You can see the `tst-secure-getenv` in there. Those nptl (native posix thread library) fails could explain some stuff. Maybe.

Another possibly useful test suite:
git clone git://git.musl-libc.org/musl
cd musl
git checkout a08910fc2cc739f631b75b2d09b8d72a0d64d285
./configure
make -j8
sudo make install
git clone git://nsz.repo.hu:45100/repo/libc-test ../libc-test
cd ../libc-test
git checkout defcb8d354e052f2d6ba230e7e2983546429a583
sudo make CC=/usr/local/musl/bin/musl-gcc -j8
egrep -c FAIL src/REPORT

I'm getting 20 failures on native Xenial and 105 failures on Xenial @ WSL build 16232. None of the native failures pass on WSL. Many failures are probably the same issues as in the glibc test suite.

Musl is a great test, even if that feels counter intuitive because it isn't common in Ubuntu- or Redhat-land. Musl doesn't pretend to be a replacement for some circa 1997 Unix system libc, or the basis for GNU Hurd. You'll feel a lot closer to home tracking down (say) obscure futex(2) behavioral problems. If you fix the musl test fails, most of the glibc fails will almost certainly fall in line, like Bartosz suggests.

@benhillis @therealkenc Please configure glibc with --prefix=/usr, otherwise the built glibc isn't ABI-compliant with the real thing. See here for more details:

https://sourceware.org/glibc/wiki/Testing/Builds

Known test failures are documented on the release pages:

https://sourceware.org/glibc/wiki/Release/2.23
https://sourceware.org/glibc/wiki/Release/2.24
https://sourceware.org/glibc/wiki/Release/2.25
https://sourceware.org/glibc/wiki/Release/2.26

The math failures you see are likely due to broken long double support (issue #830).

@beevvy, @therealkenc - I'm a big fan of any tests that we can use to help identify issues with our compatibility layer.  Since we're wrapping up the Fall Creators Update release now we're going to start looking at integrating more test suites into our regression test suite.  glibc and musl are both great candidates.

Support for this is added in 16257.


Problems with EAN128

Hi Simon - I'm having trouble getting EAN128 barcodes to work.
There is a PR related, but even when I use that the barcode images have weird glitches in them - see attached.

The grey bars are debug symbols to help determine the layout


Displaylink/Evdi not working (monitors detected, no signal/black screen)

Similar issue to wlroots, Displaylink/EVDI is not supported out of the box for Intel iGPU on Hyprland. All 3 of my monitors are detected by hyprctl monitors, but they do not receive signals (black screen).
The wlroots issue is detailed here.
Would be great if there is a robust way to support this.

A quick workaround similar to what I posted on wlroots-hyprland is by changing aquamarine's src/backend/drm/DRM.cpp, line 208 of commit 601f6cf95cbe4fef02dc7faf34bba58566c914e9, from
if (!drmBackend->registerGPU(gpu, newPrimary)) {

to
if (!drmBackend->registerGPU(gpu, {})) {

See the full diff in this commit here. This is related to Hyprland issue 2752.
Do note that the same limitations exists - quoting Kacper Zuk from wlroots GitLab:

This hack disables support for multi GPU, so [aquamarine] doesn't try to initialize renderers on DisplayLink devices.

Full Specs:

Category
Value

OS
Arch Linux x86_64

Host
Predator PHN16-71 (V1.15)

Kernel
Linux 6.9.9-arch1-1

Display (LG FULL HD)
1920x1080 @ 60Hz

Display (HP LA2206)
1920x1080 @ 60Hz

Display (BOE0A2C)
2560x1600 @ 60Hz (as 1602x1001) [Built-in]

WM
Hyprland (Wayland)

CPU
13th Gen Intel(R) Core(TM) i9-13900HX (32) @ 5.40 GHz

GPU
Intel Raptor Lake-S UHD Graphics @ 1.65 GHz [Integrated]

Hybrid laptop with NVIDIA dGPU disabled (only using Intel iGPU).

can you pass a hyprland trace log (HYPRLAND_TRACE=1 AQ_TRACE=1) from both patch and no-patch?

Hyprland config:
hyprland.txt
Original logs (no patch)
original-no-patch.txt
Workaround/hack patch:
patched.txt

Attaching the wlroots patch description here for the full context:

Text summary

Kacper Żuk:

Quick recap: DisplayLink is seen as a separate GPU. This GPU has some outputs, but has no rendering capabilities whatsoever. wlroots seems to support a case with multiple true GPUs, each with their own rendering capabilities, but with the first GPU being used as a parent for others. I think this is to supports cases like Laptops with integrated, low power GPU and discrete, high power GPU that both are connected to same outputs. This is basically the opposite of DisplayLink case.
This hack disables support for multi GPU, so wlroots doesn't try to initialize renderers on DisplayLink devices.
What happens without the hack in code is:

In attempt_drm_backend in backend/backend.c wlroots designates the wlr_backend of first card as primary and passes it as parent when creating backends for subsequent GPUs.
In wlr_drm_backend_create in backend/drm/backend.c if parent is provided, wlroots assumes it's a GPU with rendering capabilities and tries to initialize drm renderer for it. This failes on call to wlr_renderer_get_dmabuf_texture_formats, outputs Failed to query renderer texture formats to log, bails out and gives up on creating wlr_backend for this GPU.

I think (I've only skimmed the code and I'm not familiar with DRM at all) that when there's no dedicated mgpu_renderer involved, wlroots offloads selection of rendering node to Mesa, which is smart enough to notice DisplayLink can't render and instead automatically renders on true GPU. This is discussed by Simon Ser: https://lists.freedesktop.org/archives/dri-devel/2021-April/303692.html
My hack probably breaks lots of valid use-cases and according to Simon there's currently no way to check if GPU has rendering capabilities beforehand.
emersion, would it be feasible to detect the "Failed to query renderer texture formats" error, but not give up completely on the GPU, instead handling it as if parent was NULL?

Reading through the thread further and exploring other patches/sources, it doesn't appear like anyone has come up with a solution yet.
Would it be feasible to support an opt-in build option, or configuration option, of some form?
Something else I'm curious about is whether we can make use of this information:
$ lspci | grep -E 'VGA|3D'
0000:00:02.0 VGA compatible controller: Intel Corporation Raptor Lake-S UHD Graphics (rev 04)
$ ls -l /dev/dri/by-path
total 0
lrwxrwxrwx 1 root root  8 Jul 24 16:42 pci-0000:00:02.0-card -> ../card1
lrwxrwxrwx 1 root root 13 Jul 24 16:42 pci-0000:00:02.0-render -> ../renderD128
lrwxrwxrwx 1 root root  8 Jul 24 17:57 platform-evdi.0-card -> ../card0
lrwxrwxrwx 1 root root  8 Jul 24 17:57 platform-evdi.1-card -> ../card2

specifically, there is no "render" device for the platform-evdi.0-card and platform-evdi.1-card, and so they should be defaulted to {} as per the hack.


Automate Greeting Workflow

Description:
I would like to propose the automation of our greeting workflow to streamline and improve the efficiency of our communication processes. Currently, greetings are manually sent, which can result in delays, inconsistency in messaging, and an increased workload for the team. Automating this workflow would ensure that greetings are sent promptly and uniformly, improving user experience and reducing manual effort.
Key Areas to Address:

Automated Triggers: Establish specific triggers for greeting messages, such as user registration, user login, or specific time-based events.
Personalization: Implement dynamic content to personalize the greetings, ensuring that the message feels relevant to the recipient.
Consistency: Ensure uniform messaging across different platforms, reducing potential inconsistencies caused by manual input.
Scheduling: Include a scheduling function to automatically send greetings at appropriate times, depending on time zones or business hours.
Monitoring & Analytics: Implement monitoring and analytics features to track the success rate of the automated greetings and make adjustments where necessary.

Expected Benefits:

Increased efficiency and reduced manual workload.
Improved consistency in greetings.
Enhanced user experience through timely, personalized messages.
Ability to track and measure the effectiveness of the greeting messages.

Please @StephCurry07 assign me this issue with label "gssoc-ext" , "hacktoberfest-accepted" and "level3".

Can you specify what greetings are you talking about...?I didn't get exactly what you asked

@StephCurry07 The greetings I mentioned refer to automated messages, like "Welcome" or "Hello," that are sent to users at specific times. For example, when a raises up a issue or creates apull request in the project, an automated greeting message could be sent to welcome them or acknowledge their action. The idea is to make this process automatic, so you don’t have to send these messages manually each time.

Oh ok got it...I don't plan it anyways to do it manually. So it's fine.
Also that can't be level 3 as people use them so there would be a simple script which you need to add... I can assign it level 1 label  and GSSoC-ext.

@StephCurry07 Okay do assign this issue with task "gssoc-ext" , "hacktoberfest-accepted" and "level2"

Hey @StephCurry07 do assign me the labels in the PR to or else my contribution wont be counted


iOS 14+ About Limited PhotoLibrary [🐛]

Any solutions?
iOS 14+ About Limited PhotoLibrary

replied there.

replied there.


Allow Tag creation on partial match

Currently behaviour prevents adding a new tag if there are any results returned
This pull request allows creation of a new tag if it doesn't exist

Old Behaviour

New Behaviour

Great PR. I'll try to fix the build and merge it soon.

Thanks! Submitted #231 which I think should fix the build too if that helps!


Feature/new layout

Progress for the new layout.

per the error, you just need to add error to the swr call
ReferenceError: Cannot access 'error' before initialization
at usePollData (/vercel/path0/.next/server/pages/community/[serverId]/polls/results/[pollId].js:808:13)
at PollResults (/vercel/path0/.next/server/pages/community/[serverId]/polls/results/[pollId].js:813:46)```

Footer conflict also

Deploy worked! First glance things are looking pretty good!

Responsive is missing, we won't be able to proceed without it
Not seeing any server icons (possibly related to a Discord API 401)
None of the polls were clickable and it seems like maybe some of the data is unavailable in the current API response for them (# votes, channel)

Tiki is going to have an Oauth PR soon that would ideally solve #2 so it's likely that this will need to be rebased on top of it when that comes.

Needs some additional responsiveness attention. Poll Cards are cutoff on the right when I reduce screensize.
Noticed a strange issue where Server List was not loading anything until I selected a Poll and hit back button.
Server List names are missing in mobile nav.
Right scrollbar sits on top of mobile design, need to account for this - it covers Logout button.
Keep an eye on spacing & padding alignment.


Add classThat support for inner classes, closes #166

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.43%. Comparing base (6501189) to head (7667904).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##               main     #182      +/-   ##
============================================
+ Coverage     96.38%   96.43%   +0.05%
+ Complexity      840      839       -1
============================================
  Files           218      218
  Lines          1879     1878       -1
  Branches         59       59
============================================
  Hits           1811     1811
+ Misses           58       57       -1
  Partials         10       10

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


fix(schema): fix some inconsistencies with flags/int types

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area API-version

/area build

/area CI

/area driver-kmod

/area driver-bpf

/area driver-modern-bpf

/area libscap-engine-bpf

/area libscap-engine-gvisor

/area libscap-engine-kmod

/area libscap-engine-modern-bpf

/area libscap-engine-nodriver

/area libscap-engine-noop

/area libscap-engine-source-plugin

/area libscap-engine-savefile

/area libscap

/area libpman

/area libsinsp

/area tests

/area proposals

Does this PR require a change in the driver versions?

/version driver-API-version-major

/version driver-API-version-minor

/version driver-API-version-patch

/version driver-SCHEMA-version-major

/version driver-SCHEMA-version-minor

/version driver-SCHEMA-version-patch

What this PR does / why we need it:
We have a bunch of events with PT_FLAGS type that do not define the set of flags used (and one the other way round: a PT_UINT32 with flags). Where possible, specify the flags in the event table, otherwise (generally if there are no flags and the field is always zero) switch to PT_UINT.
Also, there's an obvious typo in one of the flag names (BPF_OBJ,PIN).
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

d15815e fix(schema): fix typo in BPF_OBJ_PIN
4de1201 fix(schema): make mlock2 flags a PT_FLAGS32
bf7253e fix(schema): change eventfd flags param to PT_UINT32
a9525e0 fix(schema): change signalfd flags param to PT_UINT8
145bc2c fix(schema): change timerfd_create flags param to PT_UINT8
b7b54db fix(schema): change inotify_init flags param to PT_UINT8
1909bf9 fix(schema): use file_flags as signalfd4 flags
cc48276 fix(schema): change pidfd_getfd flags param to PT_UINT32
a7aeb9f fix(schema): use pidfd_open_flags for pidfd_open flags param
6866400 fix(schema): use finit_module_flags for finit_module flags param
a5f049c update(SCHEMA_VERSION): bump SCHEMA_VERSION by 0.0.1

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: gnosek
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [gnosek]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Dear bot, I have double checked. No API changes in sight.
/unhold

/milestone 0.15.0

New changes are detected. LGTM label has been removed.

LGTM label has been added.  Git tree hash: 6823d31853ad3fea14088c287cf36e6b255680bb

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, gnosek
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [FedeDP,gnosek]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, gnosek
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [Andreagit97,FedeDP,gnosek]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Import custom (UI) component from node_modules on pages

I have a private NPM library that I need to access on and tags. How can I import those components from node_modules on my pages directly?
Example:
// custom scoped package
import MyPackage from '@my/package';

I am getting error "Module not found @my/package...".

Use import MyPackage from '~~/node_modules/@my/package'

import MyPackage from '@my/package';
should work as it is. something wrong with your package/modules

Hi to all!
Thanks for the replies, but I manager to find the solution.
I added my module to the build transpile array on nuxt.config
build: {
    transpile: ['@my'],
    extend(config, { isDev, isClient }) {
      if (isClient && isDev) {
        config.module.rules.push({
          enforce: 'pre',
          test: /\.(js|vue)$/,
          loader: 'eslint-loader',
          exclude: /(node_modules)/,
        });
        config.resolve.symlinks = false;
      }
    },
  },

Ah, if u want to use not process yes, you need to use transpile. It wasn't clear from question
https://nuxtjs.org/api/configuration-build/#transpile


Running script for Training throws error

While running the following script CUDA_VISIBLE_DEVICES=0 python main.py
--config-file configs/CoLeCLIP.yaml
DATASETS.TRAIN  ['Aircraft']
SOLVER.EPOCHS 20
METHOD.NUM_PROMPTS_PER_TASK 1
METHOD.STAGE_STEP 0.5
SAVE ckpt/exp_CoLeCLIP_order1
METHOD.VOCAB_PTH None
METHOD.TASK_CLS_DICT None
SOLVER.LR 0.001
METHOD.PERCENTAGE 0.7
METHOD.MOM_COEF 0.1
METHOD.MEM True
an error is caught at line 217 in /CoLeCLIP/method/CoLeCLIP.py

cur_classes = self.task_class_dict[self.num_tasks]
Error : KeyError: 0
It seems that  self.task_class_dict is not found.

Based on the error message, it seems likely that self.task_class_dict could be an empty dictionary. I recommend verifying the contents of self.task_class_dict. If it is indeed empty, please ensure that cfg.METHOD.USE_VOC is set to True and verify if self.preprocess_vocab() has been executed.

Thanks a lot for your prompt reply. it worked. Closing this isse.


Add media to talks in devdata

Pull Request Test Coverage Report for Build 294

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 99.545%

Totals

Change from base Build 293:
0.002%

Covered Lines:
2768

Relevant Lines:
2780

💛  - Coveralls


no upstream servers configured

Good day,
Yesterday my pihole stopped resolving DNS queries with a Status of 	OK (cache) (not ready)	Reply REFUSED (0.1ms) for all clients.  Restarting didn't resolve the issue.  I saw it needed an update so I updated with the same result but now pihole had an error DNSMASQ_WARN	Warning in dnsmasq core:
no upstream servers configured
I use local windows DNS servers if that makes a difference.  Using nslookup both of those resolve DNS queries, but the pihole does not.  I have played with different IPs in the DNS1, DNS2, PIHOLE_DNS_ variables.  I'm not sure what has happened.

Hey @Shane01638, may I ask how you deployed this project? Are you part of the open fleet (via balena hub) or did you use the deploy button on the readme, or are you pushing new releases with the balena CLI?
Also what is your current value for PIHOLE_DNS_? Do you have access to the logs from the container?

I use the balena cloud and updated with the link in the readme.
The current values of PIHOLE_DNS_ are <IP_ADDRESS>;<IP_ADDRESS> which are my local windows DNS servers.  I do have access to logs I believe.

On the main dashboard under Upstream servers it only lists blocklist and cache no matter what DNS servers I select under settings.  When I save changes in settings it says the settings are updated using 2 DNS servers.

Can you share some of the logs from the pihole service startup in the dashboard?
Do you know of anything on your network that may have changed since yesterday?

Is this what you are looking for?
zpihole_summer-water-17.01.22_10_20_11_(-0900).txt

When I couldn't get anywhere with the pihole I went through and updated everything.

Does it work if you use different upstream servers, like the cloudflare ones <IP_ADDRESS>;<IP_ADDRESS> ?
I don't see any obvious issues in your logs. You may want to try generating a debug log under Tools and see if you notice anything there, maybe share it on the P-hole forums as well since we use the official Pi-hole docker image.

Thanks for your help.  Might just be time to build a new one from scratch but I'll check with the pihole forums.  This one has been running since May 2019.

I have some new information from the pihole team you might be able to help me with:
From your debug log - you have upstream DNS servers configured but Pi-hole isn't listening on your network. Is this install in Docker?
*** [ DIAGNOSING ]: Networking
[✗] No IPv4 address(es) found on the  interface.
[✗] No IPv6 address(es) found on the  interface.
*** [ DIAGNOSING ]: Setup variables
IPV4_ADDRESS=<IP_ADDRESS>
PIHOLE_INTERFACE=eth0
PIHOLE_DNS_1=<IP_ADDRESS>
PIHOLE_DNS_2=<IP_ADDRESS>

Thanks for the additional info @Shane01638!
Is your device using wired or wireless networking? What value do you have set for INTERFACE?

Wired, I use a POE hat; INTERFACE and DNSMASQ_LISTENING are both eth0

Hmm... this startup snippet should prevent Pi-hole from starting until your desired interface has an IP, so we are getting past that part at least.
https://github.com/klutchell/balena-pihole/blob/15d9c2c97118ae6aadb69509ea2a8b98357c186f/pihole/cont-init.d/10-custom.sh#L8-L12

Is that something that exists or something you would like me to try?  Is there a place I can set a static IP instead of using a DHCP reservation?

It's obviously getting an IP as I can access the web console, balena cloud sees it, and it uploaded the debug logs here: https://tricorder.pi-hole.net/teiBuEab/

That snippet I shared is running today, before the Pi-hole service starts.
You can set a static IP by following the guides here, but I don't think that's the issue:
https://www.balena.io/docs/reference/OS/network/2.x/#setting-a-static-ip

Unfortunately I don't have access to the diagnostic logs you linked above. Can you attach them here?

Sure thing, I would like to remove them though once you grabbed them
pihole_debug_log.txt
.

Got them, thanks!

Could you try changing the following env vars?

if you are manually setting IPV4_ADDRESS can you unset it?
DNSMASQ_LISTENING should be set to single, or all, not local
set PIHOLE_DNS_ to <IP_ADDRESS>;<IP_ADDRESS> or <IP_ADDRESS>#5053;<IP_ADDRESS>#5053 just for testing

I was not using IPV4_ADDRESS, I changed DNSMASQ_LISTENING to single and verified it changed in the console as well as changing PIHOLE_DNS_ to <IP_ADDRESS>;<IP_ADDRESS> and verified it changed in the console.  I still have DNS1 and DNS2 set to <IP_ADDRESS> and <IP_ADDRESS>.   Same results as before, still not working.

Thanks! Do you have any value set for ServerIP? If yes can you remove it, if no can you set it to your LAN IP and see if it changes the behaviour? It appears unset from your logs and it shouldn't be required... but let's see what happens.
This definitely seems like the issue but I don't know what would make it start happening out of the blue unless something changed on your network or device.
*** [ DIAGNOSING ]: Networking
[✗] No IPv4 address(es) found on the interface.
[✗] No IPv6 address(es) found on the interface.

If you link to your open forum issue I can comment there as well. To answer their questions:

Yes you are running in docker, with host networking and bind_interfaces set in dnsmasq.conf.

I just posted here on reddit.  Setting ServerIP didn't change anything.  https://www.reddit.com/r/pihole/comments/s7ido3/reply_refused_no_upstream_servers_configured/

Well I'm still looking at your debug log, and the specific errors pointed out by reddit come from this line of the diagnostics script:
https://github.com/pi-hole/pi-hole/blob/2ff10fcd0a5464255d9c004541e6b23d7b42662f/advanced/Scripts/piholeDebug.sh#L639
So I expect that if you run the following commands in your container shell, it will return no results. You can also try on your hostOS.
ip -4 addr show dev eth0 | awk -F ' ' '{ for(i=1;i<=NF;i++) if ($i ~ '/^inet/') print $(i+1) }'
ip -6 addr show dev eth0 | awk -F ' ' '{ for(i=1;i<=NF;i++) if ($i ~ '/^inet/') print $(i+1) }'

On my device the first command returns my local IPV4. I get the same result running it on my hostOS which is expected.
root@pihole:/usr/src/app# ip -4 addr show dev eth0 | awk -F ' ' '{ for(i=1;i<=NF;i++) if ($i ~ '/^inet/') print $(i+1) }'
<IP_ADDRESS>/24

I'm not certain, but perhaps this is related to the IPv6 issues you saw previously in https://github.com/klutchell/balena-pihole/issues/101.
Thank you for your patience, I think we are starting to narrow things down.

In the pihole terminal AND host OS I get IPs for both, the first command is the IPv4 IP that is my pihole so it is correct.
root@pihole:/usr/src/app# ip -4 addr show dev eth0 | awk -F ' ' '{ for(i=1;i<=NF;i++) if ($i ~ '/^inet/') print $(i+1) }' <IP_ADDRESS>/24 root@pihole:/usr/src/app# ip -6 addr show dev eth0 | awk -F ' ' '{ for(i=1;i<=NF;i++) if ($i ~ '/^inet/') print $(i+1) }' fe80::40e8:37e0:5be7:4ec/64 root@pihole:/usr/src/app#
Also, I think I found the pihole forums and created a thread here.  I'll let you know if I get anything useful. https://discourse.pi-hole.net/t/no-ipv4-address-es-found-on-the-interface/52796
One thing I noticed, after this problem started and I went through and updated everything to include the BalenaOS it seems there is now CPU and Memory statistics at the top of Balena Cloud which I don't remember seeing before, anyway I also see this error Danger!The device is undervolted! which I'm not sure how long that might have been a problem.  I don't know how accurate that is but if you think it could be an issue I could try to remove the POE hat and use a standard raspberry pi power supply.  I can say it is only drawing 3.18W of power.

The undervoltage likely isn't related. Hopefully the balenaOS update isn't related either but it might be worth running the Device Health Checks and Device Diagnostics under the DIAGNOSTICS side bar button in your balena Dashboard. If any issues pop up there we can investigate further.
I really don't understand how you can get this error in your Pi-hole diagnostics:
*** [ DIAGNOSING ]: Networking
[✗] No IPv4 address(es) found on the  interface.

[✗] No IPv6 address(es) found on the  interface.

[i] Default IPv4 gateway: <IP_ADDRESS>
   * Pinging <IP_ADDRESS>...
[✗] Gateway did not respond. (https://discourse.pi-hole.net/t/why-is-a-default-gateway-important-for-pi-hole/3546)

But this command works when run manually in your container:
$ ip -4 addr show dev eth0 | awk -F ' ' '{ for(i=1;i<=NF;i++) if ($i ~ '/^inet/') print $(i+1) }'
<IP_ADDRESS>/24
$ ip -6 addr show dev eth0 | awk -F ' ' '{ for(i=1;i<=NF;i++) if ($i ~ '/^inet/') print $(i+1) }'
fe80::40e8:37e0:5be7:4ec/64

Because your diagnostics should look like this (mine):
*** [ DIAGNOSING ]: Networking
[✓] IPv4 address(es) bound to the eth0 interface:
    <IP_ADDRESS>/24

[✓] IPv6 address(es) bound to the eth0 interface:
    fe80::35a8:4009:7b5a:617a/64

[i] Default IPv4 gateway: <IP_ADDRESS>
   * Pinging <IP_ADDRESS>...
[✓] Gateway responded.

So everything else aside, it is VERY weird that running the exact same commands manually works, but fails when executed by Pi-hole.

I have no idea.  I can ping the gateway from the pihole as well.  My initial thought was failing SD card that is failing in a very specific place lol.  I'm not sure if reloading the pihole makes sense with the way the containers work.  Since I updated pihole wouldn't the container have been re-installed?  I updated Balena and pihole after these problem started in an effort to resolve them so my thought was if there was an SD card problem whatever missing or corrupt files would have been repaired so to speak.  I have no reason to think there is an SD card problem other than I couldn't think of anything else.  I do need to figure out how to run pihole in unraid.  I guess I could run it in an ubuntu vm, but unraid won't use a vm or docker ip as a dns server I think.

The containers would have been recreated when updating Pi-hole but not the data volumes. You can try the Purge Data action from the dashboard to remove the existing volumes and recreate them. Make sure to export your Pi-hole "Teleporter" data first if you want to restore your block lists, etc.
I would suggest running the balena diagnostics and health checks I mentioned to see if it flags any OS issues like media corruption or other service issues. You can share the healthcheck results here.
You can also flash a new SD card and swap them out to see if anything changes, as a last resort.

devicediagnostics.txt
devicehealthchecks.json.txt
I ran the health checks and posted, note changing the extension on devicehealthchecks it didn't like json.
I back up the teleporter data and purged data.
It worked immediately upon starting back up!  I restored my data and it still worked!  I then changed the PIHOLE_DNS_ variable back to my local DNS servers and it is still working.  I'm thinking the purge data fixed it :)

I do see from your debug log that your configuration files have fewer values than mine. Not sure if it was stale data or something from the migration, but deleting them and recreating them seems to have worked.
-rw-r--r-- 1 pihole pihole 66 Jan 17 19:36 /etc/pihole/pihole-FTL.conf
   PRIVACYLEVEL=0
   RESOLVE_IPV6=no
   RATE_LIMIT=0/0
   REPLY_ADDR4=<IP_ADDRESS>

*** [ DIAGNOSING ]: contents of /etc/dnsmasq.d

-rw-r--r-- 1 root root 1.3K Jan 17 19:55 /etc/dnsmasq.d/01-pihole.conf
   addn-hosts=/etc/pihole/local.list
   addn-hosts=/etc/pihole/custom.list
   localise-queries
   no-resolv
   cache-size=10000
   log-queries
   log-facility=/var/log/pihole.log
   log-async
   interface=eth0

Glad we got it working!


Request batching with tensorflow model doesn't work

/kind bug
When request batch parameters are set for tensorflow model, the inference service does not generate pods. Same issue is also observed for pytorch model.
Environment:

KFServing Version: 0.8 (Raw Deployment Mode)
Kubernetes version:
kubectl version
Client Version: version.Info{Major:"1", Minor:"13+", GitVersion:"v1.13.4+82e7b55", GitCommit:"82e7b55", GitTreeState:"clean", BuildDate:"2019-05-20T00:17:47Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.1", GitCommit:"b09a9ce3", GitTreeState:"clean", BuildDate:"2022-03-11T12:10:16Z", GoVersion:"go1.16.14", Compiler:"gc", Platform:"linux/amd64"}

1. Yaml File
kind: "InferenceService"
metadata:
name: "flower-sample"
spec:
predictor:
minReplicas: 1
timeout: 60
batcher:
maxBatchSize: 32
maxLatency: 500
model:
modelFormat:
name: tensorflow
storageUri: "gs://kfserving-samples/models/tensorflow/flowers"
2. oc describe isvc/flower-sample
Status:
Components:
Predictor:
Latest Created Revision: 1
Conditions:
Last Transition Time: 2022-03-21T21:28:52Z
Reason:        Predictor ingress not created
Status:        False
Type:         IngressReady
Last Transition Time: 2022-03-21T21:28:52Z
Message:        Deployment does not have minimum availability.
Reason:        MinimumReplicasUnavailable
Status:        False
Type:         PredictorReady
Last Transition Time: 2022-03-21T21:28:52Z
Reason:        Predictor ingress not created
Status:        False
Type:         Ready
Events:
3. kserve manager logs
2022/03/21 21:46:52 http: panic serving <IP_ADDRESS>:60774: runtime error: index out of range [0] with length 0
goroutine 12698 [running]:
net/http.(*conn).serve.func1()
/usr/local/go/src/net/http/server.go:1802 +0xb9
panic({0x1965d40, 0xc000c62c90})
/usr/local/go/src/runtime/panic.go:1047 +0x266
[github.com/kserve/kserve/pkg/webhook/admission/pod.(*AgentInjector).InjectAgent(0xc00099c8f0](http://github.com/kserve/kserve/pkg/webhook/admission/pod.(*AgentInjector).InjectAgent(0xc00099c8f0), 0xc0009d0800)
/go/src/github.com/kserve/kserve/pkg/webhook/admission/pod/agent_injector.go:213 +0x1e6f
[github.com/kserve/kserve/pkg/webhook/admission/pod.(*Mutator).mutate(0xc0006b9630](http://github.com/kserve/kserve/pkg/webhook/admission/pod.(*Mutator).mutate(0xc0006b9630), 0x1d61b28, 0xc000040338)
/go/src/github.com/kserve/kserve/pkg/webhook/admission/pod/mutator.go:121 +0x1ff
[github.com/kserve/kserve/pkg/webhook/admission/pod.(*Mutator).Handle(](http://github.com/kserve/kserve/pkg/webhook/admission/pod.(*Mutator).Handle(), {, }, {{{0xc000c24d80, 0x24}, {{0x0, 0x0}, {0xc0011075f0, 0x2}, {0xc0011075f2, ...}}, ...}})
/go/src/github.com/kserve/kserve/pkg/webhook/admission/pod/mutator.go:65 +0x372
[sigs.k8s.io/controller-runtime/pkg/webhook/admission.(*Webhook).Handle(](http://sigs.k8s.io/controller-runtime/pkg/webhook/admission.(*Webhook).Handle(), {_, _}, {{{0xc000c24d80, 0x24}, {{0x0, 0x0}, {0xc0011075f0, 0x2}, {0xc0011075f2, ...}}, ...}})
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.2/pkg/webhook/admission/webhook.go:146 +0xa2
[sigs.k8s.io/controller-runtime/pkg/webhook/admission.(*Webhook).ServeHTTP(0xc0006ba9f0](http://sigs.k8s.io/controller-runtime/pkg/webhook/admission.(*Webhook).ServeHTTP(0xc0006ba9f0), {0x7f6fd8a48220, 0xc0009c45f0}, 0xc00100c700)
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.2/pkg/webhook/admission/http.go:99 +0xef0
[github.com/prometheus/client_golang/prometheus/promhttp.InstrumentHandlerInFlight.func1({0x7f6fd8a48220](http://github.com/prometheus/client_golang/prometheus/promhttp.InstrumentHandlerInFlight.func1({0x7f6fd8a48220), 0xc0009c45f0}, 0xc0009c45f0)
/go/pkg/mod/github.com/prometheus/client_golang@v1.11.0/prometheus/promhttp/instrument_server.go:40 +0xd4
net/http.HandlerFunc.ServeHTTP(0x1d5b720, {0x7f6fd8a48220, 0xc0009c45f0}, 0x7f6fffa685b8)
/usr/local/go/src/net/http/server.go:2047 +0x2f
[github.com/prometheus/client_golang/prometheus/promhttp.InstrumentHandlerCounter.func1({0x1d5b720](http://github.com/prometheus/client_golang/prometheus/promhttp.InstrumentHandlerCounter.func1({0x1d5b720), 0xc00079a2a0}, 0xc00100c700)
/go/pkg/mod/github.com/prometheus/client_golang@v1.11.0/prometheus/promhttp/instrument_server.go:101 +0x92
net/http.HandlerFunc.ServeHTTP(0xc00083fd80, {0x1d5b720, 0xc00079a2a0}, 0xc0007b2000)
/usr/local/go/src/net/http/server.go:2047 +0x2f
[github.com/prometheus/client_golang/prometheus/promhttp.InstrumentHandlerDuration.func2({0x1d5b720](http://github.com/prometheus/client_golang/prometheus/promhttp.InstrumentHandlerDuration.func2({0x1d5b720), 0xc00079a2a0}, 0xc00100c700)
/go/pkg/mod/github.com/prometheus/client_golang@v1.11.0/prometheus/promhttp/instrument_server.go:76 +0xa2
net/http.HandlerFunc.ServeHTTP(0x0, {0x1d5b720, 0xc00079a2a0}, 0xc00079a2a0)
/usr/local/go/src/net/http/server.go:2047 +0x2f
net/http.(*ServeMux).ServeHTTP(0xc000c24d32, {0x1d5b720, 0xc00079a2a0}, 0xc00100c700)
/usr/local/go/src/net/http/server.go:2425 +0x149
net/http.serverHandler.ServeHTTP({0x1d4de90}, {0x1d5b720, 0xc00079a2a0}, 0xc00100c700)
/usr/local/go/src/net/http/server.go:2879 +0x43b
net/http.(*conn).serve(0xc000f04320, {0x1d61b98, 0xc0000ad5f0})
/usr/local/go/src/net/http/server.go:1930 +0xb08
created by net/http.(*Server).Serve
@yuzisun if you could please provide a temporary fix it would be great, need it to demonstrate KServe features for client demo. Thanks.

Hi @hifazibm , am currently looking at the issue, can you format your yamls and update here. Please use backtics to put yaml in code block, to ensure there are no issues wrt yaml syntax.

@andyi2it Does container port always exists here? Might be only true for serverless mode not raw deployment mode

Thanks @andyi2it  i updated the yaml file format

Hi @andyi2it  thanks for the fix, is there any way I can test the fix on my environment (V0.8) by updating KServe.yaml file.


Move util-appmacro to sbt as core-macros

This commit moves everything behind the old util-appmacro over to
sbt/sbt.
appmacro has been renamed as core-macros. It is indeed the project
that defines the main logic to manipulate macros, and defines interfaces
that are then implemented by main-settings. Because of this strong
relationship between these two modules, I find that they have to stay
together and be able to be modified in one commit. I've realised this
while hacking on the macro changes for the usability of sbt.
The reason for this change is because the logic of this module is really
tight to the implementation of sbt and, I would even say, essentially
define the sbt DSL.

Hope this makes it. @eed3si9n


⚠ Bofrost.at has degraded performance

In 0bb41c7, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1018 ms

Resolved: Bofrost.at performance has improved in b3521ce after 10 minutes.


[Ubuntu] put snapd auto refresh on hold

Description
Canonical has informed us that GitHub actions generates too much traffic on their snapd servers, investigation has reveled that we inherit snap from the Azure Ubuntu images where snapd auto refresh is enabled (default settings) which causes lots of traffic on the reimage by automatically pulling all possible updates (if any). There is no way to disable auto refresh effectively but unregister snapd or mask the snapd systemd service. The most elegant solution is to put auto refresh on 60 days hold (maximum is 90 now) and calculate the deadline date as the date of an image generation + 60 days.
Related issue: https://github.com/actions/virtual-environments-internal/issues/3056
Check list

[X] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

/azp run Ubuntu1804, Ubuntu2004


chore: upgrade to @graphProtocol latest versions [OBSOLETE]

Description
{{what was done}}
How to test
{{how can it be tested}}

replaced with another PR (https://github.com/bosonprotocol/core-components/pull/677)


npm run start just opens a blank window

I downloaded soma, and followed the instructions as indicated on the github page, then when i run npm run start it just runs a blank window, with soma in the window bar, nothing else, as far as a the screenshots are concerned it is meant to look very different, can someone elaborate please.

In the root directory of soma create a .bowerrc file and put the following in it
{
  "registry": "https://registry.bower.io"
}

Then run bower install again

ptaylor@deepthought:~/soma$ ls -a
.   assets      .bowerrc  .gitignore  LICENSE.txt  manifest.json  package.json       polymer.json  release-builds  src
..  bower.json  .git      index.html  main.js      node_modules   package-lock.json  README.md     renderer.js
ptaylor@deepthought:~/soma$ bower install
Illegal instruction (core dumped)
ptaylor@deepthought:~/soma$

Try opening the developer console (search for directions on electron dev tools based on your platform) and then relay any errors you find here.


Race condition in GradientTexture2D.GetImage

Tested versions
4.2.1.stable.mono
System information
Godot v4.2.1.stable.mono - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3080 Ti (NVIDIA; <IP_ADDRESS>33) - Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz (16 Threads)
Issue description
When calling GradientTexture2D.GetImage, it seems it can return null, this is currently not documented as being possible.
Steps to reproduce
using Godot;
using System.Threading;

public partial class GenerateGradient : Node2D
{
	[Export] public int MapSize = 1024;

	// Called when the node enters the scene tree for the first time.
	public override void _Ready()
	{
		new Thread(GenerateMap).Start();
	}

	private void GenerateMap()
	{
		var gradientTexture = new GradientTexture2D
		{
			Width = MapSize,
			Height = MapSize,
			Fill = GradientTexture2D.FillEnum.Radial,
			FillFrom = new Vector2(0.5f, 0.5f),
			FillTo = new Vector2(0, 0.5f),
			Gradient = new Gradient()
		};
		Image gradientImage;
		do
		{
			GD.Print("pass");
			Thread.Sleep(1);
			gradientImage = gradientTexture.GetImage();
		} while (gradientImage == null);
	}
}

In the above example pass can be printed out multiple times, based on the documentation I would expect this to only ever be printed once.
Minimal reproduction project (MRP)
GetTexture2DImage.zip

From the code that it can return a null when the texture is invalid. Should we update the document for this?
And it doesn't seem very related to the threading (maybe it's unsafe to call texture_2d_get in another thread? Idk )
Ref<Image> GradientTexture2D::get_image() const {
	const_cast<GradientTexture2D *>(this)->update_now();
	if (!texture.is_valid()) {
		return Ref<Image>();
	}
	return RenderingServer::get_singleton()->texture_2d_get(texture);
}


[FEATURE] Create HVAC Metrics Dashboard

Description:
Build a dashboard in Grafana to visualize temperature trends and events from the HVAC system.
Outcome:
HVAC metrics visible on Grafana.

Done


Pass Autobahn

Chapers 1-4 already passes and most remaining parts are minor tweaks. Fragmentation (chapter 5) will need some changes to the interface, and chapter 6 will be ignored (I don't care about UTF-8 formatting, that is not the servers task!). Chapter 7 already passes pretty much fully.


ETNA-794 Add minimal examples to all TSDatasets methods #67

IMPORTANT: Please do not create a Pull Request without creating an issue first.
Before submitting (must do checklist)

[x] Did you read the contribution guide?
[x] Did you update the docs? We use Numpy format for all the methods and classes.
[x] Did you write any new necessary tests?
[x] Did you update the CHANGELOG?

Type of Change

[x] Examples / docs / tutorials / contributors update
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Improvement (non-breaking change which improves an existing feature)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Proposed Changes
Tested examples with doctest in important public methods.
Related Issue

Closing issues
closes #67

Codecov Report

Merging #92 (db751ff) into master (2f3722e) will decrease coverage by 4.20%.
The diff coverage is 100.00%.

:exclamation: Current head db751ff differs from pull request most recent head f50b1c5. Consider uploading reports for the commit f50b1c5 to get more accurate results

@@            Coverage Diff             @@
##           master      #92      +/-   ##
==========================================
- Coverage   88.04%   83.83%   -4.21%
==========================================
  Files          50       50
  Lines        2283     2283
==========================================
- Hits         2010     1914      -96
- Misses        273      369      +96

Impacted Files
Coverage Δ

etna/loggers/__init__.py
100.00% <ø> (ø)

etna/datasets/tsdataset.py
86.77% <100.00%> (ø)

etna/transforms/pytorch_forecasting.py
26.38% <0.00%> (-73.62%)
:arrow_down:

etna/models/nn/tft.py
45.00% <0.00%> (-55.00%)
:arrow_down:

etna/models/nn/deepar.py
47.36% <0.00%> (-52.64%)
:arrow_down:

etna/loggers/base.py
92.30% <0.00%> (-1.93%)
:arrow_down:

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 2f3722e...f50b1c5. Read the comment docs.


README.md install is pointing to the wrong PROJECT???

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
1.8
What operating system and processor architecture are you using (go env)?
Ubuntu Linux 16.10
What did you do?
Followed the readme
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
What did you expect to see?
Golang 1.8 as a package.
What did you see instead?
Your instructions appear to be installing LXD PPA repo and then installing golang 1.6 from the universe repository.

sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable
sudo apt-get update
sudo apt-get install golang

That's just wrong.
The bottom of the page instructions work alright.
But if you have a PPA you should update the instructions and if you don't have a PPA (I couldn't find one), then you should remove those instructions.
Thanks!

I checked the readme in the repository and didn't find a reference to a ppa. Can you please link to the instructions you are following.

https://github.com/golang/go/wiki/Ubuntu is one such place referencing the lxd-stable PPA.

Ohh whoops, sorry I'm just exhausted it's not the README it's a wiki page linked to from the wiki.
https://github.com/golang/go/wiki/Ubuntu

That page is all sorts of wrong. My vote would be to delete it, but
@bradfitz abhors broken links. I'm not sure what to suggest to fix it.
I recommend using the tarball from https://golang.org/dl as it is extremely
well tested.
On Wed, 22 Mar 2017, 17:32 William Banks<EMAIL_ADDRESS>wrote:

Ohh whoops, sorry I'm just exhausted it's not the README it's a wiki page
linked to from the wiki.
https://github.com/golang/go/wiki/Ubuntu
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/19654#issuecomment-288310770, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAcA1jvxuNOfPPxZunWdqM4PD530J4Xks5roMB5gaJpZM4MkxmD
.

@davecheney just delete all its contents instead, and leave a note pointing to /dl?

Ok so for those of us who want to put 1.8 on using package management in Ubuntu, what are the current options then?

Also it's not all wrong, the bottom half is correct and actually rather important info.

No, that's the most incorrect, especially the part about setting GOROOT.
On Wed, 22 Mar 2017, 17:53 William Banks<EMAIL_ADDRESS>wrote:

Also it's not all wrong, the bottom half is correct and actually rather
important info.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/19654#issuecomment-288313750, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAcA3Yo345DpO2JNF0lP6LuC7gJ6xsKks5roMVLgaJpZM4MkxmD
.

I have to tell you it appears to be working here.  What part is incorrect because
$ go version
go version go1.8 linux/amd64
$ echo $GOROOT
/usr/local/go
These seem ok to me.

It's outdated advise we're trying hard to erase from the Go community
conciousness.
https://dave.cheney.net/2013/06/14/you-dont-need-to-set-goroot-really
On Wed, 22 Mar 2017, 18:02 William Banks<EMAIL_ADDRESS>wrote:

I have to tell you it appears to be working here. What part is incorrect
because
$ go version
go version go1.8 linux/amd64
$ echo $GOROOT
/usr/local/go
These seem ok to me.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/19654#issuecomment-288315205, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAcAz5MgfYzwGyns4-RB-n64C8NPBsYks5roMeCgaJpZM4MkxmD
.

Ok, been awhile since I actually installed it.

I think this is probably a duplicate of
https://github.com/golang/go/issues/18580
On Wed, Mar 22, 2017 at 6:20 PM, William Banks<EMAIL_ADDRESS>wrote:

Ok, been awhile since I actually installed it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/19654#issuecomment-288317909, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAcA7zITdMhuAftU22ZicJ7f1VCLv7dks5roMu3gaJpZM4MkxmD
.

"Fixed": https://github.com/golang/go/wiki/Ubuntu


Provide a pure Rust implementation for Ion

Develop a pure Rust implementation for Ion.

Today, ion-rs has a dependency on ion-c-sys.  This is purely to "fill" in the implementation for Ion in the most idiomatic Rust APIs.  ion-c-sys will focus only on the C bindings, but we should continue to implement a pure Rust implementation in ion-rs.  At the time of this writing we have a partial binary parser, for example.  When we have all of the parser/generators, we should eliminate the need to depend on ion-c-sys.


Update package.json / scripts and push dist folder

according to #53

npm install @Tiqa/redux-polyglot is from scoped npm package, not from Github.
Any other reason to include dist on repo @guillaumearm ?

I have edited issue #53
it's not @Tiqa/* but Tiqa/*

aborted, prefer 'postinstall' solution
please see https://github.com/guillaumearm/redux-viewport/blob/master/scripts/postinstall.js


Add support for Airflow>=2.3.0 to the Kedro plugin

Description

Resolves part of kedro-org/kedro#1749 and resolves #60
Also closes #80
Also keep Kedro-Airflow plugin docstring from appearing in kedro -h
Development notes

Checklist

[ ] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[ ] Updated the documentation to reflect the code changes
[x] Added a description of this change in the relevant RELEASE.md file
[ ] Added tests to cover my changes

Related: https://github.com/kedro-org/kedro/pull/2030


Add definitions for built-in functions.

@tamasfe   These are definitions for all the built-in functions.

Thanks! There are some decisions we'll have to make regarding types, I left some comments about those, otherwise LGTM.

I added the missing ? for the time being since the parser expects a type. I'll have to also change the function return syntax from : to -> as well.


Find a way to work with shortcut markers like &File and Ed&it

Suggestion: Option to remove all occurrences of & not followed by whitespace before sending to DeepL API.


xpath bug in Verifying Xml documents example

The example says:
var signature = select(doc, "/*/*[local-name(.)='Signature' and namespace-uri(.)='http://www.w3.org/2000/09/xmldsig#']")[0]
But it should be:
var signature = select(doc, "//*[local-name(.)='Signature' and namespace-uri(.)='http://www.w3.org/2000/09/xmldsig#']")[0]

in fact the xpath is correct, it will look in the second level of hierarchy of the XML (where the signature is located in the example)

The sample works just fine when you use //* All the other examples use this notation, and if you use a real bit of XML like a SAMLv2.0 Response it will work too, whereas /*/* will not.

and if you use a real bit of XML like a SAMLv2.0 Response it will work too, whereas // will not.

the xpath will always depend on the format of the xml.
if you can send a PR updating the example i have no problem to merge it :smile:


Feature/limitcheck

Fixes #46 and rewrites the type check code

now it is broken: https://kuksaval.northeurope.cloudapp.azure.com/blue/organizations/jenkins/kuksaval-upstream/detail/PR-148/2/tests


segfault (11) on gpkg write, warning: dataset does not support layer creation option ENCODING

Note: I opened and closed this issue a few weeks ago thinking it was something on my end. I have been able to avoid the issue by writing shapefiles using the osgeo api but I want to use fiona for writing features for simplicity.
I am using fiona to read and (hopefully) write geopackage files. Reading appears to be fine, however when I attempt to write out to a new gpkg with a relatively simple schema I get a segfault and the following message Warning 6: dataset <my file name>.gpkg does not support layer creation option ENCODING.
What is really odd is that the error is nondeterministic. I can sometimes run the following snippet multiple times (incrementing the file name) with no segfault reported. When I do get the segfault however the data is still written fully to the gpkg file as verified by using ogrinfo foo.gpkg -al
# code snippet from tests, I ran this in a ipython notebook.
import fiona
schema = {'geometry': 'Point', 'properties': [('title', 'str')]}
crs = {'init': 'EPSG:4326'}
with fiona.open('/tmp/foo.gpkg', 'w', layer='bar_foo', driver='GPKG', schema=schema, crs=crs) as d:
    d.writerecords([{
                    'geometry': {'type': 'Point', 'coordinates': [0.0, 0.0]},
                    'properties': {'title': 'One'}}])
    d.writerecords([{
                    'geometry': {'type': 'Point', 'coordinates': [2.0, 3.0]},
                    'properties': {'title': 'Two'}}])

looking around I think I found a user reporting the same issue via twitter but there is no mention of a fix https://twitter.com/cartocalypse/status/797910380039131136
hopefully relevant information:
macOS 10.12.3
python 3.6.0
Fiona 1.7.4
GDAL 2.1.2
schema:
schema = {
            'geometry': 'Point',
            'properties': {
                'one'    : 'float',
                'two'    : 'float',
                'three'  : 'float',
                'four'   : 'float',
                'uuid'   : 'str'
            }
        }

possibly useful information from the crash report
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   org.gdal.gdal                 	0x000000011088d13f OGRSpatialReference::Release() + 35
1   org.gdal.gdal                 	0x0000000110887872 OGRFeatureDefn::~OGRFeatureDefn() + 160
2   org.gdal.gdal                 	0x00000001108878c1 OGRFeatureDefn::~OGRFeatureDefn() + 15
3   org.gdal.gdal                 	0x00000001106d9d04 OGRGeoPackageLayer::~OGRGeoPackageLayer() + 92
4   org.gdal.gdal                 	0x00000001106dddd4 OGRGeoPackageTableLayer::~OGRGeoPackageTableLayer() + 356
5   org.gdal.gdal                 	0x00000001106de46b OGRGeoPackageTableLayer::~OGRGeoPackageTableLayer() + 15
6   org.gdal.gdal                 	0x00000001106d0bd8 GDALGeoPackageDataset::~GDALGeoPackageDataset() + 268
7   org.gdal.gdal                 	0x00000001106d1545 GDALGeoPackageDataset::~GDALGeoPackageDataset() + 15
8   ogrext.cpython-36m-darwin.so  	0x00000001100ff96f __pyx_pw_5fiona_6ogrext_7Session_7stop + 31

@AndrewAnnex can you tell me more about about the GDAL library. Did you compile it yourself? Get it from Homebrew? I have the same questions about the Fiona library? Did you download from pip and build from source or something else?
This has hallmarks of DLL Hell, where a GDAL dynamic library used at runtime is incompatible with the one used to build the Fiona extension modules. If there are multiple copies of GDAL on your system, you need to take care. One of the most common ways users get into this kind of trouble is by importing either osgeo.gdal/osgeo.ogr (built using one GDAL library) and fiona (built using another GDAL library) in the same program.

yeah this was my thinking as well a while ago, but I went through and I thought I controlled for that.
The fiona version was installed via pip and the GDAL/OGR is from kyngchaos. I thought fiona was installed via a wheel but I just noticed that there is not 3.6 wheel for macOS yet. That being said I ran otool -L on the various shared libs within the fiona site-package and they are all using the kyngchaos gdal 2.1.
I will continue to look around my system for rogue gdal versions. I have a gdal 1.11 also from kyngchaos (for Qgis I believe) but it is not in my path.
I am also using Shapely and Rasterio in the same project so maybe there is some interaction there with fiona?

Interesting!
I ran your code snippet. Yesterday I once got a segfault from it but now I only ever get this:
Traceback (most recent call last):
  File "t.py", line 11, in <module>
    'properties': {'title': 'Two'}}])
  File "/usr/lib/python3.6/site-packages/fiona/collection.py", line 413, in __exit__
    self.close()
  File "/usr/lib/python3.6/site-packages/fiona/collection.py", line 397, in close
    self.flush()
  File "/usr/lib/python3.6/site-packages/fiona/collection.py", line 387, in flush
    self.session.sync(self)
  File "fiona/ogrext.pyx", line 985, in fiona.ogrext.WritingSession.sync (fiona/ogrext.c:17250)
RuntimeError: Failed to sync to disk
Exception ignored in: <bound method Collection.__del__ of <open Collection '/tmp/foo.gpkg:bar_foo', mode 'w' at 0x7fc2bcdddbe0>>
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/fiona/collection.py", line 418, in __del__
  File "/usr/lib/python3.6/site-packages/fiona/collection.py", line 413, in __exit__
  File "/usr/lib/python3.6/site-packages/fiona/collection.py", line 397, in close
  File "/usr/lib/python3.6/site-packages/fiona/collection.py", line 387, in flush
  File "fiona/ogrext.pyx", line 985, in fiona.ogrext.WritingSession.sync (fiona/ogrext.c:17250)
RuntimeError: Failed to sync to disk

The segfault was nothing but just an additional line "Segmentation fault (core dumped)" at the end of a  trackback otherwise identical to the one above.
It does write a file and I removed that file before each run. I can open it in QGIS and see the features just fine.
Python 3.6.0 (default, Jan 16 2017, 12:12:55)
[GCC 6.3.1 20170109] on linux
Fiona==1.6.3 via pip
GDAL==2.1.3 via I have no idea but installed system-wide...

So Fiona was not from pip but from this outdated package: https://aur.archlinux.org/packages/python-fiona/
I removed that and installed via pip but now I am left without GPKG support unfortunately...

interesting, I don't see why gpkg support would disappear for you, try running fiona.ogrext.get_gdal_version_num()
I have also since gone through my system and cleaned out extra instances of GDAL. I have also been able to try building against a homebrewed gdal 2.1.2 which results in a different segfault involving sqlite3. Oddly the full crash reports indicates something from the kyngchaos gdal is still being pulled in (despite otool not reporting this) possibly due to rasterio which I will attempt to control for soon.
I suppose one question worth asking is if it is better to use kyngchaos or homebrew gdal?

so I recompiled gdal 2.1.3, and then installed fiona and rasterio so I think I have removed influences from other GDAL installations. I see no references of GDAL from kyngchaos at all in the error reports or from running otool on the relevant shared libs. The sqlite3 exception I noted in my last post is now gone and the original segfault I had has returned.
In investigating the crash report I saw the following which was partially posted in the first comment:
__pyx_pw_5fiona_6ogrext_7Session_7stop + 31 (ogrext.c:10195)

looking at the cython generated ogrext.c file at that line number revealed the following:
 /* "fiona/ogrext.pyx":499
 *         if self.cogr_ds is not NULL:
 *             ogrext2.GDALClose(self.cogr_ds)
 *         self.cogr_ds = NULL             # <<<<<<<<<<<<<<
 *
 *     def get_fileencoding(self):
 */
  __pyx_v_self->cogr_ds = NULL;

where the bottom line is the linenumber revealed in the error report.
Maybe this is meaningful?
the rest of the lines for that error that are relevant:
0   libgdal.20.dylib              	0x0000000109c74baf OGRSpatialReference::Release() + 35
1   libgdal.20.dylib              	0x0000000109c6f54a OGRFeatureDefn::~OGRFeatureDefn() + 160
2   libgdal.20.dylib              	0x0000000109c6f599 OGRFeatureDefn::~OGRFeatureDefn() + 15
3   libgdal.20.dylib              	0x0000000109b191d0 OGRGeoPackageLayer::~OGRGeoPackageLayer() + 92
4   libgdal.20.dylib              	0x0000000109b1d63d OGRGeoPackageTableLayer::~OGRGeoPackageTableLayer() + 15
5   libgdal.20.dylib              	0x0000000109b0fefc GDALGeoPackageDataset::~GDALGeoPackageDataset() + 308
6   libgdal.20.dylib              	0x0000000109b10829 GDALGeoPackageDataset::~GDALGeoPackageDataset() + 15
7   ogrext.cpython-36m-darwin.so  	0x0000000116ea726f __pyx_pw_5fiona_6ogrext_7Session_7stop + 31 (ogrext.c:10195)

The next thing I will investigate is shapely which packs a compiled geos lib but I don't see how that could be causing issues.

so I think I uncovered some interaction with rasterio's gdal,
I sometimes see this error in the terminal:
WARNING:rasterio._gdal:CPLE_NotSupported in dataset <PATH>.gpkg
does not support layer creation option ENCODING

disregard comment about rasterio interaction.

@AndrewAnnex Fiona has a bug involving the use of the driver keyword argument. Can you try running your code again without using driver=GPKG? It's not strictly necessary, GDAL and OGR will try all the drivers on a file and open it with the appropriate one, and this may give you a work around until the bug is fixed and a new release made.

@sgillies yeah I can try this soon-ish. Will let you know. I have been able to save shapefiles successfully if I didn't mention that before, using the driver keyword.

so I get an exception now, fiona.errors.DriverError: no driver
which is definitely informative, I ran otool again on the fiona _drivers.so and I didn't see ogr in the list, just libgdal from homebrew which itself does not show a linked geopackage shared lib. gdal-config does not list gpkg as a driver yet ogrinfo does.
So I am a little confused what this could mean, maybe fiona not being linked correctly against ogr?

@AndrewAnnex Right, gdal-config only lists the raster formats, ogrinfo will list the vector formats.
There's two things I'm doing for 1.7.5 that will help you out: 1) fixing #431, and 2) making a wheel for Python 3.6.
You may yet have to resolve the confusion between Homebrew and Kyngchaos GDAL installs. Meanwhile, I'm going to close this issue. Let's open a new one after 1.7.5 if you're still experiencing crashes.

so I have installed fiona 1.7.5 but still no luck yet with geopackages (same behavior as before). This is despite installing from the provided wheel. Short of trying to isolate things further using docker I don't really see other paths forward unless there is some non-obvious state that the kyngchaos GDAL installs have left on my system that someone could point me to removing.
To be clear the no driver exception occurs when omitting the "driver" keyword from the open statement.

I think 1.7.6 will have fixed this @AndrewAnnex. Thanks for your patience!


Updated data types of parameter values for Punycode according to C++1…

What's in this pull request?

The variables changed were optimized by using the in this case available C++11 constexpr keyword
Resolved bug number: (SR-)

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    OS X platform               | @swift-ci Please test OS X platform
    Linux platform              | @swift-ci Please test Linux platform

Note: Only members of the Apple organization can trigger swift-ci.

…1 standard

Thanks. I think since the expressions are just literals, we'll get this behavior anyway. I know it's not guaranteed, but in practice it won't make a difference.


Chore/update packages

Updated Dart SDK to 3.5.4 and upgraded HTTP dependency to version ^1.2.2.
Added pubspec.lock to .gitignore

HI @willianveit, thank you very much for the interest you have shown in this package. Unfortunately, I will not merge this commit, the main reason being the package name change.


Investigate Azure Batch or similar scaling for Azure VMs

Investigated the possibility of using Azure Batch to scale pools of VMs to support the 3d toolkit streaming scenario. The following architecture was proposed:

The initial investigation shows a blocker in being able to de-allocate specific VMs when scaling down. More POC work is required to confirm. This is now tracked in #193

We are closing this since work is now tracked in the above references.


Chained spans for services-dependent tracing not working

Motivations
In Jaeger, we can look up on spans of services that depend on another services like this.

In this example, I made the requests from chant-service (using Rust - Actix Web Client) to dish-service, from dish-service (using Go - net/http) to similar-dish, from similar-dish (using Python - requests) to alert-service, and from alert-service (using Go - net/http) to an external service (Line Notify), which can be visualized in acyclic graph using Zipkin like this.

But when I use Reqwest wrapped in reqwest-tracing from this repo, to send a request from distancematrix-api (Rust) to dish-service, I only get individual spans, it doesn't chain to the depended services, and the chain span started in dish-service instead of distancematrix-api.

Solution
Make tracing spans created with Reqwest chainable if it's connected to another local services, and show remote hostname in Zipkin graph if it's connected to external services (like the notify-api.line.me case)
Alternatives
This is the working Go net/http code for creating chained spans,

This is the working Python requests code for creating chained spans,

This is the working Rust AWC code for creating chained spans,

Additional context
This is the Rust reqwest code that doesn't create chained spans,

Hey! You're supposed to be seeing the traces across service boundaries, did you enable any of the otel features?

Hi! I think I'm experiencing the same issues. I've tried to make a minimal example in the repo reqwest-middleware-example. It basically stands up 2 axum servers (server-a and server-b), and a jaeger instance for traces, and sends requests from server-a to server-b using various methods.
If I explicitly set the traceparent header (as done with the /proxy_add_headers endpoint), then the spans cross the two servers correctly. However if I just use reqwest-middleware (as with /proxy_middleware endpoint) then I only see the spans from server-a and server-b separately.
In the following screenshot, you can see the traces appearing to cross server-a and server-b for the /proxy_add_headers endpoint, but not for the /proxy_middleware endpoint.

As per the last comment, I have the feature opentelemetry_0_18 enabled in the Cargo.toml for server-a here.
Is there something else I'm missing? Any help on this would be appreciated.

I had the same issue at first, the trace context was not propagated in the headers. I then realized that in my Cargo.toml the version of the feature was not matching the opentelemetry one. After fixing this, it worked correctly.
So make sure that the opentelemetry version is aligned: reqwest-tracing = { version = "^0.4", features = ["opentelemetry_0_21"] }


feat: add support for builder pattern in QuerySpec

Summary by CodeRabbit

New Features

Added @Builder annotation to the QuerySpec class for enhanced object construction flexibility.

Chores

Updated project version from 1.0.1-SNAPSHOT to 1.1.0-SNAPSHOT across multiple modules for consistency.

May we discuss whether fluent setters would provide better DX than Lombok @Builder?

#94 (comment)

Made a different approach with Accessors


Added currentpoly option

Now you can edit an existing polygon instead of only creating new ones. Pass the polygon you want to edit as currentpoly
      SM = PolySnapper({
        map: map,
        marker: new google.maps.Marker(),
        threshold: 200,
        keyRequired: false,
        polygons: polygons,
        polystyle: new_polystyle,
        hidePOI: true,
        currentpoly: edit_polygon,
        onEnabled: function(){
          console.log("enabled")
        },
        onDisabled: function(){
          console.log("disabled")
        }
      });

Hey man this is awesome saved me a lot of time, one quick question I'm working on implementing this and im getting that edit_polygon is not defined, is there something i have to add somewhere to enable that?


Provide support for HTTPS for Selenium Grid scaler

Proposal
Provide support for HTTPS for Selenium Grid scaler
Use-Case
No response
Anything else?
No response

Is this not already supported? I mean, we are using the url provided in the trigger
req, err := http.NewRequestWithContext(ctx, "POST", s.metadata.url, bytes.NewBuffer(body))

Do you mean adding support to skip certificate validation? (like we are already doing with influx scaler)


Issues with cookies when signing using SSO

I'm signing in using SSO and get the appropriate cookies in instructions but when downloading I get This video is locked, you probably need a premium account

I have the exact same problem, any solution or guidance for this use case would be great.

Do you have a premium account ?

me too, i have a library ecard

There are courses that Linkedin Learning does not allow you to download even though you can watch them when you have an ecard.

I have an account through my work (I assume it premium). Using the cookies method, it let me download a couple of lessons (mostly intros and stuffs) but then stops and show me that message... maybe you could provide a better error message, like .... you might need a premium account or the video is not downloadable

I will update that. Thanks

I think we can close this right? @knowbee

Yeah


File Not Playable error

I'm testing the plugin on an Android device - tried to play the two given files (pi.mp3 and dubstep.mp3). but getting the StereoFileNotPlayableException. Tried reinstalling as per another issue but still the same error.
For other files, getting a PlatformException(error, null, null) exception.
Would appreciate some help getting around this. Thanks to @faku99 for working on a Flutter audio plugin - much needed!

It might be possible that Flutter changed the way it works with files shipped with the app since it has been released to version 1.0. I'm currently in an exam period so I'll not have time to look into that but as soon as I am done with school, be sure that I'll investigate the issue.
Thanks for the kind words and I wish you an happy new year!


fix: default mode in the light/dark mode toggle is light

Fixes #426
My PR closes #issue_number_here
👨💻 Changes proposed(What did you do ?)

Changed optional changing ?? to optional chaining ?: which sets the dark mode to false on default when not found on local storage and changes accordingly afterward.

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title and description of the PR is clear and explains the approach.

Note to reviewers

📷 Screenshots

I will be making new PR from new branch


Constant Fake Schema Updates

Describe the issue
Every time a check for updates is run (or the editor is launched with "automatically check for updates" enabled), the editor claims a HUD schema update is available and asks to restart.
Steps to reproduce
Steps to reproduce the issue:

Check for Updates
Hit "Yes"
Check for Updates again

Desktop (please complete the following information):

OS: Windows 11 Enterprise (21H2, 22000.318)
App Version: 2.4
Selected HUD: flawhud

It may be caused by one of the schema names. In the meantime, you can disable update checking through the dropdown menu on the top right corner of the screen.

For some reason, when the new kbnhud schema file is comparing local vs remote, it thinks the file are different and triggers an update. Will continue to investigate.

Sorry, the ticket automatically closed for some reason. The new kbnhud schema file keeps failing the SHA comparison, thus triggering an update notification. Need to find out what's causing it. @cooolbros
https://github.com/CriticalFlaw/TF2HUD.Editor/blob/master/src/TF2HUD.Editor/JSON/kbnhud.json

I will look into this

I mentioned this to @CriticalFlaw but it may have something to do with the file having been created in Linux, refined in Windows, and finalized in Linux. All other schemas were made purely in windows.

Deleting the file then recreating it in Windows with all the same contents has resolved the issue. All files should now match and no longer keep showing updating notifications. Thank you @cooolbros and @Jotunn for helping investigate this.


Add ascend() for get an iterator that generates supernet.

This is useful to implement BGP aggregation.

Thank you for this PR! I like the idea, but I have some comments on your implementation:

I think we can implement that iterator without heap allocations: Can you move the logic from the function ascend into the Iterator implementation? So the strut Ascend should keep the current index (idx in the ascend function), and modify that upon calling next (the index might need to be optional).
I don't fully agree with the name ascend, as that implies that the elements are yielded from the prefix to the root. Maybe path might be a better name?
Clarify in the comments the order of iteration, and how prefixes not part of the map/set are handled.
Can you implement the same iterator (by using the map's implementation) for set as well?

@tiborschneider thanks for prompt reply.  just renamed ascend() to path() and other related structure.  updated comment to explain when given prefix does not exists.
Let me ask a question about moving the implementation from ascend into Iterator. Since we don't have a parent index in the Node structure, we need to cache indices while traversing the tree. Should we do this every time next() is called, or should we do it when we instantiate the PathIterator?

Hello :wave:, I hope you don't mind if I weigh in :)

I don't fully agree with the name ascend, as that implies that the elements are yielded from the prefix to the root. Maybe path might be a better name?

If I understand the goal correctly, isn't that exactly what @kishiguro is trying to do? Given the example in the doc I'd say it is...I'd personally name the method supernets (and didn't include the searched prefix itself :smile:) to make it absolutely clear. Or maybe parents as there already is a method children (aka subnets).
And as I was writing this, I just now realized...isn't this functionality already provided by the cover method? I feel a bit lost now :smile:, so I may be completely off and just missing the point completely...

@tiborschneider oh, you are right, cover is the exactly what I wanted.  sorry for taking your time.  let me close this PR.  thanks for letting me know the feature.

feature already implemented as cover


Improve write performance for RDS

I have a server using Mysql managed by Amazon's RDS
It is right now averaging 1200 IOPS and 7MB/s of writes.
This means the average IO is writing 6KB
The limit on how much data RDS can read/write is based on the number of IO. If for instance those writes were near the limit of 16KB instead of the current 6KB, the performance of the database will more than double.
I am guessing to accomplish this, the server would need to buffer before writing the traces to the DB which may not be an easy fix.

yeah it would be a buffer/pipeline issue. you could buffer more in instrumentation or introduce buffering on the server.
Ex in kafka it is safe to try to collect more because the backlog is persistent. I think in zipkin-aws there's another buffering layer used for SQS for a similar problem.
cc @llinder @mansu for thoughts.

So it seems zipkin server would benefit from having a buffer functionality which can be used for all inputs?

I think we've had a discussion about when Kafka is present, we can easily
do this (since kafka is persistent and we don't need to worry about losing
data)
If you are referring to the normal HTTP endpoint, it would be a little more
complex because we'd have to decide where to pool the data (so that N http
requests don't mean N buffers which would blow up memory)
I know that many tracers have a buffer configuration which in a pinch can
help (provided they can be adjusted)

For SQS it buffers on the sender before writing to SQS.  This helps to make use of the 256KB message cap that SQS imposes and reduces API calls.  The SQS collector only reads as fast as the storage layer accepts writes.  For our use case SQS is effectively an off memory buffer just as Kafka would be.
Looking at the MySQLSpanConsumer I don't see any fixed 6KB limiting logic.  It might be possible to introduce some logic to dynamically adjust the batch size to some tunable value though.
If your stuck with MySQL for storage and your using HTTP as the transport layer I would probably consider augmenting writes with SQS or Kafka just to avoid spikes in traffic from overwhelming your storage layer.
Beyond tuning batch inserts for a specific storage component, I don't think there is much benefit in Zipkin server buffering anything since there are much better solutions such as SQS, Kafka or a more scalable storage layer.

thanks for the notes. we do need to make a deployment guide, and this stuff
will need to become a part of it.

I've run into this exact issue. I'm using a cheap db.t2.micro RDS instance that is dedicated to Zipkin. I saw bursts of up to ~1350 IOPS with average write sizes of 6.1KB, quickly exhausting the IO credit balance.
Since the Zipkin client isn't batching and probably won't be any time soon, I "detuned" MySQL using the innodb_flush_log_at_trx_commit parameter. RDS's default parameter group doesn't set this and unless you've overridden it in your own parameter group then MySQL will default to flushing the InnoDB log to disk after every transaction.
Since I don't especially care about the durability of trace data I set this parameter to 2:
With a value of 2, the contents of the InnoDB log buffer are written to the log
file after each transaction commit and the log file is flushed to disk approximately
once per second. Once-per-second flushing is not 100% guaranteed to happen
every second, due to process scheduling issues. Because the flush to disk
operation only occurs approximately once per second, you can lose up to a
second of transactions in an operating system crash or a power outage.

With this change I that MySQL performs slightly larger writes but many fewer for the same workload. This was enough to make MySQL/RDS a workable solution for me.
See also: https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit.

These are great notes. Thanks for sharing.

Even though there is a lot of useful mysql tuning info in this issue, i'm going to go ahead and close it based on the fact that mysql storage is no longer considered "for production usage" and mostly exists "to help aid transition to supported ones" (see https://github.com/openzipkin/zipkin/tree/master/zipkin-server#mysql-storage). Given that, write performance improvements are not likely to be implemented by the core team in the foreseeable future.
As always, if your site is bothered by this feel free to dive in the technical details and raise a PR it will definitely be considered !


labelme2yolo some error

Here is my json
{   "version": "0.3.3",   "flags": {},   "shapes": [],   "imagePath": "KunChuansafebelt_dinglinhe20240119a_000119.jpg",   "imageData": null,   "imageHeight": 1080,   "imageWidth": 1920 }
Im trying to convert to YOLO Dataset using this command:
labelme2yolo --json_dir json --val_size 0.15 --test_size 0.15
Im using:

what errors

I know the reason is that the imageData of json is empty, so the image cannot be saved. I know how to change it, but would like the author to update it too

Hi @Galaxy-Ding, thanks for the feedback, feel free to submit a PR to fix it.


Define BlobsFeeAdjustment Parameters

BlobsFeeAdjustment requires 8 parameters to update the values targeted_length_fee_adjustment and targeted_weight_fee_adjustment at the end of each block. These values are used in the following formula:
inclusion_fee = base_fee + [targeted_length_fee_adjustment * length_fee] + [targeted_weight_fee_adjustment * weight_fee];
Each value requires 4 parameters:

Target
AdjustmentVariable
MinimumMultiplier
MaximumMultiplier

The current values for targeted_weight_fee_adjustment are:

TargetBlockFullness = 25%
AdjustmentVariableBlockFullness = 75/1_000_000
MinimumMultiplierBlockFullness = 1/10
MaximumMultiplierBlockFullness = FixedU128::max_value()

These values are defined here to define SlowAdjustingFeeUpdate.
For targeted_length_fee_adjustment, the values are:

TargetBlockSize = 16%

If the total block size is 5MiB, then the target block size is 0.8MiB.

AdjustmentVariableBlockSize = 1/840

This value means that the maximum fee variation in one hour is 30%, following the formula v = p / k * (1 - s*), where p represents the maximum fee variation percentage, k represents the period in which the variation is defined (in blocks), and s* represents the target percentage.

MinimumMultiplierBlockSize = TODO
MaximumMultiplierBlockSize = FixedU128::max_value()

My understanding of the MinimumMultiplier is that it encodes the minimum fee. We should keep this fairly low - say 1/100. If it is set too low, it will take a long time for the fee to come back up.

We should keep this fairly low - say 1/100 or 1/200

ok, I will test some values to understand how quickly it can react and come back

I'm also realizing now that a better fee mechanism might adjust more quickly when the average usage has been low, so fees can get extremely low but not stay suppressed by the mechanism throughout long periods of activity.

To achieve this, we can utilize multiple AdjustmentVariables and keep track of the number of blocks that fall below a certain threshold. If the number of blocks exceeds a predefined amount, we can use a higher AdjustmentVariable to adapt more quickly to random spikes in high usage. The only downside is that it would require an additional storage item and thus an extra read and write operation in on_finalize. Or directly keeping track of the average AllExtrinsicaLen value and use a proportional AdjustmentVariable

Blocks per 24 hours in cumulus-node: 7200 (k)
s* = 0.16 (TargetBlockSize)
The bound from the research in a full chain is:
v <~ (p / k(1 - s*))
p > v * k * (1 - s*)
To get p == 1, we’d need (going from zero to target):
1 > v * k * (1 - s*)
k < 1 / (v * (1 - s*))
k > 1000 ~ 16 mins
This should be the lower bound of the number of blocks needed
to grow from a zero multiplier to one.
The following are some tests I’ve done to see how many blocks are needed to
grow from the min multiplier to one with the block constantly full (max block length):

Min Multiplier
Blocks
Hours

1/10
2302
0.6

1/100
4605
1.27

1/1000
6907
1.91

1/10000
9210
2.55


Remove prototype from app/views/portal/student_clazzes/destroy.js.rjs

Ref #457

app/views/portal/student_clazzes/destroy.js.rjs:12 #page.replace_html
app/views/portal/student_clazzes/destroy.js.rjs:15 #page.replace
app/views/portal/student_clazzes/destroy.js.rjs:3 #page.remove
app/views/portal/student_clazzes/destroy.js.rjs:6 #page.replace_html
(commented out) app/views/portal/student_clazzes/destroy.js.rjs:9 #page.replace_html
page << content usage

This is called from the roster page for a class. For example: https://learn.staging.concord.org/portal/classes/13/roster There is a 'remove student' link that confirms the action and then uses it.   The code calling it is here: https://github.com/concord-consortium/rigse/blob/b7c6dba3e7c33c90265e12f6e54334155888da8a/app/views/portal/students/_table_for_clazz.html.haml#L33
This is not dead code. The best would be to move the whole roster page to portal-pages.
I haven't reviewed it yet, but I assume the roster page has other prototype code in it.


Not able to add new fields to user story

Scenario: I had created a custom field with name"userstorystartdate' and then removed the field from user story. Now I want to re-create the field with a different field type but system is giving error Field already exists.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c1d7885e-7aa6-1e0e-8f90-a7177a53b0d7
Version Independent ID: 0494e296-574f-b226-5bfd-0193667ad40d
Content: Add a custom field to an inherited process - Azure DevOps Services
Content Source: docs/organizations/settings/work/add-custom-field.md
Product: devops
Technology: devops-agile
GitHub Login: @KathrynEE
Microsoft Alias: kaelli

Thanks for your question. It looks like you've encountered an issue with the product itself, rather than an issue with the documentation. To make sure it gets in front of the right people, please submit your bug here.
You may also find short term help in the Stack Overflow Azure DevOps community.


Inform plugin authors about available environment variables

We should update the plugin authoring docs to inform that the following environment variables (with example values) are set by spin in the plugin child process:
SPIN_BIN_PATH=/Users/cardoso/.cargo/bin/spin
SPIN_BRANCH=feat/more_build_info
SPIN_BUILD_DATE=2023-05-15
SPIN_COMMIT_DATE=2023-05-15
SPIN_COMMIT_SHA=49fb11b
SPIN_DEBUG=false
SPIN_TARGET_TRIPLE=aarch64-apple-darwin
SPIN_VERSION=1.2.0-pre0
SPIN_VERSION_MAJOR=1
SPIN_VERSION_MINOR=2
SPIN_VERSION_PRE=pre0

I think it missed the 1.2 cutoff (by a couple of hours!), so don't merge the docs until the 1.3 batch.


Reland Step 3 of 4: Make AlertDialog scrollable by default

@shihaohong in order to delete the branch, I need to close this PR - is that ok?

Yeah! Let’s close this for now


CPU inference error. Unable to use CPU for inference

Hi, I have taken a fork of this repo and tried working this with CPU by changing device to CPU wherever possible but it shows some error while creating the net.

When the torch module is not compiled with cuda, it'll throw an error
When the module is compiled but not used, it'll also throw another error

What can be done to fix this?
Please see the modified api.py of your code which works with CPU but does not work with CPU. What is missing here?

I think this is a problem caused by pytorch and suggest to try different pytorch versions. Besides, it might be more helpful for you to turn to the github homepage of pytorch.


Better messaging on field descriptions

Various
"version": Something akin to "Assign a unique version name/number for this data package"
"resource.schema": "The schema of this resource, if available"
"resource.hash": something in plainer english :) (“The MD5 hash of this resource. Other hash algorithms can be used by prefixing the hash value with the algorithm name in lowercase, followed by a colon”- MD5 Hash? Less technical terms or a deeper explanation may be of use.)
"sources": what is it, and the description is not clear
Useful example from guidance notes- “Resources section of the form, upload the data files that are to be included in your new Data Package”- this is more useful than what is included in the form- “The data resources that this package describes.” As data user with no use of packagist tool and limited coding experience, I would see uploading data source as a key step and knowing this was done right would help confidence in rest of process.
Error messages for incomplete/error fields worked well- this is a good way of guiding user i.e as mentioned previously ‘The media type of this resource.- Examples?’- drop down box in this/similar fields would be useful to draw boundaries of usability and capacity of tool.
"validate resources" - what does this mean??
But my only comment so far is do you need to explain the fields in the data packager further? Only I wasn’t too clear on what to include for some of them, for example “Media Type” , “URL”, and “Path” when adding a resource.
File encoding
The file encoding of this resource.
Examples. is this UTF 8 for instance? Need a list of examples.
maybe we remove it from form...
Media Type
Comments:
The media type of this resource.
Examples?
Unsure of what to enter so when user attempts asnd gets it wrong it returns
Media Type
The media type of this resource.
Value must match the provided pattern.
Need examples of what these Media Types are.
In the example for Bahrain that is provided (http://datapackagist.okfnlabs.org/#/base/from/?url=http%3A%2F%2Fdatahub.io%2Fapi%2Faction%2Fpackage_show%3Fid%3Dpopulation-number-by-governorate-age-group-and-gender-2010-2014) The media type for the resource is microsoft excel and application/vnd.openxmlformats-officedocument.spreadsheetml.sheet. Better explanation is need for the lay data publisher about the differences in media types and what is suitable where?

FIXED.


Implement MVVM for the GlobalAppearance page

Summary of the Pull Request
Implements a GlobalAppearanceViewModel for the GlobalAppearance page in the SUI
PR Checklist

[ ] Closes #xxx
[x] CLA signed. If not, go over here and sign the CLA
[ ] Tests added/passed
[ ] Documentation updated. If checked, please file a pull request on our docs repo and link it here: #xxx
[ ] Schema updated.
[x] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Validation Steps Performed
Global appearance page still works

Oh, can you clean up the PR description? It has a lot of checkboxes that are unnecessary. Just delete those lines.


Is there a way to get a masked string?

I'm trying to integrate the AppInsights Node SDK into a build task to get some feedback from my tasks. How an I ensure that text being sent back to AppInsights is masked, so secrets won't be sent where they shouldn't go?
Is there a sdk method that takes a string and returns a masked string?

There isn't - in our model, tasks output logging and it's the agent that holds the secrets and masks them in the logging process.
We could consider adding a lib method for this.  We would have to port that logic to TS.
You can create or morph this into a feature request (enhancement)

Closing since the agent does this per above.


plex: <IP_ADDRESS>95-ee64ab56f -> <IP_ADDRESS>42-b0c7a97d9

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@ofborg eval

@ofborg eval

Seems to work on x86_64-linux NixOS
Reviewed points

[x] package name fits guidelines
[x] package version fits guidelines
[x] package build on x86_64-linux
[x] executables tested on x86_64-linux

Seems to work on x86_64-linux NixOS
Reviewed points

[x] package name fits guidelines
[x] package version fits guidelines
[x] package build on x86_64-linux
[x] executables tested on x86_64-linux

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108446 run on x86_64-linux 1

2 packages built:

plex
plexRaw

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108446 run on x86_64-linux 1

2 packages built:

plex
plexRaw


feat(sggit): remove Version and introduce SHA and ShortSHA

@viktorvoltaire We should try and mark breaking changes in the commit message as per https://www.conventionalcommits.org/en/v1.0.0/

@viktorvoltaire We should try and mark breaking changes in the commit message as per https://www.conventionalcommits.org/en/v1.0.0/

Given that we are still on v.0. we reserve the rights for breaking changes. So we decided to leave out marking it until we hit v1


Remove subpath folder mapping from packages' exports field.

Fixes #1882.

I should have left this as a draft: I need to test this out with the tools listed in the issue.

I need to test this out with the tools listed in the issue

I think if our starter kits work in prod and dev mode that this is fine. It doesn't use the new subfolder path syntax, just the already existing file mappings. So nothing should newly break with this and it prevents some invalid imports.

I need to test this out with the tools listed in the issue

I think if our starter kits work in prod and dev mode that this is fine. It doesn't use the new subfolder path syntax, just the already existing file mappings. So nothing should newly break with this and it prevents some invalid imports.

(repeating a bit from chat...) I updated @web/dev-server in the starter projects to test this because the version in main depends on an older version of @rollup/plugin-node-resolve that doesn't support exportConditions. With this update, you can replace the nodeResolve: true, in those packages' web-dev-server.config.js with nodeResolve: {exportConditions: ['development']}, to see the dev-mode sources.

Note main now has the updated web-dev-server as well, so now that this branch is merged with main to eliminate other conflicts, that no longer shows up as a diff.

Note I added support for the MODE=dev / MODE=prod environment variable control over WTR / WDS's node module resolution, along with commands for running test & serve in prod mode (now dev by default). @justinfagnani PTAL


Errors from Date command in mac

I keep getting errors on my mac using
_get_temp_file() {
dt="$(date --iso-8601=ns)"
tempfname="$dt-$EXTENSION_INSTANCE_ID.tmp"
echo "$COPY_TO_VSCODE_TEMP_DIR/$tempfname"
}
I changed the dt line to this:
dt="$(date +%s)"

Thanks for submitting the issue. :pray:
I've fixed the issue using your hint. Please update your installation of the extension to version v0.0.9 and verify if it's fixed.


Deploy does not deploy field name changes

running: graphcool/0.9.2 (linux-x64) node-v8.9.1
changing existing relation (here LawOnLaw) e.g.
lawCites: [Law!]! @relation(name: "LawOnLaw")
lawCitesLaw: [Law!]! @relation(name: "LawOnLaw")

is not captured by deploy

Issue moved to graphcool/framework #1273 via ZenHub