Confused by docs

I'm new to knex library and I find the docs quite confusing. E.g. in the start of the docs it says that :
knex.select().from('books') outputs select * from books
knex.select().table('books') also outputs select * from books
knex.select('title', 'author', 'year').from('books') outputs select title, author, year from books
knex.column('title', 'author', 'year').select().from('books') also outputs select title, author, year from books
What's the difference between these if they return the same result?
Thank you for your help:-)

@mdecaffmeyer
column() is the alias of select(), table() is an alias of from()

@mdecaffmeyer my personal favorite is
knex('books').select('title', 'author', 'year')

it also outputs select title, author, year from books ;)
But yeah there are many ways to do the same stuff in knex. If outputted query is the same, usually there is no difference between approaches. Some of new ways has implemented later on, when other ways has still been left to exist for backwards compatibility or some other reason.


Linux: Main Window not resizable

Hi,
Ghost Desktop on Linux doesn't allow to resize the application window; compared to Windows.
Only options available are:

Minimize
Maximize
Full Screen mode (F11)

Using Ghost Desktop 1.3.0 on Xubuntu 17.04 64bit

Okay, my mistake...
The window itself is resizable but the values of minHeight and minWidth should be reviewed. I'm currently running Ghost Desktop on 1280x800 resolution. Also, a lot of laptops have a native screen resolution of 1366x768 which wouldn't provide enough real-estate to display the Ghost Desktop properly.

I have this issue too. The only way I can see the bottom of the application is to go into full screen on 1366x768 resolution.

Could provide a patch / PR for that issue. Currently, there is a pending one...

PR created: https://github.com/TryGhost/Ghost-Desktop/pull/295

Issue has been resolved in #295


Generate commit hash

This might be useful to verify the version of Aya we're using

bors ping

bors merge


Can't type / select flag

Can't type / select flag with latest pod. Reverted to 'improvement-2' branch and renaming classes to old convention removed the issue.

Please fill the issue template the next time you report an issue. Can I have more detail about it ? Can you provide me a repo with this issue ? Thanks

I don't usually specify a branch/repo when using a podfile. So whatever branch this is pointing to:
pod 'FlagPhoneNumber'
I have no more detail other than, when I switched back to the regular pod (as above ^), I can no longer select and type in the phone number text-field and no selection comes up when tapping on the flag icon. This also occurs with the example app that is in the master branch of your project repo.


Unroll map, mapi, and map2, and init

Close https://github.com/RedPRL/ocaml-bwd/issues/22.

Tests pass with dune test.

@emmanueljs1 Thank you for the PR. Could you possibly reformat the code with ocp-indent? Then I think we are good to go!

@emmanueljs1 Thank you for the PR. Could you possibly reformat the code with ocp-indent? Then I think we are good to go!

Done!


Swagger: Add default parameter value

Based on suggestion made by @rmpestano in #90

Thanks for contributing!


Avoid extra uses of Iterator.ts

Removes Iterator.equals as this method is completely unused except in a test
Replace Iterator.collect with Array.from
Use asArray instead of Iterable.single in a few cases
Remove Iterable.forEach and replace single caller with for/of lopp
If passing an array to one of the other Iterable methods, we don't need to call Iterable.from on it first
When we create an iterable from an array and then convert that iterable back to an array right away, we should just operate on the array (this lets us remove the one caller of Iterable.concatNested)

Use asArray instead of Iterable.single in a few cases

Is that actually better? The asArray-util always creates a new array which can be avoided with single (and was the reasons for its existence). Maybe a better pattern for Array.isArray(prefix) ? prefix : Iterable.single(prefix) is needed, something like Iterator.wrap(n) where n is iterable or a single item


Update elastic4s-client-esjava to 7.12.1

Updates com.sksamuel.elastic4s:elastic4s-client-esjava from 7.12.0 to 7.12.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.sksamuel.elastic4s", artifactId = "elastic4s-client-esjava" } ]

labels: library-update, semver-patch

Superseded by #643.


Can Corrosion be a standalone service catalog?

Hi,
I saw Corrosion has the option to import data from Consul. I am looking for an alternative to Consul's service directory, as I am running a relatively small amount of servers, and I don't want to add 3 servers to host a Consul cluster.
It seems I can simply put my services in a SQLite table and have a DNS server like CoreDNS with a SQL plugin to serve DNS queries from the table. Then all I would need to build is a service that does health checking, and have a table for that as well, and that should cover the basics. Would Corrosion be suitable for this? Are there any components for this that you will add in the future? (E.g. I take it you won't add a DNS server but perhaps you are.)

Yes, you can use Corrosion as a replacement for Consul if you build health checking and have a way to serve DNS from the database.
On our end, we'd built our own DNS server using data from Corrosion, but we still use Consul for health checking and as the source of truth for services we manage.
You may not need a centralized Consul servers cluster. corro-consul will pull data from the local Consul agent only, so in theory you can run single-node Consul agents that don't talk to Consul servers and it should still work out. Corrosion would take care of replicating the data on every node in an eventually consistent manner. You would still have to do your own DNS which could be tricky if you're working off of the consul_services schema directly, but you can add virtual columns that expose meta fields as columns to help with an integration with an existing DNS server. Using Consul agents should at least give you health checks for "free".
As a general advice: you probably want to use the latest main for your deployment. There has been countless improvements since the 0.1.0 release.

Interesting, thanks!
I think I should be able to use something like https://github.com/eadz/coredns_sqlite3 and but have a view instead of a table that takes the service and health status etc. into account. Is there a reason you have your own DNS server, or is that unrelated to Corrosion/Consul? And are you looking to move more Consul features into Corrosion in the future?

coredns_sqlite3 with a view should work!
Our DNS server has its own special handling for authorization based on source IP (information is encoded in IPv6s) and many of its queries aren't straightforward. We've also built this a long while ago when the DNS landscape was different. It turns out it's less than 1000 lines of Rust and that pleases me :) (we use the domain crate)

Another question: I could run Consul without a cluster or build my own healthchecks, but what if an entire node goes down and it no longer provides any health information? Does Corrosion provide a view of the cluster membership?

It does, in a roundabout way. It stores the SWIM cluster state for each node, serialized as JSON, in the foca_state column of the __corro_members table. This table is internal and subject to change, but it should be relatively safe to use it.
The JSON representation contains a field state that can that a value of either "Alive", "Down" or "Suspect".
This is the state agreed upon by the whole cluster.

Would you consider a feature request to add the node that is queried to that table? If I used this table and I want to e.g. write a template with all available nodes, it wouldn't include the node that the template is written on.
It's also a little hard to relate this table to a services table, the services table would include some kind of instance ID, which would have to be exposed in some way so that it can be inserted, or at least the address from __corro_members. Is there any way to do this?

Yes, we can probably add the current node in __corro_members.

It's also a little hard to relate this table to a services table, the services table would include some kind of instance ID, which would have to be exposed in some way so that it can be inserted, or at least the address from __corro_members. Is there any way to do this?

The way we've done it here is with a new table, replicated by Corrosion, called corro_meta. It contains the actor_id and the hostname. We use the hostname for most things so we JOIN on that small table to get that info. You can find the current actor_id by doing this query: SELECT site_id FROM crsql_site_id WHERE ordinal = 0
Doing a separate table may sound cumbersome, but it's the most flexible way to attach metadata about a node without assuming too much from unknown-to-us use cases.

Doing a separate table may sound cumbersome, but it's the most flexible way to attach metadata about a node without assuming too much from unknown-to-us use cases.

That sounds fine to me! Do you periodically clean this table? As you can't create a foreign key on the actor_id inside the JSON in __corro_members to delete it automatically.

We don't clean it, yet. It doesn't matter if there are extra rows in that table and we rarely deprovision nodes.

As you can't create a foreign key on the actor_id inside the JSON in __corro_members to delete it automatically.

Even worse: foreign keys are not supported by cr-sqlite and therefore aren't supported by Corrosion. Perhaps we should add that to the docs. Basically anything, on a table, that has a restrictive effect on a different table doesn't work due to how conflicts are resolved. Another example is unique indexes (outside of primary keys).

I was also wondering if foreign keys work. Def worth adding that it's not possible to the docs.

It stores the SWIM cluster state for each node, serialized as JSON, in the foca_state column of the __corro_members table. The JSON representation contains a field state that can that a value of either "Alive", "Down" or "Suspect".

According to the code https://github.com/superfly/corrosion/blob/a82563d0d1b352f03cf6bfc16d99e452cd125533/crates/corro-agent/src/broadcast/mod.rs#L173
the __corro_members table is synchronised with the actual foca state only once a minute. Which means in the worst case scenario there could be a 1 min delay of knowing that a particular node is down. This even applies to a node that has gracefully left or joined the cluster.
@jeromegn I wonder, do you use something different to __corro_members to promptly react to cluster membership changes? I can probably watch corrosion cluster members which instantly reflects added or removed nodes. Does it provide a reliable source of information? For example, I'm not sure whether it includes Suspect nodes or not.

do you use something different to __corro_members to promptly react to cluster membership changes?

We're not using memberships outside of Corrosion itself. We usually care more about 1:1 failures (A <-> B) than the global view of the cluster which is what is represented in __corro_members and by the corrosion cluster members command.
If you do want the global view of the SWIM cluster's state: yes, the corrosion cluster members should reflect that precisely since it uses what's in memory. It includes suspect members as well.

We're not using memberships outside of Corrosion itself. We usually care more about 1:1 failures (A <-> B) than the global view of the cluster

Not sure I'm following. I'm still trying to understand how Corrosion can be used as a service catalog when substituting Consul. Let's imagine we have nodes A and B in the cluster. Node A runs a Consul agent for health checks and runs corrosion consul sync to sync local Consul services and health checks to distributed consul_services and consul_checks tables respectively.
On node B, we can see services and their statuses from node A. All of them are reported as healthy. Then imagine a network partition occurs between nodes A and B or node A just crashes. Now, the service records from node A are no longer updated in consul_services and consul_checks tables but they still show a healthy status.
The question is: How should node B determine whether particular service records are current or already outdated?


zod url fails when having port number and field/value pairs

Discussed in https://github.com/colinhacks/zod/discussions/1479

Originally posted by RicardoValero95 October 11, 2022
This url works fine
"sqlserver://database-test.amazonaws.com;database=x;user=y;password=z;trustServerCertificate=true"
But this doesn't
"sqlserver://<IP_ADDRESS>:1433;database=x;user=y;password=z;trustServerCertificate=true"

If native URL doesn't think it is a valid url, should zod step in and have an opinion on this?
Just trying to align myself, don't take it as me questioning the validity of the issue/bug..

I'm opposed to changing from the existing implementation that uses URL - Zod should fall back on JavaScript built-ins whenever possible imo

@colinhacks thanks for the quick response. I know you are busy.


[bugfix] SpokenLanguage list drawer menu MobileView 75% height

What

SpokenLanguage List Drawer Menu mobileview set to 75% height.

Why
SpokenLanguage Drawer Menu encompassed the full screen on mobile, causing issues with dismissing the menu.
https://skype.visualstudio.com/SPOOL/_workitems/edit/3233595

How Tested
MacOS Chrome mobile view, CallWithChat Composite.

Great fix! Will review any snapshots updates before approving

One thing I've seen - because vertical space is so limited in landscape, instead of setting height to 75%, we could alternatively (just for landscape) set width to be 75% so the user can tap to either side of the drawer to dismiss, but regardless this is much better and a great fix!

Will need to make some changes. I will add a prop so that it doesn't impact other drawerSurfaces being used by call readiness and dialpad.


Why this event does'nt work?

Discussed in https://github.com/tauri-apps/tauri/discussions/10033

Originally posted by shadow3aaa June 11, 2024
I'm writing an rust ide on android.
Since tauri(2.0-beta) doesn't yet support mobile to use sidecar/resources, I use rust_embed crate to embed resources directly into the library.
Then I need to extract some resources(like proot, rootfs, prebuilted rust-analyzer, etc.) when the program starts and put them in a place like /data/data/package_name/res.
I want users to see the progress of resource extraction, So I do this(vue3):

frontend

import { ref, onMounted, onUnmounted } from "vue";
import { useRouter } from "vue-router";
import { VList, VListItem, VIcon } from "vuetify/components";
import { listen, UnlistenFn } from "@tauri-apps/api/event";
import { invoke } from "@tauri-apps/api/core";

interface Payload {
  message: string;
}

let unlisten: UnlistenFn | null = null;

const router = useRouter();
const setupProcess = ref("Waiting until setup process complete...");
const setupCompleted = ref(false);

onMounted(async () => {
  invoke("init_resources").then(() => {
    setupCompleted.value = true;
  });

  unlisten = await listen<Payload>("setup-process", (event) => {
    const { message } = event.payload;
    setupProcess.value += `\n${message}`;
  });
});

onUnmounted(() => {
  unlisten?.();
});

function routeToProjectView() {
  router.push("/project");
}

backend
payload.rs

#[derive(Clone, serde::Serialize)]
pub struct Payload {
    message: String,
}

impl Payload {
    pub fn new(message: String) -> Self {
        Self { message }
    }
}

lib.rs
#[tauri::command]
fn init_resources(app: AppHandle) {
    app.emit("setup-process", Payload::new("Checking resources".into()))
        .unwrap();

    async_runtime::block_on(Resources::auto_update()).unwrap();
    app.emit(
        "setup-process",
        Payload::new("Checking proot rootfs".into()),
    )
    .unwrap();
    setup_rootfs().unwrap();
    app.emit("setup-process", Payload::new("All done.".into()))
        .unwrap();
}

#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
    tauri::Builder::default()
        .plugin(tauri_plugin_shell::init())
        .invoke_handler(tauri::generate_handler![init_resources])
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

However, when I was testing it, I found that no events were received, and if I tried to await listen, it just kept blocking current thread.

https://github.com/tauri-apps/tauri/discussions/10033#discussioncomment-9741278


Leap Year Code added

Hey, @bhaveshlohana please add hactoberfest as topic in the about according
the updated guidelines of Hacktoberfest.
On Fri, Oct 2, 2020 at 5:20 PM Bhavesh Lohana<EMAIL_ADDRESS>wrote:

Merged #538
https://github.com/bhaveshlohana/HacktoberFest2020-Contributions/pull/538
into master.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bhaveshlohana/HacktoberFest2020-Contributions/pull/538#event-3833625570,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJGODIBJOFHZE2PLXFWCUCLSIW5ADANCNFSM4SBPXJAA
.

Thanks for adding the Topics.
On Sat, Oct 3, 2020 at 5:23 PM Vishal<EMAIL_ADDRESS>wrote:

Hey, @bhaveshlohana please add hactoberfest as topic in the about
according the updated guidelines of Hacktoberfest.
On Fri, Oct 2, 2020 at 5:20 PM Bhavesh Lohana<EMAIL_ADDRESS>wrote:

Merged #538
https://github.com/bhaveshlohana/HacktoberFest2020-Contributions/pull/538
into master.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bhaveshlohana/HacktoberFest2020-Contributions/pull/538#event-3833625570,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJGODIBJOFHZE2PLXFWCUCLSIW5ADANCNFSM4SBPXJAA
.


Encryption Support

The Issue
For sensitive data inside mobile applications, encryption of the database itself while maintaining the ability to query is really important.
The Potential Solution
This feature would be a lot like SQLCipher for SQLite.

Duplicate of #292


View Logfile: "Toggle Soft Wrap" function?

Hello,
the View Logfile at the moment has no word wrap management, so long text is hidden on the line and you should horizontally scroll.
Could you add the Toggle Soft Wrap function as in the File Manager?
Thanks

Hi,
It's already available. Either use hotkey (Command+Shift+W) or use the menu:

Try it now.
Hotkey for toggling word wrap in editor and viewer now is set to "Ctrl+Alt+W".

pardon, if 19.22-beta2 just appears into the settings and not us usual update, what does it mean? Not compatible with....?
here
Webmin version | 1.900
Usermin version | 1.751
Virtualmin version | 6.05
thanks

it means that I just see that version into the Authentic settings and not into the main dashboard...where I see no update but
Authentic theme version 19.21 only

Yes, because there was a change.
Now, in order to see updates you need to change config option manually.
Besides, you would want to change caching time in theme configuration to see updates sooner:

ok, and there (your screenshot) if I force update for beta, if some possible issues about compatibility, does it return that red div with text inside as before?

The red warning that you saw in the past, only appears, if the theme that your trying to install, depends on unreleased version of Webmin/Usermin. You must not see any warnings now.

ok, thanks 👍


Remove getThemeConfigPath from ThemeCreateCommand::getBootstrapTemplate()

Fixes #671

1. Why is this change necessary?
Not in used anymore, and gives the impression that the path to theme.json it's configurable when it's not.
2. What does this change do, exactly?
Removes unused method from bootstrap template in theme:create since now it's hardcoded as /src/Resources/theme.json.
3. Describe each step to reproduce the issue or behaviour.
N/A
4. Please link to the relevant issues (if any).
#671
5. Checklist

[ ] I have written tests and verified that they fail without my change
[ ] I have squashed any insignificant commits
[ ] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[ ] I have read the contribution requirements and fulfil them.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-17654
Please use this issue to track the state of your pull request.

Hi @mynameisbogdan,
Thanks for your contribution


Upgrade Rust toolchain to 1.70.0

Corresponding PR in docker nightly: https://github.com/artichoke/docker-artichoke-nightly/pull/163


🐛 fix(bug): float32 required for faiss

我不确定这不是依赖版本控制问题或其他问题，但它解决了我创建硬底片的问题。

Thanks! This error is due to the current FlagModel default using fp16 for inference.

Ah this makes sense. only v1.5 or simply all were recently uploaded with fp16?

We just change the default value of use_fp16  to be True in https://github.com/FlagOpen/FlagEmbedding/blob/master/FlagEmbedding/flag_models.py#L16C32-L16C32 .
Maybe it is not a necessary change.

Only reason I noticed is because I use fp32 on macbook MPS!
I think for GPU workloads this makes sense


TFTRT: CUDA_ERROR_ILLEGAL_ADDRESS

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary):binary
TensorFlow version (use command below):1.14
Python version:2.7
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:10.1
GPU model and memory:RTX2080

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with: 1. TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" 2. TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"
Describe the current behavior
Seeing the following error:
2019-09-16 23:41:12.835022: E tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:749] failed to record completion event; therefore, failed to create inter-stream dependency
2019-09-16 23:41:12.835047: I tensorflow/stream_executor/stream.cc:4813] [stream=0x5591077fbc60,impl=0x5590ffc9bd90] did not memcpy host-to-device; source: 0x7f7e8425bc80
2019-09-16 23:41:12.835058: E tensorflow/stream_executor/stream.cc:331] Error recording event in stream: error recording CUDA event on stream 0x5590ffc9b740: CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory access was encountered; not marking stream as bad, as the Event object may be at fault. Monitor for further errors.
2019-09-16 23:41:12.835076: F tensorflow/core/common_runtime/gpu/gpu_event_mgr.cc:273] Unexpected Event status: 1ailed to query event: CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory access was encountered

Describe the expected behavior
Code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate the problem.
Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

Since TF 1.14 prebuilt binaries support cuda 10.0, can you try by switching to cuda 10.0  instead. Thanks!

I see.  Using the nvcr container with TF 1.14 .  Which has Cuda 10.1.

@sgambient, Please provide the minimal standalone code to reproduce the reported issue. Thanks!

That is an easy ask, but very hard to do. I do not think that is the right way to handle large software.  My recommendation is to build in more detailed logs and metrics so as not to have to rely on largess of random developers.

Is this still an issue after switching to cuda 10.0?

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Use flask-cors package for CORS; don't use Bokeh anymore.

With Bokeh 0.11, the CORS handling was moved.  This removes the Bokeh
dependency for this part of Blaze and uses instead a small MIT-licensed
flask extension.

@ltransom @johneo Can you please review?

Looks good!


Add read-write interfaces for private cluster in 3RSNL02043Z

Change-Id: I136b856588fb42e69274b899cdafa3c5e9ce819f
Proposed change

Additional information

Checklist

[ ] The changes are tested and work correctly
[ ] pre-commit checks pass / the code has been formatted using Black
[ ] Tests have been added to verify that the new code works

Can you describe what these attributes do?

Hi,
Through this private cluster, these attributes are used to set the coldown time for pir sensor, the duration of lthe ocal routines, and the threshold for reporting changes in lux sensor values.

Hi,
Through this private cluster, these attributes are used to set the coldown time for pir sensor, the duration of lthe ocal routines, and the threshold for reporting changes in lux sensor values.

Right, that's clear from the names of the attributes.

What are local routines?
PIR cool down time can be set using the PIR Configuration Set attributes from the ZCL: PIROCcupiedToUnoccupiedTime, etc. Does this need to be a manufacturer specific attribute?
Why does the lux sensor have a separate attribute for configuring attribute reporting? This is normally done using ZCL attribute reporting config, which sets the min/max reporting interval and the minimum change.

Hi, puddly. This is a multifunction device and It contains light, pir sensor, and illuminance sensor.

This local routine is performs the actions of turning on and off the lights based on the status of the pir sensor and illuminance sensor and does not require sending Zigbee commands.  The modification this time is the interface for the duration of the light on.
Yes, the IAS zone cluster can be used for pir sensor. However, if the IAS zone cluster is registered, this device may be recognized as a sensor on some platforms instead of the primary feature light, such as on Amazon's Echo v4 etc.
We want freely set the reporting sensitivity of the illuminance sensor.
By the way，we can also use service: zhatoolkit.attr_write to write any attribute of any cluster and config report, it's just that installing this ZHA toolkit is inconvenient, so we changed this script.
Thank you.

Copy that, thank you.

OK. Got it. I'm sorrry about this mistake and will definitely pay attention next time. Thanks.

All good! By the way, you don't need to squash and force push your commits every time. You can just add another commit changing things. The whole PR will be squashed automatically when merging, so no need to do it manually before.

Okay, I will understand and use it next time. Thank you


bug: ionic 4 ion-slide set initialSlide not work immediately

Bug Report
Ionic version:

[x] 4.10.0
Current behavior:
When I want to set initialSlide, but it's still shows default value first, then change to value that I set

Expected behavior:
It should not show first image
Steps to reproduce:
Start project and then refresh home page
Related code:
Home.page.ts file
slider = [
    'assets/images/download copy.jpg',
    'assets/images/download-2 copy.jpg',
    'assets/images/download-1 copy.jpg',
    'assets/images/download copy.png',
    'assets/images/download-1.jpg',
    'assets/images/download-3 copy.jpg',
    'assets/images/download-2.jpg',
    'assets/images/download-4.jpg',
    'assets/images/download-3.jpg',
    'assets/images/download-5 copy.jpg',
    'assets/images/download-6 copy.jpg',
    'assets/images/download-8 copy.jpg',
    'assets/images/download-4 copy.jpg',
    'assets/images/download-7 copy.jpg',
  ]

  slideOpts = {
		initialSlide: 10,
		speed: 400
  }

home.page.html file
<ion-header>
  <ion-toolbar>
    <ion-buttons slot="start">
      <ion-menu-button></ion-menu-button>
    </ion-buttons>
    <ion-title>
      Home
    </ion-title>
  </ion-toolbar>
</ion-header>

<ion-content>
    <ion-slides pager="true" [options]="slideOpts" style="height: 95%">
        <ion-slide *ngFor="let img of slider;let i = index">
            {{i}}
            <img [src]="img" (error)="$event.target.src = 'assets/images/download.png'" />
        </ion-slide>
    </ion-slides>
</ion-content>

Github repo: - https://github.com/tajinder-logiciel/slider-issue
Ionic info:

Ionic:

   Ionic CLI                     : 5.2.7 (/Users/tajinder/.nvm/versions/node/v12.8.0/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.10.0
   @angular-devkit/build-angular : 0.801.3
   @angular-devkit/schematics    : 8.1.3
   @angular/cli                  : 8.1.3
   @ionic/angular-toolkit        : 2.0.0

Cordova:

   Cordova CLI       : 9.0.0<EMAIL_ADDRESS>   Cordova Platforms : android 8.0.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.1, (and 4 other plugins)

Utility:

   cordova-res : not installed
   native-run  : 0.2.8

System:

   Android SDK Tools : 26.1.1 (/Users/tajinder/Library/Android/sdk)
   NodeJS            : v12.8.0 (/Users/tajinder/.nvm/versions/node/v12.8.0/bin/node)
   npm               : 6.10.2
   OS                : macOS Mojave

Is anyone looking into this

I'm having the same issue in @ionic/angular ^4.10.0, when I set:
<ion-slides #slides [options]="{initialSlide: imageIndex}"> it doesn't go inmediately to the desired slide, it shows the first slide and then it load the desired index, I guess a workaround can be to show a skeleton text and show slide when it loads but I cannot find how it can be achieved, hope someone has faced it and did something that works, for now it's annoying

Any solutions for this issue

What I ended doing is:
In my gallery page I define @ViewChild('slides', {static: true}) slides: IonSlides;
then in ionViewWillEnter I navigate to desired index and set a 0 delay to disable animation like this:
ionViewWillEnter(){
this.slides.slideTo(this.imageIndex, 0).then(() => {
setTimeout(() => {
this.loading = false;
}, 250);
});
}
I also set a little timeout, this way I'm no longer seeing the first image and then the desired image, hope it helps!

Any update on this issue

In Ionic v.5 still same issue. Tried to use [hidden] to wait some time for component initialization but it didn't change anything. I use it to make (simple) login/signup modal window in my app so it is not typical slider example but I ended with adding empty slide at the beginning <ion-slide><ion-slide> so it looks great now without the flashing effect of the 0 slide cause it's empty - but it is not good solution for any use case so it is just my trivial solution :) hope you find better one!

I'm having the same issue in @ionic/angular ^4.10.0, when I set:
<ion-slides #slides [options]="{initialSlide: imageIndex}"> it doesn't go inmediately to the desired slide, it shows the first slide and then it load the desired index, I guess a workaround can be to show a skeleton text and show slide when it loads but I cannot find how it can be achieved, hope someone has faced it and did something that works, for now it's annoying

works on me with no delay , maybe the loading of your variable "imageIndex" did the delay issue??

same issue!

my solution is just make a manual init,  according to the documentation swiperjs
@ViewChild('slider', { static: true }) slides: IonSlides;
public slideOpts = { init: false, initialSlide: 2, speed: 400, allowTouchMove: false };
ionViewDidEnter(): void {
 this.slides.getSwiper().then(sw => sw.init()).then(() => {
      this.slides.slideTo(2, 0);
    });
}

It didn't work for me either (or so I thought), so I tried putting it in the initial position 0 and it worked hahaha here is the solution:
slideOpts = {     initialSlide: 0,     speed: 400   };

I found a few old issues related to this. Looks like this is a bug long time ago and should be fixed. I'm still using Ionic 3 and have no options setting, so I can't use Miguel08241993's solution. But I found a workaround here: https://github.com/ionic-team/ionic/issues/7595
Go to node_modules/ionic-angular/components/slides/slides.js (around line 783). Remove the timeout wrapping the _this._initSlides();:
    /**
     * @hidden
     */
    Slides.prototype.ngAfterContentInit = function () {
        var _this = this;
        // this._plt.timeout(function () {
        //     _this._initSlides();
        // }, 300);
        _this._initSlides();
    };

My version: "ionic-angular": "3.9.2"
I tried to keep the timeout but it is still flashing for a split second.

Thanks for the issue!
Starting with Ionic 5.7.0, we deprecated ion-slides in favor of having developers install Swiper.js directly in their projects. This gives developers access to new features, an improved developer experience, and bug fixes that they did not have access to when using ion-slides.
Since ion-slides uses Swiper.js under the hood, this migration should allow the functionality of your slides to remain exactly the same.
As a result of this deprecation, we have suspended any new development on ion-slides with the exception of critical fixes, such as resolving security issues.
I am going to close this issue out, but we strongly encourage you to try out the latest version of Swiper.js in your project. We have found that upgrading to the latest version of Swiper.js resolved a large number of common problems that Ionic developers were running into.
Please see https://ionicframework.com/docs/api/slides for more information on this change as well as a step by step migration guide for your apps. Developers will have approximately 1 year to migrate, starting from the initial deprecation in September 2021.
I understand this may not be the immediate resolution you were hoping for, but we think this change will significantly improve the developer experience in the long run by placing control of slides back in the hands of the developers.


[BUG, Crash] OutOfMemory crash while opening pages from Reddit.com (Trying to allocate 256 Mb for image while decoding)

Bug Symptoms/Description:
I'm trying to open pages from reddit.com from issue #506, and OutOfMemory tabs crash happened.
Even with only 1 page and clean start.
(So its different from another OutOfMemory issues).
I have checked and detected that its occured in image decode processing here.
In "cc::SoftwareImageDecodeCacheUtils::DoDecodeImage()" and around. (See screenshots)
Its trying to allocate 256 Mb for image (what for?, and why failed ?).
Additional Info:
Its reproduced on both of my machines in both single-process and multi-process modes.
To Reproduce:
Try to open this test pages from mentioned issue:

https://www.reddit.com/r/chrome/comments/1c5jgmu/icons_in_chrome_tabs_are_misplaced/
https://www.reddit.com/r/chrome/comments/1c695ef/how_to_get_tab_favicons_back_to_normal/
https://www.reddit.com/r/chrome/comments/1c5zvnx/disabled_chrome_refresh_2023_and_customize_chrome/
https://www.reddit.com/r/chrome/comments/1c5xeja/broken_icon_placements_after_update_how_to_fix/
https://www.reddit.com/r/chrome/comments/1c6ette/why_are_my_tab_icons_higher_up_than_normal/

Screenshots:
Page crashed:

So we can see here its Failed to allocate 256 Mb of memory for image (but what for?, and why failed ?)

Config:

OS: XP 32-bit
Browser ver: v122-hf: https://github.com/win32ss/supermium/releases/tag/v122-hf
chrome.dll: latest available (17.03.2024) : https://github.com/win32ss/supermium/releases/download/v122-dbg/122_new_pdb_32.7z
progwrp.dll: <IP_ADDRESS>02

I have opened all reddit pages that u mentioned and mine is no crashing..........
Latest chrome.dll,
latest progwrp.dll
122-hf like yours
BUT WINDOWS 7
and i have Ublock origin installed....... maybe is blocking some script?????? idk
some from ad-delivery.net

but definetly not crash
flags:

well even after disabling ublock origin this does not happen on my machine
Nvidia geforce 210
pentium e5200 dual core
2gb ram ddr2!!!!!!!!!!! <----------- in 2024 LUL

Even with chrome refresh enabled (i always disable it because it generate extra ram usage ???????!!!!!!??)
Is not happening, i can open all reddit pages at once without problems

btw keeping chrome refresh enabled creates more ram usage?

Hello, you should check it on WinXP, as I pointed in bug report.
The browser can have different behaviour or Win7, because it has different memory allocation strategies etc.
I have checked again - on fresh load it shows me the page, But after 1st refresh of page - it crashes again.

Also check it with more recent available chrome.dll dated 17.03.2024: https://github.com/win32ss/supermium/releases/download/v122-dbg/122_new_pdb_32.7z
The skia lib code or other can be different here.
I dont know real couse, but its happened on both of my machines with WinXP.
In the past it was not happen. May be site changed some static stuff on it. (some images). Dont know.

The crash appear after page loaded, and images showed. And then it crashes after some milliseconds. may be additional script loads something.
It should be fixed on browser side (while it can be reproduced here). But not by blocking the scripts etc. :))
Becasue it can happen then on another sites. And this is really bad.

I have rechecked again. This is a phase (on screenshot), after which same OutOfMemory crash happen. With same callstack.
Just on the start of the browser with this one page opened.
Here I started it with --single-process flag to be catched by the debugger.

I think may be some fake hidden image with hooge dimensions (in its binary image header) here on the page ? So it tries to allocate 256 Mb for it. I dont know.
256 000 000 decimal. (value from my first post here). What for so much?..

I can confirm that a single Reddit page does result in a ~500-700 MB total allocation (which means that this could cause problems on a 32 bit system with a 2 GB per-process allocation in user mode). But it's not far off from other browsers on different configurations (such as Waterfox on 64bit Vista, where I tested the same pages).
If I put a clamp on the size of images that go through SoftwareImageDecodeCacheUtils::DoDecodeImage, to a much smaller value, say 1 000 000 pixels (1000x1000 square, of course), the memory committed is in the 100-300 MB range, and quickly drops to almost neutral when compared with the new-tab page. The only visual difference is that the two subreddit icons near the top of the page, on the top of the post and in the search bar, no longer appear.
I can allow for the blocking of attempts to load such large images, and I think this will help significantly on many low-end hardware configurations.

But from where such sizes ? 8000 x 8000, and why ?
What image URL is this ? What it contains ? Or it is just a fake picture ?
I think browser must block "abnormal" pictures. and may be write log line for such situation.

But from where such sizes ? 8000 x 8000, and why ? What image URL is this ? What it contains ? Or it is just a fake picture ? I think browser must block "abnormal" pictures. and may be write log line for such situation.

This is the image: https://styles.redditmedia.com/t5_2qlz9/styles/communityIcon_5ebr0z18yoxa1.jpg?format=pjpg&s=fecf8c6265ded5440f39c4cc727352871d60e3b1

This is the image: https://styles.redditmedia.com/t5_2qlz9/styles/communityIcon_5ebr0z18yoxa1.jpg?format=pjpg&s=fecf8c6265ded5440f39c4cc727352871d60e3b1

)))
This is true example of the "internet Shit"

@IDA-RE-things What size is the paging file set to?
Mypal68 easily opens 16000 x 16000. Firefox 125 too, but slowly.
https://photojournal.jpl.nasa.gov/jpeg/PIA18164.jpg 16000 x 16000

Supermium, 360ee 13.5, Thorium 109 are crashing, but they can open this:
https://photojournal.jpl.nasa.gov/jpeg/PIA22565.jpg 15556 x 11667
All three browsers do it equally slowly. Virtual Size reaches 1800 MB. 2000 MB is not exceeded, although I have /3GB enabled.

@Stepman123 , It will be separate question to compare which browser can open largest size of picture )).
If  its a real picture (i.e. Hi-Res photos), but not garbage with such size as in topic here (just icon).
I have not use /3Gb (My system crashes with it), but I use PAE-patched kernel and have 16 Gb of RAM.
But Supermium just on the start allocates ~1Gb of virtual memory per process. (as I already mentioned in #475)
If you are using /3Gb switch, of couse it will not crash for you.
Other browsers with adequate memory allocation algorithms, will not crash also.
The page file size does not matter here....

so,how block this icon?

I have seen yesterday in commits, he written some small code to block such pictures, by its square  in pixels.
Like if (width*height > 50000) then BlockIt  or something; which will be enabled by special commandline switch.
But before the fix will be released in general release, and will be available, I just don't go to Reddit;
Or I use my favorite content blocker (extension or external proxy) and enter this URL into it. (preferred for me).

UPD: While browsing the internet, I found some not so large, but large photo. And then I searched last commit, touching this issue, to review it:
https://github.com/win32ss/supermium/commit/2be10151b51a09e4d4d6a89fcd7c10cb84f8889b
The code now is:
(target_size.fWidth * target_size.fHeight) > 1 000 000) {
	  LOG(ERROR) << "Supermium attempted to load an image of size " << target_size.fWidth * target_size.fHeight << " pixels";
	  return nullptr;

But I think such code is not a resolution of the problem.
Because there are real images (photos) with more then 1 000 000 pixels in size.
Example:
https://4pda.to/s/as6yz1iKiWvN3nz1RT2CK7vMMqkz2t6.jpg
24-bit image.
size 4000 x 2668 = 10 672 000 pixels * 4 bytes per pixel = ~ 42 Mb in memory when decompressed
And its succesfully opened now in the browser.
I think more accurate will be to compare say compressed image size (for jpeg) with its dimensions in pixels. In such case we can detect wrong icons.
If the compressed ratio say over 98-99 %, then this is definitely not a photo.
More exact threshold value should be computed of course.

The page file size does not matter here....

You may be right, but this tip didn't come about by accident. It comes from the world of 3D gaming, back when there were still 32-bit engines. You can find this message in big red letters: No matter what size RAM you have, on any 32-bit system you must enable a minimum swap file size of 2 GB otherwise you will crash Out Of Memory or use x64 Windows.
I don't know why they didn't recommend using PAE. Probably because PAE does not affect Virtual Memory.

I have not use /3Gb (My system crashes with it)

Yes, it depends on the drivers and devices, besides this is intended for Server 2003, not XP. I use like /3GB /userva=3000 with a large swap file.

Its offtopic here, But its my memory info on both XP machines. (On both problem reproduced).
Other browsers, say IE8 and Firefox, Old Opera 10.x, They open this 256 Mb picture. Supermium - also can open it separately.
But if I open reddit page with another stuff on it plus this "icon". -- page crashes.
In same time old browsers can't show Reddit page properly, because they can't show its .css with new CSS standard (and icon from it appropriately, I think its from there).

I don't know why they didn't recommend using PAE. Probably because PAE does not affect Virtual Memory.

Because PAE conflicts with some 3rd party (non-Microsoft) drivers. Also MS USB drivers. I have disabled some drivers to prevent additional system crashes, and then experimentally found latest NVidia driver, compatible with PAE. (throught long time). Then have system crash, while installing one of them, and corrupt my system registry. Then was 2-3 days research and write the program to fix my registry. )). And finally have installed the PAE-compatible video driver. ^)
Of course PAE does not affect Virtual Memory available per process. Its 2 Gb limit by default for user space. And 2 Gb for kernel and hardware mapped memory.

I think 4 Gb paging file are sufficient for my system. I set it constant and limit it to prevent fragmentation of file system, and to prevent more SSD operations while paging.

Another machine: (4+2 Gb Ram + PAE) - 1 Gb onboard graphics. = ~5 Physical available + 7800...16000 paging file

@win32ss, I hope you read my comment above (https://github.com/win32ss/supermium/issues/507#issuecomment-2076632664) about the proper solution of the problem,
And will rewrite that code using this ideas,
And create commit, using guidelines as I described here: #510

Are we dont know the compressed file size before decoding the Jpeg image ?
Its strange . Bacause its given from server and jpeg is binary data, in opposition to variable-sized text.
Is it not stored inside internal data structures of image cached decorer or something else ?
So, if we have the compressed file size, and computed file size for uncompressed image (base on pixel-dimensions and bits per pixel from its binary header). -- We has all necessity info about it for this case. Is not ?

The JPEG image decoder doesn't contain the compressed file size, specifically in the cases where the file is large enough that it has to be buffered. I tried getting the file size by adding up every block that was processed, but it didn't work either.

May be we can add additional field for it to store file size ?
And in our case we should handle only relatively not so large images, (say < 1 Mb compressed, or < 500 Kb)
Because we focus only on bad icons.

It turned out that there were some errors in my testing involving the NASA images posted above. It turned out that they were not loading or (rarely) crashing in the same way with or without the new code, on Windows 10 WOW64 (on the same VM used to build Supermium). Now that this has been realized, the JPEG image decoder-based code has been restored.

UPD: I downloaded latest source code, and have tryed to debug this lines:
(but VS2010/VS2013 do this very slow with such huge PDB and it can't show local variables. So I only work with registers actually, and this is really hard)
The commit code was:
https://github.com/win32ss/supermium/commit/0e35efcbbb3fda7be9c72b3fb93a33fcb5098867
 total_size += data_->size();
 if (((reader_->Info()->output_width * reader_->Info()->output_height * 4) / 100) > total_size && IsAllDataReceived())

But while I debug it, the code never reaches && IsAllDataReceived().
Why ? I dont know, and tyred to debug this.
So or debugger was wrong while setting breakpoints, Or this code was wrong. (While mathematically its reasonable and should work).
@win32ss, Are you tested this code on the real page ?
So, then it tryes to Decode the image, with same OutOfMemory crash.

Screenshots:
cmp   byte  ptr [esi+0C1h], 0  <---- never reached

OutOfMemory

Was the browser debugged in --single-process mode or not? This code will execute in the context of the renderer and thus in a separate renderer process if available.
One effect of this code is that the two instances of the subreddit icon for r/chrome do not appear, as I have confirmed on numerous platforms.

Yes, I have debugged it with ˋ--single-processˋ of course. Else it never reached code near it. But code ˋtotal_size+= ...ˋ was executed. And only that part of logical expression was not executed.

UPD: for simplification, now I have checked just that URL of image.
https://styles.redditmedia.com/t5_2qlz9/styles/communityIcon_5ebr0z18yoxa1.jpg?format=pjpg&s=fecf8c6265ded5440f39c4cc727352871d60e3b1
its successfully showed on both of my machines with the latest R4 release, While should be blocked. So How such ?? :))

Its reproduced in v126-r1 with my test links from 1-st post.
Nothing changed.


Created tests for mailer, updated submission successful response

high level what you did:
(added a method, fixed )
Added tests for mailer. Updated response for a successful order form submission
Details:
describe your changes more in detail
Issues? yes/no
if issues, document what you've tried, what errors you're receiving, what goal is for the person reviewing
Questions or Notes:
any questions you have for the reviewer
Overall Checklist:

[x] tests written for all methods added
[x] test coverage above 90%
[x] RSpec running clean
[ ] ran rails s -- features working properly!
[x] pulled/merged main before submitting PR

This looks great!


Spanner JDBC driver checks and fails hard when unknown properties provided

Environment details

google-cloud-spanner-jdbc 1.7.0
OS type and version: osx
Java version: openjdk 11
google-cloud-java version(s): 1.7..0

Steps to reproduce

Create a Quarkus app
Use JPA w/ Hibernate and Spanner JDBC driver

Code example
persistence.xml
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
             version="2.1">
    <persistence-unit name="spanner-example">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

        <class>Person</class>

        <properties>
            <property name="javax.persistence.jdbc.url" value="jdbc:cloudspanner:/projects/wise-coyote-827/instances/demo/databases/demo" />
            <property name="javax.persistence.jdbc.driver" value="com.google.cloud.spanner.jdbc.JdbcDriver" />
            <property name="javax.persistence.jdbc.user" value="" />
            <property name="javax.persistence.jdbc.password" value="" />
            <property name="hibernate.dialect" value="com.google.cloud.spanner.hibernate.SpannerDialect"/>
            <property name="hibernate.connection.autocommit" value="true" />
            <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
            <property name="show_sql" value="true"/>
        </properties>
    </persistence-unit>
</persistence>

This is reproducible in non-quarkus environment (e.g., Thorntail)  by adding:
   <property name="hibernate.connection.provider_disables_autocommit" value="true"/>

@Entity
public class Person {
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Type(type="uuid-char")
	@Id
	private UUID id;
	private String name;

	public UUID getId() {
		return id;
	}

	public void setId(UUID id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

@Path("/hi")
public class Say {

    @Inject EntityManager em;

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String hello() {
        Person p = new Person();
        p.setName("Ray");
        em.persist(p);
        return "hello there";
    }
}

Stack trace
2019-10-31 17:45:22,186 WARN  [org.hib.orm.con.pooling] (main) HHH10001002: Using Hibernate built-in connection pool (not for production use!)
2019-10-31 17:45:22,188 INFO  [org.hib.orm.con.pooling] (main) HHH10001005: using driver [com.google.cloud.spanner.jdbc.JdbcDriver] at URL [jdbc:cloudspanner:/projects/wise-coyote-827/instances/demo/databases/demo]
2019-10-31 17:45:22,189 INFO  [org.hib.orm.con.pooling] (main) HHH10001001: Connection properties: {autocommit=true, provider_disables_autocommit=true}
2019-10-31 17:45:22,189 INFO  [org.hib.orm.con.pooling] (main) HHH10001003: Autocommit mode: true
2019-10-31 17:45:22,190 INFO  [org.hib.eng.jdb.con.int.DriverManagerConnectionProviderImpl] (main) HHH000115: Hibernate connection pool size: 20 (min=1)
2019-10-31 17:45:22,210 WARN  [org.hib.eng.jdb.spi.SqlExceptionHelper] (main) SQL Error: 3, SQLState: null
2019-10-31 17:45:22,210 ERROR [org.hib.eng.jdb.spi.SqlExceptionHelper] (main) INVALID_ARGUMENT: Invalid properties found in connection URI: provider_disables_autocommit
2019-10-31 17:45:22,214 INFO  [org.hib.ser.int.AbstractServiceRegistryImpl] (main) HHH000369: Error stopping service [class org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl]: java.lang.NullPointerException
	at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.stop(DriverManagerConnectionProviderImpl.java:207)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.stopService(AbstractServiceRegistryImpl.java:390)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.destroy(AbstractServiceRegistryImpl.java:373)
	at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.destroy(SessionFactoryServiceRegistryImpl.java:103)
	at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder$ServiceRegistryCloser.sessionFactoryClosed(FastBootEntityManagerFactoryBuilder.java:168)
	at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryClosed(SessionFactoryObserverChain.java:61)
	at org.hibernate.internal.SessionFactoryImpl.close(SessionFactoryImpl.java:824)
	at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:404)
	at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:462)
	at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:65)
	at io.quarkus.hibernate.orm.runtime.FastBootHibernatePersistenceProvider.createEntityManagerFactory(FastBootHibernatePersistenceProvider.java:54)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:80)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
	at io.quarkus.hibernate.orm.runtime.JPAConfig$LazyPersistenceUnit.get(JPAConfig.java:109)
	at io.quarkus.hibernate.orm.runtime.JPAConfig.startAll(JPAConfig.java:57)
	at io.quarkus.hibernate.orm.runtime.HibernateOrmRecorder.startAllPersistenceUnits(HibernateOrmRecorder.java:77)
	at io.quarkus.deployment.steps.HibernateOrmProcessor$startPersistenceUnits26.deploy_0(HibernateOrmProcessor$startPersistenceUnits26.zig:70)
	at io.quarkus.deployment.steps.HibernateOrmProcessor$startPersistenceUnits26.deploy(HibernateOrmProcessor$startPersistenceUnits26.zig:36)
	at io.quarkus.runner.ApplicationImpl1.doStart(ApplicationImpl1.zig:121)
	at io.quarkus.runtime.Application.start(Application.java:94)
	at io.quarkus.runner.RuntimeRunner.run(RuntimeRunner.java:143)
	at io.quarkus.dev.DevModeMain.doStart(DevModeMain.java:176)
	at io.quarkus.dev.DevModeMain.start(DevModeMain.java:94)
	at io.quarkus.dev.DevModeMain.main(DevModeMain.java:66)

javax.persistence.PersistenceException: [PersistenceUnit: spanner-example] Unable to build Hibernate SessionFactory
	at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.persistenceException(FastBootEntityManagerFactoryBuilder.java:113)
	at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:67)
	at io.quarkus.hibernate.orm.runtime.FastBootHibernatePersistenceProvider.createEntityManagerFactory(FastBootHibernatePersistenceProvider.java:54)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:80)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
	at io.quarkus.hibernate.orm.runtime.JPAConfig$LazyPersistenceUnit.get(JPAConfig.java:109)
	at io.quarkus.hibernate.orm.runtime.JPAConfig.startAll(JPAConfig.java:57)
	at io.quarkus.hibernate.orm.runtime.HibernateOrmRecorder.startAllPersistenceUnits(HibernateOrmRecorder.java:77)
	at io.quarkus.deployment.steps.HibernateOrmProcessor$startPersistenceUnits26.deploy_0(HibernateOrmProcessor$startPersistenceUnits26.zig:70)
	at io.quarkus.deployment.steps.HibernateOrmProcessor$startPersistenceUnits26.deploy(HibernateOrmProcessor$startPersistenceUnits26.zig:36)
	at io.quarkus.runner.ApplicationImpl1.doStart(ApplicationImpl1.zig:121)
	at io.quarkus.runtime.Application.start(Application.java:94)
	at io.quarkus.runner.RuntimeRunner.run(RuntimeRunner.java:143)
	at io.quarkus.dev.DevModeMain.doStart(DevModeMain.java:176)
	at io.quarkus.dev.DevModeMain.start(DevModeMain.java:94)
	at io.quarkus.dev.DevModeMain.main(DevModeMain.java:66)
Caused by: org.hibernate.exception.GenericJDBCException: Error calling Driver#connect
	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113)
	at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:118)
	at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:41)
	at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:58)
	at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections.addConnections(DriverManagerConnectionProviderImpl.java:321)
	at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections.<init>(DriverManagerConnectionProviderImpl.java:240)
	at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections.<init>(DriverManagerConnectionProviderImpl.java:218)
	at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections$Builder.build(DriverManagerConnectionProviderImpl.java:359)
	at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:98)
	at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:73)
	at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:107)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:246)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
	at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.getService(SessionFactoryServiceRegistryImpl.java:98)
	at org.hibernate.internal.SessionFactoryImpl.buildLocalConnectionAccess(SessionFactoryImpl.java:478)
	at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:315)
	at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:462)
	at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:65)
	... 14 more
Caused by: com.google.cloud.spanner.jdbc.JdbcSqlExceptionFactory$JdbcSqlExceptionImpl: INVALID_ARGUMENT: Invalid properties found in connection URI: provider_disables_autocommit
	at com.google.cloud.spanner.jdbc.JdbcSqlExceptionFactory.of(JdbcSqlExceptionFactory.java:296)
	at com.google.cloud.spanner.jdbc.JdbcDriver.connect(JdbcDriver.java:170)
	at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:38)
	... 29 more
Caused by: java.lang.IllegalArgumentException: Invalid properties found in connection URI: provider_disables_autocommit
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:141)
	at com.google.cloud.spanner.jdbc.ConnectionOptions.checkValidProperties(ConnectionOptions.java:482)
	at com.google.cloud.spanner.jdbc.ConnectionOptions$Builder.setUri(ConnectionOptions.java:285)
	at com.google.cloud.spanner.jdbc.JdbcDriver.connect(JdbcDriver.java:164)
	... 30 more

External references such as API reference guides used

?

Any additional information below
/cc @meltsufin @olavloite

/cc @Sanne

hi @saturnism !
So Quarkus with the Spanner driver? We've not tested that, and it will likely need its own Quarkus extension..
Also I suspect you might have better luck without using the persistence.xml, as you're side-stepping the use of our connection pool.
Many thanks I'll have a look at this next week

@Sanne actually, this failed in non-Quarkus env w/ Thorntail if hibernate.connection.provider_disables_autocommit is configured.  Whenever that's configured, it seems to propagate a provider_disables_autocommit property to JDBC driver (via connection string?) and our driver doesn't handle unknown properties.
Where is the provider_disables_autocommitJDBC property coming from?

If i switched to quarkus.hibernate-orm configuration, it actually works! (in JVM mode :)
But still, would like to know what the right behavior is when someone configures provider_disables_autocommit. Thanks!
quarkus.datasource.url=jdbc:cloudspanner:/projects/wise-coyote-827/instances/demo/databases/demo
quarkus.datasource.driver=com.google.cloud.spanner.jdbc.JdbcDriver
quarkus.datasource.username=
quarkus.datasource.password=
quarkus.datasource.min-size=2
quarkus.datasource.max-size=10

quarkus.hibernate-orm.dialect=com.google.cloud.spanner.hibernate.SpannerDialect

Where is the provider_disables_autocommitJDBC property coming from?

provider_disables_autocommit is automatically applied in Quarkus, but it's expecting you to setup the datasource using Agroal.
Either way, it's not supposed to be passed on to the JDBC driver - I need to check why that happens.
FYI you're forcing Hibernate to use the embedded connection pool, which should be logging a scary banner  - something like "not for production use" ? so... yes something is wrong in our code but your setup isn't entirely right either: don't do that :)

@Sanne ah, i do see the warning. It wasn't scary enough I completely missed it 😄

ahah ok :+1:  Next time I'll write our source code in red...
I'm tracking this with both an issue on ORM and one in Quarkus as there's different aspects I'd want to cleanup.

https://github.com/quarkusio/quarkus/issues/5103
https://hibernate.atlassian.net/browse/HHH-13700

Neat! FWIW, It seems like I was able to use the Panache repository too.

It seems like I was able to use the Panache repository too.

Of course :)
What about compiling to native-images? I'd expect the Spanner JDBC driver to need an extension, but sometimes one could be lucky and not need any help. I couldn't try that yet, I might next week (postponing for real this time - HHH-13700 is resolved).

Hi @saturnism
The Spanner JDBC driver currently explicitly checks that all properties that are passed to it are valid. This is not really needed for the driver to function properly, but is more of a 'service' to users if they accidentally misspell a property; Instead of giving the user unexpected behavior, it fails fast.
We could easily remove this check without breaking anything. Maybe we should just write out a warning instead :grin:
@skuruppu WDYT?

@Sanne

What about compiling to native-images? I'd expect the Spanner JDBC driver to need an extension, but sometimes one could be lucky and not need any help.

I haven't tried it either. Since this most likely use gRPC behind the scenes, I'm expecting to run into issues: https://github.com/quarkusio/quarkus/issues/820
@olavloite

We could easily remove this check without breaking anything. Maybe we should just write out a warning instead

I thought the check was well intentioned. it helped us find this Hibernate issue :D I'm afraid that existing Hibernate users wouldn't be able to upgrade to a fix quick enough.  And provider_disables_autocommit seems to be a recommended flag. I feel we have to ignore and warn as oppose to fail.

I wouldn't rush in downgrading the severity to a WARN:
this flag is fairly new, so people on older versions who struggle to upgrade won't have it at all.
People on versions 5.2/5.3/5.4 might bump into this, but it should also be straight forward for them to either upgrade - or use the right connection pool ;)
The flag is also not set by default and rather obscure. We enable it by default only in Quarkus, and yet in Quarkus we control the version of Hibernate ORM so I'll simply make sure we get the fix in soon. And again.. people using the recommended connection pool won't even need the fix.

I thought the check was well intentioned. it helped us find this Hibernate issue :D

+1

Hi @saturnism
The Spanner JDBC driver currently explicitly checks that all properties that are passed to it are valid. This is not really needed for the driver to function properly, but is more of a 'service' to users if they accidentally misspell a property; Instead of giving the user unexpected behavior, it fails fast.
We could easily remove this check without breaking anything. Maybe we should just write out a warning instead 😁
@skuruppu WDYT?
I just checked with a couple of other open source JDBC drivers, and they seem to just ignore unknown properties. The JDBC specification also does not specify anything about what a driver should do with an unknown property.

Based on @Sanne's comment above, I think it's reasonable to leave the logic as is. But if we find users who have legitimate reasons for adding unknown properties (I can't think why anyone would want to do that) then we can consider changing the logic.

Closing this for now as the conclusion is that we do not want to remove this check at the moment.


Last record in each of the auto selected tables is missing.

When I autoselect it appears to select all records in the individual tables perfectly.  But, when I goto the preview and extract it drops the last record on each page.  If I extend the selection for approx. 1 line height below the last record it appears to work properly.  I have about 252 pages so manually editing the bottum of the selection for each page would be a pain.
41917PractitionerFeeSchedule.pdf

@lsumnler : Since the tables look identical on each page after the first, you could create a custom selection and tweak it so it's perfect on page 2, then click "Repeat Selection" so it spreads to the remaining 250. (And do page 1 automatically too.)
And thank you for the bug report. The Autoselect feature is useful when it works, but for cases it doesn't, it's about the best we can do -- that's why the manual selections exist.

@jeremybmerrill
I read your response to this issue, #692.  I'm having a similar problem and open an issue #699
I've tried manual selection and auto selection but I still cant get Tabula to recognize/export the last row on each page of the pdf I'm working with.  Do you mind taking a look at it to see if there is a possible solution?
Thanks.
2000004688 - Bid Award.pdf

Came across the same problem. Is there a way to know the coordinates of the table selected by auto-select feature of Tabula?

As a workaround, you can increase the height of the autodetected rectangle by a few pixels:
`
List guesses = detector.detect(page);
  for (Rectangle guessRect : guesses) {
    guessRect.height += 5;
    Page guess = page.getArea(guessRect);
    tables.addAll(extractor.extract(guess));
  }
}

`


Change star field background

Would it be possible to add an option to choose a different background for the crawl?

No


"Already running a prediction" When hitting multiple requests

This is not exactly issue, So the situation is,
I am running COG container locally and I want to process multiple requests at once, however when i hit 100 requests at once it gave me output for 20 and for rest it gave me "Already running a prediction". however my system utilisation was very low  How can i do this in parallel.
I am using Image similarity model with VIT and it uses GPU.

Ditto, trying to figure this out as well. I've tried by setting threads:
docker run -d -p 5000:5000 <container> python -m cog.server.http --threads=8

But still keep hitting the "Already running a prediction" error.

I thought it was because of GPU only that we can make one prediction at a time but it's same for CPUs as well

There's a new version https://github.com/replicate/cog/releases/tag/v0.9.0-beta9 that has support for async predictor functions. That might help?
cc @technillogue

We hope to roll out concurrent predictions in the next months, but the 0.9.0b9 only allows async def predict, not concurrent predictions.
The threads argument controls how many HTTP requests can be served concurrently, but right now unless I'm mistaken Predictor.predict can still only run one prediction at a time.
Even if that wasn't the case, it's very hard to use torch and get true GPU concurrency without ultimately implementing something like batching or microbatching. For right now, if you can implement batching yourself, that's best.

Okay, thanks for the update. In my case what I've done is set up ~5 docker containers on separate ports, and then used nginx to load balance between them. This allows me to have up to 5 ongoing predictions at any given time.

@technillogue
+1 to concurrent predictions

+1 to concurrent predictions!

+1 to concurrent predictions!


add finals, general code cleanup

Adding finals to variables and places that it can be to more clearly denote what should be modified and what shouldnt.  Also allows for more compilation optimization.
Some general code cleanup as suggested by intelliJ to prevent coding errors in the future (ex. methods and if statement blocks that have no brackets)

Thank you, but after a quick test, I see no performance enhancements resulting from the extensive use of the final keywword in the code.
Using final in method parameters is also of very limited use and practically not needed here. (IMHO)
Pull requests should either enhance the performance or functionality of this library.

http://www.javapractices.com/topic/TopicAction.do?Id=23

http://stackoverflow.com/questions/137868/using-final-modifier-whenever-applicable-in-java

As I noted, this is all about coding practices. And I don't want to start a war on what is the best coding practice.
It has no influence on performance or functionality.

It was less about performance and more about clarity on those variables and their intention of not being set to another instance.  Its fine it works as is.  I was just going for cleaner, more concise and clear coding intentions on the variable declarations.  Its your lib and you make the ultimate decision.  Just trying to help out.  Keep up the good work on it.


fix Fix schema change run into nullable check specified for MV

Proposed changes
Fix using != to compare ColumnType as reference, introduced by #32810
Add a minimal verify case.

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall

2.0 and 2.1 do not have this bug


Read permission is always required even with the portable loader

The docs state that the portable loader requires --allow-read and/or --allow-net, but the former is always required in fact.
This seems to be because of the Deno.cwd() call.
https://github.com/lucacasonato/esbuild_deno_loader/blob/ccd8992c690deee821d6b7a7efeaf599722c394c/src/plugin_deno_loader.ts#L187-L190
The workaround for this issue is to specify a dummy absWorkingDir value in the esbuild configuration.
const result = await esbuild.build({
  // ...
  // required to avoid read permission of CWD by esbuild_deno_loader
  absWorkingDir: "/",
});

I encountered this problem when using this plugin in Val Town, which does not allow read permissions.

The docs are correct. Read is not always reqiured, only when absWorkingDir is not set.


Register valorshoired.is-a-frontend.dev

Added valorshoired.is-a-frontend.dev using the CLI.

Question whoever sees this is this appropriate for like proxmox and next cloud and stuff can I hook up a domain to it with this if not that's fine whatever just wanted to know and thought I might as well submit a thing


Remove redundant arguments passed to redirecting factory constructors

Remove redundant arguments passed to redirecting factory constructors
Fixes https://github.com/flutter/flutter/issues/115496
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@Hixie can this be test-exempt?

The bot didn't flag this so its OK :)


Container Images don't deploy correctly

Hi,
I followed the guide step by step and downloaded and pushed the docker images files to my Azure Container Registry. However after the deployment the module never starts running, looking at the log file in my edge device I can see that the pull from the registry is successful, however when it wants to actually run it, there is an error "No command defined"
Is there a missing step somewhere?
Thanks,
Mo

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

ID: 1da014b4-5331-9a79-1383-240d02674dc0
Version Independent ID: 1d444abe-c73a-d480-a7ee-c4bfcf31730d
Content: Set up IoT Edge modules in Azure SQL Edge
Content Source: articles/azure-sql-edge/tutorial-set-up-iot-edge-modules.md
Service: sql-edge
GitHub Login: @VasiyaKrishnan
Microsoft Alias: vakrishn

@mmeiman Thank you for your query, our team will further look into it and get back to you at the earliest.

@mmeiman This would require further troubleshooting to find out the root cause. Please file a support request @ https://aka.ms/azsupt? If you do not have access to a support plan, please reach out<EMAIL_ADDRESS>with a link to this Issue as well as your subscription ID and we can help get the support ticket opened for this issue.
Once you receive an email from cx enable free support ticket.


Failed to autoupdate: ERRO Access is denied

$ cat vscode-inno-updater.log
Jul 12 08:57:33.470 INFO Starting: C:\Users\t-jakea\AppData\Local\Programs\Microsoft VS Code Insiders\Code - Insiders.exe, false
Jul 12 08:57:33.472 INFO Checking for running Code - Insiders.exe processes... (attempt 1)
Jul 12 08:57:33.487 INFO Code - Insiders.exe is running, wait a bit
Jul 12 08:57:33.989 INFO Checking for running Code - Insiders.exe processes... (attempt 2)
Jul 12 08:57:33.989 INFO Code - Insiders.exe is running, wait a bit
Jul 12 08:57:34.504 INFO Checking for running Code - Insiders.exe processes... (attempt 3)
Jul 12 08:57:34.504 INFO Code - Insiders.exe is running, wait a bit
Jul 12 08:57:35.019 INFO Checking for running Code - Insiders.exe processes... (attempt 4)
Jul 12 08:57:35.019 INFO Code - Insiders.exe is not running
Jul 12 08:57:35.019 INFO Checking for possible conflicting running processes... (attempt 1)
Jul 12 08:57:35.019 INFO Inno Updater v0.5.0
Jul 12 08:57:35.019 INFO Starting update, silent = false
Jul 12 08:57:35.080 INFO do_update: "C:\\Users\\t-jakea\\AppData\\Local\\Programs\\Microsoft VS Code Insiders\\Code - Insiders.exe", _
Jul 12 08:57:35.080 INFO move_update: "C:\\Users\\t-jakea\\AppData\\Local\\Programs\\Microsoft VS Code Insiders\\unins000.dat", _
Jul 12 08:57:35.081 INFO Delete: "api-ms-win-core-console-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.082 INFO Delete: "api-ms-win-core-datetime-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.083 INFO Delete: "api-ms-win-core-debug-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.084 INFO Delete: "api-ms-win-core-errorhandling-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.084 INFO Delete: "api-ms-win-core-file-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.085 INFO Delete: "api-ms-win-core-file-l1-2-0.dll" (attempt 1)
Jul 12 08:57:35.085 INFO Delete: "api-ms-win-core-file-l2-1-0.dll" (attempt 1)
Jul 12 08:57:35.085 INFO Delete: "api-ms-win-core-handle-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.086 INFO Delete: "api-ms-win-core-heap-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.086 INFO Delete: "api-ms-win-core-interlocked-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.087 INFO Delete: "api-ms-win-core-libraryloader-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.087 INFO Delete: "api-ms-win-core-localization-l1-2-0.dll" (attempt 1)
Jul 12 08:57:35.087 INFO Delete: "api-ms-win-core-memory-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.088 INFO Delete: "api-ms-win-core-namedpipe-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.088 INFO Delete: "api-ms-win-core-processenvironment-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.088 INFO Delete: "api-ms-win-core-processthreads-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.088 INFO Delete: "api-ms-win-core-processthreads-l1-1-1.dll" (attempt 1)
Jul 12 08:57:35.089 INFO Delete: "api-ms-win-core-profile-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.089 INFO Delete: "api-ms-win-core-rtlsupport-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.090 INFO Delete: "api-ms-win-core-string-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.090 INFO Delete: "api-ms-win-core-synch-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.090 INFO Delete: "api-ms-win-core-synch-l1-2-0.dll" (attempt 1)
Jul 12 08:57:35.091 INFO Delete: "api-ms-win-core-sysinfo-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.091 INFO Delete: "api-ms-win-core-timezone-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.092 INFO Delete: "api-ms-win-core-util-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.092 INFO Delete: "api-ms-win-crt-conio-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.092 INFO Delete: "api-ms-win-crt-convert-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.093 INFO Delete: "api-ms-win-crt-environment-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.093 INFO Delete: "api-ms-win-crt-filesystem-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.094 INFO Delete: "api-ms-win-crt-heap-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.094 INFO Delete: "api-ms-win-crt-locale-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.094 INFO Delete: "api-ms-win-crt-math-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.094 INFO Delete: "api-ms-win-crt-multibyte-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.095 INFO Delete: "api-ms-win-crt-private-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.095 INFO Delete: "api-ms-win-crt-process-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.096 INFO Delete: "api-ms-win-crt-runtime-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.096 INFO Delete: "api-ms-win-crt-stdio-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.096 INFO Delete: "api-ms-win-crt-string-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.097 INFO Delete: "api-ms-win-crt-time-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.097 INFO Delete: "api-ms-win-crt-utility-l1-1-0.dll" (attempt 1)
Jul 12 08:57:35.097 INFO Delete: "bin" (attempt 1)
Jul 12 08:57:35.098 INFO Delete: "blink_image_resources_200_percent.pak" (attempt 1)
Jul 12 08:57:35.099 INFO Delete: "Code - Insiders.exe" (attempt 1)
Jul 12 08:57:35.105 INFO Delete: "Code - Insiders.VisualElementsManifest.xml" (attempt 1)
Jul 12 08:57:35.105 INFO Delete: "CodeSignSummary-991f0236-be08-458e-8638-c0710ea5ca84.md" (attempt 1)
Jul 12 08:57:35.105 INFO Delete: "content_resources_200_percent.pak" (attempt 1)
Jul 12 08:57:35.105 INFO Delete: "content_shell.pak" (attempt 1)
Jul 12 08:57:35.105 INFO Delete: "d3dcompiler_47.dll" (attempt 1)
Jul 12 08:57:35.105 INFO Delete: "ffmpeg.dll" (attempt 1)
Jul 12 08:57:35.105 INFO Delete: "icudtl.dat" (attempt 1)
Jul 12 08:57:35.105 INFO Delete: "libEGL.dll" (attempt 1)
Jul 12 08:57:35.105 INFO Delete: "libGLESv2.dll" (attempt 1)
Jul 12 08:57:35.121 INFO Delete: "locales" (attempt 1)
Jul 12 08:57:35.121 INFO Delete: "msvcp140.dll" (attempt 1)
Jul 12 08:57:35.121 INFO Delete: "natives_blob.bin" (attempt 1)
Jul 12 08:57:35.121 INFO Delete: "node.dll" (attempt 1)
Jul 12 08:57:35.136 INFO Delete: "pdf_viewer_resources.pak" (attempt 1)
Jul 12 08:57:35.136 INFO Delete: "resources" (attempt 1)
Jul 12 08:57:37.011 INFO Delete: "snapshot_blob.bin" (attempt 1)
Jul 12 08:57:37.011 INFO Delete: "ucrtbase.dll" (attempt 1)
Jul 12 08:57:37.011 INFO Delete: "ui_resources_200_percent.pak" (attempt 1)
Jul 12 08:57:37.011 INFO Delete: "vcruntime140.dll" (attempt 1)
Jul 12 08:57:37.011 INFO Delete: "views_resources_200_percent.pak" (attempt 1)
Jul 12 08:57:37.011 INFO Rename: "api-ms-win-core-console-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.011 INFO Rename: "api-ms-win-core-datetime-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.011 INFO Rename: "api-ms-win-core-debug-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.011 INFO Rename: "api-ms-win-core-errorhandling-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.011 INFO Rename: "api-ms-win-core-file-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.011 INFO Rename: "api-ms-win-core-file-l1-2-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-file-l2-1-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-handle-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-heap-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-interlocked-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-libraryloader-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-localization-l1-2-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-memory-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-namedpipe-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-processenvironment-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-processthreads-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-processthreads-l1-1-1.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-profile-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-rtlsupport-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-string-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-synch-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-synch-l1-2-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-sysinfo-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.027 INFO Rename: "api-ms-win-core-timezone-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-core-util-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-conio-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-convert-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-environment-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-filesystem-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-heap-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-locale-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-math-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-multibyte-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-private-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-process-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-runtime-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-stdio-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-string-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-time-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "api-ms-win-crt-utility-l1-1-0.dll" (attempt 1)
Jul 12 08:57:37.042 INFO Rename: "bin" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "blink_image_resources_200_percent.pak" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "Code - Insiders.exe" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "Code - Insiders.VisualElementsManifest.xml" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "CodeSignSummary-33ee5e3b-a15b-42cb-96ff-8d10b743f013.md" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "content_resources_200_percent.pak" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "content_shell.pak" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "d3dcompiler_47.dll" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "ffmpeg.dll" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "icudtl.dat" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "libEGL.dll" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "libGLESv2.dll" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "locales" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "msvcp140.dll" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "natives_blob.bin" (attempt 1)
Jul 12 08:57:37.058 INFO Rename: "node.dll" (attempt 1)
Jul 12 08:57:37.074 INFO Rename: "pdf_viewer_resources.pak" (attempt 1)
Jul 12 08:57:37.074 INFO Rename: "resources" (attempt 1)
Jul 12 08:57:37.136 INFO Rename: "resources" (attempt 2)
Jul 12 08:57:37.339 INFO Rename: "resources" (attempt 3)
Jul 12 08:57:37.792 INFO Rename: "resources" (attempt 4)
Jul 12 08:57:38.605 INFO Rename: "resources" (attempt 5)
Jul 12 08:57:39.871 INFO Rename: "resources" (attempt 6)
Jul 12 08:57:41.683 INFO Rename: "resources" (attempt 7)
Jul 12 08:57:44.156 INFO Rename: "resources" (attempt 8)
Jul 12 08:57:47.370 INFO Rename: "resources" (attempt 9)
Jul 12 08:57:51.428 INFO Rename: "resources" (attempt 10)
Jul 12 08:57:56.444 INFO Rename: "resources" (attempt 11)
Jul 12 08:57:56.444 ERRO Access is denied. (os error 5)

VSCode Version: User install Insiders. I believe I was on 5a4eab812bd485942061f71af39f3eabc52a1035, but I cant go back and check anymore.

OS Version: Win10 @ 1709/16299.492

Steps to Reproduce:

See update icon in gear
Click "Restart to apply update"

@JacksonKearl Awesome that someone from the team gets this error. Does it always repro?

Just got it again when stable tried to autoupdate

But when I downloaded 1.25.0 fresh from the build page, it was able to update.


Presto does not find tables with camelCase

Hi everyone!
I am trying to select data from a table with its name written in camelCase format, something like:
SELECT * FROM catalog.schema.tableName
But Presto returns:
Table catalog.schema.tableName does not exist
If I run SHOW TABLES FROM catalog.schema Presto returns all the tables in lowercase. I've tried to put the table name between quotation marks ("") but the problem still remains.
Is there any work around for this? Either in the Presto side or in the SQL side.
Note: I'm using PrestoDB 0.227 in EMR cluster.
Note 2: Also tried this in PrestoDB 0.229.

hi!! Presto transforms all the identifiers - tables, schema, columns to lower case. There is a on-going PR (#2350) which solves this issue. For JDBC based connectors we can enable case sensitive matching of tableNames by setting this property case-insensitive-name-matching as true

For the reference, I implemented case-insensitive-name-matching in Presto 309, but I think PrestoDB backported this to their fork, so it I guess it's available in .227 as well.
Anyway,as you're using JDBC connectors, I recommend that you try Presto 327 https://prestosql.io/download.html -- you're missing A TON of improvements that we developed within JDBC connectors (and everywhere else).
Let me close the issue, as I think your question was already answered.
We can continue discussion here, or on Presto community slack.
See you there!

Thank you both! That solved my problem in PrestoDB 0.227, but I will give a try on PrestoSQL!


Upgrade bosh-cli in bosh-cli-v2 and bosh-shell

We would like the latest version of bosh-cli in our bosh container images.

Merging this as it doesn't actually get it deployed anywhere and all the tests pass


Replace spaces with underscores if making workdir

fix: #1520

With the patch, I manually tested it, the test result looks good.
(tmt) huanli@kvm-01-guest02:foo$ (cd ../dev; git show)
...<snip>...
diff --git a/tmt/utils.py b/tmt/utils.py
index 6aac821..1671048 100644
--- a/tmt/utils.py
+++ b/tmt/utils.py
@@ -765,8 +765,10 @@ class Common:
         # Need the parent workdir
         if self.parent is None or self.parent.workdir is None:
             return None
-        # Join parent name with self
-        return os.path.join(self.parent.workdir, self.name.lstrip('/'))
+        # Join parent name with self. Note spaces in the base name are replaced with underscores
+        # on purpose because it is not user friendly if a directory path contains spaces
+        base_name = re.sub(r'\s+', '_', self.name).lstrip('/')
+        return os.path.join(self.parent.workdir, base_name)

     def _workdir_load(self, workdir: WorkdirArgumentType) -> None:
         """
(tmt) huanli@kvm-01-guest02:foo$ cat plans/foo.fmf
summary: Basic smoke test
discover:
    name: A B C D e f g
    how: fmf
execute:
    how: tmt
(tmt) huanli@kvm-01-guest02:foo$ tmt -d run discover
/var/tmp/tmt/run-001

/plans/foo
    Report step always force mode enabled.
    discover
    workdir: /var/tmp/tmt/run-001/plans/foo/discover
        how: fmf
        name: A B C D e f g
        Git root not found, using '/home/huanli/dev/1520/foo.'
        directory: /home/huanli/dev/1520/foo
        Copy '/home/huanli/dev/1520/foo' to '/var/tmp/tmt/run-001/plans/foo/discover/A_B_C_D_e_f_g/tests'.
        Check metadata tree in '/var/tmp/tmt/run-001/plans/foo/discover/A_B_C_D_e_f_g/tests/'.
        summary: 1 test selected
# ^^^^^ name: A B C D e f g
# ^^^^^ directory path: /var/tmp/tmt/run-001/plans/foo/discover/A_B_C_D_e_f_g/tests

Hi @psss, do we need to add one simple test to cover this fix?

Fine with me except line 271 - I don’t understand why ‘safe_name’ is used for ‘prefix’. Prefix is then used with ‘test.name’ which may contain its own pile of unsafe characters, invalidating the effort. I’d keep using ‘phase.name’ since it’s used for name anyway, no harm in name containing spaces, is it?

I've updated the prefix to contain the safe name in order to prevent introducing unsafe characters to safe test names: If all tests in the git repository have nice & safe names, the prefix could still introduce unsafe characters from the discover step name.

In order to make it more clear, here's an example:
discover:
  - name: more words
    how: fmf
  - name: something @#$% ugly?!
    how: fmf
execute:
    how: tmt

Without safe prefix we get this:
> tmt run discover -v
/var/tmp/tmt/run-046

/plans/simple
    discover
        how: fmf
        name: more words
        directory: /tmp/safe
        how: fmf
        name: something @#$% ugly?!
        directory: /tmp/safe
        summary: 6 tests selected
            /more words/tests/one
            /more words/tests/three
            /more words/tests/two
            /something @#$% ugly?!/tests/one
            /something @#$% ugly?!/tests/three
            /something @#$% ugly?!/tests/two

With the safe prefix the test names are nice again:
> tmt run discover -v
/var/tmp/tmt/run-045

/plans/simple
    discover
        how: fmf
        name: more words
        directory: /tmp/safe
        how: fmf
        name: something @#$% ugly?!
        directory: /tmp/safe
        summary: 6 tests selected
            /more-words/tests/one
            /more-words/tests/three
            /more-words/tests/two
            /something-ugly/tests/one
            /something-ugly/tests/three
            /something-ugly/tests/two

I would argue the first example is exactly what tmt should print out.

+ 1, @psss, right here I'm with @happz because if user prefers special characters in names, it's straightforward to show the original special characters.  If there is any problem, user should be responsible for correcting the special characters. For tmt, it just need to make sure the names stored in filesystems.   That is, I'm with this one:
> tmt run discover -v
/var/tmp/tmt/run-046

/plans/simple
    discover
        how: fmf
        name: more words
        directory: /tmp/safe
        how: fmf
        name: something @#$% ugly?!
        directory: /tmp/safe
        summary: 6 tests selected
            /more words/tests/one
            /more words/tests/three
            /more words/tests/two
            /something @#$% ugly?!/tests/one
            /something @#$% ugly?!/tests/three
            /something @#$% ugly?!/tests/two

I would argue the first example is exactly what tmt should print out. There is no discover step named more-words, as can be seen clearly in the fmf source: name: more words. There's no dash in the step name. Filesystem paths are implementation detail, it's up to tmt to decide how and where to store data, on the other hand, step, story, and test names are all given by users and should be reported as such.

@psss, right here I'm with @happz because if user prefers special characters in names, it's straightforward to show the original special characters. If there is any problem, user should be responsible for correcting the special characters. For tmt, it just need to make sure the names stored in filesystems safely and user friendly as well. That is, I'm with this one:

Good points! Makes sense. Thanks for the review and explanation! I've reverted the test name change back and rebased.


runtime: being unable to allocate across scavenged and unscavenged memory leads to fragmentation blow-up in some cases

What version of Go are you using (go version)?

$ go version
go version go1.12.13 darwin/amd64
go version go1.13.4 darwin/amd64

Does this issue reproduce with the latest release?
Yes. Tested on
go version go1.4-bootstrap-20170531 darwin/amd64
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/qwe/Library/Caches/go-build"
GOENV="/Users/qwe/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GONOPROXY="none"
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/qwe/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.13.4/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.13.4/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/qv/37vc1dv526n0drc9jljj4v240000gp/T/go-build366955304=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
Original issue description is posted at gonum library repo https://github.com/gonum/gonum/issues/1174
In a few words: we have a huge graph in memory and we need to update it periodically.
After a new graph initialization, we switch pointer to the new graph and wait for GC to free unused memory.
But it never reuses all the HeapIdle and asks OS for new pages increasing HeapSys infinitely.
Base self-contained demo: https://github.com/savalin/example/blob/master/main.go.
It's simplified code but even this one shows some memory management strangeness.
What did you expect to see?
HeapIdle re-usage instead of asking OS for new memory.
What did you see instead?
HeapIdle/HeapSys grow infinitely (until OMM-killer wake up and kill the app)
Currently, we downgraded golang to v1.11.13 as a workaround, but we hope to be able to use new golang releases

/cc @aclements @mknyszek
(Please let me know if there are other people who are better to ping about an issue like this.)

@savalin FWIW, I can't reproduce this at tip. HeapSys stays nice and low. This leads me to an interesting conclusion. Go 1.12 introduced the concept of treating memory separately if it's returned to the OS or if it isn't. This policy was carried through into Go 1.13, but in Go 1.14, we no longer do this because it would be expensive and cumbersome to do so.
The reason this decision was made in the first place was to accommodate the more aggressive mechanism for returning memory to the OS in Go 1.13 (#30333). The decision was deemed a good idea because jemalloc and other allocators follow a similar rule for returning memory to the OS. It seems like for whatever reason this decision is causing fragmentation which really hurts this application.
Anyway, it shouldn't matter for future releases. This bug is effectively fixed for the Go 1.14 release. Please give the tip of the master branch a try and see if you get the same results.
Finally, this made me realize that debug.FreeOSMemory no longer works as it's supposed to in Go 1.14, so I'll open up an issue and fix that.
CC @aclements, since this is the first consequence we're seeing of that original decision.
Please continue reading if you'd like to see some additional notes I wrote while sussing this out.

HeapSys is expected to never decrease since we never unmap memory in the runtime. Instead we call madvise which increases HeapReleased.
In Go 1.13 we added a more aggressive scavenging mechanism (#30333) which should keep HeapSys - HeapReleased closer to your actual working set, not accounting for certain accounts of fragmentation.
I noticed in the other thread also that you tried GODEBUG=madvdontneed=1, but here you specify darwin/amd64; note that that option only has any effect on Linux, where it'll properly drop RSS counters at the cost of additional page faults (but the OS lets you overcommit, it'll just kick out MADV_FREE'd pages when it needs it). We don't do what drops RSS counters on darwin/amd64 because it's non-trivial to do, though perhaps we could now that we rely on libSystem.
Looking at your example, HeapIdle == HeapReleased after you call debug.FreeOSMemory, which is exactly what that does. I'm not sure why your OOM killer is triggering because HeapSys is just virtual memory. Do you have ulimit -v set? Perhaps this is a Darwin overcommit thing we need to work around.
There was temporarily some issues in Go 1.12/1.13 around fragmentation causing HeapSys to keep getting larger (#31616) because of a bug. We also noticed that there was a problem in Go 1.12 if we decided to prefer unscavenged memory over scavenged memory in the allocator, so we decided to take the best between the two instead, which resolved the issue.

@savalin I will close this once you're able to verify that this is fixed for you. If you're still experiencing problems, we'll move on from there.

@savalin My mistake. This doesn't reproduce at tip as long as you put a runtime.GC() call at the very top of the for loop (when all the heap memory is actually dead).
I can get it to increase the same as in #35890. What @randall77 mentioned in that one is pretty much what I'm seeing here: it caps out at around 20 GiB.