text:
Running riscv_hint_instr_test on custom target fails

I work on commit id bce290e.
I want to implement HINT instruction tests for RV64G.
I used the custom_target option while running the run.py script. Before that, I made the following changes in the repository:

Copied the contents of rv64gc directory into a new one named rv64g under target/
Modified riscv_core_setting.sv to remove variables related to C standard extension from supported_isa array.

Then I ran this command:
python3 run.py --custom_target=target/rv64g --isa=rv64g --mabi=lp64 --test=riscv_hint_instr_test --iss=ovpsim,spike -v
This command fails while comparing outputs of spike and riscv-ovpsim (see run.log and another issue https://github.com/google/riscv-dv/issues/283#issue-517770838 in this repository). In addition to this, although there are no compressed instructions in generated assembly programs, csv files that are generated from riscv-ovpsim log files include compressed instructions:
...
out_2019-11-28/ovpsim_sim/riscv_hint_instr_test.4.csv:c.srai,a0,000000000000000b,a0,000000000000000b,,,0,"srai    a0,a0,0x0",00000000800084f0,8501,,3,,,,,,,,,,,,,[],[],,,,,,
out_2019-11-28/ovpsim_sim/riscv_hint_instr_test.4.csv:c.slli,zero,0,zero,0,,,38,"slli    zero,zero,0x38",0000000080008b3a,1062,,3,,,,,,,,,,,,,[],[],,,,,,
out_2019-11-28/ovpsim_sim/riscv_hint_instr_test.4.csv:c.srai,a4,0000000000000000,a4,0000000000000000,,,0,"srai    a4,a4,0x0",0000000080009076,8701,,3,,,,,,,,,,,,,[],[],,,,,,
out_2019-11-28/ovpsim_sim/riscv_hint_instr_test.4.csv:c.add,zero,0,zero,0,zero,0,,"add     zero,zero,a7",0000000080009274,9046,,3,,,,,,,,,,,,,[],[],,,,,,
out_2019-11-28/ovpsim_sim/riscv_hint_instr_test.4.csv:c.li,zero,0,zero,0,,,fffffff0,"li      zero,-16",0000000080009e06,5041,,3,,,,,,,,,,,,,[],[],,,,,,
out_2019-11-28/ovpsim_sim/riscv_hint_instr_test.4.csv:c.lui,zero,0,zero,0,,,9,"lui     zero,0x9",000000008000af9c,6025,,3,,,,,,,,,,,,,[],[],,,,,,
out_2019-11-28/ovpsim_sim/riscv_hint_instr_test.4.csv:c.lui,zero,0,zero,0,,,f,"lui     zero,0xf",000000008000afa6,603d,,3,,,,,,,,,,,,,[],[],,,,,,
out_2019-11-28/ovpsim_sim/riscv_hint_instr_test.4.csv:c.lui,zero,0,zero,0,,,18,"lui     zero,0x18",000000008000b2f0,6061,,3,,,,,,,,,,,,,[],[],,,,,,
out_2019-11-28/ovpsim_sim/riscv_hint_instr_test.4.csv:c.srli,a5,0000000000000000,a5,0000000000000000,,,0,"srli    a5,a5,0x0",000000008000b636,8381,,3,,,,,,,,,,,,,[],[],,,,,,
out_2019-11-28/ovpsim_sim/riscv_hint_instr_test.4.csv:c.slli,zero,0,zero,0,,,9,"slli    zero,zero,0x9",000000008000b890,0026,,3,,,,,,,,,,,,,[],[],,,,,,
out_2019-11-28/ovpsim_sim/riscv_hint_instr_test.4.csv:c.slli,zero,0,zero,0,,,18,"slli    zero,zero,0x18",000000008000bf02,0062,,3,,,,,,,,,,,,,[],[],,,,,,
out_2019-11-28/ovpsim_sim/riscv_hint_instr_test.4.csv:c.srai,a0,ffffffff80000000,a0,ffffffff80000000,,,0,"srai    a0,a0,0x0",000000008000c70a,8501,,3,,,,,,,,,,,,,[],[],,,,,,
out_2019-11-28/ovpsim_sim/riscv_hint_instr_test.4.csv:c.mv,zero,0,zero,0,a2,0000000000000000,,"mv      zero,a2",000000008000c998,8032,,3,,,,,,,,,,,,,[],[],,,,,,
out_2019-11-28/ovpsim_sim/riscv_hint_instr_test.4.csv:c.slli,s8,0000000000000010,s8,0000000000000010,,,0,"slli    s8,s8,0x0",00000000800013fa,0c02,,3,,,,,,,,,,,,,[],[],,,,,,
...

run.log
riscv_core_setting.txt

Hi @abdullah most of the GCC for RV64 we have seen always have been GC i.e. they do compressed so even if your .S is not compressed the compiler makes it into one - and if you look at your .csv you see the binary column shows only 4 hex chars - ie compressed - first line the binary column is 8501 - which is compressed - if you look at the objdump it should show this - and so riscvOVPsim is only listing what is in the log file... regards, Simon

You should remove hint instruction test if you want to disable compressed instructions. HINT instructions use compressed instruction encoding.

@simond-imperas @taoliug OK. Thanks for your explanation.

@taoliug,
Could you please take a look at the following link:
https://github.com/riscv/riscv-gnu-toolchain/issues/552#issuecomment-560312242
Thanks.

Yes, that's exactly how HINT/illegal instruction is injected, as compiler will throw errors if you pass HINT instruction assembly directly. Like I mentioned above, if your processor doesn't support compressed instruction, please remove the hint instruction test from the testlist.

@taoliug,
Is this due to how you define HINT instruction tests in riscv-dv project?
Because I couldn't see any description on how HINT instructions should be encoded in RISC-V instruction set manual.

Please refer to user mode spec 16.7 HINT instruction

Yes, I understand your point. -Put it another way- Should all HINT instructions be encoded as compressed instructions?

Each HINT has clean encoding definition in the spec. All HINT instruction use RVC encoding.

A portion of the RVC encoding space is reserved for microarchitectural HINTs

Shouldn't this definition be valid only for C extension?
Then how a RV64G processor could run HINT instructions?

RV32I reserves a large encoding space for HINT instructions, which are usually used to commu-nicate performance hints to the microarchitecture.  HINTs are encoded as integer computationalinstructions withrd=x0.

I just checked the spec. Actually there are also HINT instructions in RV32I encoding. These instruction are tested when rd is randomized to 0. The hint instruction test in the regression is for HINT instruction using RVC encoding.

Yes, that was my question.

Do you have a plan to support RV32I HINT instructions in the future?

They are supported already, rd could be randomized to x0 for computation instructions. It's pretty much tested in every test.

They are supported already, rd could be randomized to x0 for computation instructions. It's pretty much tested in every test.

OK. Thanks.

authors: abdullahyildiz simond-imperas taoliug

repo: google/riscv-dv


text:
memory leakage for GPU training

I used the input files around 100 MB to train a model, memory usage will exceed 40 GB after one day running. Then the program would be killed.
It seems that this problem is related to Tensorflow https://github.com/tensorflow/tensorflow/issues/9779 .
Any one succeeded to overcome this problem?
Thanks.

As described in tensorflow issue page, implementing softmax will fix the problem. In attention.py replace
scores_normalized = tf.nn.softmax(scores, name="scores_normalized")
with
scores_exp = tf.exp(scores)
scores_sum = tf.reduce_sum(tf.exp(scores), axis=0)
scores_normalized = tf.truediv(scores_exp, scores_sum, name="scores_normalized")

@mohgh
Have you tried to implement softmax with your fix? I'm just asking because the fix on the Tensorflow issue seems different..

Yes, I've fixed the issue this way and now memory usage is fixed on 1.3 gigabytes. The implemented code is the definition of softmax.

@mohgh
Do you happen to know if this fix will influence BLEU scores? After implementing manual softmax I only get around 15 BLEU (whereas before, when my model managed to finish, I got 19 BLEU ?

@mohgh
Do you happen to know if this fix will influence BLEU scores? After implementing manual softmax I only get around 15 BLEU (whereas before, when my model managed to finish, I got 19 BLEU ?

source: gharchive/issue

authors: Jiakui milanv1 mohgh

license_type: permissive

license_source: bigquery


text:
MediaSource duration should be +Infinite for Live Streams

Steps to reproduce with Shaka Player v2.2.2-debug:

Go to https://shaka-player-demo.appspot.com/demo/#asset=//storage.googleapis.com/shaka-live-assets/player-source.mpd;lang=en-US
Click "Load" button
Open DevTools and run shakaDemo.localPlayer_.mediaSource_.duration;

What is the expected result?
It should be +Infinite as this is how are defined live streams
What happens instead?
It is a finite value 4294967296.
Background: https://googlechrome.github.io/samples/media/live-seekable-range.html and https://www.chromestatus.com/feature/5671401352593408

Although live streams should ideally have an infinite duration in MediaSource and HTML5 video, that doesn't work across browsers.  We are glad Chrome has implemented seekable range for live streams, but everywhere else, an infinite duration precludes seeking.
Quoted from the chromestatus.com page you linked:

Consensus & Standardization

Firefox: In development
Edge: Public support
Safari: No public signals

The best we can do across browsers is to set duration to a large, finite value.  Here's what we currently do in StreamingEngine:
shaka.media.StreamingEngine.prototype.setDuration_ = function() {
  var duration = this.manifest_.presentationTimeline.getDuration();
  if (duration < Infinity) {
    this.playerInterface_.mediaSourceEngine.setDuration(duration);
  } else {
    // Not all platforms support infinite durations, so set a finite duration
    // so we can append segments and so the user agent can seek.
    this.playerInterface_.mediaSourceEngine.setDuration(Math.pow(2, 32));
  }
};

In the mean time, to determine if a stream is live without examining duration, we provide the isLive() method on Player, which returns true if the currently-loaded content is live.

Noted. Thanks for the explanation Joey.

authors: beaufortfrancois joeyparrish

repo: google/shaka-player

license_source: github-api


text:
Request for feedback: DASH-IF guidelines on timing model and DRM workflows

DASH-IF is in the process of publishing (mid-2020) an update to the interoperability guidelines, which includes:

An interoperable view on the DASH timing model - a constrained variant of the highly flexible DASH timing model, clearly defining that content authors should not be leaving any gaps in the timeline and focusing on what is actually implemented on common players, together with something of an illustrated guide to the various timing characteristics (inspired by your awesome timing diagram).
Client workflows for content protection & security - bridging the gap between DASH and EME by describing flexible workflows for how DASH clients should use the data in the MPD to activate and use DRM systems via an API such as EME.

Feedback from player developers is very valuable in ensuring these updates correspond to practical reality and avoid excessive ivory tower theorycrafting. If you can find the time, please give these documents a read and submit any questions or comments as issues in the GitHub repos referenced in the document headers.
While both documents are mostly new content in their entirety, I would draw your attention to the following aspects in particular:

The timing model document makes some deviations from MPEG terminology and instead defines some (hopefully) easily understandable concepts like "segment timeline" and "MPD timeline". It also flips around some DASH concepts - instead of talking of "availability start/end times of segments", it defines an "availability window" that covers a range of time. Are these changes of viewpoint helpful? Or do they harm matters by deviating from MPEG standards?
The client workflows for DRM system selection and activation are partly based on what we saw in existing players, partly pure theory added on top where we saw lack of required flexibility. There is a risk that we have not fully understood all the nuances of EME in defining this, so a review from actual daily EME-users would likely uncover something. Note that the document is designed in the spirit of EME but the guidelines are also intended to be applicable to non-EME platforms, so they intentionally do not use EME technical details like function names and such.
There are differing views on whether encoders producing content with clock drift should be considered legal (and all clients required to compensate for the drift) or whether encoders should be responsible for correctly tracking real time (with clients allowed to assume content timing matches MPD). Your input into the discussion at https://github.com/Dash-Industry-Forum/Guidelines-TimingModel/issues/5 would be valuable.

Thanks for reaching out @sandersaares! Let me tag our overlord who rules over our time.
@joeyparrish, are we interested in participating? Would you like someone on the team to take a look at the docs? (probably @TheModMaker or @theodab, the rest of us haven't worked with DASH as closely)

authors: ismena sandersaares


text:
Export TtmlTextParser to public api

Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
v2.5.9
Please ask your question
Hi,
We are using the default TtmlTextParser for TTML captions. Recently we faced new requirements in the logic of our app that require changes in the parsing TTML captions logic. The default parser almost suits our needs so we still want to use it instead of creating our own plugin. Is it possible to export TtmlTextParser parseMedia and parseInit methods to the public API? So with the help of composition, we can add new logic and still use the existent functionality of TtmlTextParser.

Should be no problem to export the text parser plugins.

Great! Thanks!
Is it possible to cherry-pick these changes to shaka v2.5.10?

Absolutely.

awesome! thank you

authors: glhvta joeyparrish


text:
Play the next audio file without refreshing the page

Have you read the Tutorials?
Yes
Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
3.2.0
Sorry for my question, but how can I play the following audio file without reloading the page or re-init player? The first audio file is received at the first initialization of the player, but what to do next? After all, i can't just set new manifestUrl with dash.mpd to player.load() and hoping that it will start playing the next audio file from new dash.mpd.
This problem applies to those cases when the first player.load(assetsurl) was launched, but the user abruptly wanted to include the next audio file.

After all, i can't just set new manifestUrl with dash.mpd to player.load()

In fact, you can!  That's exactly what you should do.

authors: EvgeniiKuznetsov joeyparrish


text:
Fix BAG3 primitives to draw implants fulfilling DRC requirements

Fixes issue implant drawing issues:

Tap cells were not being drawn with correct implant (all p+)
N+ implant was being drawn where it should not be and overlapping p+

The following contributors were found for this pull request and need to sign the CLA;

[X] 54af848 PR Opener: @FeliciaG
[ ] 6c0013e Author: @erichang-bcad <er****ng@bcanalog.com>
[ ]  a48da6c Author: @pkerichang <pke*****ng@gmail.com>
[ ]  378cb64 Author: @nathan-bcad <na***n@bcanalog.com>
[ ]  1a5f6ac Author: @dan-fritchman <d**@fritch.mn>
[X] 54af848 Author: @zhaokai-l <zha******iu@berkeley.edu>
[ ]  d1bcdff Author: <fel******uo@bwrcr740-8.eecs.berkeley.edu>
[ ]  6131bbb Author: <fel******uo@bwrcrdsl-1.eecs.berkeley.edu>

I'm guessing you need to reset the author for the commits from the xxxxx.eecs.berkeley.edu machines. I think you probably want to squash / rework the other commits too.

source: gharchive/pull-request

authors: FeliciaG mithro


text:
Packaging Souper

I see a lot of build failures in the issues list and I am failing to build all of the dependencies myself - are there any technological challenges that prevent packaging Souper as a .rpm or .deb? Would that package be tied to a particular git hash of LLVM tree?

are there any technological challenges that prevent packaging Souper as a .rpm or .deb

That's a bit tricky as we have a out of tree patch for LLVM.
The version of LLVM itself is one of the recent release versions, which we bump about once a year.

repo: google/souper


text:
BUILD target for clang-format

This pull request includes the changes done for clang-format tool.

Yes, sure. Sorry for the mess up.

@NikleshPhabiani

Shall I go ahead and add it?

Please do

authors: NikleshPhabiani vmax

repo: google/startup-os


text:
[docs][pkg/vcs][sys/fuchsia] update fuchsia urls.

Recently the fuchsia team decided to merge all their subrepos into one
big git repo. This meant that the "zircon" repo doesn't exist anymore.
Instead almost everything is under the fuchsia repo.
This change updates all the reference I could find in the code that
point to the zircon and docs repo to make them point to the new fuchsia
repo.

Codecov Report

Merging #1067 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master    #1067   +/-   ##
=======================================
  Coverage   67.44%   67.44%
=======================================
  Files         118      118
  Lines       20547    20547
=======================================
  Hits        13857    13857
  Misses       6047     6047
  Partials      643      643

Impacted Files
Coverage Δ

pkg/vcs/vcs.go
41.41% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Updated commit title during merge to confirm to https://github.com/google/syzkaller/blob/master/docs/contributing.md
Please follow the style in future.

Doesn't pkg/vcs/fuchsia.go need some update too? It assumes that zircon/ subdir is a separate git repository.

If whole fuchsia is now a single repo, it will allow syzbot to close bugs with commits in all other parts of the repo (not just zircon). E.g. the bugs in fidl can now be properly closed.

oops. Sorry about the commit title. I got the title requirements mixed. Won't happen again.

I will look into the zircon issue. Thanks for pointing that out!

authors: codecov-io dvyukov mvanotti

repo: google/syzkaller


text:
Redesign: Update page advancement panel

Feature Description
See Figma

[ ] update switch
[ ] update input

Additional Context

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

PC/Chrome (cleared cache)
Seeing these white boxes beside "Auto" and "Manual"

I'll check it out!

@csossi I couldn't reproduce locally but I did add an opacity: 0 to that checkmark box. I think it should be invisible now. If it isn't, let me know!

Verified in QA

authors: bmattb csossi samwhale

repo: google/web-stories-wp


text:
E2E Tests: Review disabled aXe rules

Task Description

When we initially added aXe testing to the e2e test setup, we've disable some rules that caused frequent errors, either because of known bugs in the editor or issues in WordPress.
https://github.com/google/web-stories-wp/blob/d0ffcff89e8840ad9fd0bbe7fd93d1e4235a635b/packages/e2e-tests/src/config/bootstrap.js#L204-L219
Let's go over each disabled rule to:

See whether the rule can be safely removed (i.e. there are no errors)
Identify where the issues are coming from (editor, dashboard, WordPress itself, something else) and their nature (valid bug, false positive)
Document the reason for it being here in this ticket
Create tickets to fix bugs where applicable

The goal is to reduce the number of disabled rules and improve the accessibility of the plugin.

All of these accessibility issues seem to be related to the editor. Many issues are relatively simple to fix. I have list of common issues / low hanging fruit to fix. I would recommend we create tickets for of these rules and re-enable them one by one.
aria-allowed-attr
    Rule: "aria-allowed-attr" (Elements must only use allowed ARIA attributes)
    Help: https://dequeuniversity.com/rules/axe/4.2/aria-allowed-attr?application=axe-puppeteer
    Affected Nodes:
      svg[aria-label="Media\ Gallery"]
        Fix ALL of the following:
          - ARIA attribute cannot be used: aria-label.
      svg[aria-label="Explore\ Media"]
        Fix ALL of the following:
          - ARIA attribute cannot be used: aria-label.
      #text-tab-icon
        Fix ALL of the following:
          - ARIA attribute cannot be used: aria-label.
      svg[aria-label="Shapes\ library"]
        Fix ALL of the following:
          - ARIA attribute cannot be used: aria-label.
      svg[aria-label="Page\ templates\ library"]
        Fix ALL of the following:
          - ARIA attribute cannot be used: aria-label.
      video
        Fix ALL of the following:
          - ARIA attribute cannot be used: aria-label.
      .frameElement__Wrapper-sc-1pyee9f-0
        Fix ALL of the following:
          - ARIA attribute cannot be used: aria-labelledby.

These errors seem to valid. For the most part there incorrect use of aria-label on svg icons.  Also it seems like video tags do not this attribute.
color contrast
    Rule: "color-contrast" (Elements must have sufficient color contrast)
    Help: https://dequeuniversity.com/rules/axe/4.2/color-contrast?application=axe-puppeteer
    Affected Nodes:
      #document > .tabview__TabText-sc-16p5pbf-2.dKBTHu.cBzzzP
        Fix ANY of the following:
        - Element has insufficient color contrast of 3.53 (foreground color: #767e80, background color: #26292a, font size: 10.5pt (14px), font weight: bold). Expected contrast ratio of 4.5:1
      #prepublish > .tabview__TabText-sc-16p5pbf-2.dKBTHu.cBzzzP
        Fix ANY of the following:
        - Element has insufficient color contrast of 3.53 (foreground color: #767e80, background color: #26292a, font size: 10.5pt (14px), font weight: bold). Expected contrast ratio of 4.5:1

These. color contrast issues seem simple enough to fix. We may need some feedback from UX.
duplicate-id
    Rule: "duplicate-id" (id attribute value must be unique)
    Help: https://dequeuniversity.com/rules/axe/4.2/duplicate-id?application=axe-puppeteer
    Affected Nodes:
      .metabox-location-normal > .sidebar-open
        Fix ANY of the following:
        - Document has multiple static elements with the same id attribute: poststuff
      .metabox-location-normal > .sidebar-open > .postbox-container
        Fix ANY of the following:
        - Document has multiple static elements with the same id attribute: postbox-container-2

Duplicate ids are generated in meta boxes. The id, is on a hidden form element, so changing this id, should have little to know effect.
aria-required-parent
    Rule: "aria-required-parent" (Certain ARIA roles must be contained by particular parents)
    Help: https://dequeuniversity.com/rules/axe/4.2/aria-required-parent?application=axe-puppeteer
    Affected Nodes:
      .pagepreview__Page-l9b0au-0
        Fix ANY of the following:
        - Required ARIA parent role not present: listbox

Parent aria attribute required in one place.
landmark-unique
 Rule: "landmark-unique" (Ensures landmarks are unique)
    Help: https://dequeuniversity.com/rules/axe/4.2/landmark-unique?application=axe-puppeteer
    Affected Nodes:
      .fmTQwD
        Fix ANY of the following:
        - The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable

Seems like aria-label is repeated in document.
nested-interactive
    Rule: "nested-interactive" (Ensure interactive controls are not nested)
    Help: https://dequeuniversity.com/rules/axe/4.2/nested-interactive?application=axe-puppeteer
    Affected Nodes:
      #library-tab-text
        Fix ANY of the following:
        - Element has focusable descendants
      .carouselPage__ReorderablePage-sc-1ey6om8-3
        Fix ANY of the following:
        - Element has focusable descendants

This is basically a button nested inside a button. This is a problem

This is an button inside an option.
region
    Rule: "region" (All page content should be contained by landmarks)
    Help: https://dequeuniversity.com/rules/axe/4.2/region?application=axe-puppeteer
    Affected Nodes:
      #wpadminbar > .screen-reader-shortcut
        Fix ANY of the following:
        - Some page content is not contained by landmarks

This seems to WordPress related. There maybe a way to remove this element from the page or get it work correctly.

For reference, here is the PR with all the rules enabled. https://github.com/google/web-stories-wp/pull/7514

As this ticket is a discovery ticket, I am going move it review and assign @swissspidy. I have detailed the main issues and recommend some fixes. We should be able to create tickets for each of these and ticket them one by one.

aria-allowed-attr
    Rule: "aria-allowed-attr" (Elements must only use allowed ARIA attributes)
    Help: https://dequeuniversity.com/rules/axe/4.2/aria-allowed-attr?application=axe-puppeteer
    Affected Nodes:
      svg[aria-label="Media\ Gallery"]
        Fix ALL of the following:
          - ARIA attribute cannot be used: aria-label.
      svg[aria-label="Explore\ Media"]
        Fix ALL of the following:
          - ARIA attribute cannot be used: aria-label.
      #text-tab-icon
        Fix ALL of the following:
          - ARIA attribute cannot be used: aria-label.
      svg[aria-label="Shapes\ library"]
        Fix ALL of the following:
          - ARIA attribute cannot be used: aria-label.
      svg[aria-label="Page\ templates\ library"]
        Fix ALL of the following:
          - ARIA attribute cannot be used: aria-label.
      video
        Fix ALL of the following:
          - ARIA attribute cannot be used: aria-label.
      .frameElement__Wrapper-sc-1pyee9f-0
        Fix ALL of the following:
          - ARIA attribute cannot be used: aria-labelledby.

These errors seem to valid. For the most part there incorrect use of aria-label on svg icons. Also it seems like video tags do not this attribute.

Tickets created:

#7573
#7574

color contrast
    Rule: "color-contrast" (Elements must have sufficient color contrast)
    Help: https://dequeuniversity.com/rules/axe/4.2/color-contrast?application=axe-puppeteer
    Affected Nodes:
      #document > .tabview__TabText-sc-16p5pbf-2.dKBTHu.cBzzzP
        Fix ANY of the following:
        - Element has insufficient color contrast of 3.53 (foreground color: #767e80, background color: #26292a, font size: 10.5pt (14px), font weight: bold). Expected contrast ratio of 4.5:1
      #prepublish > .tabview__TabText-sc-16p5pbf-2.dKBTHu.cBzzzP
        Fix ANY of the following:
        - Element has insufficient color contrast of 3.53 (foreground color: #767e80, background color: #26292a, font size: 10.5pt (14px), font weight: bold). Expected contrast ratio of 4.5:1

These. color contrast issues seem simple enough to fix. We may need some feedback from UX.

Ticket created:

#7575

duplicate-id
    Rule: "duplicate-id" (id attribute value must be unique)
    Help: https://dequeuniversity.com/rules/axe/4.2/duplicate-id?application=axe-puppeteer
    Affected Nodes:
      .metabox-location-normal > .sidebar-open
        Fix ANY of the following:
        - Document has multiple static elements with the same id attribute: poststuff
      .metabox-location-normal > .sidebar-open > .postbox-container
        Fix ANY of the following:
        - Document has multiple static elements with the same id attribute: postbox-container-2

Duplicate ids are generated in meta boxes. The id, is on a hidden form element, so changing this id, should have little to know effect.

This ID is generated by WordPress and we don't really have control over it:
https://github.com/WordPress/wordpress-develop/blob/80302b7b35ede70c453c5cfcee00b963af878ea0/src/wp-admin/includes/post.php#L2265-L2279
Suggesting to keep disabled for now, with a comment explaining why.

aria-required-parent
    Rule: "aria-required-parent" (Certain ARIA roles must be contained by particular parents)
    Help: https://dequeuniversity.com/rules/axe/4.2/aria-required-parent?application=axe-puppeteer
    Affected Nodes:
      .pagepreview__Page-l9b0au-0
        Fix ANY of the following:
        - Required ARIA parent role not present: listbox

Parent aria attribute required in one place.

Ticket created: #7576

landmark-unique
 Rule: "landmark-unique" (Ensures landmarks are unique)
    Help: https://dequeuniversity.com/rules/axe/4.2/landmark-unique?application=axe-puppeteer
    Affected Nodes:
      .fmTQwD
        Fix ANY of the following:
        - The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable

Seems like aria-label is repeated in document.

Ticket created:

#7578

nested-interactive
    Rule: "nested-interactive" (Ensure interactive controls are not nested)
    Help: https://dequeuniversity.com/rules/axe/4.2/nested-interactive?application=axe-puppeteer
    Affected Nodes:
      #library-tab-text
        Fix ANY of the following:
        - Element has focusable descendants
      .carouselPage__ReorderablePage-sc-1ey6om8-3
        Fix ANY of the following:
        - Element has focusable descendants

This is basically a button nested inside a button. This is a problem

I think this one has come up before in our audit or during initial implementation, and IIRC there wasn't really a better way to solve this. So we might need to keep this enabled in this case.
@barklund perhaps you can confirm.

This is an button inside an option.

This is covered by #7576 I think

region
    Rule: "region" (All page content should be contained by landmarks)
    Help: https://dequeuniversity.com/rules/axe/4.2/region?application=axe-puppeteer
    Affected Nodes:
      #wpadminbar > .screen-reader-shortcut
        Fix ANY of the following:
        - Some page content is not contained by landmarks

This seems to WordPress related. There maybe a way to remove this element from the page or get it work correctly.

Yeah this is in the admin bar. Let's keep this one ignored for now. Don't want to change expected tab order and a11y tree for WP users outside of the editor.

Now that these tickets have been created, I feel like close this ticket out.

I wanted to get confirmation on the "Add text element" shortcut above, maybe it needs another ticket

nested-interactive
    Rule: "nested-interactive" (Ensure interactive controls are not nested)
    Help: https://dequeuniversity.com/rules/axe/4.2/nested-interactive?application=axe-puppeteer
    Affected Nodes:
      #library-tab-text
        Fix ANY of the following:
        - Element has focusable descendants
      .carouselPage__ReorderablePage-sc-1ey6om8-3
        Fix ANY of the following:
        - Element has focusable descendants

This is basically a button nested inside a button. This is a problem
I think this one has come up before in our audit or during initial implementation, and IIRC there wasn't really a better way to solve this. So we might need to keep this enabled in this case.

@miina perhaps you are familiar with that shortcut?

@miina perhaps you are familiar with that shortcut?

Hm, not sure what could be a good alternative here since the tab itself is interactive and inside the tab there's a separate quick action that also has to be interactive.
A potential alternative could be removing the interactivity from the text tab and instead, have two interactive sibling buttons there. Might get a bit hacky to retain the same tab feel and looks, and keyboard interaction logic though. Thoughts?

authors: miina spacedmonkey swissspidy


text:
Implements tooltips

Closes #66

Changes

Implements a thin wrapper on top of Material UI tooltips
Adds a small utility for converting shortcuts to use user-displayed symbols
Adds storybook entry

Could you make all the labels translatable?

This clearly doesn't tree-shake. +27.9 kB is a lot just for tooltips! I'd even say it's too much.

Have only skimmed through that page but perhaps we need to apply some changes for tree-shaking to work? https://material-ui.com/guides/minimizing-bundle-size/

@barklund @swissspidy Update on this: it seems like that's actually tree shaken, the issue is that material-ui is using Popper behind the scenes (7kb) to make sure the tooltips are positioned correctly (automatically prevents clipping/overflow). Do we think we want that feature or is static positioning enough for our use case? In both case, this doesn't rule out using material UI for other components since tree shaking seems to be working as intended.

Thanks for checking!
I think static positioning is enough for now.

authors: barklund swissspidy wassgha


text:
FR: Support Heroku Pipeline to generate Review App (by setting up the right ENV)

Heroku provides pipeline to automatically generate a deployment of tmp app for review, the review app, see heroku pipeline
We want to make sure it automatically setup the environment right for our project, thus making the review much easier.
#developer-productivity
Bascially, AXIOS_BASE_URL is a pain

with #88 , #89  now we support automatic Review App~, oh yeah!

repo: google/wikiloop-battlefield


text:
Defend against padding instability

In light of https://github.com/rust-lang/rust/pull/129778, we should do more to defend against misconceptions about the durability of padding bytes across moves. For example, FromZeros::new_zeroed returns its value by-move, and so padding bytes within Self may not be 0.
We can do some combination of the following. First, we can aggressively sign-post this risk. As a rule, one shouldn't depend on the value of padding bytes.
Second, we can wrap zeroed types in a type that ensures padding remains preserved; e.g.:
union PaddingStable<T> {
    a: core::mem::ManuallyDrop<T>,
    b: [u8; core::mem::size_of::<u8>()]
}

union PaddingStable<T> {
    a: core::mem::ManuallyDrop<T>,
    b: [u8; core::mem::size_of::<u8>()]
}

The last u8 should be T, right?

Yeah, that's a typo. Unfortunately, using T there also isn't currently stable. For now, the best we can do is documentation, I think (https://github.com/google/zerocopy/pull/1660).

If we need to add a utility type, we can do that when the need arises.
For now, I'll consider this closed by #1660.

authors: RalfJung joshlf jswrenn

repo: google/zerocopy


text:
Integration test failure

When doing 'tox -e py27', there are errors showing as below
$ tox -e py27
py27 installed: appdirs==1.4.3,automaton==1.8.0,Babel==2.4.0,cachetools==2.0.0,colorlog==2.10.0,configparser==3.5.0,contextlib2==0.5.4,coverage==4.3.4,debtcollector==1.13.0,decorator==4.0.11,enum34==1.1.6,extras==1.0.0,fasteners==0.14.1,fixtures==3.0.0,flake8==3.2.1,funcsigs==1.0.2,functools32==3.2.3.post2,futures==3.0.5,futurist==1.0.0,gcloud==0.15.0,google-apitools==0.5.8,googleapis-common-protos==1.5.2,grpcio==1.2.1,grpcio-tools==1.2.1,httplib2==0.10.3,iso8601==0.1.11,jsonschema==2.6.0,kazoo==2.2.1,linecache2==1.0.0,mccabe==0.5.3,mock==2.0.0,monotonic==1.3,mox3==0.21.0,msgpack-python==0.4.8,netaddr==0.7.19,netifaces==0.10.5,networkx==1.11,oauth2client==3.0.0,oslo.i18n==3.15.0,oslo.serialization==2.18.0,oslo.utils==3.25.0,packaging==16.8,pbr==2.0.0,prettytable==0.7.2,protobuf==3.2.0,py==1.4.33,pyasn1==0.2.3,pyasn1-modules==0.0.8,pycodestyle==2.2.0,pyfakefs==2.9,pyflakes==1.3.0,pyparsing==2.2.0,pytest==3.0.7,pytest-cov==2.4.0,pytest-timeout==1.2.0,python-mimeparse==1.6.0,pytz==2017.2,PyYAML==3.12,requests==2.13.0,rsa==3.4.2,six==1.10.0,stevedore==1.21.0,taskflow==1.25.0,testtools==2.2.0,traceback2==1.4.0,unittest2==1.1.0,wrapt==1.10.10,yapf==0.16.1
py27 runtests: PYTHONHASHSEED='3329163374'
py27 runtests: commands[0] | py.test -rxs --timeout=30 --cov --cov-report= --cov-append /Users/songwang/IdeaProjects/vtk/artman/
========================================================= test session starts ==========================================================
platform darwin -- Python 2.7.10, pytest-3.0.7, py-1.4.33, pluggy-0.4.0
rootdir: /Users/songwang/IdeaProjects/vtk/artman, inifile:
plugins: timeout-1.2.0, cov-2.4.0
timeout: 30.0s method: signal
collected 33 items
test/test_gapic_conductor.py F
test/test_goimport_task.py .
test/test_io_tasks.py ..
test/test_package_metadata_task.py .
test/test_pipeline_baseline.py ........................
test/test_python_package_change_task.py ...
test/utils/test_github_utils.py .
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/Users/songwang/IdeaProjects/vtk/artman/.tox/py27/lib/python2.7/site-packages/_pytest/main.py", line 98, in wrap_session
INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>   File "/Users/songwang/IdeaProjects/vtk/artman/.tox/py27/lib/python2.7/site-packages/_pytest/main.py", line 133, in _main
INTERNALERROR>     config.hook.pytest_runtestloop(session=session)
INTERNALERROR>   File "/Users/songwang/IdeaProjects/vtk/artman/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 745, in call
INTERNALERROR>     return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR>   File "/Users/songwang/IdeaProjects/vtk/artman/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 339, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>   File "/Users/songwang/IdeaProjects/vtk/artman/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 334, in
INTERNALERROR>     _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR>   File "/Users/songwang/IdeaProjects/vtk/artman/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 613, in execute
INTERNALERROR>     return _wrapped_call(hook_impl.function(*args), self.execute)
INTERNALERROR>   File "/Users/songwang/IdeaProjects/vtk/artman/.tox/py27/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 250, in _wrapped_call
INTERNALERROR>     wrap_controller.send(call_outcome)
INTERNALERROR>   File "/Users/songwang/IdeaProjects/vtk/artman/.tox/py27/lib/python2.7/site-packages/pytest_cov/plugin.py", line 232, in pytest_runtestloop
INTERNALERROR>     self.cov_controller.finish()
INTERNALERROR>   File "/Users/songwang/IdeaProjects/vtk/artman/.tox/py27/lib/python2.7/site-packages/pytest_cov/engine.py", line 150, in finish
INTERNALERROR>     self.cov.combine()
INTERNALERROR>   File "/Users/songwang/IdeaProjects/vtk/artman/.tox/py27/lib/python2.7/site-packages/coverage/control.py", line 767, in combine
INTERNALERROR>     self.get_data()
INTERNALERROR>   File "/Users/songwang/IdeaProjects/vtk/artman/.tox/py27/lib/python2.7/site-packages/coverage/control.py", line 795, in get_data
INTERNALERROR>     self.collector.save_data(self.data)
INTERNALERROR>   File "/Users/songwang/IdeaProjects/vtk/artman/.tox/py27/lib/python2.7/site-packages/coverage/collector.py", line 360, in save_data
INTERNALERROR>     covdata.add_arcs(abs_file_dict(self.data))
INTERNALERROR>   File "/Users/songwang/IdeaProjects/vtk/artman/.tox/py27/lib/python2.7/site-packages/coverage/data.py", line 365, in add_arcs
INTERNALERROR>     raise CoverageException("Can't add arcs to existing line data")
INTERNALERROR> CoverageException: Can't add arcs to existing line data
================================================= 1 failed, 32 passed in 25.12 seconds =================================================
ERROR: InvocationError: '/Users/songwang/IdeaProjects/vtk/artman/.tox/py27/bin/py.test -rxs --timeout=30 --cov --cov-report= --cov-append /Users/songwang/IdeaProjects/vtk/artman/'
_______________________________________________________________ summary ________________________________________________________________
ERROR:   py27: commands failed

I completely redid the unit test running in artman in #159. I am going to close this for now since I expect the toolchain changes likely fixed it, but if you are still getting this, please feel free to re-open.

authors: lukesneeringer swcloud

repo: googleapis/artman


text:
Empty API References Page for v0.16.1 release for Google API {Spanner, Notebooks, Manufacturers}

Steps to reproduce

Go https://hexdocs.pm/google_api_manufacturers/api-reference.html

Select the v0.16.0, https://hexdocs.pm/google_api_manufacturers/0.16.0/api-reference.html

API References Page is not empty.

Select v0.16.1, https://hexdocs.pm/google_api_manufacturers/api-reference.html

API References Page is empty.

Affected pages:

https://hexdocs.pm/google_api_spanner/api-reference.html
https://hexdocs.pm/google_api_notebooks/api-reference.html
https://hexdocs.pm/google_api_manufacturers/api-reference.html

Version 0.34.0 has an empty API reference page as well: https://hexdocs.pm/google_api_storage/0.34.0/api-reference.html

authors: kianmeng martinthenth

repo: googleapis/elixir-google-api


text:
Cloud Firestore RPC throw DeadlineExceededException when called from jpackage'd MacOS app

I'm a Googler investigating a customer issue (https://github.com/firebase/firebase-admin-java/issues/499) where their calls to the Cloud Firestore RPC APIs are hanging when they package their app via jpackage on MacOS. I've been able to reproduce their issue but have no idea how to investigate since this is a much lower-level issue than I have experience with.
Here is the code to reproduce:
import com.google.auth.oauth2.GoogleCredentials;
import com.google.cloud.firestore.DocumentReference;
import com.google.cloud.firestore.Firestore;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
import com.google.firebase.cloud.FirestoreClient;
import java.io.InputStream;
import java.util.Map;

public class FirestoreJpackageRpcHang {

  public static void test(Map<String, Object> data) throws Exception {
    InputStream inputStream = FirestoreJpackageRpcHang.class.getResourceAsStream("/projecttest-firebase.json");
    FirebaseOptions options = FirebaseOptions.builder().setCredentials(GoogleCredentials.fromStream(inputStream)).build();
    FirebaseApp.initializeApp(options);
    Firestore firestore = FirestoreClient.getFirestore();
    DocumentReference docRef = firestore.collection("users").document("user007");
    docRef.set(data).get(); // <--- The call to get() times out after 50 seconds and throws an exception.
    firestore.close();
  }

}

This code runs just fine when run via the java command; however, when packaged as a standalone app with jpackage the call to ApiFuture<WriteResult>.get() blocks for about 1 minute then throws DeadlineExceededException:
[grpc-default-executor-0] WARN io.grpc.netty.shaded.io.netty.channel.DefaultChannelId - Failed to find the current process ID from ''; using a random value: 1693541018
Exception in thread "main" java.util.concurrent.ExecutionException: com.google.api.gax.rpc.DeadlineExceededException: io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED: deadline exceeded after 49.985643644s. [buffered_nanos=248215060, buffered_nanos=49741749475, waiting_for_connection]
        at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:564)
        at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:545)
        at com.google.common.util.concurrent.FluentFuture$TrustedFuture.get(FluentFuture.java:86)
        at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:62)
        at com.thboulay.FirestoreJpackageRpcHang.test(FirestoreJpackageRpcHang.java:20)
        at com.thboulay.JavaFirestorePackage.test2(JavaFirestorePackage.java:28)
        at com.thboulay.JavaFirestorePackage.main(JavaFirestorePackage.java:32)
Caused by: com.google.api.gax.rpc.DeadlineExceededException: io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED: deadline exceeded after 49.985643644s. [buffered_nanos=248215060, buffered_nanos=49741749475, waiting_for_connection]
        at com.google.api.gax.rpc.ApiExceptionFactory.createException(ApiExceptionFactory.java:51)
        at com.google.api.gax.grpc.GrpcApiExceptionFactory.create(GrpcApiExceptionFactory.java:72)
        at com.google.api.gax.grpc.GrpcApiExceptionFactory.create(GrpcApiExceptionFactory.java:60)
        at com.google.api.gax.grpc.GrpcExceptionCallable$ExceptionTransformingFuture.onFailure(GrpcExceptionCallable.java:97)
        at com.google.api.core.ApiFutures$1.onFailure(ApiFutures.java:68)
        at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1050)
        at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30)
        at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1176)
        at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:969)
        at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:760)
        at io.grpc.stub.ClientCalls$GrpcFuture.setException(ClientCalls.java:545)
        at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:515)
        at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:426)
        at io.grpc.internal.ClientCallImpl.access$500(ClientCallImpl.java:66)
        at io.grpc.internal.ClientCallImpl$1CloseInContext.runInContext(ClientCallImpl.java:416)
        at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
        at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.base/java.lang.Thread.run(Unknown Source)
Caused by: io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED: deadline exceeded after 49.985643644s. [buffered_nanos=248215060, buffered_nanos=49741749475, waiting_for_connection]
        at io.grpc.Status.asRuntimeException(Status.java:533)
        ... 12 more
Failed to launch JVM

The original reporter has created a TestApp that I used to reproduce: https://github.com/thboulay/JavaFirestorePackage
Can anyone tell me if this is a bug, and, if so, how it could be fixed and/or worked around? Thank you!

Do you find any solution ? I have same problem when package my app in windows :(

Do you find any solution ? I have same problem when package my app in windows :(

Same on linux ubuntu :(

I see https://github.com/thboulay/JavaFirestorePackage is unavailable now.

Closing this issue for issue cleanup. If somebody can provide latest reproducible, please reopen this issue with the link.

authors: Elblassy dconeybe langara suztomo

repo: googleapis/gax-java


text:
distribution: simplify

Many existing functionalities aren't actually used by anyone.
This commit delete these and simplify the rest.

@mdietz94 in case you also want to take a look

Codecov Report

Merging #428 into master will decrease coverage by 0.31%.
The diff coverage is 50%.

@@             Coverage Diff              @@
##             master     #428      +/-   ##
============================================
- Coverage     70.53%   70.22%   -0.32%
+ Complexity      634      622      -12
============================================
  Files           136      136
  Lines          2912     2878      -34
  Branches        220      215       -5
============================================
- Hits           2054     2021      -33
+ Misses          776      774       -2
- Partials         82       83       +1

Impacted Files
Coverage Δ
Complexity Δ

...ain/java/com/google/api/gax/core/Distribution.java
50% <50%> (-27.59%)
4 <1> (-12)

Continue to review full report at Codecov.

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

@garrettjonesgoogle PTAL

cc @jba

authors: codecov-io pongad


text:
Cancellation token/trigger for the APIs in GCS SDK

What component of google-cloud-cpp is this feature request for?
google/cloud/storage
Is your feature request related to a problem? Please describe.
Unable to cancel an in-progress call to the SDK API method. Eg: If the user application is reading a large object from GCS by calling google::cloud::storage::client::ReadObject and wants to stop the read in the middle, there does not seem to be a mechanism to do so.
Describe the solution you'd like
A cancellation token/trigger which when invoked can cancel an in-progress SDK call.

You can do something like:
void F(storage::Client c) {
  auto reader = c.ReadObject("my-bucket", "my-object");
  // read a little bit ..
  reader.Close();  // or just return.
}

Calling Close() "terminates the download".
The destructor implicitly calls Close() too.  Is there something not working with these functions?

This should work. Thanks!

authors: coryan sar-gup

repo: googleapis/google-cloud-cpp


text:
GCS+gRPC: Send failed since rewinding of the data stream failed

https://console.cloud.google.com/cloud-build/builds;region=us-east1/295302d8-cc54-4579-9b4a-dad5adc53d72?project=936212892354
UNKNOWN: Permanent error CreateResumableUpload: PerformWork() - CURL error [65]=Send failed since rewinding of the data stream failed
Step #3: google/cloud/storage/tests/object_parallel_upload_integration_test.cc:56: Failure
Step #3: Value of: object_metadata
Step #3: Expected: code is equal to OK and message is anything
Step #3:   Actual: 848-byte object <C0-BC 48-02 00-00 00-00 00-5E EC-05 E4-59 9D-8B 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 ... 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00>, whose status is UNKNOWN: Permanent error CreateResumableUpload: PerformWork() - CURL error [65]=Send failed since rewinding of the data stream failed, with a code that isn't equal to OK, but a message that is anything

Step #3: 2023-04-03T23:04:08.350726585Z [INFO] <139623562084480> CreateResumableUpload() << ResumableUploadRequest={bucket_name=gcs-grpc-team-cloud-cpp-testing-bucket, object_name=ssyicrkwiwafldgr.upload_shard_22, disable-md5-hash=1, object-metadata=ObjectMetadata={name=, acl=[], bucket=, cache_control=, component_count=0, content_disposition=, content_encoding=, content_language=, content_type=application/binary, crc32c=, etag=, event_based_hold=false, generation=0, id=, kind=, kms_key_name=, md5_hash=, media_link=, , metageneration=0, name=, retention_expiration_time=1970-01-01T00:00:00Z, self_link=, size=0, storage_class=, temporary_hold=false, time_created=0, time_deleted=0, time_storage_class_updated=0, updated=0}, auto-finalize=enabled} (google/cloud/storage/internal/logging_client.cc:44)
Step #3: 2023-04-03T23:04:08.400304974Z [INFO] <139623562084480> CreateResumableUpload() >> payload={CreateResumableUploadResponse={upload_id=https://storage.googleapis.com/upload/storage/v1/b/gcs-grpc-team-cloud-cpp-testing-bucket/o?uploadType=resumable&upload_id=ADPycdu9lAqngZNtuJNoehDdXAMGaf4i1o5YEaYx_rm1d73meXUC5UVab75l7HM-ku3joCxwoVpAkyVJzQ9Y1KcXo8EZCfyC-Yig}} (google/cloud/storage/internal/logging_client.cc:47)
Step #3: 2023-04-03T23:04:08.402260151Z [INFO] <139623562084480> CreateResumableUpload() << ResumableUploadRequest={bucket_name=gcs-grpc-team-cloud-cpp-testing-bucket, object_name=ssyicrkwiwafldgr.upload_shard_23, disable-md5-hash=1, object-metadata=ObjectMetadata={name=, acl=[], bucket=, cache_control=, component_count=0, content_disposition=, content_encoding=, content_language=, content_type=application/binary, crc32c=, etag=, event_based_hold=false, generation=0, id=, kind=, kms_key_name=, md5_hash=, media_link=, , metageneration=0, name=, retention_expiration_time=1970-01-01T00:00:00Z, self_link=, size=0, storage_class=, temporary_hold=false, time_created=0, time_deleted=0, time_storage_class_updated=0, updated=0}, auto-finalize=enabled} (google/cloud/storage/internal/logging_client.cc:44)
Step #3: 2023-04-03T23:04:08.415173089Z [INFO] <139623562084480> CreateResumableUpload() >> status={UNKNOWN: PerformWork() - CURL error [65]=Send failed since rewinding of the data stream failed} (google/cloud/storage/internal/logging_client.cc:49)

GCB: https://console.cloud.google.com/cloud-build/builds;region=us-east1/cf2bf375-e6f5-4473-84c0-630270b9f2f5;tab=detail?project=cloud-cpp-testing-resources
Raw: https://storage.googleapis.com/cloud-cpp-community-publiclogs/logs/google-cloud-cpp/main/6a3e93caed85fec08407bd5e10b4b3e3f1b1741c/fedora-37-bazel-gcs-grpc/log-cf2bf375-e6f5-4473-84c0-630270b9f2f5.txt

[ RUN      ] ObjectFileMultiThreadedTest.Download
Create test objects ........google/cloud/storage/tests/object_file_multi_threaded_test.cc:110: Failure
Value of: status
Expected: code is equal to OK and message is anything
  Actual: UNKNOWN: Permanent error InsertObjectMedia: PerformWork() - CURL error [65]=Send failed since rewinding of the data stream failed (of type google::cloud::v2_11::Status), with a code that isn't equal to OK, but a message that is anything
 DONE
Performing downloads +++++++.+++++++++.......google/cloud/storage/tests/object_file_multi_threaded_test.cc:194: Failure
Value of: status
Expected: code is equal to OK and message is anything
  Actual: NOT_FOUND: DownloadFileImpl(ReadObjectRangeRequest={bucket_name=gcs-grpc-team-cloud-cpp-testing-bucket, object_name=ob-A9XNwV7bmfMOKwtEcr4CSdvgnrgBnOu5nXcF889Sr7Dl2HiT7kupqxdDkiJ7MCpYbUBhxnetID5srCVPOntBRnYoY7eKwTB0gJ4Pa6yCJDpjUSAnQzXVTWvbfWAeGQV5.txt, disable-md5-hash=1}, /h/.cache/bazel/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/sandbox/linux-sandbox/3745/execroot/google_cloud_cpp/_tmp/704e171e0a26a1f49f01c2b8d6178739/DTIICxR3wCIRRkS2ULYAzg1laU6o.txt): cannot open download source object - status.message=Permanent error ReadObjectNotWrapped: No such object: gcs-grpc-team-cloud-cpp-testing-bucket/ob-A9XNwV7bmfMOKwtEcr4CSdvgnrgBnOu5nXcF889Sr7Dl2HiT7kupqxdDkiJ7MCpYbUBhxnetID5srCVPOntBRnYoY7eKwTB0gJ4Pa6yCJDpjUSAnQzXVTWvbfWAeGQV5.txt (of type google::cloud::v2_11::Status), with a code that isn't equal to OK, but a message that is anything
 DONE

authors: dbolduc devbww


text:
[Flake] IAM integration test failure

https://source.cloud.google.com/results/invocations/b44c2a72-fa64-4874-9d73-61ce1d8936ad
[  SKIPPED ] IamIntegrationTest.RoleProtoCrudSuccess (0 ms)
[ RUN      ] IamIntegrationTest.QueryTestablePermissionsProtoSuccess
[       OK ] IamIntegrationTest.QueryTestablePermissionsProtoSuccess (144 ms)
[ RUN      ] IamIntegrationTest.QueryTestablePermissionsProtoFailure
[       OK ] IamIntegrationTest.QueryTestablePermissionsProtoFailure (80 ms)
[ RUN      ] IamIntegrationTest.QueryAuditableServicesProtoSuccess
../../google/cloud/iam/integration_tests/iam_integration_test.cc:759: Failure
Value of: response
Expected: code is equal to OK and message is anything
  Actual: 80-byte object <0E-00 00-00 FE-7F 00-00 61-00 00-00 00-00 00-00 5F-00 00-00 00-00 00-00 E0-E4 60-4E 95-7F 00-00 80-AC 91-E0 FE-7F 00-00 E0-4A 60-4E 95-7F 00-00 98-AB 91-E0 FE-7F 00-00 B0-AB 91-E0 FE-7F 00-00 6F-3D F1-0F 01-00 00-00 80-AB 91-E0 FE-7F 00-00>, whose status is Error in non-idempotent operation QueryAuditableServices: The service is currently unavailable. [UNAVAILABLE], with a code that isn't equal to OK, but a message that is anything
2021-08-06T13:04:45.029148000Z [INFO] <0x119373dc0> Enabled logging for gRPC calls (../../google/cloud/iam/internal/iam_stub_factory.cc:58)
2021-08-06T13:04:45.040331000Z [DEBUG] <0x119373dc0> ListServiceAccounts() << name: "projects/invalid"  (../../google/cloud/internal/log_wrapper.h:86)
2021-08-06T13:04:45.126464000Z [DEBUG] <0x119373dc0> ListServiceAccounts() >> status=Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project. [UNAUTHENTICATED] (../../google/cloud/internal/log_wrapper.h:89)

https://storage.googleapis.com/cloud-cpp-community-publiclogs/logs/google-cloud-cpp/main/7bdf353c1eaed1d1056f119d6c2d1be2d15b58b0/fedora-34-integration-daily/log-4471ebcd-d237-40e3-b409-8b67a585982e.txt

authors: coryan dbolduc


text:
ci(check-api): use abi-dumper w/ integer overflow fix

Pulls in the fix from https://github.com/lvc/abi-dumper/pull/29
This will remove log spew that looks like:
...
Integer overflow in hexadecimal number at /usr/bin/abi-dumper line 1496, <$INFO_fh> line 6783817.
...

Example:
GCB: https://console.cloud.google.com/cloud-build/builds;region=us-east1/cb9409ba-1ccc-47ae-a233-01c6ebe8f075;tab=detail?project=cloud-cpp-testing-resources
Raw: https://storage.googleapis.com/cloud-cpp-community-publiclogs/logs/google-cloud-cpp/main/017cddfefc34c1a2a4c750bd58468dc3b06ae3eb/fedora-34-check-api/log-cb9409ba-1ccc-47ae-a233-01c6ebe8f075.txt

This change is

Should we leave a note to ourselves to revert this when Fedora picks up the fix?

Should we leave a note to ourselves to revert this when Fedora picks up the fix?

Done.

authors: devbww devjgm


text:
fix(spanner): add Options save/restore to PartialResultSetSource

Save the options in force during PartialResultSetSource construction,
and then restore them over PartialResultSetReader calls.  This means
that NextRow(), Finish() and TryCancel() will have the right
options installed during any RPCs they execute.
Tighten up the test by installing a non-matching OptionsSpan before
any NextRow() calls are made, and by expecting no TryCancel()s in
cases that complete their enumeration.
This is the Spanner equivalent of #8256.

This change is

This got me thinking, should we make analogous changes to the resumable streaming RPC

I'll look into it.

This got me thinking, should we make analogous changes to the resumable streaming RPC

I'll look into it.

I had thought that the StreamRange changes would handle this, but it looks like there is a hole when the StreamRange destroys its reader_, as that might cause a cancellation RPC without the right options if the reader is not yet finished.  I'm investigating fixing that, and making the generated and Spanner cases look as similar as possible.

This got me thinking, should we make analogous changes to the resumable streaming RPC

I'll look into it.

I had thought that the StreamRange changes would handle this, but it looks like there is a hole when the StreamRange destroys its reader_, as that might cause a cancellation RPC without the right options if the reader is not yet finished. I'm investigating fixing that, and making the generated and Spanner cases look as similar as possible.

I don't think there was really a hole, as destroying the unfinished streaming reader only calls directly into gRPC to try to cancel the stream.  That is, there is no cancellation RPC or other code that might look at our Options.  But, we should probably always restore the operation-start options whenever the user can call back into the library, no matter what code we think that executes.  So, I created #8403.

I don't think there was really a hole, as destroying the unfinished streaming reader only calls directly into gRPC to try to cancel the stream.

I was thinking about google::cloud::internal::ResumableStreamingReadRpc<>, I just created #8404, you can tell me there if the changes are not needed.

authors: coryan devbww


text:
Release Google.Cloud.Iam.V1 version 3.4.0

Changes in this release:
New features

Add ResourcePolicyMember to google/iam/v1 (commit 3c1d048)

Created release for Google.Cloud.Iam.V1-3.4.0

authors: jskeet yoshi-automation

repo: googleapis/google-cloud-dotnet


text:
Long running PHP PubSub process that eats all cpu exactly 1h into processing

This is more of a plea for help than a bug report..

OS: Dockerized Ubuntu 16.04.6 (Modified gcr.io/google-appengine/php72)
PHP version: 7.2.22
Package name and version:
google/cloud-pubsub 1.11.0
google/cloud-core      1.27.0
(outdated because of compatibility reasons)

We have been using PubSub for a while for managing background tasks. We have a GCE vm that has supervisord with two long running php processes that check for new messages and process whatever. It looks something like this:
use Google\Cloud\PubSub\PubSubClient;
$pubSub = new PubSubClient([
    'keyFilePath' => 'includes/secret.json'
]);
$subscription = $pubSub->subscription('workers');
while(true)
{
    $message = false;
    try
    {
        foreach ($subscription->pull([
            'maxMessages' => 1
        ]) as $pullMessage)
        {
            $message = $pullMessage;
        }
    }
    catch( Exception $e)
    {
        // Nothing
    }
    if($message)
    {
        // Do stuff
        $subscription->acknowledge($message);
    }
}

As discussed on https://github.com/googleapis/google-cloud-php/issues/1986, since we started we saw this errors popping up every hour:
[19-Sep-2019 16:30:30 Europe/Madrid] PHP Fatal error:  Uncaught Google\Cloud\Core\Exception\ServiceException: cURL error 35: gnutls_handshake()$
Stack trace:
#0 /app/vendor/google/cloud-core/src/RequestWrapper.php(189): Google\Cloud\Core\RequestWrapper->convertToGoogleException(Object(GuzzleHttp\Exce$
#1 /app/vendor/google/cloud-core/src/RestTrait.php(95): Google\Cloud\Core\RequestWrapper->send(Object(GuzzleHttp\Psr7\Request), Array)
#2 /app/vendor/google/cloud-pubsub/src/Connection/Rest.php(193): Google\Cloud\PubSub\Connection\Rest->send('subscriptions', 'pull', Array)
#3 /app/vendor/google/cloud-pubsub/src/Subscription.php(409): Google\Cloud\PubSub\Connection\Rest->pull(Array)
#4 /app/worker.php(77): Google\Cloud\PubSub\Subscription->pull(Array)
#5 {main}
  thrown in /app/vendor/google/cloud-core/src/RequestWrapper.php on line 336

It wasn't a big deal for us since we had our supervisord to keep the processes open. It wasn't till a few days ago when we updated our docker (which we do frequently). Suddenly our worker vm's were constantly at 100% cpu, even though there wasn't anything to process on PubSub and no task processing. We could restart the processes and they would work fine for exactly one hour, then they'll pop to 100% cpu without apparent reason. We're stuck with an essential server that needs restarting every 60 min.
We have done a lot of debugging and the only difference we found between the old and new machines it's that ubuntu package libcurl3-gnutls was updated from <7.47.0-1ubuntu2.12> to  <7.47.0-1ubuntu2.14>. We haven't found a way to downgrade.
We have tried to force Guzzle to use TLS 1.1. PubSub allows to pass parameters to it like this:
$subscription->pull([
    'maxMessages' => 1,
    'restOptions' => [
        'curl' => [
            CURLOPT_SSLVERSION => CURL_SSLVERSION_TLSv1_0
        ]
    ]
])

But it hasn't work... Not with CURL_SSLVERSION_TLSv1 neither with CURL_SSLVERSION_TLSv1_0 or CURL_SSLVERSION_TLSv1_2
I know this is a complex error, probably has nothing to do with google/cloud-pubsub, and this is an outdated version. Maybe it's a TLS incompatibility with google pubsub service. Maybe an outdated library in an updated os. I really don't know, but we'll take any suggestion you can give us... Any ideas?
Tomorrow i'll try with a clean project with updated packages and will post.

@udAL that sounds really frustrating, 🙁. We'll definitely take a look to see where/how we can help. Do you have the protobuf/gRPC extensions enabled? If so, would you be able to share versions of each?
As an aside, would you be able to share the comparability issues you're experiencing? Maybe there's something we can do there to help as well.

Hi @dwsupplee
I understand you're referring to google/protobuf and grpc/grpc composer packages. We did have them installed:

grpc/grpc 1.19.0
google/protobuf v3.7.1

Our compatibility issues come mainly from requirements of package kreait/firebase-php. If I uninstall it and update I can get:

google/cloud-core v1.33.0 (latest)
google/cloud-pubsub v1.17.0 (latest)
google/protobuf v3.9.1 (latest)
grpc/grpc 1.22.0 (latest)

I'll do some tests to see if this was part of the problem.
Thanks

With last versions of the packages the result it's the same, 100% cpu after 1h into the script.
I'm sure this is related to libcurl and cURL error 35: gnutls_handshake() since this error used to pop up at 1h and has been replaced with this 100% spikes at 1h, so I'll get into that. Following the cURL error 35 I found suggestions to force cURL to use TLS1.0, do you know if my code it's correct when passing parameters to Guzzle? Any ideas on what else I could try?

To the best of my knowledge the connection to PubSub freezes 1h into it. Don't know how or why, but since PubSub it's usually used on long running processes, isn't that something that should be taken into account?
To hotfix the problem, we had installed cron and restarted the process every 50 min but that has it's own problems since a task could be cough in the middle and, not being acknowledged, would be reprocessed. I have put a timer in the script to destroy and create the PubSub object to reconnect and this should hotfix the problem for now.

This occurred also on google-cloud-python around Dec 2017:
https://github.com/googleapis/google-cloud-python/issues/4600
It was fixed by requiring python package grpcio >= 1.8.2:
https://github.com/googleapis/google-cloud-python/pull/4642
Does that help?

Hi,
Is there anything being done to solve this?
Otherwise, how should I proceed?
Can you help?

About cURL error 35: gnutls_handshake() we experience a similar issue in one app hosted on flexible engine php (see screenshot), and we use a supervisord in order to maintain stable the worker.
Another thing, for this application we have different envs each in a different project, currently we find this problem only in one of the three projects, maybe try to redistribute in a new project, maybe the problem is for specific network zone.

I understand you're referring to google/protobuf and grpc/grpc composer packages.

Actually, I was wondering about the extensions available on PECL (protobuf/grpc) :).
I have some time set aside next week to help look in to this, my apologies for the delay. We've had a team summit this week.

I did not have protobuf nor grpc extensions installed.
I have added those and it seems this solves the issue. I'll keep testing to be sure.
Shouldn't this extensions be required on the google/cloud-core?

Shouldn't this extensions be required on the google/cloud-core?

Not all our libraries which depend on core require the extensions, and often times users may find themselves on something like shared hosting where the extensions aren't even an option. As a result we've worked to make sure they aren't hard requirements.

False 'all is good' alarm. It still pops up to 100% CPU

Gah, sorry to hear that. I'm setting up an environment to do some testing here soon.

Any news?

@udAL I've been working on reproducing. Would you be able to share the modified dockerfile you're using?

@udAL are you able to share this additional info? :)

Hi, sorry for the delay.
For some reason the package libcurl3-gnutls falled back on it's own to 7.47.0-1ubuntu2.12 (instead of 7.47.0-1ubuntu2.14) so right now we don't have the 100% CPU problem and we have the good old cURL error 35: gnutls_handshake().
Here you can find a project that can reproduce the error.
It requires:

PubSub json key file at /includes/pubsub_secret.json
PubSub topic with pull subscription named workers_test (in my case with no expiration and 7 days message retention)

To deploy:

Build and push to Container registry
Deploy a GCE instance with this image

To reproduce:

SSH into machine
docker containers ls (copy first contianer id)
docker exec -it [ID] bash
Wait 1h
Take a look at app/worker.err.log

You don't need to send any message to workers_test.
Be aware that the process will auto reset because of supervisord.
Thanks

Any progress?

@jdpedrie Could you reproduce the error?

@kamalaboulhosn, @jdpedrie is there another option to send the debugging data to the Google Cloud Support team?

@udAL I am now able to reproduce the error in my own docker image with the instructions provided. I can provide the information for my instance for further debugging. Will update if we have or need further information.

I'm able to get the gnutls_handshake issue outside of GCE, too. I think that means it isn't related to the GCE environment itself.

I did test it recently in my local machine and couldn't reproduce the error. Don't know why is that.
So this means back to square one?

I had actually deleted the comment where I said I could reproduce it locally. It turns out that was a different issue.

Any news?

Hi,
We've been with this issue since September (6 months) and there has been no news for a month.
Can you update me on this?
Is this being worked on?
Is there an estimate to solve this?

The issue is with the networking team currently. Awaiting an update from them.

Hi @kamalaboulhosn , i'm David, coworker of udAL. He is not working with us from this April.
Do you have any news about this issue?
Thank you in advance

Hi, @dpassola, the network team looked at it and believes it is likely an issue in the client making the requests to the server. The team who owns the infrastructure that the Pub/Sub client library builds on is now investigating the issue.

Internal tracking issue b/148449576.

Hi @meredithslota and @kamalaboulhosn, is there any news about this issue?
Thank's

Internal tracking issue b/148449576.

Hi @meredithslota and @kamalaboulhosn, is there any news about this issue?
Thank's

Hi @meredithslota  and @kamalaboulhosn , do you have any news?
We stay more than one year with this issue :(

Hi @jdpedrie, do you have any news?

Hi @jdpedrie, do you have any news?

Hello @dpassola — I checked the internal bug and it has not yet been fixed but I will ping some folks internally and see if we can get it moving. Thanks for checking back. :)

Hello @dpassola — I just checked the internal issue and there has been no fix yet, but I pinged a few folks internally to see if there are an updates we can provide. Thanks for following up!

Hi @meredithslota , thank you !
Have you any news?

hi @meredithslota , any news? thank's

Hi @meredithslota @kamalaboulhosn @jdpedrie @deepikayuvaraj
This topic will soon take 2 years...
We, every week, must reboot the service because it halts between 4 and 6 times. If it's not active, our customers don't have the information updated.
We need a solution soon... we don't understand how it's possible that a bug take 2 years to resolve

@jdpedrie I think there needs to be more investigation on the PHP side at this point. Can you please continue to investigate? @dpassola it seems we have thus far been unable to reproduce the issue, which understandably makes it much more difficult to try to find a solution. I believe we have even tried with code provided, which would seem to indicate more that it is something with the specific environment. Is there any way you'd be able to provide a docker container or access to a GCE instance that reliably reproduces the issue?

Hi @kamalaboulhosn , thank you for your reply
In this issue, in this reply (https://github.com/googleapis/google-cloud-php/issues/2338#issuecomment-549308438) you have a project to reproduce the error
The direct link to the project: https://github.com/udAL/gcp-pubsub-worker-test
I hope you can bring news soon

@dpassola What instance type was used for the GCE instance?  @jdpedrie Can you please see if you are able to reproduce the issue with this project?

Hi @kamalaboulhosn , we use n1-standard-1 located in zone  europe-west1-c

Hi @kamalaboulhosn and @jdpedrie , any news? do you was able to reproduce the issue?

I'm looking into it now!

Hi @jdpedrie and @kamalaboulhosn , do you have any news about this issue?
@jdpedrie , were you able to reproduce the error with the provided docker container?

Hi @jdpedrie and @kamalaboulhosn , do you have any news about this issue?
@jdpedrie , were you able to reproduce the error with the provided docker container?

hi again @meredithslota , @deepikayuvaraj , @jdpedrie and @kamalaboulhosn , i'm sorry but we need to solve this issue...
have you any news?
this issue is 2 years older... 😥

Hi @dpassola — my apologies, I neglected to notice that this issue was still assigned to @jdpedrie who is no longer working on this project as of July (apologies for the delay here). I will find a new owner to help investigate.

Hi @dpassola Let me apologise for this issue staying unresolved for such a long time.
I have cloned the repo mentioned(udAL/gcp-pubsub-worker-test) and I am trying to replicate the issue on local(I know it's not replicating on local, but as a sanity check) and a GCE instance simultaneously.
I will report soon whatever my findings are.

Hi @dpassola Let me apologise for this issue staying unresolved for such a long time.
I have cloned the repo mentioned(udAL/gcp-pubsub-worker-test) and I am trying to replicate the issue on local(I know it's not replicating on local, but as a sanity check) and a GCE instance simultaneously.
I will report soon whatever my findings are.

Hi @saranshdhingra , thanks for your reply
I will be waiting for your news impatiently :)

Just to confirm if the issue persists on different machine types, I tested the same on the following machine types:
f1-micro, g1-small, n1-standard-1, n1-standard-2, n1-standard-4, n1-standard-8, n1-highmem-2, n1-highcpu-2, e2-micro, e2-small, e2-medium, e2-standard-2, e2-standard-4, e2-highmem-2, e2-highcpu-2, n2-standard-2, n2-standard-4, n2-highmem-2, n2-highcpu-2
and the issue was replicated in all machines.
For anyone interested I used this terraform script to generate multiple GCE instances.

Santa clou(d)s please help us...

Hi @saranshdhingra , any news?

Santa clou(d)s please help us...

I agree it's time to light a huge fire, join hands in a circle around it, look at the skies and pray. When everything else fails...

Hi @dpassola
Unfortunately, due to the nature of the issue, zeroing in on the exact issue is taking way more time than anticipated.
But so far, I have tried the same setup on node on different machines and it doesn't seem to replicate.
I have tried the same setup of PHP in GKE and it seems to replicate.
For now the primary candidates of inspection are networking(in GCP) and GRPC(in PHP).
Once I have eliminated either of those, I will update here and would focus on the other.

Hi @dpassola
I have been checking in different Non GCE environments, both internal and external. I have been testing with other languages(Node, Ruby etc), trying tcpdumps to monitor the moment of exception.
I did come across something today, so I wanted to ask a few questions about the versions of the libraries installed.
In an old message in this thread, it was mentioned:

Our compatibility issues come mainly from requirements of package kreait/firebase-php. If I uninstall it and update I can get:
google/cloud-core v1.33.0 (latest)
google/cloud-pubsub v1.17.0 (latest)
google/protobuf v3.9.1 (latest)
grpc/grpc 1.22.0 (latest)

Can you tell me the current versions that are running?
The reason I ask is that using the docker image from the project specified by @udAL we replicate the issue on a VM instance but the version of google/cloud-pubsub installed is 1.17, but when I tried a composer update inside the container, the version of google/cloud-pubsub upgrades to 1.34.1 and the issue hasn't been replicated in over a day, i.e. the same process has been running and no error has been logged.
I tried a manual composer update and then as a build step in the Dockerfile just before this line.
You can use the composer show command to find the version of the library installed.

Hi @saranshdhingra , here you have our versions showed with "composer show" (there are more libraries installed):

google/cloud-core v1.27.0
google/cloud-pubsub v1.11.0
google/protobuf v3.7.1
grpc/grpc 1.19.0

Thank's!

@dpassola Are you using the same Dockerfile and composer.json(or at least similar) as what is mentioned here. I have been using that as a baseline and testing everywhere.
If you are, then a composer update should return the same version for the same Dockerfile/composer.json pair.

@saranshdhingra , yes, our composer.json and Dockerfile are the same mentioned.
We can run composer update in a test project... but not in production without check that there are'nt any issue on update libraries.

@dpassola Please do so in a test project.
Also, just for brevity, I would mention make sure the versions in composer.json are not hard coded strings but use the caret operator.
Example: google/cloud-pubsub: "^1.11" and not google/cloud-pubsub: "1.11"

hi @saranshdhingra , if we put composer update after SUPERVISORD line, this is what it does (we also remove the caret on composer.json):

Updating grpc/grpc (1.22.0 => 1.42.0): Downloading (100%)
Updating google/protobuf (v3.9.1 => v3.19.1): Downloading (100%)
Updating firebase/php-jwt (v5.0.0 => v5.5.1): Downloading (100%)
Installing psr/http-factory (1.0.1): Downloading (100%)
Updating guzzlehttp/psr7 (1.6.1 => 2.1.0): Downloading (100%)
Installing symfony/deprecation-contracts (v2.5.0): Downloading (100%)
Installing psr/http-client (1.0.1): Downloading (100%)
Updating guzzlehttp/guzzle (6.3.3 => 7.4.0): Downloading (100%)
Updating google/auth (v1.5.2 => v1.18.0): Downloading (100%)
Updating google/common-protos (1.1 => 1.4.0): Downloading (100%)
Updating google/grpc-gcp (0.1.4 => v0.2.0): Downloading (100%)
Updating google/gax (1.1.2 => v1.10.0): Downloading (100%)
Updating rize/uri-template (0.3.2 => 0.3.4): Downloading (100%)
Updating psr/log (1.1.0 => 1.1.4): Downloading (100%)
Updating monolog/monolog (2.0.0 => 2.3.5): Downloading (100%)
Updating google/cloud-core (v1.33.0 => v1.43.1): Downloading (100%)
Downgrading google/cloud-pubsub (v1.17.0 => v1.11.0): Downloading (100%)
Downgrading google/cloud-storage (v1.14.0 => v1.11.0): Downloading (100%)
Downgrading google/cloud-logging (v1.18.0 => v1.16.0): Downloading (100%)
Downgrading google/cloud-error-reporting (v0.14.5 => v0.14.0): Downloading (100%)

we deploy this code and we are waiting for test this new version

Hi @dpassola
No, we need to leave the caret and not remove it.
Have the caret present and then try to run composer update
As you can see currently it's downgrading the pubsub library to 1.11 from 1.17 while I expect to see an upgrade.

Hi @saranshdhingra , here version of libraries with caret :)
With caret is how we have the composer.json in production.
Sorry for my mistake
List of libraries:

Updating grpc/grpc (1.22.0 => 1.42.0): Downloading (100%)
Updating google/protobuf (v3.9.1 => v3.19.1): Downloading (100%)
Updating firebase/php-jwt (v5.0.0 => v5.5.1): Downloading (100%)
Installing psr/http-factory (1.0.1): Downloading (100%)
Updating guzzlehttp/psr7 (1.6.1 => 2.1.0): Downloading (100%)
Installing symfony/deprecation-contracts (v2.5.0): Downloading (100%)
Installing psr/http-client (1.0.1): Downloading (100%)
Updating guzzlehttp/guzzle (6.3.3 => 7.4.0): Downloading (100%)
Updating google/auth (v1.5.2 => v1.18.0): Downloading (100%)
Updating google/common-protos (1.1 => 1.4.0): Downloading (100%)
Updating google/grpc-gcp (0.1.4 => v0.2.0): Downloading (100%)
Updating google/gax (1.1.2 => v1.10.0): Downloading (100%)
Updating psr/log (1.1.0 => 1.1.4): Downloading (100%)
Updating monolog/monolog (2.0.0 => 2.3.5): Downloading (100%)
Updating rize/uri-template (0.3.2 => 0.3.4): Downloading (100%)
Updating google/cloud-core (v1.33.0 => v1.43.1): Downloading (100%)
Updating google/cloud-pubsub (v1.17.0 => v1.34.1): Downloading (100%)
Updating google/cloud-logging (v1.18.0 => v1.22.2): Downloading (100%)
Updating google/cloud-storage (v1.14.0 => v1.25.2): Downloading (100%)

composer.json content: (in grey versions that our IDE detects will install)

Hi @saranshdhingra , our composer.json is like i show yesterday but we don't have, in our Dockerfile, composer update... we are testing the new configuration.
Thank's

Hi @dpassola
Hope you had a great Thanksgiving week :)
Were you able to test the process with the new version of libraries?

Hi @saranshdhingra ,thank you and sorry for delay on reply.
We are testing the process. At the moment is working fine!
On next days I'll send you my feedback again
Thanks!

Hi @dpassola
Great to know it's working fine for now.
I'll be closing this issue for now and would try to dig more into the specific version which fixes this issue and the reason for it.
If you find that the issue is still not fixed, feel free to resume the thread.
Again, apologies for such a delay on the resolution, but I can only hope it works from this point forward :)

Upon more digging, I found some info which maybe useful for folks who maybe getting this issue in old versions.
The version of cloud-pubsub didn't matter in reproducing the issue.
I think it's the version of google/gax which is responsible.
I found the the issue doesn't exist starting "google/gax": "1.5.0"
I even checked the dependencies(using composer show) in v1.4.0 and v1.5.0 and the same versions of dependencies were loaded.

Hello, it has been in production for 17 days and, for now, everything is correct and we have not had to restart it. This is great news! Have a great year! Thank you @saranshdhingra !

authors: dpassola dwsupplee illambo jdpedrie kamalaboulhosn meredithslota saranshdhingra udAL

repo: googleapis/google-cloud-php


text:
feat: Add reconnect support to v1 client lib.

Change ported from internal java client lib. I've fixed up our stress test, removed the reconnection from the test and ran the test for several 12 hour periods. The test verifies we got all requests coming back to us and I saw reconnections happens several times during my run.
Also, removed some unused test lib functionalities.

As Yi suggested, will add a special backend feature to allow more stressful testing on the reconnect case.

I am running a 5 day stress test. Should have enough confidence of this PR when the test is done.

Stress test finished:
Start time: 15:07:52.911109
Finish Time: 15:51:47.980477
Total Elapsed Time: PT43M55.069368S
Total Requests: 1062867462
Total Failed Responses: 238
Total unexpected reconnect: 0

repo: googleapis/java-bigquerystorage


text:
feat: Add support for plugging in custom bean mappers

This is a proposed approach for enabling a fix for #1152. See discussion there for the different options.

This approach has been deemed undesirable. See discussion at #1152.

repo: googleapis/java-firestore


text:
chore: Convert from JacksonFactory to GsonFactory

Fixes #819.

Is there anything more to do before this can be merged?

Going to re-run the post processor. Should be good to go once that check has passed.

@Capstan Checks passed. Merging.

repo: googleapis/java-resourcemanager


text:
Release @google-cloud/datastore v3.1.1

This pull request was generated using releasetool.

Release is at https://github.com/googleapis/nodejs-datastore/releases/tag/v3.1.1

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:

authors: JustinBeckwith yoshi-automation

repo: googleapis/nodejs-datastore


text:
Search jobs return empty result

When I try run my API search job with this params
curl --request POST
'https://jobs.googleapis.com/v4/projects/resume-builder-c5c52/tenants/aefe42ea-1d00-0000-0000-00b857427f75/jobs:search?key=[YOUR_API_KEY]'
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]'
--header 'Accept: application/json'
--header 'Content-Type: application/json'
--data '{"jobQuery":{"query":""bartendar""},"requestMetadata":{"allowMissingIds":true,"sessionId":"342342423432","userId":"4324234324"},"jobView":"JOB_VIEW_SMALL","maxPageSize":5,"orderBy":"posting_publish_time desc"}'
--compressed
It return response
{
"metadata": {
"requestId": "5d4d97b7-cab0-467a-847d-f134221058eb:APAb7ISE6cNQk7e8etAKIufY2p94vCGE3w=="
}
}
Nothing job was find

👋 hello @cuongnd273, this is a repository for an automatically generated client library based on the talent solutions API.
Your question regarding a curl request sounds like an issue regarding the API itself, you can open an issue here to ask your question of the team.

repo: googleapis/nodejs-talent


text:
node-workspaces plugin creates inconsistent changelog and release name

Is this a client library issue or a product issue?
Library issue

Did someone already solve this?
I could not find anything

Do you have a support contract?
No

Issue
Hi. We are using the node-workspace plugin. When using it, however, the resulting changelog and release name is inconsistent with release-please's normal output. Below is a screen shot of the output. The form-field package was modified in this instance. It received the normal output with (has a version number heading, and is not prefixed with @snagajob/. The input package relies on the form-field package, so it was added by the node-workespace plugin. You can see the output is different. We'd like or release naming conventions and changelog output to remain consistent.

Environment details

OS: MacOS Monteray v12.4
Node.js version: 16.15.0
npm version: 8.5.5
release-please version: 13.18.5

Steps to reproduce

Create two separate node packages where package A has package B listed as a dependency
Configure the release-please config to use the node-workspaces plugin
Make a change to package B and commit/push with feat: blah blah
Run release-please -- release-pr to create the release PR

Thanks!

Just experienced this one my self. It seems that packages that are updated because one of their dependency has changed, miss out the header of the change in the changelog.
In the example above the header should be 3.0.2 (2022-07-19)

also related to #1581

I think the issue is in the newCandidate method of the NodeWorkspace class in node-workspace.ts, see comments in code below.
const pullRequest: ReleasePullRequest = {
      title: PullRequestTitle.ofTargetBranch(this.targetBranch),
      body: new PullRequestBody([
        {
          component: updatedPackage.name,
          version,
          notes: appendDependenciesSectionToChangelog(
            '',  // <------- HERE
            dependencyNotes,
            this.logger
          ),
        },
      ]),
      updates: [
        {
          path: addPath(updatedPackage.location, 'package.json'),
          createIfMissing: false,
          updater: new RawContent(
            jsonStringify(packageJson, updatedPackage.rawContent)
          ),
        },
        {
          path: addPath(updatedPackage.location, 'CHANGELOG.md'),
          createIfMissing: false,
          updater: new Changelog({
            version,
            changelogEntry: appendDependenciesSectionToChangelog(
              '',  // <------- AND HERE
              dependencyNotes,
              this.logger
            ),
          }),
        },
      ],
      labels: [],
      headRefName: BranchName.ofTargetBranch(this.targetBranch).toString(),
      version,
      draft: false,
    };

the appendDependenciesSectionToChangelog function does the correct thing, but the problem is that it is passed '' as the first parameter which should instead be populated with the 3.0.2 (2022-07-19) header.
@chingor13, I tried to create the release notes for the dependencies on the fly by using the buildReleaseNotes method of the Base.ts class, but (rightly so) the NodeWorkspace class has no reference/knowledge of that.
Happy to help but not completely sure where to look for a fix for this. Do we need to somehow compute the release notes for the packages that are just versioned bumped before hand? and then pass those release notes in the newCandidate method?

Any updates on this one? We are a bit stuck as we cannot use release please until this has been fixed or all our Changelogs will be messed up.

@chingor13 any chance of this getting fixed? As mentioned above, I will be happy to contribute I just need a bit of guidance.

This issue may have been resolved by PR #2112 (released in 16.6.0), though I haven't been able to confirm.  More details in the similar issue that I filed in #2089.

I confirmed that this issue has been resolved in 16.6.0, see related comment in #2089, which I just closed as fixed.
@sir-captainmorgan21 @vizio360 @chingor13: Once you verify the above, I think this issue can be closed as well.

@chrispcampbell yes this seems to be fixed now, at least based on my tests

repo: googleapis/release-please


text:
Support alias in PHP use statement

Support alias in PHP use statement instead of relying on the fully qualified type to support the grpc stub.
Fixes issue https://github.com/googleapis/toolkit/issues/779

Current coverage is 83.04% (diff: 100%)

Merging #782 into master will increase coverage by 0.02%

@@             master       #782   diff @@
==========================================
  Files           306        306
  Lines         11726      11738    +12
  Methods           0          0
  Messages          0          0
  Branches       1546       1546
==========================================
+ Hits           9735       9748    +13
+ Misses         1565       1564     -1
  Partials        426        426

Powered by Codecov. Last update 54c7522...75f2531

cool! LGTM

repo: googleapis/toolkit


text:
Server connection failure message in grpc node should be explicit

If  the grpc node is given a wrong server address, should it fail with an explicit and more descriptive error message (for example: Could not connect to server  xx.xx.xx.xx:yy) instead of complaining about not being able to fetch the submap list?
F0412 11:34:08.023075 10092 pose_graph_stub.cc:52] Check failed: client.Write(request)
[FATAL] [1523525648.023924229]: F0412 11:34:08.000000 10092 pose_graph_stub.cc:52] Check failed: client.Write(request)
*** Check failure stack trace: ***
    @     0x7f1fc15955cd  google::LogMessage::Fail()
    @     0x7f1fc1597433  google::LogMessage::SendToLog()
    @     0x7f1fc159515b  google::LogMessage::Flush()
    @     0x7f1fc1597e1e  google::LogMessageFatal::~LogMessageFatal()
    @           0x634ceb  cartographer::cloud::PoseGraphStub::GetAllSubmapPoses()
    @           0x614c3e  cartographer_ros::MapBuilderBridge::GetSubmapList()
    @           0x5de6ec  cartographer_ros::Node::PublishSubmapList()
    @     0x7f1fbedcf21b  ros::TimerManager<>::TimerQueueCallback::call()
    @     0x7f1fbee02210  ros::CallbackQueue::callOneCB()
    @     0x7f1fbee03683  ros::CallbackQueue::callAvailable()
    @     0x7f1fbee60511  ros::SingleThreadedSpinner::spin()
    @     0x7f1fbee454cb  ros::spin()
    @           0x5d8026  cartographer_ros::(anonymous namespace)::Run()
    @           0x5d5134  main
    @     0x7f1fbd852830  __libc_start_main
    @           0x5d7b39  _start
    @              (nil)  (unknown)
Aborted (core dumped)

@ivonaj

Thanks for reporting. Seems gRPC has a way to explicitly let the channel connect and then wait for a state change. This should work to ensure the channel is connected before proceeding.
https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md

authors: AnaBatinovic cschuet


text:
Local Storage Videos is not casting like content:///storage/emulated/0/DCIM/Camera/VID_20230227_235552.mp4

Hi Team-
How can we do the local storage file cast to TV.
Like this: content:///storage/emulated/0/DCIM/Camera/VID_20230227_235552.mp4
I have tried bt its not working where as http url only working like: https://commondatastorage.googleapis.com/gtv-videos-bucket/CastVideos/mp4/DesigningForGoogleCast.mp4
But How can we do below file to cast:
Like this: content:///storage/emulated/0/DCIM/Camera/VID_20230227_235552.mp4

Getting:::: W/MediaControlChannel: received unexpected error: Invalid Request.

You should start an HTTP service locally and generate a URL for the local video so that the cast server can access it remotely

Very too late reply
Now I have implemented
Thanks

repo: googlecast/CastVideos-android


text:
codelab previous step FAB not positioned correctly in narrow mode

Looks like the footer element needs to be a child of 'main' when in narrow mode.
I took at look at production google codelab components and it appears they implemented the drawer panel using iron-media-query and iron-selector and additional div wrappers.  Any plans to merge those changes into this project?

Thanks.

I think the github page just needs updating.

Hmm, this style should be applying: https://github.com/googlecodelabs/codelab-components/blob/1d528043b1d886df665881224898ef69ffc4f7ba/codelab-style.html#L52-L54 but for some reason it's not.

Can you do me a favor, and remove strip-whitespace here and see if that fixes it?

I removed the strip-whitespace and see the same behavior.
#drawer[narrow] #controls {
width: 100%;
}
I believe that the above style is not applying because it is a descendent selector and the footer tag (with id=controls) is not a child of the drawer panel (id=drawer)

Right you are!

authors: baabel ebidel

repo: googlecodelabs/codelab-components