statically linking go binaries against lbcc

Is it possible to statically link gobpf binary against libbcc? I'm trying to accomplish that with perf.go example and there's no way (compiler is complaining about undefined symbols from llvm, stdlibc++, etc). I'm using the following command:
go build -ldflags "-extldflags -static"  perf.go

I don't know how to do that...
Static linking would be easier by using the elf backend rather than the libbcc one. I've seen your issue on the elf backend in #101; is it why you tried this one?

Actually, ELF based ebpf bytecode loading did the job for me. Linking against libbcc is a real PITA. I'll close this issue.

@ rabbitstack  could you please share the your workaround for avoiding libbcc?

@rockmenjack unfortunately, no workaround here. I gave up trying to produce a statically-linked binary against libbcc (requires way too much dependencies such as clang, llvm, etc.). I'm shipping the eBPF bytecode inside the binary and loading it directly via ELF modules.

@rabbitstack How do you deal with different kernel versions when shipping precompiled eBPF bytecode? Or do you only target a single kernel version?

I didn't experience any issues while compiling eBPF programs on one kernel version and then loading the bytecode on a different kernel. In reality, I mostly deal with kprobes on syscall interface, which is guaranteed to remain stable among kernel versions (actually, there was a breaking change in gobpf due to naming changes in syscall functions introduced in kernel 4.17, but it was addressed recently even for ELF modules).


AL-5546 upgrade commons-io,mesos,kafka-client,protobuf-java,gson,guava version

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Please review http://spark.apache.org/contributing.html before opening a pull request.

retest this please

retest this please

retest this please


[fix] [broker] fix incorrect delete sub when lastActive do not update.

Motivation
This PR https://github.com/apache/pulsar/pull/17573 has fixed cases that consumer commit offset periodically. It update lastActive field of cursor when consumer commit the offset.
But there is still corner case that the consumer do not commit the offset for any reason. For example,  there is no content in the topic could be read, so the consumer do not commit the offset reasonably. In such case we has no reason delete the subscription.
Anyway, we should be cautious with the delete operation, which could result into data duplication or loss.
Modifications
Update the lastActive field when check the inactive sub.
Verifying this change

[x] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] The metrics
[ ] Anything that affects deployment

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/thetumbled/pulsar/pull/31

why do we update the cursor when every check ?

If the consumer do not commit the offset for any reason, the lastActive will never be updated, which will result into incorrect subscription deletion.

why do we update the cursor when every check ?

If the consumer do not commit the offset for any reason, the lastActive will never be updated, which will result into incorrect subscription deletion. As we know that the consumer is connected, we should update lastActive when doing check.

in this case, the consumer is connected, how could the code run into sub.delete
https://github.com/apache/pulsar/blob/8beac8b12ef7c0ef54529fbb7e4e76c54dea6283/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java#L2982-L2985

why do we update the cursor when every check ?

If the consumer do not commit the offset for any reason, the lastActive will never be updated, which will result into incorrect subscription deletion. As we know that the consumer is connected, we should update lastActive when doing check.

in this case, the consumer is connected, how could the code run into sub.delete
https://github.com/apache/pulsar/blob/8beac8b12ef7c0ef54529fbb7e4e76c54dea6283/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java#L2982-L2985

If the broker1 shutdown ungracefully, the topic will be loaded on broker2 without update the lastActive field to zk, and the broker2 load  the topic with old lastActive field from zk. If broker2 check the inactive sub before any consumer connect to this sub, the sub will be deleted.
This problem is simillar to https://github.com/apache/pulsar/pull/17573.

@thetumbled Could you add a test for this case? Thanks

I push a new commit to add the test code, PTAL, thanks.

PTAL, thanks. @dao-jun @lhotari @Technoboy- @poorbarcode @coderzc

closed as https://github.com/apache/pulsar/pull/22794 has been merged.


C++ Documentation Improvements

All major classes in C++ need to be documented

[ ] BinaryView
[x] BinaryViewType
[ ] Function
[x] BasicBlock
[ ] LowLevelILFunction
[ ] LowLevelILInstruction
[ ] MediumLevelILFunction
[ ] MediumLevelILInstruction
[ ] HighLevelILFunction
[ ] HighLevelILInstruction

We've done a bunch of improvements to our C++ documentation. There is still a lot of room for improvement, which we will continue in our coming releases.


(Request) Auto-JumpBug

Hello,
This may be a overly requested feature/thing and I might be just digging a hole to myself, but if it is possible for to add an Auto-JumpBug feature would be greatly appreciated. I'm not much of a coder and am still trying to learn a lot of stuff, i did try to add this feature but.. well not knowing too much ended in me rage-quitting on trying to add it. I know a lot of you will be very triggered by this post and most will simply ignore it like rest of the other requests like this one.
I am really sorry but like I said I would love that feature being added to the cheat.
I apologise if this was a waste of time, as I do know many of you are busy people.
Thank you.
Here's some links to assist with code for this feature:
https://github.com/Matherunner/tastools/blob/master/injectlib/movement.cpp#L697
https://www.unknowncheats.me/forum/counterstrike-global-offensive/336573-jump-bug-stamina-bug.html (this one is a help kind of thing but it does have some code in it which could possibly help.)
https://hatebin.com/iqoihvrdbn
https://www.unknowncheats.me/forum/counterstrike-global-offensive/245186-jump-bug.html
I also have some lua files for coding this if someone is able to convert luas to code and add it.
Here's one if needed:
skeet_jumpbug_lua_v1.txt
PS. I am new to github and majority of the things so pls dont bully me.
I apologise for this trash post.

need engine prediction for this btw ^^

need engine prediction for this btw ^^
also duplicate issue obviously #773

you may need engine prediction, in theory you can trace a ray to the ground, check the distance beetwen the ground and you ,and when close to (i think) 7 units uncrouch

altough this is a duplicate, it is of quality and has references. (are you from stack overflow?)
i dont think anybody is going to add auto jumpbug as is because there are other things that need to be improved (resolver, legit aa)

altough this is a duplicate, it is of quality and has references. (are you from stack overflow?)
i dont think anybody is going to add auto jumpbug as is because there are other things that need to be improved (resolver, legit aa)

Thank you for the reply, also what do you mean by stack overflow. It was just a request, I don't mind it not being accepted, although it may be a common asked thing.

@notgoodusename close it :heart:

thats not the original poster nor repo owner so they can't close it.

I actually made jump bug but dont wanna to share it <3

I actually made jump bug but dont wanna to share it ❤

cool story bro...
if you're not going to contribute then why did you have to comment that?

I actually made jump bug but dont wanna to share it ❤

Ait bro, everyone asked you. Contribute or leave, flexing isn't going to help anyone.

I actually made jump bug but dont wanna to share it heart

cool story bro...
if you're not going to contribute then why did you have to comment that?

ego up nn

I actually made jump bug but dont wanna to share it heart

Ait bro, everyone asked you. Contribute or leave, flexing isn't going to help anyone.

but i don wanna to help anybody hehe

I actually made jump bug but dont wanna to share it heart

Ait bro, everyone asked you. Contribute or leave, flexing isn't going to help anyone.

but i don wanna to help anybody hehe

Then leave

I actually made jump bug but dont wanna to share it heart

Ait bro, everyone asked you. Contribute or leave, flexing isn't going to help anyone.

but i don wanna to help anybody hehe

Then leave

why nib

I actually made jump bug but dont wanna to share it heart

Ait bro, everyone asked you. Contribute or leave, flexing isn't going to help anyone.

but i don wanna to help anybody hehe

Then leave

why nib

why in the world would you be here just to flex? people are here to get help with issues they are having

thats not the original poster nor repo owner so they can't close it.

nice rage delete

`void Misc::jumpBug(UserCmd* cmd) noexcept
{
//if (!config.misc.edgejump) return;

const auto localPlayer = interfaces.entityList->getEntity(interfaces.engine->getLocalPlayer());

if (!localPlayer || !localPlayer->isAlive())
    return;

float max_radias = M_PI * 2;
float step = max_radias / 128;
float xThick = 23;

if (/*!config.misc.bunnyHop && */GetAsyncKeyState(config.misc.jumpBugKey) && (localPlayer->flags() & (1 << 0))) {
    //config.misc.bunnyHop = false;

    const auto [width, height] = interfaces.surface->getScreenSize();
    if (unduck) {
        bDidJump = false;
        cmd->buttons |= UserCmd::IN_DUCK; // duck
        cmd->buttons |= UserCmd::IN_JUMP; // jump
        unduck = false;
    }
    Vector pos = localPlayer->origin();
    for (float a = 0.f; a < max_radias; a += step) {
        Vector pt;
        pt.x = (xThick * cos(a)) + pos.x;
        pt.y = (xThick * sin(a)) + pos.y;
        pt.z = pos.z;

        Vector pt2 = pt;
        pt2.z -= 6;

        Trace fag;

        Ray ray = Ray(pt, pt2);

        TraceFilter flt = localPlayer;

        interfaces.engineTrace->traceRay(ray, 0x1400B, flt, fag);

        if (fag.fraction != 1.f && fag.fraction != 0.f) {
            bDidJump = true;
            cmd->buttons |= UserCmd::IN_DUCK; // duck
            cmd->buttons |= UserCmd::IN_JUMP; // jump
            unduck = true;
        }
    }
    for (float a = 0.f; a < max_radias; a += step) {
        Vector pt;
        pt.x = ((xThick - 2.f) * cos(a)) + pos.x;
        pt.y = ((xThick - 2.f) * sin(a)) + pos.y;
        pt.z = pos.z;

        Vector pt2 = pt;
        pt2.z -= 6;

        Trace fag;

        Ray ray = Ray(pt, pt2);

        TraceFilter flt = localPlayer;
        interfaces.engineTrace->traceRay(ray, 0x1400B, flt, fag);

        if (fag.fraction != 1.f && fag.fraction != 0.f) {
            bDidJump = true;
            cmd->buttons |= UserCmd::IN_DUCK;; // duck
            cmd->buttons |= UserCmd::IN_JUMP; // jump
            unduck = true;
        }
    }
    for (float a = 0.f; a < max_radias; a += step) {
        Vector pt;
        pt.x = ((xThick - 20.f) * cos(a)) + pos.x;
        pt.y = ((xThick - 20.f) * sin(a)) + pos.y;
        pt.z = pos.z;

        Vector pt2 = pt;
        pt2.z -= 6;

        Trace fag;

        Ray ray = Ray(pt, pt2);

        TraceFilter flt = localPlayer;
        interfaces.engineTrace->traceRay(ray, 0x1400B, flt, fag);

        if (fag.fraction != 1.f && fag.fraction != 0.f) {
            bDidJump = true;
            cmd->buttons |= UserCmd::IN_DUCK; // duck
            cmd->buttons |= UserCmd::IN_JUMP; // jump
            unduck = true;
        }
    }
}

//else { config.misc.bunnyHop = true; }

}`
need some help fixing up this code. it doesnt work but it should be close

@streamshark would be nice if you could help out

what doesn't work with it? what happens when you try to use that

I would guess this part
Ray ray = Ray(pt, pt2);
that should be deleted
and this should be
interfaces.engineTrace->traceRay({pt, pt2}, 0x1400B, flt, fag); and probably something else flag related

@streamshark it just jump crouches
@KibbeWater will try later

@streamshark it just jump crouches
@KibbeWater will try later

I think theres a better code for this out there. A friend of mine sent source from void.to that I'm still trying to get to work but I'm learning atleast

it's been updated to this
static bool bDidJump;
static bool unduck;
static bool bhopWasEnabled;

void Misc::jumpBug(UserCmd* cmd) noexcept
{

    if (!config.misc.jumpBug) return;

    const auto localPlayer = interfaces.entityList->getEntity(interfaces.engine->getLocalPlayer());

    if (!localPlayer || !localPlayer->isAlive())
        return;

    float max_radias = M_PI * 2;
    float step = max_radias / 128;
    float xThick = 23;

    if (GetAsyncKeyState(config.misc.jumpBugKey) && (localPlayer->flags() & (1 << 0))) {
        if (config.misc.bunnyHop) {
            config.misc.bunnyHop = false;
            bhopWasEnabled = true;
        }

        const auto [width, height] = interfaces.surface->getScreenSize();
        if (unduck) {
            bDidJump = false;
            cmd->buttons |= UserCmd::IN_DUCK; // duck
            cmd->buttons |= UserCmd::IN_JUMP; // jump
            unduck = false;
        }
        Vector pos = localPlayer->origin();
        for (float a = 0.f; a < max_radias; a += step) {
            Vector pt;
            pt.x = (xThick * cos(a)) + pos.x;
            pt.y = (xThick * sin(a)) + pos.y;
            pt.z = pos.z;

            Vector pt2 = pt;
            pt2.z -= 6;

            Trace fag;

            TraceFilter flt = localPlayer;

            interfaces.engineTrace->traceRay({pt, pt2}, 0x1400B, flt, fag);

            if (fag.fraction != 1.f && fag.fraction != 0.f) {
                bDidJump = true;
                cmd->buttons |= UserCmd::IN_DUCK; // duck
                cmd->buttons |= UserCmd::IN_JUMP; // jump
                unduck = true;
            }
        }
        for (float a = 0.f; a < max_radias; a += step) {
            Vector pt;
            pt.x = ((xThick - 2.f) * cos(a)) + pos.x;
            pt.y = ((xThick - 2.f) * sin(a)) + pos.y;
            pt.z = pos.z;

            Vector pt2 = pt;
            pt2.z -= 6;

            Trace fag;

            TraceFilter flt = localPlayer;
            interfaces.engineTrace->traceRay({ pt, pt2 }, 0x1400B, flt, fag);

            if (fag.fraction != 1.f && fag.fraction != 0.f) {
                bDidJump = true;
                cmd->buttons |= UserCmd::IN_DUCK;; // duck
                cmd->buttons |= UserCmd::IN_JUMP; // jump
                unduck = true;
            }
        }
        for (float a = 0.f; a < max_radias; a += step) {
            Vector pt;
            pt.x = ((xThick - 20.f) * cos(a)) + pos.x;
            pt.y = ((xThick - 20.f) * sin(a)) + pos.y;
            pt.z = pos.z;

            Vector pt2 = pt;
            pt2.z -= 6;

            Trace fag;

            TraceFilter flt = localPlayer;
            interfaces.engineTrace->traceRay({ pt, pt2 }, 0x1400B, flt, fag);

            if (fag.fraction != 1.f && fag.fraction != 0.f) {
                bDidJump = true;
                cmd->buttons |= UserCmd::IN_DUCK; // duck
                cmd->buttons |= UserCmd::IN_JUMP; // jump
                unduck = true;
            }
        }
    }

    else if (bhopWasEnabled) {
        config.misc.bunnyHop = true;
        bhopWasEnabled = false;
    }

}```

pasting isn't learning; you have to right your own code to learn.
void.to is literally a pasting website

it's been updated to this
static bool bDidJump;
static bool unduck;
static bool bhopWasEnabled;

void Misc::jumpBug(UserCmd* cmd) noexcept
{

    if (!config.misc.jumpBug) return;

    const auto localPlayer = interfaces.entityList->getEntity(interfaces.engine->getLocalPlayer());

    if (!localPlayer || !localPlayer->isAlive())
        return;

    float max_radias = M_PI * 2;
    float step = max_radias / 128;
    float xThick = 23;

    if (GetAsyncKeyState(config.misc.jumpBugKey) && (localPlayer->flags() & (1 << 0))) {
        if (config.misc.bunnyHop) {
            config.misc.bunnyHop = false;
            bhopWasEnabled = true;
        }

        const auto [width, height] = interfaces.surface->getScreenSize();
        if (unduck) {
            bDidJump = false;
            cmd->buttons |= UserCmd::IN_DUCK; // duck
            cmd->buttons |= UserCmd::IN_JUMP; // jump
            unduck = false;
        }
        Vector pos = localPlayer->origin();
        for (float a = 0.f; a < max_radias; a += step) {
            Vector pt;
            pt.x = (xThick * cos(a)) + pos.x;
            pt.y = (xThick * sin(a)) + pos.y;
            pt.z = pos.z;

            Vector pt2 = pt;
            pt2.z -= 6;

            Trace fag;

            TraceFilter flt = localPlayer;

            interfaces.engineTrace->traceRay({pt, pt2}, 0x1400B, flt, fag);

            if (fag.fraction != 1.f && fag.fraction != 0.f) {
                bDidJump = true;
                cmd->buttons |= UserCmd::IN_DUCK; // duck
                cmd->buttons |= UserCmd::IN_JUMP; // jump
                unduck = true;
            }
        }
        for (float a = 0.f; a < max_radias; a += step) {
            Vector pt;
            pt.x = ((xThick - 2.f) * cos(a)) + pos.x;
            pt.y = ((xThick - 2.f) * sin(a)) + pos.y;
            pt.z = pos.z;

            Vector pt2 = pt;
            pt2.z -= 6;

            Trace fag;

            TraceFilter flt = localPlayer;
            interfaces.engineTrace->traceRay({ pt, pt2 }, 0x1400B, flt, fag);

            if (fag.fraction != 1.f && fag.fraction != 0.f) {
                bDidJump = true;
                cmd->buttons |= UserCmd::IN_DUCK;; // duck
                cmd->buttons |= UserCmd::IN_JUMP; // jump
                unduck = true;
            }
        }
        for (float a = 0.f; a < max_radias; a += step) {
            Vector pt;
            pt.x = ((xThick - 20.f) * cos(a)) + pos.x;
            pt.y = ((xThick - 20.f) * sin(a)) + pos.y;
            pt.z = pos.z;

            Vector pt2 = pt;
            pt2.z -= 6;

            Trace fag;

            TraceFilter flt = localPlayer;
            interfaces.engineTrace->traceRay({ pt, pt2 }, 0x1400B, flt, fag);

            if (fag.fraction != 1.f && fag.fraction != 0.f) {
                bDidJump = true;
                cmd->buttons |= UserCmd::IN_DUCK; // duck
                cmd->buttons |= UserCmd::IN_JUMP; // jump
                unduck = true;
            }
        }
    }

    else if (bhopWasEnabled) {
        config.misc.bunnyHop = true;
        bhopWasEnabled = false;
    }

}

still doesnt work though

what errors

pasting isn't learning; you have to right your own code to learn.
void.to is literally a pasting website

I'm learning to adapt it to my own script. Just cause I'm pasting doesn't mean that I'm not doing anything. I still get some kind of understanding how to use c++

no errors, it just doesnt function as expected in game

Then I don't know what to do, So I will just leave it to others. good luck

got it to work but needs even more work because it doesnt properly detect floors if they arent flat. we need circle detection.
   X  X  X
X            X
X     X     X
X            X
   X  X  X

or if we can cast a really big ray that would probably also work

if someone could tell me the size of the player feet collision box that would be really helpful

on a seperate note im having trouble saving the keybind and checkbox of jumpbug

If player is on air start a ray from player's abs origin to 4 units down
When the ray touches the ground, tap the duck button.
Simple, dont overcomplicate stuff

I just got my email blasted. Also people has gotten this to work like 80%-100% of the times so I really don't think theres anything with Osiris thats limiting

Effex the issue is the duck needs to be precisely timed so any unevenness in landing surface can throw off timing. Single ray method is unreliable

just scan in a radius around the player, orthographically, of course.
the highest value you get is where the floor is.
I don't know about cs but in tf2 the player collisions are cubes rather than capsules.
if you did a raycast every 4 units around a squares perimeter you would only have to do 32 casts.

or if we can cast a really big ray that would probably also work

if possible this is better than casting a bunch of rays in a pattern

https://sm.alliedmods.net/new-api/sdktools_trace/TR_TraceHull
from AlliedMods: player col box size is 32x32x72
mins {-16.0, -16.0, 0.0} maxs {16.0, 16.0, 72.0}
if someone can hook tracehull we could use the player col box size to just trace the size of it downwards

is SourceMod a thing all servers run or is it a plugin? it might be server side only.

source sdk uses UTIL_TRACEHULL frequently but it looks like you can use the regular enginetrace function to trace a hull if you set it up right, here's what I found on unknowncheats:
void TraceHull(Vector3 &src, Vector3 &end, trace_t &tr)
{
	Ray_t ray;
	ray.Init(src, end, Vector3(-2.0f, -2.0f, -2.0f), Vector3(2.0f, 2.0f, 2.0f));

	CTraceFilterWorldAndPropsOnly filter;

	g_pEngineTrace->TraceRay(ray, 0x200400B, &filter, &tr);
}

hard to find definition of UTIL_TRACEHULL for source sdk on github so it might just do this

mp\src\game\shared\util_shared.h
line 227:
inline void UTIL_TraceHull( const Vector &vecAbsStart, const Vector &vecAbsEnd, const Vector &hullMin, const Vector &hullMax, unsigned int mask, const IHandleEntity *ignore, int collisionGroup, trace_t *ptr )

or if we can cast a really big ray that would probably also work

what is this supposed to mean lol

or if we can cast a really big ray that would probably also work

what is this supposed to mean lol

he was referring to trace hull, like cast a large ray that spans the width of player collision box instead of a bunch of small rays

i did exactly that using nested while statements but its not good enough
On Mon, 9 Mar 2020, 13:10 streamshark<EMAIL_ADDRESS>wrote:

or if we can cast a really big ray that would probably also work
what is this supposed to mean lol
he was referring to trace hull, like cast a large ray that spans the width
of player collision box instead of a bunch of small rays
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/danielkrupinski/Osiris/issues/938?email_source=notifications&email_token=AFZ5SBGM73Q5MGDSAEER2SLRGSB33A5CNFSM4KCBOFW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOFVOQQ#issuecomment-596334402,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFZ5SBFOSXG7DGCLRTUQPF3RGSB33ANCNFSM4KCBOFWQ
.

nested while statements is O(n^2)?

it raycasts each position
On Mon, 9 Mar 2020, 18:48 Akira<EMAIL_ADDRESS>wrote:

nested while statements is O(n^2)?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/danielkrupinski/Osiris/issues/938?email_source=notifications&email_token=AFZ5SBHRGVMMGSSFH2RBRPLRGTJQXA5CNFSM4KCBOFW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOGS6NA#issuecomment-596455220,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFZ5SBELH6RVCU5ZDA52SCDRGTJQXANCNFSM4KCBOFWQ
.

would engine prediction be better or would tracerays be better in thie case

engine prediction by far
On Wed, 11 Mar 2020, 14:54 poopings<EMAIL_ADDRESS>wrote:

would engine prediction be better or would tracerays be better in thie case
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/danielkrupinski/Osiris/issues/938?email_source=notifications&email_token=AFZ5SBEH5KLZWQH3J7XQJYTRG4YSLA5CNFSM4KCBOFW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOOLM4Q#issuecomment-597472882,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFZ5SBBJNLQEJ4W3CZHJNA3RG4YSLANCNFSM4KCBOFWQ
.


Piston + Rust remote development environment

I am using vagrant vm for learning/developing rust. ( https://app.vagrantup.com/bento/boxes/ubuntu-19.10 )
Is there any solution to run/compile the piston application to Windows on Linux?
I tired to use x11_forwarding with VcXsrv and XMing and I got the following error: CreationErrors([Window(OsError("No monitors were detected.")), OsError("`glXQueryExtensionsString` found no glX extensions")])' I think it's a driver problem of the vm machine.
I also tried to use the sdl2_window lib of piston https://crates.io/crates/pistoncore-sdl2_window,
I got the following error: .cargo/registry/src/github.com-1ecc6299db9ec823/sdl2-0.34.1/src/sdl2/video.rs:1510: undefined reference to `SDL_SetWindowOpacity'
I tried also the sdl2 with c++ on the same environment, and the x11_forwarding is working fine.

The No monitors were detected. error is from the winit 3rd party. After the v0.20.0-alpha4 the winit create a dummy window if there is no monitor detected. As I saw the piston is using 1.19.

I got a similar error with SDL2 on OSX, which was fixed by updating SDL2.

Closing. Reopen if this is still an issue.


CASMNET-1939 - Unbound forward to PowerDNS does not work in an air-gapped configuration.

Description
Document workaround for known issue where air-gapped Unbound DNS configuration causes forwarding of requests to PowerDNS to stop working.
Checklist Before Merging

[X] If I added any command snippets, the steps they belong to follow the prompt conventions (see [example][1]).
[X] If I added a new directory, I also updated .github/CODEOWNERS with the corresponding team in [Cray-HPE][2].
[X] My commits or Pull-Request Title contain my JIRA information, or I do not have a JIRA.

/backport release/1.2


Implement t-IPSDTA

Summary
Implemented VCD-based t-IPSDTA.
TODO

Add descriptions

Codecov Report
Base: 94.61% // Head: 87.67% // Decreases project coverage by -6.94% :warning:

Coverage data is based on head (eab2df7) compared to base (b0d4f34).
Patch coverage: 6.66% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #202      +/-   ##
==========================================
- Coverage   94.61%   87.67%   -6.95%
==========================================
  Files          26       27       +1
  Lines        3156     3423     +267
==========================================
+ Hits         2986     3001      +15
- Misses        170      422     +252

Impacted Files
Coverage Δ

ssspy/bss/ipsdta.py
55.14% <5.38%> (-28.89%)
:arrow_down:

ssspy/linalg/quadratic.py
25.00% <25.00%> (ø)

ssspy/linalg/__init__.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Timing with Chrome

There is an issue that when running the timing through chrome, you will get extreme results. For example, you will get timing of 17+ minutes to load a page but then get 800ms, then randomly 29 minutes. Doesn't seem to happen in IE for Firefox.

can you show us an example page where you see this behaviour?

hopefully this comes across ok.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/lognormal/boomerang/issues/84#issuecomment-208672518

--
Jeremy
"Success is the ability to make wise decisions."
- Anonymous

This is an unload beacon.  You can tell because rt.quit is present on the beacon.  This is telling you when the page unloaded (ie, browser closed), not when the page loaded.  You should look for beacons where rt.quit is absent which indicates a load beacon.

what does the t_done represent? We are extracting the t_done to get the
perceived load time of user.
On Tue, Apr 12, 2016 at 9:58 AM, Philip Tellis<EMAIL_ADDRESS>wrote:

This is an unload beacon. You can tell because rt.quit is present on the
beacon. This is telling you when the page unloaded (ie, browser closed),
not when the page loaded. You should look for beacons where rt.quit is
absent which indicates a load beacon.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/lognormal/boomerang/issues/84#issuecomment-209007172

--
Jeremy
"Success is the ability to make wise decisions."
- Anonymous

t_done is what you want, but not from this beacon.  You need the t_done value from the load beacon, and you are looking at the unload beacon.  Please look at the correct beacon.

In other words, ignore all beacons where rt.quit is present.  It is only relevant when doing session duration analysis.

awesome! i will make the adjustment. thank you phillip.
On Tue, Apr 12, 2016 at 10:12 AM, Philip Tellis<EMAIL_ADDRESS>wrote:

t_done is what you want, but not from this beacon. You need the t_done
value from the load beacon, and you are looking at the unload beacon.
Please look at the correct beacon.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/lognormal/boomerang/issues/84#issuecomment-209011845

--
Jeremy
"Success is the ability to make wise decisions."
- Anonymous

off question, do you know why this would only be showing itself in chrome?

it's happening in all browsers (it's designed to do that), just that with other browsers the beacon is probably getting lost (ie, the browser might be aborting the network connection since it is shutting down).  You will probably see it in 20% or less of all page views.

Makes sense.  Thank you again.
On Apr 12, 2016 12:18 PM, "Philip Tellis"<EMAIL_ADDRESS>wrote:

it's happening in all browsers (it's designed to do that), just that with
other browsers the beacon is probably getting lost (ie, the browser might
be aborting the network connection since it is shutting down). You will
probably see it in 20% or less of all page views.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/lognormal/boomerang/issues/84#issuecomment-209061528


vrc-get: 1.5.2 -> 1.5.3

Description of changes
https://github.com/anatawa12/vrc-get/compare/v1.5.2...v1.5.3
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[X] Fits CONTRIBUTING.md.

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


PNG versions?

Hi,
Could you please add .png versions for download? (so they can be added to Slack etc)

Hey @tvb
Most of them are from aws.amazon.com/architecture/icons
They have most icons you will need, I just created a platform to search through them.
Hope that helps?

I'd love to be able to search through the web and get the png version instead of the svg. Much easier to add and create diagrams in other tools. The power point option it much less desirable.


[ci] Push images to diem/ ECRs

Test Plan:
$ dockerhub_to_novi_ecr.sh -t master_76576974 -r <ECR URL>

@mgorven this can be closed now, currently pushing to dockerhub diem, docker libra, and ecr.


fixing escalation_periods

Escalation_periods aren't aren't getting copied out of the escalation data bags.

Just quickly looked at this and it seems that the host/service escalation databags are loaded before the timeperiods within the _load_databag_config.rb recipe. Could you test if your problem is solved by moving them after the timeperiods? Cheers Sander

I moved the host and service escalations just below the timeperiod section in the _load_databag_config.rb, and it still removes the escalation_period from the escalation definition.

Oke, so I guess we need to update the import function for this...

So I have checked the other timeperiods and seems that I'm not checking on the relations. So your pull request would indeed be the best solution.


[feature] Deploy JDBC driver into public maven repository

Any roadmap on this?

Related to: https://github.com/dbeaver/dbeaver/issues/4925

Duplicate of https://github.com/omnisci/mapd-core/issues/71
We are evaluating what it would take for us to separate the Java code from this repo and to deploy to Maven as part of our build process, but there is no timetable in place. Unfortunately, due to some issues around making Thrift versions match perfectly between all of our various modules and connector packages, this isn't as easy as just doing it real quick and making it happen

Any update on this?  It looks like this issue has been floating around for a couple of years now...

@jdaviestx yep, there is an update. It has been prioritized and taken into development recently.

@Smyatkin-Maxim - good to know.

@randyzwitch - so support for mapd in dbeaver has been added - https://github.com/dbeaver/dbeaver/releases/tag/5.3.4
When maven JDBC driver is available separately it will be automated to package within.


Torch hub command not working

Hello,
Thanks a lot for your implementation.
I am slightly confused because I am trying to run your torch hub command but it does not work.

Also if I look in /home/user/.cache/torch/checkpoints/, I cannot find the checkpoint even though I do get the logging: Downloading: "https://github.com/seungwonpark/melgan/releases/download/v0.1-alpha/nvidia_tacotron2_LJ11_epoch3200.pt" to /home/user/.cache/torch/checkpoints/nvidia_tacotron2_LJ11_epoch3200.pt

Hi, can you please briefly describe about your environment?
In my case, it worked for CentOS but not for Windows 10.

Not OP but exactly the same error here. Environment:

Ubuntu 16.04.06 LTS 'xenial'
Python 3.6.9 (Anaconda)
Pytorch 1.1.0
CUDA 9.0_0, CuDNN 7.6.0

HTH - would be nice to try your work!

@raphpapercup @te0006 Have you solve this error? I encountered the same error.

Bug is still persisting.

I tried a different approach of manually downloading the pretrained model and then try loading it via PyTorch, and I hit a different bug for that.

I am having the same issue. not able to download the pretrained checkpoint.
hash_prefix = HASH_REGEX.search(filename).group(1)
AttributeError: 'NoneType' object has no attribute 'group'
I am on Ubuntu.

I tried a different approach of manually downloading the pretrained model and then try loading it via PyTorch, and I hit a different bug for that.

@delip you should reach checkpoint's generator module by loading the state dict via:
model.load_state_dict(torch.load('nvidia-tacotron2_LJ11_epoch6400.pt')['model_g'])

instead of
model.load_state_dict(torch.load('nvidia-tacotron2_LJ11_epoch6400.pt'))

having the same issue with torch.hub.load_state_dict_from_url()

I had the same problem but, in another application. In my case, I am the model "provider".
Computing the SHA-256 Hash of the file and adding it to the checkpoint filename worked for me.

On Linux, I ran: sha256sum <checkpoint_model_filename.ext>
I copied the first eight digits of the hash and added them to the filename: checkpoint_model_filename-.ext
Then, I changed the filename in the release.

So, in this case, the model's filename should be "https://github.com/seungwonpark/melgan/releases/download/v0.1-alpha/nvidia_tacotron2_LJ11_epoch3200**-**.pt"
Source: https://pytorch.org/docs/stable/hub.html#torch.hub.load_state_dict_from_url


Ability to pass env-vars for run_command and run_script from the CLI

Use Case
Now that run_command() and run_script() support the new _env_vars option in #1899 it would be great if we could set these from the CLI.
Similar to use cases in #1899 , want to pass in secrets / credentials to commands and scripts. In order to use that feature, we would currently have to wrap the run_script and run_task functions in a plan which is not ideal for integrations that use the CLI, such as https://github.com/StackStorm-Exchange/stackstorm-bolt
Describe the Solution You Would Like
Three solutions come to mind:
1. Provide a --env-vars ENV_VARS CLI option
--env-vars would be a new CLI option and take a JSON string of environment variables.
bolt command run --targets localhost --env-vars '{"NICKS_VAR": "Hello Word"}' 'echo $NICKS_VAR'

Downside here is that the environment variables would be exposed and visible when the CLI command. Since we're trying to hide secrets/creds, i'm not a huge fan of this option.
2. Read environment variables from "special" environment variables when Bolt is run
We could designate some special environment variable prefix, in this example i'm going to use BOLT_ENV_VAR_. This prefix will be stripped and the rest of the variable name will become the name of the variable when executing the command/script.
Example
export BOLT_ENV_VAR_NICKS_VAR="Hello World"
bolt command run --targets localhost 'echo $NICKS_VAR'

3. Pass JSON to a new BOLT_ENV_VARS environment variable
We could read BOLT_ENV_VARS and expect this to be a JSON hash. This hash would then set the environment variables in the context when running the command/script.
Example
export BOLT_ENV_VARS='{"NICKS_VAR": "Hello World"}'
bolt command run --targets localhost 'echo $NICKS_VAR'

After some discussion we think using a repeated flag for this is probably easier
bolt command run --targets localhost --env-var NICKS_VAR=Hello --env-var VAR2=world 'echo $NICKS_VAR $VAR2'

@adreyer see my comments on #1 above. If we implement it as a CLI option, those secrets are exposes on the command line and available for reading if you do a ps. This is fine for non-secret options, though.
Thoughts?

@nmaludy You can still use environment variables and pass them on the CLI:
export SECRET=sauce
bolt command run --env-var NICKS_VAR=$SECRET

I think the toughest part is then you have to set every environment variable instead of just passing in a hash. Are you manually running commands, or building them programmatically? I think building the command programmatically would still be just as easy (iterate options and set --env-var), but running manually that may be a pita...


Add more examples of raising exceptions

These are analogous to the String constructors, so I opted for a shorter explanation in 650541a. Thanks for the suggestion!


AppSync Compatibility Request

This tweak injection doesn't support AppSync correctly - it needs fixes - even the AppSync creator itself says that this incompatibility problem we have is due to the Ellekit itself, not to the AppSync Unified tweak.
Please, look at the following: https://github.com/akemin-dayo/AppSync/issues/174

I fixed this locally but I didn’t push it and my Macbook’s screen cracked and they had to erase it to repair it - I couldn’t get the files and it’ll take a long time to rewrite everything

I fixed this locally but I didn’t push it and my Macbook’s screen cracked and they had to erase it to repair it - I couldn’t get the files and it’ll take a long time to rewrite everything

It's ok - thank you for your time - I'm sure this will not last for 5 years so we just need to wait for the update to be pushed. For now I guess we should use TrollStore instead if we're planning to be able to use App Store 😅

After 1.1 update it is working. Thank you very much.


Creating a new token manually doc.

Thanks for getting this started @rasooll .  PR #91 is a rebuild of your work with attribution to you.  I just merged it.


Add more UI matchers

Look like existing amount of UI matchers is not enough, need more (not even all basic controls are covered by any matchers at all)

done in 0e944a7
added

DataGridHasRowsCountMatcher
DataGridHasCellWithTextMatcher
WindowHasTitleMatcher
ModalWindowHasTextMatcher


Source prometheus.yml

Hi
Where can I find your prometheus.yml or how can I add rule_files to your prometheus??
THX

The idea behind the project is to configure Prometheus with each service deployed to a cluster, as an alternative to defining static config. Rules are created through labels described in http://monitor.dockerflow.com/usage/#alert-parameters. I'd suggest going through the Running Docker Flow Monitor and Auto-Scaling Docker Swarm Services Using Instrumented Metrics tutorials to get general idea behind the project.
Please let me know if those pages resolve your doubts.

Closing this issue since it became inactive. Please reopen it if you'd like to continue the conversation.


Add public/protected/private method mocking strategies & caveats

The documentation currently has nothing to say about public, protected, and private methods. Even just a little section would help for those searching for caveats.
To recap:

Phony overrides public and protected methods.
Phony does not change the access level of mocked methods. I.e. public stays public, and protected stays protected.
Calling a protected method still requires bypassing the access modifier. That means either:

Using ReflectionMethod::setAccessible()
Using Liberator

Stubbing and verification "just work" for protected methods.
I don't know of any way to mock private methods, and it's probably a bad idea in the first place.

@shadowhand FYI

Thanks @ezzatron. I thought I would have to do something special with non-public methods, but Phony made it too simple. Would be good to have the documentation reflect this, as people coming from (eg) phpunit will expect to jump through hoops that aren't there.


[Bug]: Local Build fails to compile

The Problem
Hello, when trying to build the repository locally I get an error regarding the failure of a test. See the logs below
Version of Stirling-PDF
0.26.1
Last Working Version of Stirling-PDF
No response
Page Where the Problem Occurred
No response
Docker Configuration
No response
Relevant Log Output
root@stirling-pdf:~/Stirling-PDF# ./gradlew build
Starting a Gradle Daemon (subsequent builds will be faster)

> Configure project :
0.26.1
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended

> Task :test

SPdfApplicationTest > testMainApplicationStartup() FAILED
    org.springframework.context.ApplicationContextException at SPdfApplicationTest.java:60
        Caused by: org.springframework.boot.web.server.PortInUseException at SPdfApplicationTest.java:60
            Caused by: java.io.IOException at SPdfApplicationTest.java:60
                Caused by: java.net.BindException at SPdfApplicationTest.java:60

53 tests completed, 1 failed

> Task :test FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':test'.
> There were failing tests. See the report at: file:///root/Stirling-PDF/build/reports/tests/test/index.html

* Try:
> Run with --scan to get full insights.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.7/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

Additional Information
No response
Browsers Affected
No response
No Duplicate of the Issue

[X] I have verified that there are no existing issues raised related to my problem.

I would guess in the blue and say the port that is being used is already occupied

Thank you! That was exactly the problem. I had to stop the running instance of Stirling-PDF before building the new version


Review Hugo security options for 0.91 and above

Issue details
Huge v0.91 added a security section to harden the build runtime. These settings prevent building & serving the site locally on the latest releases. This is at least partially resolved by #971, but a fuller review should occur.
Steps to reproduce

Install Hugo latest
make build
See errors like:

ERROR 2022/01/13 23:52:35 render of "page" failed: execute of template failed: template:
blog/single.html:3:7: executing "blog/single.html" at <partial "head.html" .>: error calling
partial: "/home/friel/c/pulumi/pulumi-hugo/themes/default/layouts/partials/head.html:131:33":
execute of template failed: template: partials/head.html:131:33: executing "partials/head.html" at
<getenv "ASSET_BUNDLE_ID">: error calling getenv: access denied: "ASSET_BUNDLE_ID" is not
whitelisted in policy "security.funcs.getenv"; the current security configuration is:

Note that our scripts currently assume (and should be checking, in ensure.sh) that you're on Hugo 0.82 locally, as that's the version we currently run in CI.

@AaronFriel Is there anything more to be done on this? I've updated :all-the-hugos: and the website is currently on 0.92, which uses the config changes you added in #971. Ok to close?

@cnunciato a quick perusal of Hugo's security model suggests we should be good with the defaults. Looks good to me!

Awesome, thanks again for the nudge forward on this. 🍻


[Torii] Index more transaction types

Closes https://github.com/dojoengine/dojo/issues/1422

Looking great, I think we could include the type in transaction db table to differentiate between the types.

Hey @jelilat!
Any update/feedback you could share to address @broody's comment?
Or @broody should this be addresses in a subsequent PR?

@glihm I'll address it in this PR. On it now

@tarrencev @broody Had some time to look at this?

Great work @jelilat, good base to support new transaction types with next network upgrades.
We should also add test in the future on the different transaction type. 👍

Thanks @glihm


ConfigurationHelper leaks SessionFactories

The ConfigurationHelper stores each SessionFactory in a HashMap to track the "JDBC42" compatibility. Entries are not removed from this map when the SessionFactory is shut down. This causes memory to leak.
This is problematic when running unit/integration tests and setting up a new Hibernate instance per test case. A test suite can quickly create dozens or hundreds of Hibernate instances, which will never be reclaimed.
https://github.com/JadiraOrg/jadira/blob/293d1b18110c3fa12bc52afe52facfa1d03edc79/usertype.spi/src/main/java/org/jadira/usertype/spi/shared/ConfigurationHelper.java#L30

Fixing this should be as simple as changing the map to a WeakHashMap, which will allow for garbage collection to proceed.

A manual workaround (e.g. using a @PreDestroy spring hook):
import java.lang.reflect.Field;
import java.util.HashMap;

import javax.annotation.PreDestroy;

import org.jadira.usertype.spi.shared.ConfigurationHelper;
import org.springframework.context.annotation.Configuration;

@Configuration
public class HibernateConfiguration {

   /**
    * Jadira's shared configuration helper records the "JDBC 4.2" compatibility for each
    * session manager that it's registered with.
    *

    * Unfortunately, the configuration stores the SessionManager as the key in a static hash map,
    * which retains it indefinitely.
    *

    * This is generally not a huge issue when running a web app, but during unit tests where context
    * are often created and destroyed, we leak a significant amount of memory (approx. 20mb/test execution),
    * resulting in the JVM running out of memory and slowly grinding to a hold
    */
   @PreDestroy
   public void clearOutJadiraConfigurationMap() {
      try {
         final Field map = ConfigurationHelper.class.getDeclaredField("DEFAULT_USEJDBC42");
         map.setAccessible(true);
         Object value = map.get(null);

         ((HashMap) value).clear();
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

Looks like this is a duplicate of #26


Turn on U006 with 'from future import annotations'

It seems like if target-version is below 3.9, U006 doesn't get triggered at all, even if from __future__ import annotations is included:
https://github.com/charliermarsh/ruff/blob/731fba90060de58f9893251d62913b9294fa2458/src/check_ast.rs#L1231-L1236
Repro:
from __future__ import annotations

from typing import Optional

def foo(x: int) -> Optional[int]:
  return None

$ ruff --select U foo.py
Found 1 error(s).
foo.py:5:20: U007 Use `X | Y` for type annotations
1 potentially fixable with the --fix option.

$ ruff --target-version=py38 --select U foo.py

Related: https://github.com/charliermarsh/ruff/issues/778

Interesting, I honestly had no idea that from __future__ import annotations enabled this behavior for pre-3.9 versions (https://peps.python.org/pep-0585/#implementation). Will fix.

To be extra clear, this only affects annotations. Anything at runtime should not be converted pre-3.9

This is going out in v0.0.145.

It seems that in the new release, type aliases also trigger the check. Like in
from __future__ import annotations
from typing import List, Union
from typing_extensions import TypeAlias

MyList: TypeAlias = Union[List[int], List[str]]

ruff output:
Found 3 error(s).
main.py:5:21: U007 Use `X | Y` for type annotations
main.py:5:27: U006 Use `list` instead of `List` for type annotations
main.py:5:38: U006 Use `list` instead of `List` for type annotations
3 potentially fixable with the --fix option.

However, if I went along with the suggested fix, I would get runtime errors.

Taking a look...

Okay I think this is going to require a more thoughtful fix. I see the issue but need to differentiate between a few cases in the code.
You should be able to disable this for now with:
[tool.ruff.pyupgrade]
# Preserve types, even if a file imports `from __future__ import annotations`.
keep-runtime-typing = true

(I'll try to fix this today, gotta get to a few other things first! Now tracking in #979.)


Moving the cursor outside the geometry whilst dragging can cause it to stop being dragged

As raised on https://github.com/JamesLMilner/terra-draw/issues/44
The issue here is that we check to see if the user cursor is over the geometry on every drag event - this can cause issues if the cursor is not completely in sync with the dragged geometry or it's coordinate.

This is improved in<EMAIL_ADDRESS>:tada:


Question about DistanceNetwork

Thanks for your code! I have two question about the code:
First, When calculating the cosine distance, I think it should also be divided by the L2 norms of input_image, but now it seems to be divided only by the L2 norms of support_image.
Second, can you explain in detail the efficient implementation of cross entropy? or what literature I should consult

I also have this question. Can you solve it?

I'm sorry. I haven't solved it yet.

Initially I went that way and with the setup I had then the optimization
was more unstable, so I had a look in other optimizations and found that
others did not scale by the target as well. Sometimes having too small a
loss can cause gradient propagation issues. However since then I improved
multiple parts of the system so using both support and target magnitudes
might not be such a bad idea. Have a try if you want and let me know if it
works.
The above is the reply of the author of the paper.


ticks.callback first argument contains index instead of value with Chart.js 3

Expected Behavior
The first argument contains the value (like in Chart.js 2 and the docs)
Current Behavior
The first argument contains the index (as well as the 2nd)
Steps to Reproduce
https://codepen.io/ankane/pen/jOywNez
I tried to see if the value was moved to a different argument, but didn't see it any of the other args.
Context
Ran into this trying to upgrade Chartkick to Chart.js 3
Environment

Chart.js version: 3.0.2
Browser name and version: Firefox 87.0

My bad, just saw the note about getLabelForValue.

This should also be mentioned in the 2->3 migration guide, IMHO.

@mackuba "ticks.callback first argument contains index instead of value with Chart.js 3", Do you fix ?

@mackuba"ticks.callback đối số đầu tiên chứa chỉ mục thay vì giá trị với Chart.js 3", Bạn có khắc phục được không?

@ankane


Bump OTel libraries

Closing as this issue doesn't have a description and I know the OpenTelemetry dependencies frequently update.


Panic in maker when sending to taker

branch: funding-rate, commit dbff6c46f45c802e741e8126168a20412c4d4509
this issue should be unrelated to the changes made on that branch
2022-01-18 17:12:20  INFO rocket::server: POST /api/order/sell application/json:
2022-01-18 17:12:25 TRACE daemon::bitmex_price_feed: No message from BitMex in the last 5 seconds, pinging
2022-01-18 17:12:25 TRACE daemon::bitmex_price_feed: Received pong
2022-01-18 17:12:30 DEBUG daemon::cfd_actors: Learnt latest oracle attestation for event: /x/BitMEX/BXBT/2022-01-15T11:00:00.price?n=20
thread 'rocket-worker-thread' panicked at '`send_to_taker` only fails if we don't have a HashMap entry. We clean those up together with the heartbeat task. How did we get called without a connection?', daemon/src/maker_inc_connections.rs:277:9
stack backtrace:
2022-01-18 17:12:30 TRACE daemon::bitmex_price_feed: No message from BitMex in the last 5 seconds, pinging
   0: rust_begin_unwind
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panicking.rs:517:5
   1: core::panicking::panic_fmt
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/panicking.rs:100:14
   2: <daemon::maker_inc_connections::Actor as xtra::Handler<daemon::maker_inc_connections::SendHeartbeat>>::handle::{{closure}}
             at ./src/maker_inc_connections.rs:277:9
   3: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/future/mod.rs:80:19
   4: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/future/future.rs:119:9
   5: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-util-0.3.19/src/future/future/map.rs:55:37
   6: <futures_util::future::future::Map<Fut,F> as core::future::future::Future>::poll
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-util-0.3.19/src/lib.rs:91:13
   7: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/future/future.rs:119:9
   8: xtra::context::Context<A>::tick::{{closure}}
             at /Users/dakami/.cargo/git/checkouts/xtra-27dfd36cb04c9fa2/413dc80/src/context.rs:266:17
   9: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/future/mod.rs:80:19
  10: xtra::context::Context<A>::run::{{closure}}
             at /Users/dakami/.cargo/git/checkouts/xtra-27dfd36cb04c9fa2/413dc80/src/context.rs:242:19
  11: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/future/mod.rs:80:19
  12: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::future::future::Future>::poll
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/panic/unwind_safe.rs:289:9
  13: <futures_util::future::future::catch_unwind::CatchUnwind<Fut> as core::future::future::Future>::poll::{{closure}}
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-util-0.3.19/src/future/future/catch_unwind.rs:36:42
  14: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/panic/unwind_safe.rs:271:9
  15: std::panicking::try::do_call
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panicking.rs:403:40
  16: <unknown>
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panicking.rs:431:6
  17: std::panicking::try
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panicking.rs:367:19
  18: std::panic::catch_unwind
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panic.rs:133:14
  19: <futures_util::future::future::catch_unwind::CatchUnwind<Fut> as core::future::future::Future>::poll
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-util-0.3.19/src/future/future/catch_unwind.rs:36:9
  20: <futures_util::future::future::remote_handle::Remote<Fut> as core::future::future::Future>::poll
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-util-0.3.19/src/future/future/remote_handle.rs:105:29
2022-01-18 17:12:30 TRACE daemon::bitmex_price_feed: Received pong
  21: tokio::runtime::task::core::CoreStage<T>::poll::{{closure}}
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/core.rs:161:17
  22: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/loom/std/unsafe_cell.rs:14:9
  23: tokio::runtime::task::core::CoreStage<T>::poll
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/core.rs:151:13
  24: tokio::runtime::task::harness::poll_future::{{closure}}
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/harness.rs:461:19
  25: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/panic/unwind_safe.rs:271:9
  26: std::panicking::try::do_call
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panicking.rs:403:40
  27: <unknown>
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panicking.rs:431:6
  28: std::panicking::try
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panicking.rs:367:19
  29: std::panic::catch_unwind
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panic.rs:133:14
  30: tokio::runtime::task::harness::poll_future
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/harness.rs:449:18
  31: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/harness.rs:98:27
  32: tokio::runtime::task::harness::Harness<T,S>::poll
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/harness.rs:53:15
  33: tokio::runtime::task::raw::poll
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/raw.rs:113:5
  34: tokio::runtime::task::raw::RawTask::poll
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/raw.rs:70:18
  35: tokio::runtime::task::LocalNotified<S>::run
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/mod.rs:343:9
  36: tokio::runtime::thread_pool::worker::Context::run_task::{{closure}}
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/thread_pool/worker.rs:443:21
  37: tokio::coop::with_budget::{{closure}}
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/coop.rs:102:9
  38: std::thread::local::LocalKey<T>::try_with
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/thread/local.rs:399:16
  39: std::thread::local::LocalKey<T>::with
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/thread/local.rs:375:9
  40: tokio::coop::with_budget
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/coop.rs:95:5
  41: tokio::coop::budget
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/coop.rs:72:5
  42: tokio::runtime::thread_pool::worker::Context::run_task
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/thread_pool/worker.rs:419:9
  43: tokio::runtime::thread_pool::worker::Context::run
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/thread_pool/worker.rs:386:24
  44: tokio::runtime::thread_pool::worker::run::{{closure}}
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/thread_pool/worker.rs:371:17
  45: tokio::macros::scoped_tls::ScopedKey<T>::set
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/macros/scoped_tls.rs:61:9
  46: tokio::runtime::thread_pool::worker::run
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/thread_pool/worker.rs:368:5
  47: tokio::runtime::thread_pool::worker::Launch::launch::{{closure}}
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/thread_pool/worker.rs:347:45
  48: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/blocking/task.rs:42:21
  49: tokio::runtime::task::core::CoreStage<T>::poll::{{closure}}
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/core.rs:161:17
  50: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/loom/std/unsafe_cell.rs:14:9
  51: tokio::runtime::task::core::CoreStage<T>::poll
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/core.rs:151:13
  52: tokio::runtime::task::harness::poll_future::{{closure}}
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/harness.rs:461:19
  53: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/panic/unwind_safe.rs:271:9
  54: std::panicking::try::do_call
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panicking.rs:403:40
  55: <unknown>
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panicking.rs:438:2
  56: std::panicking::try
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panicking.rs:367:19
  57: std::panic::catch_unwind
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panic.rs:133:14
  58: tokio::runtime::task::harness::poll_future
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/harness.rs:449:18
  59: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/harness.rs:98:27
  60: tokio::runtime::task::harness::Harness<T,S>::poll
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/harness.rs:53:15
  61: tokio::runtime::task::raw::poll
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/raw.rs:113:5
  62: tokio::runtime::task::raw::RawTask::poll
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/raw.rs:70:18
  63: tokio::runtime::task::UnownedTask<S>::run
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/task/mod.rs:379:9
  64: tokio::runtime::blocking::pool::Inner::run
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/blocking/pool.rs:264:17
  65: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}
             at /Users/dakami/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/runtime/blocking/pool.rs:244:17
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

This happened when the Maker was started while the maker was already running. The maker took quite some time to start up, a lot of stuff was happening (some things seems to have blocked for longer, e.g. re-broadcasting transaction), the taker connected but it seems the connection was not established completely...?

This happened when the Maker was started while the maker was already running. The maker took quite some time to start up, a lot of stuff was happening (some things seems to have blocked for longer, e.g. re-broadcasting transaction), the taker connected but it seems the connection was not established completely...?

2 makers running? or a typo?

I'd assume it is some multithreading issue - you can easily reproduce it by using tokio tests running with 2 threads!

I'd assume it is some multithreading issue - you can easily reproduce it by using tokio tests running with 2 threads!

It is quite strange though because:

The heartbeat task is tied to the lifetime of the Connection struct
The heartbeat task accesses the Connection struct to send a message

I assume that there must be some interleaved scheduling going on where sending the message is being triggered but it is not delivered yet, i.e. sits in the queue of the actor. Then a different future triggers dropping of the message and when the SendHeartbeat message finally arrives, the Connection is already gone.


Allocation profiling fix - pthread TLS storage

Manage TLS storage with pthread APIs.
This prevents the call of malloc in the init of TLS. This fixes a recursive infinite loop.
What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?  In order to motivate your point, it may be valuable to explain why this change is useful or what problem is being solved.
Additional Notes
This is the section to put technical guidance/constraints, call out potential regressions, cite sources, and in general offer some exposition on the how of the PR.  This section doesn't need to be incredibly detailed, but it makes life easier for reviewers!
How to test the change?
Describe here in detail how the change can be validated.  This is a great section to call out specific tests you've added or improved, or to acknowledge code sections which are particularly difficult to test.

Closing in favour of : https://github.com/DataDog/ddprof/pull/290


Add build support to Sublime Text

This adds support for build, clean, test, benchmark and run to Sublime Text.
Added documentation to the README

Thank you!


[Documentation] Level Builder

I'm missing some documentation on the level builder.
For example how to get a start like in the level remote3.
By now I can't think of how to have the remote this "far" ahead without having the local at least with the remote branchs

Which level are you referring to? 🤔 builder is not a level shortcode name

Sorry for the late answer and the bit sloppy question.
I tried to build some levels on my own but struggle to do so.
It would be nice to have like a step by step tutorial on how to build levels by myself.
I tried to recreate the level "remote3" and failed.

We have this:

would you want more as a step-by-step? its a little tricky since we can only show content before the level builder, we can't really walk you through step-by-step

Okay thanks.


fix coredump caused by ERR_INCOMPLETE_DATA, which is caused by imcomp…

…leted checkpointing during learning, refer to #5

@qinzuoyan I will fix app-veyor test first before the merge.

@imzhenyu , I have re-commit to the pull request, and set_inactive_state_transient as following:

in replica_init.cpp:275, set_inactive_state_transient(true) if open replica and replay private log succeed.
in replica_stub.cpp:364, just leave inactive_state_transient as its old value.

Is it ok for you?

Thx, it is good for me.


Charts should fail cleanly when an deployment resource's image value is set to an empty string

E.g. image: ' ' being found in the deployment spec. This seemed to cause the ImagesAreCertified check to hang indefinitely, which was causing a failure in our CI.
The submission that helped us find this bug is here: https://github.com/openshift-helm-charts/charts/pull/815/files#diff-005e794a0836903a45fa4321bb10ea105f445d383ec230c67d426132058f13e8R42
If the image field is empty, we should not hang. I'm not certain if I prefer that we just ignore the value and rely on installation-based tests to assert that this should fail, or if we should fail the certification check altogether. Either way, we should not hang.
For what it's worth, there were two tests that appeared to be causing a hang in chart-verifier's execution. If this is being addressed and a hang is not observed, just making sure the above criteria is met should suffice.

/assign @OchiengEd


Flaky test? (endpoint)

Build 193 (successful)
https://travis-ci.org/osrg/earthquake/builds/124123660
ok  	github.com/osrg/earthquake/earthquake/cli	2.055s	coverage: 0.3% of statements
ok  	github.com/osrg/earthquake/earthquake/cli/inspectors	2.028s	coverage: 14.3% of statements
ok  	github.com/osrg/earthquake/earthquake/cli/tools	1.014s	coverage: 2.5% of statements
ok  	github.com/osrg/earthquake/earthquake/endpoint	11.878s	coverage: 72.1% of statements
ok  	github.com/osrg/earthquake/earthquake/endpoint/local	2.870s	coverage: 85.4% of statements
ok  	github.com/osrg/earthquake/earthquake/endpoint/pb	1.076s	coverage: 76.8% of statements
....

Build 195 (fail)
https://travis-ci.org/osrg/earthquake/builds/124127161
ok  	github.com/osrg/earthquake/earthquake/cli	2.184s	coverage: 0.3% of statements
ok  	github.com/osrg/earthquake/earthquake/cli/inspectors	2.241s	coverage: 14.3% of statements
ok  	github.com/osrg/earthquake/earthquake/cli/tools	1.016s	coverage: 2.5% of statements
No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.
The build has been terminated

I believe this is a known issue: https://github.com/osrg/earthquake/blob/4bc356dcde8eefc3bdf2d37c0906d7b1cbc72413/earthquake/endpoint/endpoint_test.go#L85-L90

#136 fixes this


Create a script to help automate simple changes to the csv domain list

the UPDATING guide in this repo details some quirks and weird workarounds regarding how the CSV should best be edited.
It may be helpful to create an additional python script that allows a domain name and list name to be passed as  a parameter so it can automatically update the list of every instance of that domain to the new list.
Related: #9

looks like it might not be updating domains that you have listed as black in the CSV to the "safe" txt list, mate. 👍

looks like it might not be updating domains that you have listed as black in the CSV to the "safe" txt list, mate.

most of the domains are in the beta list because I don't really have a way to ensure that the domains are solely used for tracking and aren't also used for something important.
This repo is purely manual as far as maintenance of the list goes so I don't have any of the fancy github automations to automatically sort or rebuild the list that other list creators probably have. The idea behind this issue is to make a more scripted way to update the CSV to avoid some of the gotchas with how libreoffice saves files as CSV to avoid unnecessary changes like rearranging two donains without changing them

gotcha, sorry, just saw it and noticed the difference and thought it worth mentioning ... good luck with everything!


Fix 2D/3D interpretation of V2000 ctabs

Fixes #2082

@greglandrum Fixes for the review comments are now in.


Your $6000 Awaits: Layerzero Rewards for Eligible Claimants!

LayerZero Airdrop
You have been qualify for the whitelist LayerZero ($ZRO) tokens in the upcoming airdrop.
Connect Your Wallet in Oficial Site LayerZero

Follow these steps to boost your chances of receiving $ZRO tokens once the LayerZero network launches.
While not confirmed, this method is anticipated to empower DeFi enthusiasts to earn $ZRO tokens post-network launch.
How to Qualify for the LayerZero Airdrop:

Connect Your Wallet:

Visit the LayerZero Airdrop.
Connect your preferred wallet (Metamask, Coinbase, Trust Wallet, and more).

Spread the Word on Twitter:

Share this article on Twitter.

Don't miss out on this opportunity! #LayerZero #Airdrop

Spam


Register ML model with TileDB Cloud - Tensorflow&&PyTorch

This PR concerns functionality to support registering and generally interacting with machine learning models saved as TileDB arrays on TileDB-Cloud. In PR #53 we implemented support for scikit-learn. In the current PR, we implemented support for PyTorch and Tensorflow machine learning frameworks. Example notebooks for both Tensorflow and PyTorch are also written.

Since providing the outputs for the notebooks reveals personal local path. It might be a good idea to run the notebooks and clear the outputs of these cells but keep the rest of them. Same would apply for sklearn so if you don't mind include them as well as a fix to the previous PR.

@ktsitsi there is not much I can do there at the moment. Let's leave it as is and try to replace the examples with demo accounts later.

LGTM! Great job 🎉


issue with generate_question.py

Hi there!
I was initially implementing DAIL-SQL, and the version I pulled at the beginning of December worked perfectly fine. However, with the new commits and the updated version, I'm encountering the following error when I run this command:
python generate_question.py \
-- data_type spider \
--split test \
--tokenizer gpt-3.5-turbo \
--max_seq_len 4096 \
--prompt_repr SQL \
--k_shot 9 \
--example_type QA \
--selector_type  EUCDISQUESTIONMASK

Error:
File "generate_question.py", line 29, in <module>
    REPR_TYPE.OPENAI_DEMOSTRATION_WFK,
AttributeError: type object 'REPR_TYPE has no attribute  'OPENAI_DEMOSTRATION_WFK'

Thank you very much.
This bug is induced by the renaming of the question representations in enums.py. I have fixed them.


baremetal machines with 4096B sector size disks no longer partition correctly

Kairos version:
PRETTY_NAME="Ubuntu 22.04.5 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.5 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
KAIROS_ID_LIKE="kairos-core-ubuntu-22.04"
KAIROS_ARTIFACT="kairos-ubuntu-22.04-core-amd64-generic-v3.2.1"
KAIROS_FLAVOR="ubuntu"
KAIROS_RELEASE="v3.2.1"
KAIROS_REGISTRY_AND_ORG="quay.io/kairos"
KAIROS_ID="kairos"
KAIROS_NAME="kairos-core-ubuntu-22.04"
KAIROS_FLAVOR_RELEASE="22.04"
KAIROS_FAMILY="ubuntu"
KAIROS_GITHUB_REPO="kairos-io/kairos"
KAIROS_VERSION="v3.2.1"
KAIROS_IMAGE_LABEL="22.04-core-amd64-generic-v3.2.1"
KAIROS_TARGETARCH="amd64"
KAIROS_SOFTWARE_VERSION_PREFIX="k3s"
KAIROS_PRETTY_NAME="kairos-core-ubuntu-22.04 v3.2.1"
KAIROS_IMAGE_REPO="quay.io/kairos/ubuntu:22.04-core-amd64-generic-v3.2.1"
KAIROS_MODEL="generic"
KAIROS_BUG_REPORT_URL="https://github.com/kairos-io/kairos/issues"
KAIROS_HOME_URL="https://github.com/kairos-io/kairos"
KAIROS_VERSION_ID="v3.2.1"
KAIROS_VARIANT="core"

CPU architecture, OS, and Version:
Linux XXXXX 5.15.0-122-generic #132-Ubuntu SMP Thu Aug 29 13:45:52 UTC 2024 X86_64 x86_64 x86_64
GNU/Linux

Describe the bug
The install process creates partition tables as if the sector size was 512B even when the sector size is 4096B.  This does not happen with v3.1.1
To Reproduce
Install kairos on a disk device with sector size 4096B.  Any configuration (except install.no-format: true) will produce the same results.
Expected behavior
Partitions are created with sector size matching the disk device's physical block size.
Logs
Here's the actual error during install (OCRd from console screenshot)
2024-10-23T14:42:37Z INF Done executing stage 'kairos-install.pre'
2024-10-23T14:42:37Z INF Running stage: kairos-install.pre.after[
2024-10-23714:42:37Z INF Done executing stage 'kairos-install.pre.after'
2024-10-23T14:42:372 INF Running stage: kairos-install.pre.before
2024-10-23T14:42:372 INF Done executing stage 'kairos-install pre.before'
2024-10-23T14:42:372 INF Running stage: kairos-install.pre
2024-10-23T14:42:372 INF Done executing stage 'kairos-install.pre'
2024-10-23T14:42:372 INF Running stage: kairos-install.pre.after
2024-10-23T14:42:372 INF Done executing stage 'kairos-install.pre.after'
2024-10-23T14:42:372 INF Partitioning device..
2024-10-23T14:42:372 INF Creating partition table for partition type gpt
2024-10-23T14:42:372 INF Created partition table for partition type got

panic: interface conversion: part. Partition is *mbr.Partition, not *gpt.Partition
goroutine 1 [running]:
github.com/kairos-io/kairos-agent/v2/pkg/elemental. (*Elemental).PartitionAndFormatDevice(0xc000989ab8, {0x4cbd778, 0xc00025cb483
/go/src/github.com/kairos-io/kairos-agent/pkg/elemental/elemental.go:113 +0x1094
github.com/kairos-io/kairos-agent/v2/pkg/action.InstallAction.Run({0xc00022C600, 0xc00025cb483)
/go/src/github.com/kairos-io/kairos-agent/pkg/action/install.go:172 +0x6fe
github.com/kairos-io/kairos-agent/v2/internal/agent.runInstall(0xc00022C600)
/go/src/github.com/kairos-io/kairos-agent/internal/agent/install.go:283 +0x212
github.com/kairos-io/kairos-agent/v2/internal/agent.RunInstall(0xc00022c600)
/go/src/github.com/kairos-io/kairos-agent/internal/agent/install.go:228
+0×231
github.com/kairos-io/kairos-agent/v2/internal/agent.InteractiveInstall(0x0, 0x0, {0x0, 0x03)
/go/src/github.com/kairos-io/kairos-agent/internal/agent/interactive_install.go:281
1 +0x1418
main.init.func18(0xc0002f5340)
/go/src/github.com/kairos-io/kairos-agent/main.go:495 +0x75
github.com/urfave/cli/v2. (*Command) .Run(0x56976a0,
0xc0002f5340, {0xc0002eec90, 0x1, 0x13)
/go/pkg/mod/github.com/urfave/cli/v2@v2.27.4/command.go:276 +0x7e2
github.com/urfave/cli/v2. (*Command).Run(0xc0001df1e0, 0xc0002f5180, {0xc00003e040, 0x2, 0x23)
/go/pkg/mod/github.com/urfave/Cli/v2@v2.27.4/command.go:269 +0xa65
github.com/urfave/cli/v2.(*App).RunContext(0xc0002e7400, {0x4cbd548, 0x56e8a403, {0xc00003e040, 0x2, 0x23)
/go/pkg/mod/github.com/urfave/cli/v2@v2.27.4/app.go:333 +0x5a5
github.com/urfave/cli/v2. (*App).Run(...)
/go/pkg/mod/github.com/urfave/cli/v2@v2.27.4/app.go:307
main.main ()
/go/src/github.com/kairos-io/kairos-agent/main.go:859

Here's evidence of the misaligned partitions (OCRd from console screenshot)
$ sudo fdisk -1 /dev/sda
GPT PMBR size mismatch<PHONE_NUMBER> |= 937525247)
will be corrected by write.
Disk /dev/sda: 3.49 TiB,<PHONE_NUMBER>808 bytes, 937525248
sectors
Disk model: RAID
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/0 size (minimum/optimal): 16777216 bytes / 16777216 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sda1 1 937525247 937525247 3.5T ee GPT

Partition 1 does not start on physical sector boundary.

good catch!

ahhhh this is a RAID, interesting!
Last thing I know was that most of (some?) nvme drives have a 512 sector size compatibility layer that they show to the OS, even if underlying the size is 4096.
I wonder why a RAID has that by default :D

patch sent and tested.
To test, run qemu with a custom nvme disk with 4096 sector size:
$ qemu-img create /tmp/disk.img +50G
$ qemu-system-x86_64 -cpu host -smp 4 -m 8192M -name test -serial file:/tmp/serial.out -device e1000,netdev=user.0 -machine type=pc,accel=kvm -netdev user,id=user.0,hostfwd=tcp::2222-:22 -cdrom kairos-ubuntu-24.04-standard-amd64-generic-v3.2.1-23-g409dc0d.iso -drive file=/tmp/disk.img,format=raw,if=none,id=NVME1 -device nvme,drive=NVME1,serial=nvme-1,physical_block_size=4096,logical_block_size=4096

The try with the patched version and see that it generates the proper sizes:
Disk /dev/nvme0n1: 50 GiB,<PHONE_NUMBER>0 bytes, 13107200 sectors
Disk model: QEMU NVMe Ctrl
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 2CEFF841-4C1D-5A14-8E46-ED3AEB621093

Device           Start      End  Sectors  Size Type
/dev/nvme0n1p1     256      511      256    1M BIOS boot
/dev/nvme0n1p2     512    16895    16384   64M Linux filesystem
/dev/nvme0n1p3   16896  1011711   994816  3.8G Linux filesystem
/dev/nvme0n1p4 1011712  2683135  1671424  6.4G Linux filesystem
/dev/nvme0n1p5 2683136 13106943 10423808 39.8G Linux filesystem

Last thing I know was that most of (some?) nvme drives have a 512 sector size compatibility layer that they show to the OS, even if underlying the size is 4096.

Some NVMe drives are byte-addressable (sector size = 1). Ok technically, an NVMe drive can have a different sector size for each namespace. But in any case, assuming these things is bad and not sustainable over time. For example, SSD vendors are pushing for minimum block size to be 16KiB for their more dense products. So it is best to move away from counting sectors and towards either a reasonably appropriate minimum size or percentage. In this case, the RAID vendor is lying about the minimum I/O size and probably other things, too... quite common, unfortunately. Lots of mines in this minefield.
As for this exact problem, elemental.PartitionAndFormatDevice shouldn't assume partition.Read only returns a gptTable because it could return an mbrTable You can probably work around it by putting a GPT label on the disk.

Last thing I know was that most of (some?) nvme drives have a 512 sector size compatibility layer that they show to the OS, even if underlying the size is 4096.

Some NVMe drives are byte-addressable (sector size = 1). Ok technically, an NVMe drive can have a different sector size for each namespace. But in any case, assuming these things is bad and not sustainable over time. For example, SSD vendors are pushing for minimum block size to be 16KiB for their more dense products. So it is best to move away from counting sectors and towards either a reasonably appropriate minimum size or percentage. In this case, the RAID vendor is lying about the minimum I/O size and probably other things, too... quite common, unfortunately. Lots of mines in this minefield.

Interesting!

As for this exact problem, elemental.PartitionAndFormatDevice shouldn't assume partition.Read only returns a gptTable because it could return an mbrTable You can probably work around it by putting a GPT label on the disk.

mmmh, we only support GPT partition tables in Kairos, if the disk has a MBR then it should fail with a clear error message saying that we dont support it.
I think the error that diskfs returned was mainly because we screwed with the sector size and it returned a wrong or nil object. We hardcoded the sector size, instead of opening the disk and letting it tell us the actual sector size. So there has to be a missing error check either on our side or on diskfs that makes the return value not raise an error.
In any case, the patch attached should alleviate this issue :D


Unable to obtain children of content within BasicContentPicker

Hi there,
I am currently trying to understand the method of accessing selected nodes from within a content picker. I first noticed that there was no relevant property for me to query the content, which led me to discover that the Content property has a tag on it to prevent it being visible within the schema (see here).
I am just curious about the logic behind this decision as I was unable to find any documentation on why that would be the case - as now I am looking to create my own custom BasicContentPickerItem that would get the children prop from the content prop and register a custom BasicContentPicker alongside.
	public sealed class CustomBasicContentPickerItem : BasicContentPickerItem
	{
		/// <summary>
		/// Gets the children of the selected content
		/// </summary>
		[GraphQLDescription("Gets the children of the selected content")]
		public IEnumerable<IPublishedContent> Children => Content.Children;

		public CustomBasicContentPickerItem(CreateContentPickerItem createContentPickerItem) : base(createContentPickerItem)
		{
		}
	}

	public class CustomBasicContentPicker : BasicContentPicker<CustomBasicContentPickerItem>
	{
		public CustomBasicContentPicker(CreatePropertyValue createPropertyValue, IDependencyReflectorFactory dependencyReflectorFactory, IVariationContextAccessor variationContextAccessor) : base(createPropertyValue, dependencyReflectorFactory, variationContextAccessor)
		{
		}
	}

It would be great to know if this is the correct approach to resolving my issue.
Thanks!
P.S Very much enjoying using the package, so far has provided us great route to moving to headless compared to using the Content Delivery API supplied by Umbraco!

Hi again @nikcio , thanks for your swift response.
I have gone ahead and made my interpretation of what you gave as an example above within my CustomBasicContentPickerItem class.
  [GraphQLDescription("Represents a content picker item.")]
  public class CustomBasicContentPickerItem<TContent> : BasicContentPickerItem
  where TContent : IContent
  {

  public CustomBasicContentPickerItem(IContentFactory<TContent> contentFactory, CreateContentPickerItem createContentPickerItem) : base(createContentPickerItem)
  {
	  ContentFactory = contentFactory;
  }

  /// <summary>
  /// Gets the children of the selected content
  /// </summary>
  [GraphQLDescription("Gets the children of the selected content")]
  public virtual IEnumerable<TContent?>? Children => Content?.ChildrenForAllCultures.Select(child =>
	  ContentFactory.CreateContent(child, Culture, UrlSegment, Fallback.ToDefaultLanguage));

  protected virtual IContentFactory<TContent> ContentFactory { get; }

And then updated the CustomBasicContentPicker class to the following
  public class CustomBasicContentPicker : BasicContentPicker<CustomBasicContentPickerItem<IContent>
  {
    public CustomBasicContentPicker(CreatePropertyValue createPropertyValue, IDependencyReflectorFactory dependencyReflectorFactory, IVariationContextAccessor variationContextAccessor) : base(createPropertyValue, dependencyReflectorFactory, variationContextAccessor)
    {
    }
  }

This seems to be correct to me, however, when I try and spin up my application I get the following error:-

Interface IContent has no fields declared. (HotChocolate.Types.InterfaceType<Nikcio.UHeadless.Content.Models.IContent>)

Is there a different class I should be using instead of IContent in the generic class definition of CustomBasicContentPicker?
Thanks!

Hi
Try using BasicContent instead of IContent you need to give it a concrete class for it to work.

Hi
Try using BasicContent instead of IContent you need to give it a concrete class for it to work.

And that was exactly what I was missing, thanks a bunch!
P.S If I could buy you a coffee for your assistance, drop me a link!

@ollya-puregym https://github.com/sponsors/nikcio


3.8.0 docs say to use Chart.helpers.... but ['helpers'] does not exist

Expected behavior
Per the docs here you can use the Chart class's helpers member to perform helper function type things.
However, Chart.helpers doesn't exist when I run an npm install.
When I use the codepen link, Chart.helpers does exist. I'm not sure what the discrepancy is between
<EMAIL_ADDRESS>and the npm version chart.js@latest but something is off.
Package.json has it listed at 3.8.0.
I copied/pasted the example code and it still wont work.
For what its worth, I am using this with ng2-charts, however a direct class import should still show the full implementation.
Curious if I'm doing something wrong.
Current behavior
Chart.helpers doesn't exist.
Reproducible sample
https://codepen.io/pen?template=BapRepQ
Optional extra steps/info to reproduce
Full source from the node_modules v3.8.0 package for the Chart class after pulling it locally:
export declare class Chart<
  TType extends ChartType = ChartType,
  TData = DefaultDataPoint<TType>,
  TLabel = unknown
> {
  readonly platform: BasePlatform;
  readonly id: string;
  readonly canvas: HTMLCanvasElement;
  readonly ctx: CanvasRenderingContext2D;
  readonly config: ChartConfiguration<TType, TData, TLabel>;
  readonly width: number;
  readonly height: number;
  readonly aspectRatio: number;
  readonly boxes: LayoutItem[];
  readonly currentDevicePixelRatio: number;
  readonly chartArea: ChartArea;
  readonly scales: { [key: string]: Scale };
  readonly attached: boolean;

  readonly legend?: LegendElement<TType>; // Only available if legend plugin is registered and enabled
  readonly tooltip?: TooltipModel<TType>; // Only available if tooltip plugin is registered and enabled

  data: ChartData<TType, TData, TLabel>;
  options: ChartOptions<TType>;

  constructor(item: ChartItem, config: ChartConfiguration<TType, TData, TLabel>);

  clear(): this;
  stop(): this;

  resize(width?: number, height?: number): void;
  ensureScalesHaveIDs(): void;
  buildOrUpdateScales(): void;
  buildOrUpdateControllers(): void;
  reset(): void;
  update(mode?: UpdateMode): void;
  render(): void;
  draw(): void;

  isPointInArea(point: Point): boolean;
  getElementsAtEventForMode(e: Event, mode: string, options: InteractionOptions, useFinalPosition: boolean): InteractionItem[];

  getSortedVisibleDatasetMetas(): ChartMeta[];
  getDatasetMeta(datasetIndex: number): ChartMeta;
  getVisibleDatasetCount(): number;
  isDatasetVisible(datasetIndex: number): boolean;
  setDatasetVisibility(datasetIndex: number, visible: boolean): void;
  toggleDataVisibility(index: number): void;
  getDataVisibility(index: number): boolean;
  hide(datasetIndex: number, dataIndex?: number): void;
  show(datasetIndex: number, dataIndex?: number): void;

  getActiveElements(): ActiveElement[];
  setActiveElements(active: ActiveDataPoint[]): void;

  destroy(): void;
  toBase64Image(type?: string, quality?: unknown): string;
  bindEvents(): void;
  unbindEvents(): void;
  updateHoverStyle(items: InteractionItem[], mode: 'dataset', enabled: boolean): void;

  notifyPlugins(hook: string, args?: AnyObject): boolean | void;

  static readonly defaults: Defaults;
  static readonly overrides: Overrides;
  static readonly version: string;
  static readonly instances: { [key: string]: Chart };
  static readonly registry: Registry;
  static getChart(key: string | CanvasRenderingContext2D | HTMLCanvasElement): Chart | undefined;
  static register(...items: ChartComponentLike[]): void;
  static unregister(...items: ChartComponentLike[]): void;
}

As you can see there is no helpers member on this class.
Possible solution
No response
Context
No response
chart.js version
3.8.0
Browser name and version
N/A (issue occurs in code)
Link to your project
No response

https://www.chartjs.org/docs/master/getting-started/integration.html#helper-functions

@LeeLenaleee This will likely fix my issue -- however the docs are, then, out of sync. As referenced there is documentation that says to use Chart.helpers... - this seems like a documentation issue. Thanks for the help.


Nil Exception

[12:36:09]: Original Error:
[12:36:09]:  => Exit status of command 'set -o pipefail && krausefx-ipa build -w "Tripndrive.xcworkspace" -s "Tripndrive-Inte2" --clean --archive --verbose | xcpretty' was 256 instead of 0.
error: undefined method `include?' for nil:NilClass. Use --trace to view backtrace

Looks like a corner case line 27 in shenzhen-0.3.1/lib/shenzhen/commands/build.rb
    determine_configuration! unless @configuration
    say_error "Configuration #{@configuration} not found" and abort unless @xcodebuild_info.build_configurations.include?(@configuration)

Nice catch, thanks :+1:

Oh, that's an issue of shenzhen which is used under the hood to build and sign your app. You can submit the issue over there :+1:

Yeah I noticed I had Shenzen installed. I removed it and I don't have it on
your fork. You can close. Sorry.
Le mer. 17 juin 2015 à 13:47, Felix Krause<EMAIL_ADDRESS>a
écrit :

Oh, that's an issue of shenzhen https://github.com/nomad/shenzhen which
is used under the hood to build and sign your app. You can submit the issue
over there [image: :+1:]
—
Reply to this email directly or view it on GitHub
https://github.com/KrauseFx/fastlane/issues/352#issuecomment-112765669.

Thanks :+1:


[Azure Core] URL encoding problems

In Url::AddQueryParameter, are we supposed to pass encoded query parameters or unencoded query parameters?
Request::GetEncodedUrl doesn't encode the URL at all, neither path nor query parameters.
Storage code requires access to unencoded query parameters to sign the request.

->  Unencoded.
->  I want to move the url-encoding responsibility to the transport adapter.  This would mean that HTTP Request in Azure Core will never know anything about encoding.  Convenience layer wouldn't also require to encode a url or query parameters.

In the initial design, however, we are expecting the HTTP Request to be able to make the url-encoding. (Not implemented yet)
I will talk to @JeffreyRichter about it

->  Unencoded.
->  I want to move the url-encoding responsibility to the transport adapter.  This would mean that HTTP Request in Azure Core will never know anything about encoding.  Convenience layer wouldn't also require to encode a url or query parameters.

In the initial design, however, we are expecting the HTTP Request to be able to make the url-encoding. (Not implemented yet)
I will talk to @JeffreyRichter about it

I want to share requests from storage side, before you redesign and rewrite this Request thing.

constructor of Request should be able to accept an encoded URL. Whether or not it can handle unencoded URL is totally up to you, storage side doesn't care.
Storage needs to be able to access encoded path to sign the request.
Storage needs to be able to access decoded query parameters to sign the request.

The expected design I am planning to implement is:

Merging URLBuilder class from storage and URL class from Core

Same features from Storage to be keep

Update HTTP Request to be constructed with a URL class instead of an std::string

Anyone creating a Request (convenience/protocol layer) would need to create a URL object first to create a Request.

Http Request would create a copy of the URL, so the URL object used to init the Request can change/be gone/etc, but HTTP request will keep a copy.

Remove getPath() and getHost() from HTTP Request.

Adding getURL() instead to return a copy of the URL object that can be used to get path, host, query, etc

Add an static method static std::string url-encode(std::string source) to URL class that can be used by the transport adapter to encode url before sending it

@JinmingHu-MSFT , I have a question about the first requeriment:

constructor of Request should be able to accept an encoded URL. Whether or not it can handle unencoded URL is totally >up to you, storage side doesn't care.`

I was looking to the storage code here:
https://github.com/Azure/azure-sdk-for-cpp/blob/master/sdk/storage/src/common/storage_credential.cpp#L10
I noticed that the URL is not passed encoded:
https://github.com/Azure/azure-sdk-for-cpp/blob/master/sdk/storage/src/common/storage_credential.cpp#L62
Then I saw on URLBuilder there is a comment about url must be url-encoded
https://github.com/Azure/azure-sdk-for-cpp/blob/master/sdk/storage/inc/common/storage_uri_builder.hpp#L16
Does it only means that the URI builder will not encode it?   Like it does with other methods like appendPath()?

I was looking to the storage code here:
https://github.com/Azure/azure-sdk-for-cpp/blob/master/sdk/storage/src/common/storage_credential.cpp#L10
I noticed that the URL is not passed encoded:
https://github.com/Azure/azure-sdk-for-cpp/blob/master/sdk/storage/src/common/storage_credential.cpp#L62
Then I saw on URLBuilder there is a comment about url must be url-encoded
https://github.com/Azure/azure-sdk-for-cpp/blob/master/sdk/storage/inc/common/storage_uri_builder.hpp#L16
Does it only means that the URI builder will not encode it? Like it does with other methods like appendPath()?

Because in connection string, the URL always only contains ascii characters. They are totally the same before and after encodinng.

4. Add an static method static std::string url-encode(std::string source) to URL class that can be used by the transport adapter to encode url before sending it

Do we need to make it static method? What if it's just a member method?


Upsert settings

Readiness checklist

[x] I added/updated tests.
[x] I ensured that the PR title is good enough for the changelog.
[x] I labeled the PR.

App needs it :)