⚠ Bofrost.be has degraded performance

In 808c92e, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1029 ms

Resolved: Bofrost.be performance has improved in f08dc0b after 20 minutes.


[assets-controllers] Prevent redudant token rate updates

The TokenRatesController will unnecessarily update the token rates in some situations. Efforts have been made in the past to reduce the occurrences of this, but a few remain.
One example is that updates to allDetectedTokens can trigger a token rate update, even when the list of token addresses actually used remains unchanged. The code as written assumes that allDetectedTokens is always updated immutably, but that doesn't appear to be the case (and even if it was, changes to metadata would still unnecessarily trigger updates).
We can solve this by calculating the list of token addresses each time we notice a state change that might require an update. We can compare the list of addresses before and after the change to determine whether an update is needed. This should effectively prevent all unnecessary token rate updates from being triggered.

I'm willing to take this on after I finish with #3600.


fix: Melodic support + backwards compatibility

Change of Observation class member cloud type.

ping

I've never seen that before, good find!


add rationale to docs

I am curious what the main benefit to running this server instead of the default that axum crate uses.
Why should someone consider using this crate in their web API?

Main reason is to use TLS easily and efficiently. Limitations of hyper::server::Server makes it really hard and tricky to efficiently use TLS. This crate solves the problem by providing alternative high level (hyper) server which has a different API.


feat: improve make_date performance

Which issue does this PR close?
#9089. It may not close it but could be a stepping stone towards more optimal version.
Rationale for this change
The change shows significant bench performance improvement

Baseline/before

make_date_col_col_col_1000
                        time:   [12.829 µs 12.866 µs 12.907 µs]
Found 12 outliers among 100 measurements (12.00%)
  4 (4.00%) low mild
  3 (3.00%) high mild
  5 (5.00%) high severe

make_date_scalar_col_col_1000
                        time:   [11.800 µs 11.830 µs 11.866 µs]
Found 13 outliers among 100 measurements (13.00%)
  1 (1.00%) low severe
  2 (2.00%) low mild
  6 (6.00%) high mild
  4 (4.00%) high severe

make_date_scalar_scalar_col_1000
                        time:   [10.730 µs 10.755 µs 10.781 µs]
Found 10 outliers among 100 measurements (10.00%)
  9 (9.00%) high mild
  1 (1.00%) high severe

make_date_scalar_scalar_scalar
                        time:   [1.0802 µs 1.0936 µs 1.1060 µs]

After

make_date_col_col_col_1000
                        time:   [5.9822 µs 6.0034 µs 6.0267 µs]
                        change: [-53.494% -53.287% -53.100%] (p = 0.00 < 0.05)
                        Performance has improved.

make_date_scalar_col_col_1000
                        time:   [6.2536 µs 6.2686 µs 6.2840 µs]
                        change: [-47.052% -46.878% -46.700%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 5 outliers among 100 measurements (5.00%)
  2 (2.00%) low mild
  3 (3.00%) high mild

make_date_scalar_scalar_col_1000
                        time:   [6.5579 µs 6.5728 µs 6.5881 µs]
                        change: [-39.400% -39.096% -38.810%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) high mild

make_date_scalar_scalar_scalar
                        time:   [1.1023 µs 1.1104 µs 1.1181 µs]
                        change: [-0.3478% +0.9142% +2.2206%] (p = 0.16 > 0.05)
                        No change in performance detected.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) low mild

What changes are included in this PR?
Changed the way the value is looked up in the array - instead of looking up each value by converting to PrimitiveArray, pre-created the instance of PrimitiveArray and used that in the loop
Are these changes tested?
Yes, all tests and example runs are passing
Are there any user-facing changes?
No user and API changes, tried to match the behavior to what it was (including returning errors)

I think this PR would be good to go once CI passes

I also ran the benchmarks:
git checkout a6ef1bec480872f15f83628a7fb8c9bb2722cd49 # merge-base

results are basically the same as yours:
alamb@aal-dev:~/arrow-datafusion3$ cargo bench --bench make_date
   Compiling datafusion-physical-expr v35.0.0 (/home/alamb/arrow-datafusion3/datafusion/physical-expr)
    Finished bench [optimized] target(s) in 2m 46s
     Running benches/make_date.rs (target/release/deps/make_date-4622d805a0644623)
Gnuplot not found, using plotters backend
make_date_col_col_col_1000
                        time:   [10.392 µs 10.399 µs 10.410 µs]
                        change: [-57.725% -57.673% -57.624%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 7 outliers among 100 measurements (7.00%)
  3 (3.00%) high mild
  4 (4.00%) high severe

make_date_scalar_col_col_1000
                        time:   [11.036 µs 11.048 µs 11.060 µs]
                        change: [-48.876% -48.746% -48.575%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) high severe

make_date_scalar_scalar_col_1000
                        time:   [11.386 µs 11.400 µs 11.415 µs]
                        change: [-37.743% -37.655% -37.562%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe

make_date_scalar_scalar_scalar
                        time:   [1.2737 µs 1.2759 µs 1.2783 µs]
                        change: [+2.3366% +2.7260% +3.2257%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 17 outliers among 100 measurements (17.00%)
  2 (2.00%) low severe
  2 (2.00%) low mild
  4 (4.00%) high mild
  9 (9.00%) high severe

🚀

Yes, I had some regression on all scalar test (make_date_scalar_scalar_scalar) but I managed to improve it with if/else - it's minimal now compared to improvements you get when at least one is an array

The

variable could now be removed and the for loop could just use len.unwrap() I think.

The
let array_size = if is_scalar { 1 } else { len.unwrap() };
variable could now be removed and the for loop could just use len.unwrap() I think.

Sure, I can do that but array_size is also used in the 3 calls to to_primitive_array. Alternatively, I could just move the variable into else as let array_size = len.unwrap();. What would be your preference @Omega359 ?

Sure, I can do that but array_size is also used in the 3 calls to to_primitive_array. Alternatively, I could just move the variable into else as let array_size = len.unwrap();. What would be your preference @Omega359 ?

Hmm, I think I missed that - the downside of looking at code outside of an IDE without proper highlighting. Please ignore my comment then :)
I have to see if there is a way to look at and comment on these pull requests easily in rust rover. Hopefully they've brought that functionality over from IntelliJ IDEA.

I've not tried RustRover, mainly work with VSCode. I don't have JetBrains licenses and though RR is free for now, I don't want to put time into learning something I won't be able to use once it becomes paid-for 🤷

I have to see if there is a way to look at and comment on these pull requests easily in rust rover. Hopefully they've brought that functionality over from IntelliJ IDEA.

I believe this feature is present (though I normally just use the github UI or else check out the PR directly via gh pr checkout <url>

I plan to merge this in tomorrow unless there are other comments

Thanks again @r3stl355  and @Omega359


:arrow_up:[x.x.o]: bump

Codecov Report

Merging #986 (1d6a742) into main (6f6d6e4) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main      #986   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           11        11
  Lines           55        55
  Branches         9         9
=========================================
  Hits            55        55

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


PyPi mix version and platform if dash present.

I guess this is a PyPI bug, but we should check for it, that version match pep 440, though I don't findknow where we can find a pep 440 version parser.
with __version__ = '0.0.4-dev0': got requests.exceptions.HTTPError: 400 Client Error: Binary wheel for an unsupported platform
$ flit wheel --upload
Created dist/SPQR-0.0.4-dev0-py3-none-any.whl                                                                                I-flit.wheel
Using repository at https://pypi.python.org/pypi                                                                                I-flit.upload
Uploading dist/SPQR-0.0.4-dev0-py3-none-any.whl...                                                                                I-flit.upload
Starting new HTTPS connection (1): pypi.python.org                                                                        I-requests.packages.urllib3.connectionpool
Traceback (most recent call last):
  File "/Users/bussonniermatthias/Library/Python/3.4/bin/flit", line 4, in <module>
    main()
  File "/Users/bussonniermatthias/Library/Python/3.4/lib/python/site-packages/flit/__init__.py", line 67, in main
    repo=args.repository).build()
  File "/Users/bussonniermatthias/Library/Python/3.4/lib/python/site-packages/flit/wheel.py", line 152, in build
    self.post_build()
  File "/Users/bussonniermatthias/Library/Python/3.4/lib/python/site-packages/flit/wheel.py", line 144, in post_build
    do_upload(self.wheel_file, self.metadata, self.repo)
  File "/Users/bussonniermatthias/Library/Python/3.4/lib/python/site-packages/flit/upload.py", line 164, in do_upload
    upload_wheel(file, metadata, repo)
  File "/Users/bussonniermatthias/Library/Python/3.4/lib/python/site-packages/flit/upload.py", line 133, in upload_wheel
    resp.raise_for_status()
  File "/usr/local/lib/python3.4/site-packages/requests/models.py", line 851, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Binary wheel for an unsupported platform

If we want a simpler fix, I'd guess that just replacing - with _ might work.

or by .. I would still like a way to match the version string to pep 440.

It should be simple enough to implement something based on the normalisation rules in the PEP, right?

On Jun 1, 2015, at 10:09, Thomas Kluyver<EMAIL_ADDRESS>wrote:
It should be simple enough to implement something based on the normalisation rules https://www.python.org/dev/peps/pep-0440/#normalization in the PEP, right?

Sure but I was thinking this might have been implemented somewhere else.

—
Reply to this email directly or view it on GitHub https://github.com/takluyver/flit/issues/34#issuecomment-107641679.

I think this should have been fixed by my recent changes for #53. We can reopen if there's still a problem.


Html extractor

Describe the problem you are trying to solve
Exctract data from an html page. Lots of older sites with valuabke data dont have an api. Extracting html with a regex is possible but very inconvenient
Describe the solution you'd like
An html extractor whete you would have an api similat yo css selectors
Notes

If this is an implementation of an RFC provide a URL
to the RFC this enhancement implements.
If this is a major enhancement or contribution an RFC may be required. It is ok to submit an enhancement
first and our core team will assist with major contributions. In general, major contributions should be
discussed with the community before submission.

This is quite an interesting idea, I like it! It goes a bit further and might be worth a RFC as there are some extra things to consider. When we have an HTML extractor, we will need a structural representation of the data once it's extracted. That leads to an HTML codec that both decodes HTML into this structure and encodes this structure into an HTML page (which could be super cool to be honest).
@happysalada how do you feel about throwing an RFC up on the topic?

Let me try to carve some time for this.

Awesome, thanks!


Configuration options

I am considering adding several configuration options to refreshVersions, and I'd like to gather what other options users of this project might want. This will influence the design of the configuration options API.
Input/thoughts/suggestions are welcome!
Options to have

Timeout before warning/blaming slow repo/url/connection [unit: seconds?] [allow per-repository-override?]
Timeout before giving up [unit: seconds?] [allow per-repository-override?]
Whether to list all updated versions in versions.properties, or only list latest versions per stability level (at the time of writing, the latter is the current only behavior).

Configuration options API design
There's a few solutions to offer configuration of refreshVersions options listed above.
Not all solutions provide the same experience and possibilities when it comes to renaming, backwards compatibility…
1. Properties file options
We can use the java .properties files. It is simple, and its usage a common practice in the Gradle ecosystem.
These would be namspaced to allow detecting any obsoleted keys without having the keep the entire list.
Example:
refreshVersions.obsoleteOption=whatever
refreshVersions.warn_slow_after_seconds=2
refreshVersions.repo_connection_timeout_seconds=10

We can have options specified at the top of the versions.properties file
Pros:

A change in config options doesn't fail the build or gradle sync/import
Local/temporary/contextual overriding can be made straightforward

Cons:

An error doesn't fail the build or gradle sync/import, allowing misconfiguration to be ignored
Discoverability
All strings, no type safety
Hierarchy is verbose (need to repeat key "sub-namespace")

2. Kotlin DSL
Kotlin DSL configuration would take place in the settings.gradle.kts file, as an extra argument of the bootstrapRefreshVersions function.
How it would look like is not clear yet because there's concerns regarding API stability and impact of changes for this approach.
Pros:

Hierarchy is easy with nested DSLs
Discoverability
Type safety
Users can write custom logic that affects the config options if they need it

Cons:

A non backwards compatible change in config options will fail the build or gradle sync/import
Local/temporary overriding is less straightforward
Not compatible with Groovy DSL unless extra effort is spent for it. (Though migrating just settings.gradle is easier than migrating build.gradle files)

I would perfer the Kotlin DSL solution because it opens the paths to computations/logic in the configuration (e.g. produce a list from a pattern and some exceptions instead of listing all).  I understand that this can be abused (which was my initial concern when we moved from Maven to Gradle), but overall looks to me that the benefits outweigh the downsides.  Otherwise, I can already see projects that generate the properties file.
On the topic of configuration options: the current "latest version based on stability" works mostly well.  But some libs have unusual numbering conventions where it does not work.  It would be nice to be able to provide per-lib "filters" (e.g. regex) overrides for these.  One downside is that this might lead to hiding major upgrades that do not pass the filter.  Showing both "filtered" and "unfiltered" would help here, which is what look to me an extension to your "show latest version for all stability levels" idea from above.
Hope this helps a bit and makes sense.

@nkiesel Thanks for your thoughts, I'm still not sure a Kotlin DSL is the right approach, but your point of view gives food for thoughts. I'll keep this issue updated as I'm starting to implement something (which might be after the summer).
Can you link versions of libraries that do not play well with the current implementation of the latest most stable strategy?

I tend to favor declarativity when possible, so a well documented configuration file may work better in this case.
I suggest however to use a mixed approach: express the configuration in a Kotlin API, and allow loading of options via Konf. This way you get support for rich configurations (e.g. in YAML) and users can always fallback to Kotlin if they need to.

YAML is very error-prone as it cannot be automatically formatted and just an extra space can break it in hard to read way.
I'm forced to use it in GitHub Actions, and that's more than enough for this project.

It's a standard way of using rich configurations, it's not by chance that GH Actions uses it. Off the tip of my head, the the same do Travis CI and Jekyll, it's a rather common configuration format, I used it extensively, and plan to keep using it in future.
Moreover, if you go through Konf you get support for multiple sources (YAML, JSON, TOML, and others); so, although I don't see why would you need automatic formatting for a configuration file, by going this way you simply let the final user pick whatever file format sie prefers, and the tool gets the same internal Kotlin representation anyway.

The fact that it's used by many is not an argument I consider. That'd just keep the trend, and I do not want to keep it going since it has intrinsic pitfalls.
I want it away from the work I commit to maintain.

Well, I believe that disregarding popularity at once may not be wise in general, it at least raises the question of why do many use something if it got intrisic pitfalls (shared with any language with semantic indentation, hereby including Python and the Markdown I'm writing now). Maybe you are right and there is a huge mass of careless designers around, or maybe those pitfalls are not so deep after all.
(By the way, I got a similar feeling towards other very common technologies, so I understand the aversion, don't take the comment as an attempt at patronizing you, it's not).

Anyway, let me discard YAML at once and revisit the solution I suggested, that revolves around Konf, which is format agnostic.
See it as a possibility for implementing your first proposal, as property files are supported, yet potentially avoiding the issue of hierarchy verbosity.
You won't maintain any YAML, so the solution can be considered despite your aversion for the format -- unless you find that also JSON / TOML / XML / HOCON are intrisically bad (yet at that point I'd be puzzled on why the property files are not). If you find it dangerous, or a source for other people bothering you with support request due to them using YAML, you could exclude it from the supported formats (by simply not including it).
You'd get almost as free lunch the possibility to extend / enhance the configuration in future, as well as leaving to end users the choice of the specific configuration format matching their taste, among the set you identify as suitable (having discarded YAML, I invite you to consider TOML, still rich, yet unaffected by semantic indentation as far as I remember.

Too many configuration options is a minus, not a plus.
We can start by documenting what we already have.

see https://github.com/jmfayard/refreshVersions/wiki/Draft:-configuration-options


[BUG] Unknown e2e type: msmsg

Describe the bug
Error logged: "Unknown e2e type: msmsg"
This is the line that throws the error:
throw new Error(Unknown e2e type: ${e2eType});
This is the full log:
{"level":50,"time":1716567616259,"pid":2188,"hostname":"ip-172-31-81-30","key":{"remoteJid":"xxx@s.whatsapp.net","fromMe":false,"id":"xxxsss"},"err":{"type":"Error","message":"Unknown e2e type: msmsg","stack":"Error: Unknown e2e type: msmsg\n    at decrypt (//baileys/lib/Utils/decode-wa-message.js:147:39)\n    at baileys/lib/Socket/messages-recv.js:572:23\n    at baileys/lib/Utils/make-mutex.js:18:42\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async Promise.all (index 0)\n    at async handleMessage (baileys/lib/Socket/messages-recv.js:570:9)\n    at async processNodeWithBuffer (baileys/lib/Socket/messages-recv.js:688:9)"},"msg":"failed to decrypt message"}
Note: I have a modified decode-wa-message.js, so line decode-wa-message.js:147:39 won't match.
To Reproduce
Steps to reproduce the behavior:
Don't know how to reproduce it.
I just got 15 errors like this on the log on a production environment, don't know the root cause.
Expected behavior
No error logged.
Environment (please complete the following information):

Is this on a server? yes

What do your connectOptions look like?
const { version, isLatest } = await fetchLatestBaileysVersion()
const sock = makeWASocket({
version,
logger,
printQRInTerminal: false,
mobile: false,
auth: {
creds: state.creds,
keys: makeCacheableSignalKeyStore(state.keys, logger),
},
msgRetryCounterCache,
generateHighQualityLinkPreview: true,
// ignore broadcast and newsletter messages.
shouldIgnoreJid: jid => !jid || isJidBroadcast(jid) || isJidNewsletter(jid),
// implement to handle retries & poll updates
getMessage,
shouldSyncHistoryMessage: () => true
})
 async function getMessage(key)  {
     if(store) {
         const msg = await store.loadMessage(key.remoteJid, key.id)
         return msg?.message || undefined
     }
     // only if store is present
     return proto.Message.fromObject({})
 }

const isJidNewsletter = (jid: string | undefined) => (jid?.endsWith('@newsletter'))

Do you have multiple clients on the same IP? yes, 3 clients.
Are you using a proxy? no.

Additional context

yo

wroking on this

@PurpShell glad to help, but I don't know exactly where to start.
I guess bugfix should be here: https://github.com/oscarguindzberg/Baileys/commit/c834bc563403bfcbfe981ffb8560068c0fd5045c
I am familiar with baileys development, so I still don't know:

how to reproduce the bug
the contents of variables
what msmsg means
how to process the message when e2eType=='msmsg'

I could run the commit with extra console.log() on my prod env until I the event is reproduced.
any thoughts?

I will be porting this from whatsmeow to node soon!
tulir/whatsmeow#615


Unable to install icevision in google colab

I tried to install icevision in colab using:
!wget https://raw.githubusercontent.com/airctic/icevision/master/icevision_install.sh
!bash icevision_install.sh cuda11 master
!pip install sahi<0.10

and it used to worked just fine but now it takes a lot of time and does not correctly install.

Same problem. Even the quick start tutorial has the same problem.

Same here.

Solved.
This is because the colab update the python to 3.10.
It have appeared previously when the python update from 3.9 to 3.10
you can use through this way:
First, you can click Tool → Command palette
and then, input "use fallback runtime version "
this will solve your problem until the wheel update.
But This solution seems to be a temporary solution.

I tried implementing the same method as yours but it

Solved.
This is because the colab update the python to 3.10. you can use through this way: First, you can click Tool → Command palette and then, input "use fallback runtime version " this will solve your problem until the wheel update.
But This solution seems to be a temporary solution.

I tried the same but the version being used is still Python 3.10.12


Windows 10 ARM iso hung at the boot screen

Yeah, the installer got hung at the boot logo for a long time. I left it for hours and still nothing. Any ideas?

Hello and welcome to the repo!

Which version of Windows ARM are you using (like the build, ...)? Can you provide more details like where did you get the iso from (did you make it using uupdump.ml or you got it from the internet).
Can you provide the QEMU version, the command line that you passed to QEMU?

Thank you!

Update: I happened to use the newer version of 10 ARM (version 2004) which doesn't work. I had to use version 1909 to make it work, but it still BSODs when booting the installer with a ACPI_ERROR blue screen. I looked in the BIOS and the RAM amount reported is 0MB.

Well, I also tried that firmware (some years ago) but if you feel is just old for now, you can get the new prebuilt UEFI firmware online. You can get one from here. Remember to choose AARCH64 version for QEMU.
Also, there is a bug in qemu virt machine (this have been fixed in 5.x). You said you use the QEMU from 2018, so it's equal to version 3.x. In that case, virt-2.12 seems to work for Windows ARM. If it still results in error, try disabling highmem and enable EL2 by using -machine virt-2.12,highmem=off,virtualization=on and see if it works. (I wonder why you choose this QEMU version)
I have read somewhere (didn't remember to save the link, sorry) that Windows 20H1 arm64 and later doesn't work on QEMU without KVM (virtualization, not emulation). So if you want some recent Windows arm64 on QEMU, you should use KVM (you can try on some hardware like RPi and other SBCs)
Also, you should change the display from VGA to ramfb, as VGA is usually for x86 emulation. -device VGA to -device ramfb.
 Thank you for taking a look at this repo and feel free to ask about this.

The BIOS file kind of got really corrupted and such caused this error when executed the cmdline:

If I use the old BIOS, the cmdline will (once executed) got this error:

And yes, if the video card's emulation files are not found, then the machine won't start again:

No it is not corrupted, it just not fit the QEMU's flash. The QEMU's flash is 64MB in size and you should have the firmware also in 64 MB.
From this, on linux you can use dd if=/dev/zero bs=1M count=64 of=QEMU_EFI.img and then dd if=QEMU_EFI.fd bs=1M of=flash0.img conv=notrunc.
On Windows you can use fsutil file createnew QEMU_EFI.img 67108864 to create a 64MB file and then use some hex editor you can copy the content of QEMU_EFI.fd to the beginning of the new file. QEMU will happily accept it.

Oh well, it still works, so yeah. It's currently at the installer, which is going to take not a long time (maybe). I sped it up using GVM (KVM for Windows) too, so yeah, it's going to be a little bit faster.

Oh man, which platform are you running on? Is your host platform x86 or ARM?

Woopsie. Let me uninstall GVM.

Excuse me, can you provide the link to GVM? I have googled it but couldn't find any information. Thanks!

Here's the link: http://github.com/google/Android-emulator-hypervisor-driver-for-amd-processors

Thanks! Is your VM ok now?

Well, it booted the installer successfully, but it didn't detect the hard drive at all. Even after loading the driver, it still only appear a tiny 60MB volume on the "Choose a partition to install Windows" screen.

The line -drive if=none,id=system,format=raw,file=.\system.vhdx
Try changing it to format=vhdx and see if something better

That fixed it. Thanks!

Good to see it works! If you have any other questions, feel free to put a comment here. Thanks!

Oh. So now it's really stuck at the "Installing updates" screen for 30 mins already:

Oh nevermind, it's unhung anyways

You should be patient. Emulation is always slower than you expected.
If you want to know is things in process (eg if is hang or not), you can press Shift+F10 to open cmd and then open task manager from it.

Yeah, I opened the taskmgr like that, and.... the CPU got capped at 100%, that's why it's so slow

oh, and it refused to boot from the hard drive. It only wants to boot from the DVD.

Ok you should remove the cd from qemu. Or you can go to firmware setting and choose to boot from hard drive

Yep, I go into the firmware settings, chose the hard drive and it refused to boot. Just exited out to the BIOS screen. When I removed the DVD, it wants to network boot.

Is the installer show some errors or it just ask you to reboot?

 The BIOS menu is just so messy...

Try all of the option and you will find the one correct :)

I saved the statistics into a .txt file, once the install's done i'm going to upload the statistics up here

Can I let my computer sleep when the VMs doing this? I have to go to another place so yeah.

You have to keep your computer on, of course.

oh, I already let it slept for... a while, and it kind of pauses the vm, but starting it up'll basically unpause it.

Huh, now it got stuck on the "Just a moment..." screen for a whole 2 hours (not included the time I let the computer hibernate, which is roughly 14 hours). Sometimes the VGA output got black, but moving the cursor kind of un-blacks it.

Well, black is normal, it just show black when you leave it for a long time, it will turn off the screen.
Keep the installer for some more time, and if the loop is endless, I will show you the way to bypass OOBE. (Sometimes QEMU is just to slow)

Yeah, it's 2 hours. I know how to skip OOBE mind you, so should I reboot the VM?

If you reboot the VM, it will show the error "please start the installation process again" or it will result in the endless loop again

I knew that, I'm skipping the OOBE using the registry.

After get to the desktop, if you find the VM to slowly, you can try some optimize script on github for Windows ARM. Just search on google :)

Automatic Repair just crashed the entire VM. Now it's time to disable WinRE.

Well, after all that (I even skipped the OOBE), it still got stuck at the "Just a moment..." screen.

oh. now it's this.

Change -device virtio-blk,drive=system to -device usb-storage,drive=system

That certainly fixed the problem. However, I had to change the boot order. I also tweaked the res a little bit from 800x600 to 1024x768 in the BIOS so it looked more great in there.

And Windows kept booting and hanging at the spinning animation

Spinning? The boot screen with Windows logo?

Yeah. It is hanging there really, but the spinner is still spinning.

Have you boot to the desktop yet? (Since you skipped OOBE?

Nope, I had to do a full reinstall (using dism), because the normal way got stuck at the "Just a moment..." waiting screen.

Oh anyways, QEMU is just so slow, now it finally booted.

How did you use dism? Can you post your command here (like how you create partition and format it then apply boot file and apply with dism?)

Be patient! :)

It's so slow!!!!!!!!!! (I reached the desktop but Explorer hasn't even loaded finished)

Buy an ARM-based SBC and run KVM on it (I currently do that) and it is much better

Explorer is literally crashing constantly because of the high CPU load.

If it is too slow, try booting to safe mode!

The specs are done!
10ARMStatistics.txt

If you have no more problems, please close the issue. If not, comment here and I will happily help you :)


Mirror to maven central

As discussed in #43, the aim of this issue is to mirror the yatspec artifacts to maven central, in order to make yatspec available to those that are unable to depend on the primary repo.bodar.com repository.
To meet the central requirements, there are a few pieces that are still missing though:

Creating a New Project ticket on issues.sonatype.org
Producing a Javadoc JAR
Signing all artifacts with a GPG key

+1
We cannot use Yatspec at a bank now. All maven artifacts are downloaded via proxying them through internal artifactory from maven central. Adding a new repo to artifactory is not possible. Downloading jar from the internet is blocked.
@danielbodart Could you add yatspec artifacts to maven central, please?

Hey @danielbodart
@theangrydev and @wojciechbulaty are both part of @trafficparrot. We would be happy to take the ownership of the repo under the @trafficparrot umbrella.
If that works for you, we suggest transferring the yatspec repository to @trafficparrot https://help.github.com/articles/transferring-a-repository-owned-by-your-personal-account/
A transfer is transparent to existing users and contributors, because the redirects will be handled automatically by github.
A fork works for us as well, in that case we would fork and update bodar/yatspec/README to point at trafficparrot/yatspec.
Adding @theangrydev and @wojciechbulaty as admins to bodar/yatspec is also an option, though not a preference for us. Our preferred option is to take yatspec under the @trafficparrot umbrella by doing a repository transfer.
Does that work for you? If so, which option do you prefer?

Personally I think a fork is more appropriate than a transfer. We do not yet know exactly which future direction we will take with the fork and so to avoid upsetting existing users it is probably best to keep vanilla yatspec as it is and let people migrate to the fork if they wish to. A new name for the forked project would make sense too to avoid confusion with vanilla yatspec.

@theangrydev Agreed. In that case, I would link from bodar/yatspec/README to trafficparrot/thenewprojectname, as long as @danielbodart is fine with it.
P.S.
We have some improvements to the documentation we wanna make, so we can add them in both bodar/yatspec and trafficparrot/thenewprojectname.


Enable TravisCI

I'm getting a 500 error in TravisCI dashboard when I try enabling TravisCI for this project. It's in weird state where it's off in "Add a new project" page but I can change settings in it's own settings page.
In terms of permissions we have the same level of permissions. We are both owner of the project so you should have permission to enable TravisCI for this project.
@bvaughn Please give it a shot and see if you're getting a 500 too. (check your browser network panel when enabling it.

Unfortunately I can't even see it to try enabling it.
For example, I can load the settings page but it's empty:

I have no idea how to access the Repositories page you're showing above. My Repositories page has only my personal projects:

I was assuming you were some kind of special admin as far as Travis was concerned.

When I click + button I see all my orgs on right side. Have you tried clicking "Sync now" and see if forms-js org shows up?

Yes, tried syncing but it doesn't resolve the issue.

Got it.

Travis is running our first build now. I had to go into my Github profile's Authorized Applications section and manually grant Travis the permission to see that I was a member of forms-js.

👏


some questions about training error

hello, thanks for you available code.
i met error like this when i run "python imitate.py --contrast_weight=2.0 --contrast_sampling='local' --gpu" in crowd_nav path, the error information is:
RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)
it seems that the attention's linear operation got the wrong shapes, what should i do?
thanks :)

Thanks for reporting this. I didn't encounter this error before, but I suppose it is related to the pytorch version or other env settings.
Do you know which line of code causes the error?
p.s., the following pages seem to contain some general info about your reported issue.

link1
link2

thank you, i follow the step mentioned in the link1, and it worked, the problem is the pytorch version is mismatch the cuda version.


[backport] Improve Variable guide

Backport of #5030

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 39f8985968da269122caaa14fed7a9c17293f2d5) succeeded without errors!

LGTM!


Added tasccoda example plots

Added two plots produced with ete3

CI failures are unrelated (come from scvi-tools)


📝 Correction | about:config section desperately needs warnings. Especially on resistFingerprinting.

Description
The about:config section has practically no warnings on reduced Firefox functionality. This is huge as many people rely on PTIO, and don't actually know the effects of what they're modifying in about:config when they scroll down and follow the instructions. This could potentially be both harmful to Firefox and to the overall privacy community. I would not be surprised if many went "ugh, my websites aren't working, guess I'll just go back to Chrome and give up" after following the instructions on PTIO with no warnings.
Why I am making the suggestion
I regularly browse r/Firefox and I have for months. Support for Firefox is available from the community there, and there are common posts about certain websites not working/laggy performance/etc. A lot of the time these issues are due to privacy.resistFingerprinting.
Again, this is a very common issue for people, so here are just a few examples with just privacy.resistFingerprinting.
Example 1
Example 2
Example 3
Example 4
Example 5
Example 6
Example 7
Example 8
Example 9
Example 10
Example 11
Example 12
Example 13
Example 14
Example 15
Example 16
Example 17
Example 18
Example 19
Example 20
Example 21
Example 22
Example 23
Example 24
Example 25
Hopefully I don't need more examples to show that this is very common.
While these examples are purely about privacy.resistfingerprinting, other settings that are suggested to be toggled off also have an either barely noticeable warning (only applicable to WebRTC) or none at all (basically every other tweak).
For example, webgl.disabled breaks plenty of websites that use WebGL, with no warning. Toggling media.gmp-widevinecdm.enabled breaks Netflix, Spotify, and other websites, with no real warning. Toggling media.eme.enabledalso breaks Netflix, Spotify, and other websites, with no real warning.
And no, having a tiny description about what the setting does isn't enough. Those warnings really expect the user to either take the time to click "Details" or know what DRM/WebGL/etc. is. Instead, there should be a clear and easy to understand advisory about these settings.

My connection with the software

I guess my connection with Firefox is that I'm generally pretty involved in its community (frankly, as a fanboy) and hate to see that so many people are running into issues with Firefox for following settings on PTIO (again, that's not their fault as there aren't really any warnings for toggling these tweaks). Issues arising from following these settings reflect badly on the suggested software (Firefox) and makes people frustrated and less likely to care about privacy. I like PTIO generally but I think this is a huge issue that should be fixed sooner rather than later.

[x] I will keep the issue up-to-date if something I have said changes or I remember a connection with the software.

This can be dealt with in #1257


Remove version: 8x8.VirtualOfficeDesktop version <IP_ADDRESS>

Consolidating into 8x8.Work. Related to: #135119
Microsoft Reviewers: Open in CodeFlow

URL: https://vod-updates.8x8.com/ga/work-64-msi-v7.8.2-2.msi
Status Code: 200
(Automated message - build 656)


failed to pull docker image

run: bash docker/scripts/dev_start.sh
[INFO] Start pulling docker image apolloauto/apollo:dev-18.04-x86_64-20191111_1530 ...
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/create?fromImage=apolloauto%2Fapollo&tag=dev-18.04-x86_64-20191111_1530: dial unix /var/run/docker.sock: connect: permission denied
[ERROR] Failed to pull docker image : apolloauto/apollo:dev-18.04-x86_64-20191111_1530

plz try chmod 777 /var/run/docker.sock

Thanks for your help, I tried with sudo then it works.
However one new error occurs:
Failed to start docker container "apollo_dev_root" based on image: apolloauto/apollo: dev-18.04-x86_64-20191111_1530
Would you please give me more advice?

sudo is not a good practice, and that may be why you encounter permission
issue time to time with regular user.
I would suggest you to clean the workspace a little bit, reboot and retry :)
On Mon, Feb 24, 2020 at 8:17 AM MoonCake-AOV<EMAIL_ADDRESS>wrote:

Thanks for your help, I tried with sudo then it works.
However one new error occurs:
Failed to start docker container "apollo_dev_root" based on image:
apolloauto/apollo: dev-18.04-x86_64-20191111_1530
Would you please give me more advice?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ApolloAuto/apollo/issues/10756?email_source=notifications&email_token=ABPIBERXIVAUDIKB373FTSLREPXLLA5CNFSM4K2HQG52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMYPTFA#issuecomment-590412180,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPIBETYBECYF3JTES37X6TREPXLLANCNFSM4K2HQG5Q
.

Thanks a lot:) my problems are solved.

@Chunhai-Yu hello,i get the same error,how do u solve it?

@Chunhai-Yu can you please help in solving this issue

我想说用中文吧，除了初学者没人用apollo的


[Bug]: useLocation docs url on vs code redirect to a 404 page

What version of React Router are you using?
6.4.3
Steps to Reproduce

Create a simple react project with react-router 6.4.3
Call the useLocation hook -> const location = useLocation()
Hover the useLocation() and a pop-up will appear:

If you press on the url, it returns a 404 page because it redirects to https://reactrouter.com/en/6.5.0/docs/en/v6/hooks/use-location instead of https://reactrouter.com/en/main/hooks/use-location or something like that

Expected Behavior
Redirecting to the useLocation() docs page
Actual Behavior
Redirecting to 404 page
Edit: All the hooks docs url are wrong. The problem here is that i'm using an old react router version (6.4.3) instead of the main one (6.5.0)

I'm moving this over here. We should probably have a way to map something like a v6 ref onto another version without having to make a git tag.


support for multiple databases?

I've seen a best-practices suggestion to put different document types in different databases even thought they are part of the same app. Is it possible for soca to work this way? It seems config.js does not allow it. It should probably contain an array of databases.
Even if we put almost everything in one database, there doesn't seem to be a way to do something like add a validation to the _users db design document. Is there a workaround or should I look at redesigning config.js and the main process flow?

soca like other couchapp implementations really just manages a single design document which would live in a single DB. If you wanted to store your user created or other file documents in a different DB this would be determined in your Sammy app or JS and soca really isnt stopping you there.
It is true that soca doesnt handle/manipulate the _users DB right now and I could see that being a useful feature (though it only applies to latest couchdb) if someone wanted to pitch in and help with it.

We created a separate soca app for manipulating _users.

Cool, good idea  - if there are some reusable bits in there it would be great to share


There is no allow option in the UI

https://docs.microsoft.com/en-us/microsoft-365/security/office-365-security/manage-tenant-allows?view=o365-worldwide
In this article there is a description of add to the Allow or Block, but the UI has now changed to just Block. There is no Allow option for Senders via the UI.
Senders:
Value: The sender domain or email address.
Action: The value Allow or Block.
Modified by
Last updated
Remove on
Notes
Please update the article to more accurately reflect the options in the user interface.
https://security.microsoft.com/tenantAllowBlockList?viewid=Sender

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

ID: 94b60171-271c-fb93-88bf-0cd9db014541
Version Independent ID: e9cd207e-0d4c-e268-dd3a-701e1e2df658
Content: Manage your allows and blocks in the Tenant Allow/Block List - Office 365
Content Source: microsoft-365/security/office-365-security/tenant-allow-block-list.md
Product: m365-security
Technology: mdo
GitHub Login: @chrisda
Microsoft Alias: chrisda

@RatulaC Please comment. Thanks

@RatulaC Gentle reminder. Thanks

@Jmartinez589, massive updates to the Tenant Allow/Block List content have fixed this.
Thanks for the feedback.
Closing


updating Jamulus as upstream is releasing 3.10.0.

Hi everyone,
Jamulus is releasing 3.10.0 version.
This PR come to update our package also.
Let me know if everything is ok.
Thanks!

Don't know what to do here. Do we use source info?  Oh! yes that's it !
==> Retrieving sources...
  -> Found jamulus-3.10.0.tar.gz
  -> Found jamulus.service
  -> Found jamulus.sysusers
==> Validating source files with sha256sums...
    jamulus-3.10.0.tar.gz ... FAILED
    jamulus.service ... Passed
    jamulus.sysusers ... Passed
==> ERROR: One or more files did not pass the validity check!

Merged with some additional changes in 77f73ef.


Subscribing to Topic

I've implemented your library (which is awesome btw) and wonder how to subscribe to topics.
I've seen that you have to send an intent, but can you demonstrate what I need to send exactly? Sorry if this sounds noobish.

For subscribing to a topic use the following code:
GcmHelper.getInstance().subscribeTopic(context, topicName);
Don't forget to update to the version 1.0.2.
Also make sure you are calling the init method that i.e. something like the following
GcmHelper.getInstance()
        .setAuthorizedEntity("889908101771")
        .addRegistrationCallback(getApplicationContext(), new CustomRegistrationListener(), true)
        .addOnMessageReceivedCallback(new CustomMessageReceivedListener())
        .init(getApplication());

So simple.
I can't believe I missed it.
Thanks.
On Fri, May 20, 2016 at 1:37 PM, Abhishek Nandi<EMAIL_ADDRESS>wrote:

Closed #3 https://github.com/Atrix1987/gcm-android-client/issues/3.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/Atrix1987/gcm-android-client/issues/3#event-667147468

--
Regards,
Stefan Froelich.


Added html file to copy branch

Great work but there are a few changes that you need to make to your code.✌


Private pages with group restrictions result in infinite loop between login url and target page

Issue Summary
We need a special setting to specify which template to render when the user does not have permission to view a page.
Steps to Reproduce
Our site uses a custom login page that creates a session via an external web service. A new page configured in the admin to restrict access to certain groups redirects to that external web service. Since the user is already logged in the service redirects them back to the page where they don't have permission, which redirects them back to the login page -- this loop continues until the maximum redirect threshold is hit.
The login page is probably not the best place to send an authenticated user who does not have the right permissions - how often will these users have multiple accounts with different permissions? It would be more appropriate to direct the user to a 401/403/404 page by default. We would benefit from the ability to specify a setting like WAGTAIL_FRONTEND_UNAUTHORIZED_TEMPLATE/WAGTAIL_FRONTEND_UNAUTHORIZED_URL to
configure how the site responds when private page is requested without the right permissions (similar to how WAGTAIL_FRONTEND_LOGIN_URL/WAGTAIL_FRONTEND_LOGIN_URL work).
Technical details

Python version: 3.4.
Django version: 1.11
Wagtail version: 1.13.1
Browser version: all

@probabble I also just discovered this issue when I needed to restrict access to a page to a specific group of users.  I think this issue should be classified as a bug.  Would you consider changing the name of this issue from

private pages with group restrictions don't work with custom WAGTAIL_FRONTEND_LOGIN_URL

to

Private pages with group restrictions result in infinite loop between login url and target page

or wording similar to that?  Obviously the first level of protection that comes with restricting pages to certain groups (requiring login) works, but the second level (checking group membership) is what causes the error because it redirects back to the login url when the group membership fails rather than to some url specified by the developer.
To me, using the words "don't work with custom WAGTAIL_FRONTEND_LOGIN_URL" in the title makes this issue seem less of a problem than it really is.  I literally CANNOT USE the group-level permissions feature as I had planned but, rather, have to do hard coding in the template in order to check for membership in a group and then render different HTML as appropriate.
Rather than having something in a settings file to specify where to redirect, perhaps a Wagtail Page property that can accept either a url path or a url name would be more appropriate since restrictions are placed on individual pages - something like group_permission_failure_url = None.  So, for example, if I specify a page that is to only be visible to members of the group 'Life Members', then I might set group_permission_failure_url = "/must-be-life" which would be a Wagtail page that is not visible in the navigation and which has the message "You must be a Life Member in order to view this page.".
Link to documentation included here for reference since it is currently silent on handling the situation of permissions failing on lack of group membership.
Hoping @gasman will comment and also determine whether this issue should be flagged as a bug.

I'm happy to amend the description to include your experience @DanAtShenTech.

I've also run into this issue: I think what's required is an extra check in wagtail_hooks.py's check_view_restrictions function, for request.user.is_authenticated, and do something appropriate if so.
I'm currently working around this with an additional function that registers with the before_serve_page hook (as registered by check_view_restrictions) and raises a PermissionDenied if the user is already authenticated but doesn't belong to the necessary restricted group.

Yeah, I've created a wagtail_hooks.py as suggested by alxbridge:
from wagtail.core import hooks
from wagtail.core.models import PageViewRestriction
from django.core.exceptions import PermissionDenied

@hooks.register('before_serve_page', order=-1)
def check_group(page, request, serve_args, serve_kwargs):
    if request.user.is_authenticated:
        for restriction in page.get_view_restrictions():
            if not restriction.accept_request(request):
                if restriction.restriction_type == PageViewRestriction.GROUPS:
                    current_user_groups = request.user.groups.all()
                    if not any(group in current_user_groups for group in restriction.groups.all()):
                        raise PermissionDenied

Really appreciate the work you're doing with Wagtail. Is this issue under somebody's radar?

Also bumped into this issue and would be happy to see this addressed

I just ran into this too. I find it very odd to redirect authenticated users to a login view. There seems to be some assumption that a user might have multiple accounts buried in this behavior. I wonder how many such users there really are.
I think it would be more consistent do show raise "permission denied" for authenticated users (without the right group) and perform the redirect to the login view only for anonymous users.


Typo fix: Update 094_c_math.zig

Thanks. Since we are no longer on Github after moving to Codeberg, we have two options:

you write a pull request on Codeberg.
I write a pull request on Codeberg based on your suggestion.
What do you think?

closed on Codeberg: #17


[WINDOWS] Can't open folder on a non-system drive

After pulling this latest master
5c86f304bfa6d63d21c95a65218672213b4607dc
you can change path like this

This is why you don’t DIY file browsers but open the OS-provided one.

Like @Evrey said, using a system provided file chooser would be a nice way to do it. I am able to change the drive but the text box is buggy. Closing the issue for now.

https://crates.io/crates/native-dialog would do the trick.


fix: lower packet loss to near-zero levels

PR Type

Bug Fix

Related Links

[TIER IV internal link] -- internal ticket

Description
This PR lowers the chance of packet loss occurring for all supported LiDARs by minimizing the number of mutex locks in the UDP receiver thread.
The UDP receiver thread was losing packets before, mainly because of scheduling:

Decoder is currently reading from queue
UDP receiver cannot acquire lock, its thread gets suspended
N UDP packets arrive (and are lost) while thread is not scheduled
When thread gets finally scheduled, it has lost packets

This is mostly mitigated by moving the mt_queue buffer from between the hardware interface and decoder to between the decoder and pointcloud/packets publishers. In other words, the queue is moved from the high-frequency part of Nebula (up to 36kHz for OT128) to the low-frequency part (10Hz or whatever the sensor framerate is set to).
The below figure shows the number of points in an unfiltered pointcloud (as a proxy for the number of packets received) for the baseline and fixed ("queue_only") implementations. The sensor tested was OT128 in dual return & high resolution mode.
The benchmarking setup was as follows (every run was repeated 3 times):

taskset Nebula to cores 0-7
taskset ros2 bag record -s mcap --max-cache-size<PHONE_NUMBER> /pandar_points to cores 8-11
run 8 instances of ros2 topic echo  /pandar_points --field header taskset to core 12 + 2i for instance i
stop all processes after 60s

The plot was generated from the concatenated rosbags.

messages
mean
std
min
0.1%
1%
10%
50%

baseline
1715
920577
2436.64
865024
895010
911908
919040
921600

fix
1717
921585
582.054
897536
920503
921600
921600
921600

baseline (% lost)

920577
0.11
6.14
2.89
1.05
0.28
0

fix (% lost)

0.00

2.61
0.12
0
0
0

:information_source: This PR applies to all Hesai, Velodyne, and Robosense sensors.
:information_source: #169 (Aeva Aeries II) already uses a similar approach and should be immune to packet loss
:warning: I am not sure at the moment whether this change would benefit Continental sensors as well (HW monitor and other functions handled in decoder, packet rate unknown to me), so I skipped them for now. @knzo25 have you observed packet loss on Radars so far?
Pre-Review Checklist for the PR Author
PR Author should check the checkboxes below when creating the PR.

[x] Assign PR to reviewer

Checklist for the PR Reviewer
Reviewers should check the checkboxes below before approval.

[ ] Commits are properly organized and messages are according to the guideline
[ ] (Optional) Unit tests have been written for new behavior
[ ] PR title describes the changes

Post-Review Checklist for the PR Author
PR Author should check the checkboxes below before merging.

[ ] All open points are addressed and tracked via issues or tickets

CI Checks

Build and test for PR: Required to pass before the merge.

This was not needed after all and the same can be achieved by allocating larger network buffers (net.core.rmem_default).


Building Planner UI from master - spaces dropdown box is not working

This issue just showed up - late on March 3 - see screenshot:

I fixed this earlier today I believe - please check HEAD.

Closing as out of date - no longer an issue.


Cannot bring up test k8s cluster on Fedora with run-local.sh

Describe the bug
On Fedora, when running tests/e2e/run-local.sh, when bringing up the local k8s cluster, an error occurs that prevents the cluster from being brought up.
To Reproduce
Steps to reproduce the behavior:
git clone https://github.com/confidential-containers/operator.git
./operator/tests/e2e/run-local.sh -r kata-qemu-snp

Describe the results you received:
All previous checks pass, yet on  INFO: Bring up the test cluster, I'm met with the following:
INFO: Bring up the test cluster
[init] Using Kubernetes version: v1.24.0
[preflight] Running pre-flight checks
	[WARNING Swap]: swap is enabled; production deployments should disable swap unless testing the NodeSwap feature gate of the kubelet
	[WARNING SystemVerification]: missing optional cgroups: blkio
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'
[certs] Using certificateDir folder "/etc/kubernetes/pki"
[certs] Generating "ca" certificate and key
[certs] Generating "apiserver" certificate and key
[certs] apiserver serving cert is signed for DNS names [amd-milan-05.khw1.lab.eng.bos.redhat.com kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [<IP_ADDRESS> <IP_ADDRESS>]
[certs] Generating "apiserver-kubelet-client" certificate and key
[certs] Generating "front-proxy-ca" certificate and key
[certs] Generating "front-proxy-client" certificate and key
[certs] Generating "etcd/ca" certificate and key
[certs] Generating "etcd/server" certificate and key
[certs] etcd/server serving cert is signed for DNS names [amd-milan-05.khw1.lab.eng.bos.redhat.com localhost] and IPs [<IP_ADDRESS> <IP_ADDRESS> ::1]
[certs] Generating "etcd/peer" certificate and key
[certs] etcd/peer serving cert is signed for DNS names [amd-milan-05.khw1.lab.eng.bos.redhat.com localhost] and IPs [<IP_ADDRESS> <IP_ADDRESS> ::1]
[certs] Generating "etcd/healthcheck-client" certificate and key
[certs] Generating "apiserver-etcd-client" certificate and key
[certs] Generating "sa" key and public key
[kubeconfig] Using kubeconfig folder "/etc/kubernetes"
[kubeconfig] Writing "admin.conf" kubeconfig file
[kubeconfig] Writing "kubelet.conf" kubeconfig file
[kubeconfig] Writing "controller-manager.conf" kubeconfig file
[kubeconfig] Writing "scheduler.conf" kubeconfig file
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Starting the kubelet
[control-plane] Using manifest folder "/etc/kubernetes/manifests"
[control-plane] Creating static Pod manifest for "kube-apiserver"
[control-plane] Creating static Pod manifest for "kube-controller-manager"
[control-plane] Creating static Pod manifest for "kube-scheduler"
[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
[kubelet-check] Initial timeout of 40s passed.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused.

Unfortunately, an error has occurred:
	timed out waiting for the condition

This error is likely caused by:
	- The kubelet is not running
	- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
	- 'systemctl status kubelet'
	- 'journalctl -xeu kubelet'

Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI.
Here is one example how you may list all running Kubernetes containers by using crictl:
	- 'crictl --runtime-endpoint unix:///run/containerd/containerd.sock ps -a | grep kube | grep -v pause'
	Once you have found the failing container, you can inspect its logs with:
	- 'crictl --runtime-endpoint unix:///run/containerd/containerd.sock logs CONTAINERID'
error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster
To see the stack trace of this error execute with --v=5 or higher

Notice the warning:
[WARNING Swap]: swap is enabled; production deployments should disable swap unless testing the NodeSwap feature gate of the kubelet
I've looked up the error message [kubelet-check] It seems like the kubelet isn't running or healthy. and found this post discussing the issue. One popular answer indicates that the issue is due to swap being enabled, which from the previous warning I mentioned, seems like it could be a likely cause of my problem.
So, I undo the changes made from the test:
$ ./run-test.sh -u
Check the current swaps:
$ cat /proc/swaps
Filename				Type		Size		Used		Priority
/dev/zram0                              partition	8388604		0		100

Disable swap:
$ sudo swapoff -a

Check to ensure the swaps are gone:
$ cat /proc/swaps
Filename				Type		Size		Used		Priority

Seems that they are gone, so I run run.sh again:
$ ./run.sh -r kata-qemu-snp
And am met with the following:
INFO: Bring up the test cluster
[init] Using Kubernetes version: v1.24.0
[preflight] Running pre-flight checks
	[WARNING Swap]: swap is enabled; production deployments should disable swap unless testing the NodeSwap feature gate of the kubelet

... snip ...

[kubelet-check] Initial timeout of 40s passed.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused.

Seeing that the system reports swap being enabled again, I view the swaps being used:
$ cat /proc/swaps
Filename				Type		Size		Used		Priority
/dev/zram0                              partition	8388604		0		100

Is there something in the system (k8s, systemd?) that is re-initializing swaps? I ensure they are disabled before the test is ran; yet after, they are re-enabled.
Has anyone seen this before or have any potential solutions? Thanks.

@wainersm You mentioned that you have ran some of these tests on Fedora before. Have you encountered this issue?

@tylerfanelli sometime back @c3d suggested the following to disable swap on Fedora, otherwise it comes back.
dnf remove zram-generator-defaults

@bpradipt Thanks for pointing this out, your fix seems to have solved my problem.
I see that the image was built:
$ sudo docker images

REPOSITORY                   TAG                    IMAGE ID       CREATED          SIZE
localhost:5000/cc-operator   latest                 48f322b96469   35 minutes ago   54.2MB

Yet I don't think it is ran:
$ sudo docker ps

CONTAINER ID   IMAGE            COMMAND                  CREATED          STATUS          PORTS                    NAMES
ab56de994a83   registry:2.8.1   "/entrypoint.sh /etc…"   39 minutes ago   Up 39 minutes   <IP_ADDRESS>:5000->5000/tcp   local-registry

What is the difference between cc-operator and local-registry? Is this expected? As in, do I still have to run the operator with docker run ... localhost:5000/cc-operator ..., or should it already be running after the script exits?

The cc-operator is the newly built operator image which is pushed to the local docker registry. That's the one you see with container id ab56de994a83.
The tests create cc-operator pod on the K8s cluster using the cc-operator image in the local registry. You don't need to run it manually as run-local.sh takes care of it.

https://github.com/confidential-containers/operator/blob/main/tests/e2e/run-local.sh#L97
https://github.com/confidential-containers/operator/blob/main/tests/e2e/operator.sh#L85


Introducing WireMock Guru on Gurubase.io

Hello team,
I'm the maintainer of Anteon. We have created Gurubase.io with the mission of building a centralized, open-source tool-focused knowledge base. Essentially, each "guru" is equipped with custom knowledge to answer user questions based on collected data related to that tool.
I wanted to update you that I've manually added the WireMock Guru to Gurubase. WireMock Guru uses the data from this repo and data from the docs to answer questions by leveraging the LLM.
In this PR, I showcased the "WireMock Guru", which highlights that WireMock now has an AI assistant available to help users with their questions. Please let me know your thoughts on this contribution.
Additionally, if you want me to disable WireMock Guru in Gurubase, just let me know that's totally fine.

Hi everyone,
Have you had a chance to check this out?
Additionally, I’d like to update you on the release of the Maintainer Panel feature on Gurubase. With this panel, you can add, remove, or update data sources, as well as change the logo and more. You can find the details about how to claim a Guru here.
In the near future, I’m planning to include analytics insights in this panel, such as the number of questions asked, the most frequently asked ones, and more. I’ll be sure to update this thread once it’s available. However, in case I miss it, I highly recommend joining our Discord channel to stay updated.
If you’d prefer that I don’t update this thread anymore, please let me know.

I immediately tried it, but I got a response. Do you see any errors in the console?

I don't think we want to merge this, since it signals a fairly strong endorsement of a service we're not associated with and can't vouch for the quality of. Sorry!


KeyboardEvent.which being deprecated

KeyboardEvent.which is now deprecated. It's currently used in _characterFromEvent.
Would it be possible to update the lib to use KeyboardEvent.key instead?

Using which causes a number of problems with testing.
I cannot create an event in the recommended way:
new KeyboardEvent('keydown', { key:'.'})
and I'm not able to test my code since mousetrap does not call the callback (due to the usage of which)
Can we expect this to be addressed any sooner?

I was able to set the which property like this:
const event = new KeyboardEvent('keydown', { key:'.'});
Object.defineProperty(event, "which", {value: 190});

But yet the use of which is adding one more buggy side effect.
    function _characterFromEvent(e) {
        // for keypress events we should return the character as is
        if (e.type == 'keypress') {
            var character = String.fromCharCode(e.which);
            ...
            if (!e.shiftKey) {
                character = character.toLowerCase();
            }
            return character;
        }
        // for non keypress events the special maps are needed
        if (_MAP[e.which]) {
            return _MAP[e.which];
        }
        if (_KEYCODE_MAP[e.which]) {
            return _KEYCODE_MAP[e.which];
        }

In the case of which=190  (that is a .) _characterFromEvent will return:

¾ for 'keypress' event
. otherwise

But yet the use of which is adding one more buggy side effect.

I was not right. Since when the event is:

keypress then the which property contains the Unicode value of a character key pressed.
keydown then the which property contains a system and implementation dependent numerical code.


Jesse: Watch xaiwebsite.com

Jesse requests the watch of the watch_keyword xaiwebsite\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

xaiwebsite\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


jsk_recognition: 1.2.13-1 in 'noetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository jsk_recognition to 1.2.13-1:

upstream repository: https://github.com/jsk-ros-pkg/jsk_recognition
release repository: https://github.com/tork-a/jsk_recognition-release.git
distro file: noetic/distribution.yaml
bloom version: 0.9.3
previous version for package: 1.2.12-1

audio_to_spectrogram

No changes

checkerboard_detector

No changes

imagesift

No changes

jsk_pcl_ros

No changes

jsk_pcl_ros_utils

No changes

jsk_perception
* fix logic to check chainer version (#2534 <https://github.com/jsk-ros-pkg/jsk_recognition/issues/2534>)

    * add test to check #2533 <https://github.com/jsk-ros-pkg/jsk_recognition/issues/2533> regression

* Contributors: Kei Okada

jsk_recognition

No changes

jsk_recognition_msgs

No changes

jsk_recognition_utils

No changes

resized_image_transport

No changes

holding for the upcoming Noetic sync


WikiMedia/Google Maps API

As a User
I want to see where the mall is
So That I can visit the mall
Acceptance Criteria:
When I click on a mall's information
Then I can see a static map,
Bonus: Ability to click on the map and get directions using Google Maps

WikiMedia does not allow the use of Maps tiles for third party users

Google Maps API is functioning properly. (Still having issues with Wikipedia API.)


Set background color of header for each day of week

Right now, monday to friday has black background and saturday and sunday has a pink background. Is nice, but maybe I would also need to customize that.
Create a setting to define the background color of each day of week. This would be an array of hex-colors. Even better, define a class name for each DoW so it would be more flexible

To maintain the current state, by default saturday and sunday has a pinkDoWHeader class that set the background color to the same is was hardcoded by default before this


SPECIES_ORIGINS - Multiple species names for same taxon

This query returns 58 unique entries where different names apparently are used for the same taxon id:
select
distinct c1.species_text, c2.species_text, c1.species_accession
from
compound_origins c1, compound_origins c2
where
lower(trim(c1.species_text)) != lower(trim(c2.species_text))
and c1.species_accession = c2.species_accession;
Reported by: khaug

@G-Owen , @khaug all of them are synonyms, so in a way its not wrong, but we can fix it to make it consistent.

Trying to fix those are well doable when the mismatch is created from a typo. Unfortunately many are just synonyms because of how the citation calls the species at that particular publication. On top of that there is the challenge of Species name without taxon. All these situations are now the accepted norm. Is it ok for your group?

How many entries does the query return now? Can we just do a direct database update on what's there?  In regards to how important this is, I had completely forgotten that this case existed


Plugin for auth with server

cont me = requre('jedireza').KnowledgeDB;
im trying to make client with another hapijs app and im using frame as server . for auth between this two app what am i should to do ?! [ i think i must add token from server /login to my cookie with jquery when my req is recvied, is it right ?! ] [ there is any plugin for this ? ] [ in my client app i use hapijs + ejs template engine + jQeary for my client-side ] [ jQeary just send forms to server and get details, client app send all req from client-side with my simple client framework ] [ there is any app sample in github for me ] [ ?! ]
Thanks

Thanks for opening an issue. I'm really not sure. If you want to communicate from one hapi app to another, you'll need to fulfill the authentication requirements configured.

Um im replace hapi-auth-basic with hapi-auth-cookie like aqua and everything is work now !
thanks any way


Feature Request: Add a regenerate button

closing in favor of the webui story

story: https://github.com/go-skynet/llama-cli/issues/29


define new_unchecked

[!warning]
I haven't compiled it yet

Thanks for the contribution!

Could you maybe elaborate on why you need this function exactly?

Mostly for consistency with core. But it can also help optimize surrounding code, not just the conversion (similarly to unchecked_add)


[Feature] enhance column profiling performance by multithread

Signed-off-by: Wei-Chun, Chang<EMAIL_ADDRESS>Co-authored-by: popcorny<EMAIL_ADDRESS>
PR checklist

[x] Ensure you have added or ran the appropriate tests for your PR.
[x] DCO signed

What type of PR is this?
Feature
What this PR does / why we need it:
To enhance the query performance
Which issue(s) this PR fixes:
sc-28171
Special notes for your reviewer:
https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#threading-pooling-behavior

To use a :memory: database in a multithreaded scenario, the same connection object must be shared among threads, since the database exists only within the scope of that connection.

Does this PR introduce a user-facing change?:

None

I found it would break the csv data source, which use in-memory duckdb.


[BUG] Import of the opensearch_index resource does not include the analysis attributes

What is the bug?
When importing an opensearch_index resource using the OpenSearch provider for Terraform, the analysis attributes (e.g., analysis_analyzer, analysis_tokenizer, analysis_filter, analysis_char_filter) are not included in the state of the imported resource. As a result, Terraform sees these as differences and forces the resource to be replaced during the next plan/apply cycle.
How can one reproduce the bug?
1- Create an OpenSearch index resource with analysis attributes (e.g., analyzers, tokenizers, filters).
2- Import the resource using the OpenSearch provider for Terraform (terraform import or the import block).
3- Run terraform state show on the imported resource and notice that the analysis attributes are missing.
4- Run terraform plan to compare the imported resource against the configuration, and observe that Terraform plans to replace the resource because the analysis attributes are seen as missing.
What is the expected behavior?
When importing an OpenSearch index resource, all attributes, including analysis attributes, should be correctly imported into the state. Terraform should not force replacement of the resource if the imported resource matches the configuration.
What is your host/environment?
Terraform version: 1.8.5
OpenSearch provider version: 2.3.1
OpenSearch version: 2.13
Do you have any additional context?
The following index was imported into the state running terraform import:
Configuration Block:
resource "opensearch_index" "example" {
  name                 = "example-index"
  number_of_shards     = 1
  number_of_replicas   = 0
  analysis_analyzer    = file("analyzers.json")
  analysis_tokenizer   = file("tokenizers.json")
  analysis_filter           = file("filters.json")
  analysis_char_filter = file("char_filters.json")
}

the analysis objects do exist in the resource already, however after importing this is the output of terraform state show:
resource "opensearch_index" "example" {
  id                 = "example-index"
  name               = "example-index"
  number_of_shards   = 1
  number_of_replicas = 0
}

Therefore a plan triggers an index replacement, as it sees the analysis objects as additions:
  # opensearch_index.example must be replaced
- resource "opensearch_index" "example" {
    analysis_analyzer    = ...
    analysis_tokenizer   = ...
    analysis_filter      = ...
    analysis_char_filter = ...
    ...
}

[Triage]
Thanks for your contribution here @gonz-cint, when ever you are ready with your PR please change the status ready for review and we can get it merged. Please let me know if you have any additional questions on the process.
Thanks
@getsaurabh02


Parse is dead

How to connect whitout parse account ?

You'd have to host your own. I recommend you update the deps in this project and then read this article: https://www.digitalocean.com/community/tutorials/how-to-migrate-a-parse-app-to-parse-server-on-ubuntu-14-04


Implement production release process

Is your feature request related to a problem? Please describe.
Our automated pipeline currently deploys to the staging environment at nest.owasp.dev. As the project evolves, it's time to establish a dedicated production environment for nest.owasp.org, which currently redirects to staging.
Describe the solution you'd like
Enhance CI/CD workflows, Docker configurations, Ansible playbooks, and any other necessary setups to enable automated deployments to the Nest production environment triggered by creating a GitHub release.

So as per my understanding the deployments needs to be handled via deploy.yml using ansible , currently it's done via pipeline yml file using manual push to do it .
Seems  interesting...let me know when this  task is out of the backlog I would be happy to take it .@arkid15r

Also don't we have a pr labeler for that ...something like Devops / deploy?

We have working setup for staging so the task is to replicate docker image build and deployment parts for production environment. The only difference will be the trigger -- we want to do it upon release publishing event.

Also don't we have a pr labeler for that ...something like Devops / deploy?

Those are for PRs.


[TUBEMQ-500] Add setting operate API

add admin_query_cluster_default_setting
admin_set_cluster_default_setting

Currently, these only supports the setting of maxMsgSize, and later we can support other parameter settings based on this structure.

+1

+1


feat(instrumentation-winston): Allow log level to be configured for log sending

Which problem is this PR solving?

Allow users to configure severity level to be used by OpenTelemetry Winston Transport used in this instrumentation

Related to https://github.com/open-telemetry/opentelemetry-js-contrib/pull/1919

@trentm this one should be ready for another round, let me know if you have any feedback or concern

LGTM, thanks!


Add an Exit condition to the Prevote and Precommit steps when it is mathematically impossible to reach +2/3 weight on a single value

Protocol Change Proposal
Summary
Add an additional exit condition (importantly, without requiring timeout) to the Prevote or Precommit steps when it is clear that +2/3 Pre{votes,commits}, for X (whether X is a block or nil) is mathematically impossible.
Notably, this has two benefits:

much faster resolution from several chain-halt scenarios
faster time to finality (by moving through round steps faster) under non-deterministic ProcessProposal logic

Problem Definition
Currently, we exit the Prevote or Precommit steps early (i.e. without requiring a timeout to be reached) once +2/3 Pre{votes,commits} are seen. That is, consensus is reached.
However, I would also argue that consensus is reached once it is clear that +2/3 Pre{votes,commits} is mathematically impossible to achieve. In this case, it is not necessary to wait for a timeout period and the validator can safely proceed to the next step as if nil is consensus.
Once it is true that the number of uncounted Pre{votes,commits} plus the mode (i.e. highest count) of the Pre{votes,commits} values sum to 2/3 or fewer of the total, then it is safe to say that the consensus value is nil.
This has two practical benefits which I mentioned above but will explain more deeply here.
Firstly, there is a faster time-to-resolution for a common chain-halt scenario where +2/3 of validators cannot come to agreement on the AppHash. Let us imagine the scenario where a non-determinism bug in FinalizeBlock results in 50% of validator weight having AppHash=0x1 and 50% of validator weight having AppHash=0x2. This results in a chain-halt where rounds will increase as Prevotes never get +2/3 on any value and therefore all Precommits will be nil. At least 50% of the validators would have to patch their software, roll-back a single block, and then restart consensus from Round 0. However, if the current round got to a very high number, then it will take a very long time for such validators to get back to the highest round. This is because they will need to wait for the Prevote timeout period as no single value ever reached +2/3 weight. This is further exacerbated by the timeout_prevote_delta which increases the timeout period linearly with the number of rounds.
Secondly, under this change, there would be a faster time-to-finality for a blockchain that uses non-deterministic validation of blocks (e.g. ProcessProposal). Once it is certain that the currently proposed block will not reach +2/3 consensus, the network should instantly move-on to allow for a newly-proposed block. This would typically manifest itself in the Prevote step when 1/3+ of Prevotes are for the block B and 1/3+ of Prevotes are for nil. In the existing algorithm, validators have to wait for the entire Prevote timeout period when this occurs.
Proposal
Add an additional exit condition (not requiring a timeout) to the Prevote and Precommit steps here when +2/3 weight on a single value becomes mathematically impossible.

A rapid comment here: when you say that is "mathematically impossible" to reach a given number of votes for a given value, are you considering that Byzantine validators might vote for multiple values in a round step?

While important to consider, I am thinking that is out-of-scope of this issue.
Let me know if you think that is fair or if that completely invalidates my suggestion.

I don't think it invalidates the proposal. This is something that has been reported (e.g. https://github.com/tendermint/tendermint/issues/1496) and for which we should try to find a solution.
But to tell when it is impossible to get a quorum for a given value, you need to strictly define the level of fault-tolerance, namely the maximum voting power on the hands of Byzantine nodes. While Tendermint algorithm is designed for having <1/3 of Byzantine voting power, the implementation covers possible temporary situations on which this limit is not observed.

A similar solution, which would have similar (or the same) effect, is to consider situations in which it doesn't make sense to wait for timeouts to expire, this is particular relevant for a recovering node. A workaround, which is actually possible, is to zero some of the timeouts when restarting a node, in the case of the first scenario. Then, once the critical height is committed, restart the node again to use the standard values for the timeout durations.

The second scenario is a little different, if I understood it correctly. If I did, it aligns with some proposals we had in the past to early give up from a round that can't succeed at all. In this case, it is not just about removing an useless sleep time, but also skipping a round step (namely, from prevote(R) to propose(R+1).

zero some of the timeouts when restarting a node

My engineering senses tells me that it's going to be a much better long-term solution to setting on a general solution rather than to break this up into two special cases.
As a side note, empirically we have seen that restarting the node to alter the timeouts results in starting from Round=0. We haven't had a chance to debug this. Originally it was our understanding that the WAL would hold this consensus information and not force a restart from Round=0.


Null check not implemented for onLevel, OnTransitionTime and OffTransitionTime

Summary :
As per spec the default value for the attributes onLevel, OnTransitionTime and OffTransitionTime of Level control cluster is null but when we made a run showing reponse as " expected to be null but isn't ".
Spec screenshot:

Execution screenshot:

The default value is the value to use if no value is provided on the wire.  An actual device may default to a different value.


Issue with using find_circ prediction results for CIRIquant

I have predicted circRNAs in my samples using find_circ and am using the CIRIquant command to requantify the predicted circRNAs. This has been mostly successful insofar, however, lately I have been running into a particular error for certain sample files that looks like this:
[Tue 2021-06-15 06:03:18] [INFO ] De novo alignment for circular RNAs ..
Error reading _rstarts[] array: 592600, 596640
Error: Encountered internal HISAT2 exception (#1)
Command: /gpfs/ycga/project/ycga/ygc/pio2/conda_envs/ciriquant/bin/hisat2-align-l --wrapper basic-0 -p 20 --dta -q -x /home/pio2/scratch60/2021_sharma/data/tmp/GC_tmp/CIRIquant_findcirc_quant/circ/103658-001-165_find_circ_index --read-lengths 151,150,136,141,138,133,143,135,139,137,140,131,127,122,134,125,142,132,128,120,116,126,130,119,123,118,117,114,113,111,129,112,108,124,121,106,109,110,149,115,105,107,104,102,100,101,103,95,81,97,90,71,92,99,98,96,94,88,89,87,61,63,31,62,58,56,47,46,41,32,86,80,68,35,147,144,93,84,82,69,67,66,51,45,39,38,34,33,148,91,79,77,54,53,30,145,85,75,57,37,36,83,76,74,59,52,43,40,70,65,64,60,49,42,146,78,73,72,50,48,44,55 -1 /tmp/6579.inpipe1 -2 /tmp/6579.inpipe2
(ERR): hisat2-align exited with value 1
gzip: stdout: Broken pipe
gzip: stdout: Broken pipe
[Tue 2021-06-15 06:03:24] [INFO ] Detecting reads containing Back-splicing signals
This is the command I am running:
CIRIquant -t 20 -1 103658-001-165_merged_R1_trimmed_paired.fastq.gz -2 103658-001-165_merged_R2_trimmed_paired.fastq.gz --config sharma_ciriquant_config.yml -o CIRIquant_findcirc_quant -p 103658-001-165_find_circ --circ findcirc_final_output/103658-001-165_CIRCULAR_splice_sites.bed -e CIRIquant_findcirc_quant/logs/103658-001-165_find_circ.log -l 2 --tool find_circ --bam hisat_bam_files/103658-001-165_hisat_align.bam
Do you have any insights into why this error is occurring and what I may do to address it? I can confirm that I was able to run find_circ on this data set (to generate the CIRCULAR_splice_sites.bed file) without error.
Thank you!

Hi @prisca399 , could you check the max distance between the end and start coordinate of input BSJ junctions ?
I noticed that hisat2 died with Error reading _rstarts[] array: 592600, 596640, which is an abnormally far distance for a circRNA loci. So maybe filtering out circRNAs larger than 200,000 bp (as CIRI2 suggested) could resolve this error.


genrules causing XCHammer generate failure

There are three genrules in our build. These do a bit of codegen, and localization setup. The genrules look something like this:
genrule(
    name=name + "NameSuffix",
    srcs=[...],
    cmd="$(location //tools:some_script) generate $< $@ " + name,
    outs=["FilePrefix+{}.swift".format(name)],
    tools=["//tools:some_script"],
)

These genrules are called from macros of our own. The name refers to a module.
Running XCHammer generate xchammer.yaml gives the following errors:
swiftException(XCHammer.Generator.GenerateError.some(184 Spec validations errors:
    - Target "AppCoreUI" has a missing source directory "/Users/me/src/TheApp/Modules/AppCoreUI/AppCoreUIViewControllers.swift"
    - Target "AppCoreUI" has a missing source directory "/Users/me/src/TheApp/Modules/AppCoreUI/I18N+AppCoreUI.swift"
    - Target "AppCoreUIResources" has a missing source directory "/Users/me/src/TheApp/Modules/AppCoreUI/Localizable.strings"

Here you can see the outs of the genrules are causing problems. Note also the strange missing source directory, not sure why these files are being called directories.
What more info can I provide?

Hey @kastiglione! Thank you, kindly for the report.
The 184 Spec validations errors are from XcodeGen - outputs from rules are incorrectly entered in the ProjectSpec.Project.
I'd suggest setting up an instance of the rule usage in the sample project. genrules that simply copy a valid input file would be enough to reproduce, fix, and integration test going forward:

genrule for a localized resource ( .strings )?  Localization is a special case
genrule for a swift file.

With that, fixing should be pretty straight forward.
In addition to the bug, I suspect an error in that XcodeGen error message - if a file is not on disk, then it wouldn't be able to differentiate between a directory and a source 🤷♀ .  It's confusing none the less.

Several PRs were submitted to resolve the genfile issue in the best possible way. We don’t want to slow down generation, so:
- XCHammer no longer requires source files during gen time. This is good for remote caching too.
- The user optionally adds the tag xchammer to build things before Xcode build xcode targets. If
you only want to build with Bazel, this tag doesn't matter.
I believe the remaining issue to resolve this is around the target inclusion issue:
+++ b/Sources/XCHammer/XcodeTarget.swift
@@ -73,11 +73,13 @@ func includeTarget(_ xcodeTarget: XcodeTarget, pathPredicate: (String) -> Bool)
         return false
     }
-    if xcodeTarget.frameworkImports.count > 0 {
-        return false
-    }
+    // FIXME: Why is this here? This will break with `swift_library`
+    // if xcodeTarget.frameworkImports.count > 0 {
+    //    return false
+    //}

Is the tag the best approach here? Would it be safe to assume we could just build any custom genrules that are target dependencies?

Would it be safe to assume we could just build any custom genrules that are target dependencies?

I'm thinking it's not safe, because you don't know what its deps are. It might be the last thing to be built, depending on the world, in which case if you build it, you build everything.

@jerrymarino There were a number of changes, at the time we thought it was that frameworkImports check, but I have a different diff right now:
diff --git a/Sources/XCHammer/XcodeTarget.swift b/Sources/XCHammer/XcodeTarget.swift
index aa065d3..fc077aa 100644
--- a/Sources/XCHammer/XcodeTarget.swift
+++ b/Sources/XCHammer/XcodeTarget.swift
@@ -72,9 +72,9 @@ func includeTarget(_ xcodeTarget: XcodeTarget, pathPredicate: (String) -> Bool)
     guard let buildFilePath = xcodeTarget.buildFilePath else {
         return false
     }
-    guard pathPredicate(buildFilePath) else {
-        return false
-    }
+//    guard pathPredicate(buildFilePath) else {
+//        return false
+//    }
     if xcodeTarget.frameworkImports.count > 0 {
         return false
     }
@@ -416,6 +416,8 @@ guard let productType = extractProductType() else {
             return xcTargetName + ".xctest"
             case .AppExtension, .XPCService, .Watch1App, .Watch2App, .Watch1Extension, .Watch2Extension, .TVAppExtension:
             return xcTargetName + ".appex"
+            case .StaticLibrary:
+            return xcTargetName
             default:
             fatalError()
         }

I just debugged the pathPredicate and came up with this solution: #65.

This is resolved.


[FLINK-14746][web] Handle uncaught exceptions in HistoryServerArchive…

What is the purpose of the change
Handle uncaught exceptions in history server archive fetcher.
Brief change log

Introduced ScheduledFutures utility class, that can attach UncaughtExceptionHandler to ScheduledFuture.
Attach UEH to the future created by archive fetcher submission.

Verifying this change
This change added tests and can be verified as follows:

ScheduledFutures test suite.
Manually verified on a cluster with large json archive, that results in OOM.

2019-11-13 15:52:13,293 INFO  org.apache.flink.runtime.webmonitor.history.HistoryServer     - Web frontend listening at localhost:8082
2019-11-13 15:52:25,385 ERROR org.apache.flink.runtime.util.FatalExitExceptionHandler       - FATAL: Thread 'Flink-Scheduled-Future-SafeGuard' produced an uncaught exception. Stopping the process...
java.lang.OutOfMemoryError: Java heap space
	at java.util.Arrays.copyOfRange(Arrays.java:3664)
	at java.lang.String.<init>(String.java:207)
	at org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.util.TextBuffer.contentsAsString(TextBuffer.java:392)
	at org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.json.UTF8StreamJsonParser._finishAndReturnString(UTF8StreamJsonParser.java:2414

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

Thanks for your work! I'm merging. 👌


[ISSUE-3859]Add Audit Log

What is the purpose of the change
Whether the restful interface has the supplement of full confirmation missing of the audit action, and the key need is to add the operating data bar target ID
Related issues/PRs
Related issues: #3859
Related pr:#3937
Checklist

[x] I have read the Contributing Guidelines on pull requests.
[ ] I have explained the need for this PR and the problem it solves
[ ] I have explained the changes or the new features added to this PR
[ ] I have added tests corresponding to this change
[ ] I have updated the documentation to reflect this change
[ ] I have verified that this change is backward compatible (If not, please discuss on the Linkis mailing list first)
[ ] If this is a code change: I have written unit tests to fully verify the new behavior.

2022-11-30T07:24:13.2688230Z [ERROR] /home/runner/work/incubator-linkis/incubator-linkis/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/restful/BmlProjectRestful.java:434:59:  error: cannot find symbol


Unix.socketpair fails occasionally on Windows

Tests, such as this example, using Unix.socketpair occasionally fail on Windows:
--- a/_build/default/lib/picos_io/picos_io.mli
+++ b/_build/default/lib/picos_io/.mdx/picos_io.mli.corrected
@@ -753,7 +753,5 @@ end
           send_string "Hello, world!";
           send_string "POSIX with OCaml";
         end
-      Hello, world!
-      POSIX with OCaml
-      - : unit = ()
+      Exception: Unix.Unix_error(Unix.EADDRINUSE, "socketpair", "")
     ]} *)

Looking at the documentation of socketpair, the EADDRINUSE error is not mentioned.

Picos_io now has a workaround (attempt) for this issue: #269


Make is tagging docker hub images with latest for beta releases

Right now latestis v0.3.0-beta.2, which shouldn't happen. latest should point to v0.2.0. Maybe it's a bug introduced in #100.
https://hub.docker.com/r/srcd/sourced-ui/tags

It seems that we just need to add this condition in the docker-push target of the Makefile before tagging and pushing latest:
if [ -n "$(DOCKER_PUSH_LATEST)" ];

was fixed by #147


Take ncaves fix + update xlf files.

This: https://github.com/Microsoft/visualfsharp/pull/6260
plus xlf updates

@ncave thanks for taking care this.
Kevin


Feed not loading

Checklist

[X] I am able to reproduce the bug with the latest version.
[X] I made sure that there are no existing issues - open or closed - which I could contribute my information to.
[X] I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
[X] This issue contains only one bug, that only occurs in Squawker

Affected version
3.8.2
Steps to reproduce the bug

Open Squawker 2. Feed not loading same thing with groups

Expected behavior
Feed loading
Actual behavior
No response
Screenshots/Screen recordings
No response
Logs
No response
Affected Android/Custom ROM version
Android 13 One UI 5.1
Affected device model
No response
Additional information
No response

I'm running into the same issue. Just downloaded Squawker, signed into my account, imported my subscriptions, and tried to load the feed. Nothing loads. If I try to view the "all" group, the same happens. This also happens with a new group, whether it has all subscriptions (2660 in this case) or just a single one.

Is this because you haven't added an account?

Is this because you haven't added an account?

No, I have an account added, however, I think I may have figured it out. A couple times I got an error message indicating rate limiting of the API, and I think since I don't have a paid twitter account, my API access is too restricted for the app to work properly. Unfortunate, but oh well...