Acrylic Tab Bar Oddness

Windows Terminal version
1.18.3181.0
Windows build number
10.0.22631.2715
Other Software
No response
Steps to reproduce
The new stable version of Terminal is showing odd tab bar behavior when the "Appearance --> Use acrylic material in the tab row" is turned on.

Put Windows in dark mode, but apps in light mode
Put Terminal in dark application theme
Put up a white background (e.g. Word full-screen) so it shows better
Start up Terminal -- many times (not always) the tab bar shows partial acrylic, like a horizonal line dividing acrylic from plain black, or a block of black on one side of the tab bar
Clicking on the tab bar brings back the acrylic effect (repaint?) -- I can't seem to get a screenshot because that apparently forces an update also

Another effect I'm seeing is the tab bar going all black when clicking between multiple open tabs

Open another tab after the steps above
Click between the tabs
The tab bar shows solid black for me
Clicking on an empty space in the tab bar brings back the acrylic, or if that doesn't work, dragging the window

Expected Behavior
The acrylic effect showing consistently and solidly.
Actual Behavior
Partial tab bar acrylics, black tab bar when multiple tabs are open and you cycle through them by clicking.

Would you say it looks anything like: #14384

Yes, it's somewhat similar, but in my case the black color overwriting the acrylic on the tab bar doesn't flicker -- it stays until I click on the tab bar, resize the window, move it, etc.
So for instance, I open Terminal, add a second tab, and click between them, which causes the acrylic to change to all black -- the tab bar stays all black until I click on an empty part of it (the space where there isn't a tab).

Just an update... I tested this on my home laptop and that machine did not show the issue, but it seems like it's system-dependent (video driver?).
If it helps, here are some more details about the problem laptop:

OS Name	Microsoft Windows 11 Pro
Version	10.0.22631 Build 22631
Other OS Description 	Not Available
OS Manufacturer	Microsoft Corporation
System Name	DESKTOP-6S0R506
System Manufacturer	Dell Inc.
System Model	XPS 15 9520
System Type	x64-based PC
System SKU	0B19
Processor	12th Gen Intel(R) Core(TM) i9-12900HK, 2500 Mhz, 14 Core(s), 20 Logical Processor(s)
BIOS Version/Date	Dell Inc. 1.18.0, 9/12/2023
SMBIOS Version	3.4
Embedded Controller Version	255.255
BIOS Mode	UEFI
BaseBoard Manufacturer	Dell Inc.
BaseBoard Product	0F6K9V
BaseBoard Version	A00
Platform Role	Mobile
Secure Boot State	On
PCR7 Configuration	Elevation Required to View
Windows Directory	C:\Windows
System Directory	C:\Windows\system32
Boot Device	\Device\HarddiskVolume1
Locale	United States
Hardware Abstraction Layer	Version = "10.0.22621.2506"
Time Zone	Mountain Standard Time
Installed Physical Memory (RAM)	32.0 GB
Total Physical Memory	31.7 GB
Available Physical Memory	16.8 GB
Total Virtual Memory	42.7 GB
Available Virtual Memory	23.3 GB
Page File Space	11.0 GB
Page File	C:\pagefile.sys
Kernel DMA Protection	On
Virtualization-based security	Running
Virtualization-based security Required Security Properties
Virtualization-based security Available Security Properties	Base Virtualization Support, Secure Boot, DMA Protection, UEFI Code Readonly, SMM Security Mitigations 1.0, Mode Based Execution Control, APIC Virtualization
Virtualization-based security Services Configured	Hypervisor enforced Code Integrity
Virtualization-based security Services Running	Credential Guard, Hypervisor enforced Code Integrity
Windows Defender Application Control policy	Enforced
Windows Defender Application Control user mode policy	Off
Device Encryption Support	Elevation Required to View
A hypervisor has been detected. Features required for Hyper-V will not be displayed.

Trying to close the loop here: The internal thread came back and folks are pretty sure this is something that's fixed in internal OS builds. Folks on the thread report seeing something like what you report a few months back, but they don't see it anymore. They also have no idea how it actually got fixed in the OS.
I'm gonna close this out, since the internal bug came back as "resolved somehow". Alas, since we don't know what exactly fixed it, I'm not sure I can give a better estimate for when the fix will be available other than "SoonTM"


Fix indentation in CCM ServiceMonitor

How to categorize this PR?

/area monitoring
/kind bug
/platform equinix-metal
What this PR does / why we need it:
The honorLabels, authorization, scheme, and tlsConfig fields are part of the Endpoint API, not the Spec. This indentation error caused the prometheus-operator to generate a scrape job configuration that specified http instead of https (because the scheme field was "missing". This in turn caused CCM-down alerts to fire because the scrape failed with a 400 error.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
FYI: I haven't tested this in the extension setup yet.
/cc @istvanballok @hendrikKahl
FYI @rfranzke
Release note:

Fixes a monitoring configuration issue that caused false CCM-down alerts to fire.

/lgtm

/lgtm


Add shared library build config

I needed a shared library for my .NET wrapper. I thought I would share this "feature" so others can use it as well.

Sorry, I didn't go through this change correctly. This will definetly not work correctly. Please do not merge it.

A shared library PR would be useful but it has to be comprehensively supported across all platforms and manage the heap correctly.  This PR represents a useful idea but is not mergable at the current time.


Discrepancy between Centroidal Dynamics derivations

First of all, I would like to thank you for developing the Pinocchio library as it has helped me a lot during my research. I am currently trying to verify my Centroidal Dynamics model that I derived analytically, by comparing my result with the result obtained from Pinocchio. I expected the results to be identical, but this doesn't seem to be the case, and I was hoping someone could help me.
I derived an analytical expression for the CMM matrix using the David E. Orin's 2008 paper "Centroidal Momentum Matrix of a humanoid robot: Structure and properties". When I check my CMM matrix with the CMM matrix computed by ccrba algorithm, the two matrices are identical. Both matrices have the following block structure:

However, when I compute dAg, you would expect that the time-derivative of Ag would have a similar block-structure as is also the case in my analytical derivation. When I compute the dAg matrix using dccrba or the computeCentroidalMapTimeVariation function, only the rows belonging to the linear momentum are identical. Moreover, the block-matrix which intuitively would be filled with zero's is nonzero in the dAg matrix computed by dccrba.
When deriving the centroidal momentum hg, I derived the following analytic expression:

where A_B is the CMM matrix that maps the generalized joint rates to the momentum in the body frame, and X_G transforms this CMM matrix to the Centroidal frame G. Now, when computing the time-derivative of the centroidal momentum dhg, and thus also the time-derivative of the CMM, you would expect the following expression for dAg:

However, when looking at pinocchio computation, the Ag and the dAg seems to be computed in a different way. From my understanding, the CMM matrices are first computed for the the World frame and then transformed to the COM frame. This makes sense for the Ag matrix. However, by taking the time-derivative of the Ag matrix in the World frame, the translational transformation is neglected when taking the time-derivative of Ag. To my understanding, this mismatch would explain the non-zero values in the dAg matrix.

I hope you can help me to better understand how Pinocchio computes the centroidal dynamics. Thank you very much in advance.
Kind regards,
Michiel Kockelkoren

Thanks @Michiel283 for raising this issue.
I've provided a fix in #2094.

@jcarpent Thank you so much for the quick response and providing the fix!

Solved via #2094

Hi @jcarpent ,
Thank you for releasing a new version of Pinocchio with the CMM correction. I tested the CMM matrices for my system and compared them with my analytical derivation and all matrices were identical. I then computed the centroidal momentum and its time-derivative using the computeCentroidalMomentum(TimeVariation), but the $\dot{\mathbf{h}}_\mathrm{G}$ did not match with my analytic derivation. I think it might be caused by the time-derivative of the transformation to the COM frame again.
\dot{\mathbf{h}}_\mathrm{G} = {}^\mathrm{G}\mathbf{X}^*_\mathrm{I}\dot{\mathbf{h}}_\mathrm{I} +{}^\mathrm{G}\dot{\mathbf{X}}^*_\mathrm{I}\mathbf{h}_\mathrm{I} \neq {}^\mathrm{G}\mathbf{X}^*_\mathrm{I}\dot{\mathbf{h}}_\mathrm{I}

However, the linear part of $\dot{\mathbf{h}}_\mathrm{G}$ is independent on the chain-rule correction above, but this also doesn't match with my analytical derivation. Do you have a suggestion which might explain the discrepancy in the linear centroidal momentum time-variation?


fix checking property on null in ActiveRecord

Here's the check empty($user->phoneNumber).  User is entity, this check will return true, but it's not correct, because user table contains this column and has value.
$this-canGetProperty($name) will return false as it's not class's or behavior's attribute(this is what canGetProperty will check on), but it's attribute of ActiveRecord. Second check will return true, but whole expression gets false as the first argument of && gets false.

Thanks!

Hello @StalkAlex
released in 0.0.21 with few additional changes and covered by spec


Fix formatting violation

This got flagged in https://ci-beam.apache.org/job/beam_PreCommit_PythonFormatter_Commit/15717/console - not sure why the original PR didn't catch it

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @riteshghorse


Function with properties in JSX

🔎 Search Terms
"function with property"
"function with properties"
"extending functions"
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about Common "Bugs" That Aren't Bugs

⏯ Playground Link
No response
💻 Code
This is the code you normaly use to add property to the function
// type alias for `verifyAge` function
// with function signature and a property with its type
type VerifyAgeFunc = {
  (age: number): boolean;
  usedBy: string;
};

// the function itself that
// satisfies the above type alias
let verifyAge = <VerifyAgeFunc>((age: number) => (age > 18 ? true : false));

// add a property called `usedBy`
verifyAge.usedBy = "Admin"; // allowed ✅.

🙁 Actual behavior
It doesn't work with React/JSX. The problem is that that <VerifyAgeFunc> is treated as a JSX tag and the normal way to handle generics in JSX to add a comma doesn't work. Probably because this is not generic only syntax that is similar.
🙂 Expected behavior
I expect to use functions with properties in React.
Additional information about the issue
No response

You can either use as T or just write T, in JSX. Then it won't be misunderstood as a tag.

I don’t think adding a comma works for a type assertion (OP mentioned this).  But foo as T is the idiomatic way to do type assertions these days anyway.

So what I needed to do was to write two interfaces/types one when the property is optional and use as T to force the proper type.
This is my real code, nothing else is working:
import { type ReactNode } from 'react';
import { Animated, View, Text, type TextProps, type StyleProp, type TextStyle } from 'react-native';
import { styles } from './styles';

type CharTextProps = {
  position?: number;
  children: string;
  style?: StyleProp<TextStyle>;
  mapStyle?: (index: number, chr: string) => StyleProp<TextStyle>;
} & TextProps;

interface CharTextFuncOptional {
  (props: CharTextProps): ReactNode;
  Animated?: (props: CharTextProps) => ReactNode;
}

interface CharTextFunc {
  (props: CharTextProps): ReactNode;
  Animated: (props: CharTextProps) => ReactNode;
}

type TextComponent = typeof Text | typeof Animated.Text;

const makeCharText = (Text: TextComponent) => {
  const component = ({ mapStyle, style, children, ...restProps }: CharTextProps) => (
    <View style={styles.container} {...restProps}>
      {[...children].map((chr, index) => (
        <Text key={`${chr}-${index}`} style={[styles.char, style, mapStyle && mapStyle(index, chr)]}>
          {chr}
        </Text>
      ))}
    </View>
  );
  component.displayName = 'CharText';

  return component;
};

const CharText: CharTextFuncOptional = makeCharText(Text);

CharText.Animated = makeCharText(Animated.Text);

// HACK
// This is probably a bug in TypeScript that doesn't allow using functions with props
// with JSX. We asked on StackOverflow: https://stackoverflow.com/q/77156753/387194
export default CharText as CharTextFunc;

let verifyAge = ((age: number) => (age > 18 ? true : false)) as VerifyAgeFunc;

https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#type-assertions

That works thanks. The problem was that no one online you could find this way of adding a property to a function. I only found articles that use syntax as in my original snippet.
Maybe there is a need to add an article on how to do that properly or update documentation.
I will try to write something that will have a high SEO ranking so it's easy to find. And I will answer my question or StackOverflow which may also be visible in Google.

IMO (don't take this the wrong way, I don't mean it in a mean-spirited way) it'd probably be good to try to understand the basic building blocks of the language itself first before copying and pasting code from SO and/or blog articles.  Type assertions are a more general mechanism than just "a way to add properties to a function".  As it is this is an X/Y problem but kind of in reverse; you've presented the specific problem you're trying to solve but without really understanding the more general mechanism that was failing.

I just assume that as T is kind of F*ck you TypeScript I know better what I'm doing. Similar to using any and it should be avoided.
I just didn't know that as T is the same type annotation as <T>. Thanks for pointing out the holes in my understanding.


[SPARK-20959][CORE]Add a parameter to UnsafeExternalSorter to configure filebuffersize

What changes were proposed in this pull request?
This PR Improvement with spark.shuffle.file.buffer configure fileBufferSizeBytes in UnsafeExternalSorter.
How was this patch tested?
The unit test.

Can one of the admins verify this patch?

@gatorsmile
Can you review this code.
thanks.

Would it be possible to add performance results with different parameter sizes?

@kiszk
thanks for review it.
use
./spark-sql --executor-memory 5G  --total-executor-cores 5 --conf spark.executor.cores=1
./spark-sql --executor-memory 5G  --total-executor-cores 5 --conf spark.executor.cores=1 --conf spark.shuffle.file.buffer=64k
./spark-sql --executor-memory 5G  --total-executor-cores 5 --conf spark.executor.cores=1 --conf spark.shuffle.file.buffer=1024k
./spark-sql --executor-memory 5G  --total-executor-cores 5 --conf spark.executor.cores=1 --conf spark.shuffle.file.buffer=4k

test change the size of the spark.shuffle.file.buffer,
Performance tuning results such as the description of PR.
thanks.

Thank you for your experiments.
Do these results mean the original value achieves the best performance?

@kiszk
yes,
I tried other SQL algorithms, and the results showed that,
But for this hard coding, it is still modified to be configurable.

Since the default value achieves the best performance, why should we need a config to change this value?


cannot use next with custom node-server

I am unable to run a next app with a custom server.
example:
taken from from custom-server-express => and then added now config: https://github.com/andycmaj/next-now-bug
When the now builder creates the lambda packages, it seems to exclude the .next directory that contains the compiled next pages.
you can see that the .next dir is in fact in the build workspace:

... but is NOT in the lambda package:

you can clearly see that when you use now dev, you're unable to hit the home page:
> GET /
404: The page could not be found
Code: FILE_NOT_FOUND

Hello!
Now 2.0 doesn't support a custom server... Please, take a look at: https://zeit.co/guides/custom-next-js-server-to-routes/


Bug: No dialogue for NPC

Current Behaviour

No dialogue for the module NPC. I added the module sql files to the correct folders so that it gets applied automatically when the server starts.
Expected Behaviour
That the npc has a dialogue
Steps to reproduce the problem

Compile the module with latest acore
Add the .sql files to data\sql\custom
spawn the npc in the server by using .npc add 200001

Extra Notes
No response
AC rev. hash/commit
AzerothCore rev. af776520dbd5 2024-09-13 17:45:21 +0800 (Playerbot branch) (Win64, RelWithDebInfo, Static)
Connected players: 1. Characters in world: 862.
Connection peak: 1.
Server uptime: 15 minute(s) 30 second(s)
Update time diff: 43ms. Last 500 diffs summary:
|- Mean: 19ms
|- Median: 13ms
|- Percentiles (95, 99, max): 34ms, 42ms, 119ms
Using SSL version: OpenSSL 3.0.14 4 Jun 2024 (library: OpenSSL 3.0.14 4 Jun 2024)
Using Boost version: 1.86.0
Using CMake version: 3.29.5
Using MySQL version: 80402
Found MySQL Executable: C:/Program Files/MySQL/MySQL Server 8.4/bin/mysql.exe
Compiled on: Windows 10.0.19044
Worldserver listening connections on port %hu
Realmlist (Realm Id: 1) configured in port 8085
VMAPs status: Enabled. LineOfSight: true, getHeight: true, indoorCheck: true
MMAPs status: Enabled
maps directory located in data/maps. Total size: 291014951 bytes
vmaps directory located in data/vmaps. Total size: 658130721 bytes
mmaps directory located in data/mmaps. Total size:<PHONE_NUMBER> bytes
Default DBC locale: enUS.
All available DBC locales: enUS koKR frFR deDE zhTW esES
Using World DB: ACDB 335.12-dev
Using Playerbots DB Revision:
Latest LoginDatabase update: 2024_01_20_00.sql
Latest CharacterDatabase update: trasmorg.sql
Latest WorldDatabase update: zz_optional_aq_quest_nerf.sql
LoginDatabase queue size: 0
CharacterDatabase queue size: 0
WorldDatabase queue size: 0
PlayerbotsDatabase queue size: 0
Operating system
Windows 10 x64
Custom changes or Modules
List of enabled modules:
|- BGQueueChecker
|- mod-TimeIsTime
|- mod-ah-bot
|- mod-auto-revive
|- mod-autobalance
|- mod-boss-announcer
|- mod-breaking-news-override
|- mod-challenge-modes
|- mod-changeablespawnrates
|- mod-dead-means-dead
|- mod-duel-reset
|- mod-dynamic-loot-rates
|- mod-dynamic-xp
|- mod-individual-progression
|- mod-junk-to-gold
|- mod-learn-spells
|- mod-money-for-kills
|- mod-no-hearthstone-cooldown
|- mod-npc-beastmaster
|- mod-npc-enchanter
|- mod-phased-duels
|- mod-playerbots
|- mod-pvp-titles
|- mod-rdf-expansion
|- mod-reagent-bank
|- mod-skip-dk-starting-area
|- mod-solo-lfg
|- mod-transmog
|- mod-warlock-pet-rename
|- mod-who-logged

Nevermind. According to the .server debug command the module isn't even installed. Sorry for that.


Make date_part handling consistent in functions

Closes #574

Coverage decreased (-0.01%) to 98.286% when pulling 92f642e1a12c52646c7cc20f6ddac2e3e06e3e79 on cbows:fix-extract-function into 79460aa0156f826e9e0fc814f75a380e281077e1 on kayak:master.


Added metric between last request byte and last response byte

Description
Fixes #2043
Adds additional metric which measures time between end of request processing (whole request was sent to the Traefik) and the response received from the backend. It is useful to measure time backend took to deliver response and does not include time needed for request to finish (slow clients).

/cc @marco-jantke

@harnash thank you for this contribution! I have a couple of questions though:

are you sure that this works properly? AFAIK the request flow in Traefik it already allows forwarding the request to the backend even though it did not read the whole request body yet. Have you tried this in a real world scenario already? I guess also @emilevauge who will provide the design review (as marked by the PR labels) can confirm/prove my statement as wrong.
can you elaborate a bit more on which problem in the real world this would help to diagnose?
can you rephrase your PR title? We have actual metrics collection/exporting in Traefik and your PR is about access logs.

@marco-jantke
ad 1. We are planning to run this on our infrastructure after we get at least initial approval. I did test it only locally so far but I can deploy it on our dev/staging env to see how it behaves under moderate load (this is a bit blocked since we are not 100% ready to migrate to 1.4+ on prod yet).
ad 2. You could check description in the #2043 issue. We have alerting setup based on response time from our services (gathered from Traefik access logs). Currently they trigger "false positives" when service client has poor connection and/or is submitting large requests. We found that it would be best to have response times measured after request is transmitted in full (so we do not include time for client to send its payload). Another solution for that is to allow request buffering (vulcand/oxy does support that and I have PR almost ready with that).
ad 3. sure

Thank you for the explanations! Now it's @emilevauge do reason about the design :-)

Hey @harnash, thanks a lot for your contribution :clap:
We think that Open Tracing support added in this PR https://github.com/containous/traefik/pull/2237 also solves your issue, and is a bit more generic. We prefer to close this PR and focus on OpenTracing/Jaeger/Zipkin :)
Thanks again for you great work @harnash !

@emilevauge nice! I'll take a look as we are planning on integrating OpenTracing in our stack too.


[BUG] Game with wrong name

Hyperdimension Neptunia Re;Birth2: Sisters Generation
https://store.steampowered.com/app/351710/Hyperdimension_Neptunia_ReBirth2_Sisters_Generation/

Hello @MakoSipper
This is related to the unfamous #82
I have manually solved this specific game. Database will be refreshed tomorrow.
Any other games afftected by this issue should be updated at most by september.
Thanks for the feedback!


Bump versions

CI failure on Windows is #1418

I'd at least prefer we work out the Windows issue first so we don't have CI failing anymore than it does now.


Cleanup over the entire public API with extensions to parsing

Pull Request Test Coverage Report for Build 481

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 33.401%

Totals

Change from base Build 478:
0.0%

Covered Lines:
1636

Relevant Lines:
4898

💛  - Coveralls

Merged with b831f87d28b78044118c4eb66f9b3152d373349b
Had to rebase, conflicted with another PR
thanks!


DNS over HTTPS doesn't work in Windows XP

Describe the bug
Supermium DNS over HTTPS feature isn't working on Windows XP. I'm using NextDNS, websites load fine, but it seems to be not using it since blocked domains aren't getting blocked and the logs doesn't show Supermium requests.
To Reproduce
Steps to reproduce the behavior:

Go to Supermium on Windows XP
Enable DNS over HTTPS
Load any website
Notice it's not using it

Expected behavior
Use the specified DoH server
Screenshots
N/A
Desktop (please complete the following information):

OS: Windows XP Professional SP3 (32-bit)
Supermium version: 126.0.6478.249 R3

Additional context
Add any other context about the problem here.

Due to some significant bugs on the Windows 7 side of things, I'm only getting to this now, but with 126.0.6478.254 R4 I am unable to reproduce this issue. According to this site, DNS over HTTPS is working:

I tested the latest version (126.0.6478.254 R4) and now it seems to be working fine too. Thanks!


Updated visibility protection timeout option

Description
Update maximum_visibility_timeout_extension tovisibility_duplicate_protection_timeout
Issues Resolved
Resolves #[Issue number to be closed when this PR is merged]
Check List

[x] New functionality includes testing.
[ ] New functionality has a documentation issue. Please link to it in this PR.

[ ] New functionality has javadoc added

[ ] Commits are signed with a real name per the DCO

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Makes more changes for #2485.


fix #39

Fix progress bar error which expect an integer value, while a float is provided

Thanks a lot for your patience @hypsug0, your fix has finally been merged (and released in a new version!)


add pause reconciliation support for hostedcluster controller, hostedclusterconfig controller, and hostedcontrolplane controller

This pr adds pause annotation support to the hostedcluster controller, hostedclusterconfig controller, and hostedcontrolplane controller. Equivalent support for nodePools will be added in an independent pr. In this architecture someone is able to set the pauseRecociliation annotation to either a date or a boolean value of true. If it is set to true: reconciliation will be paused until the annotation is removed. If it is set to a RFC3339 formatted date: reconciliation is paused till that date is passed at which point reconciliation will begin again.

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes # https://github.com/openshift/hypershift/issues/1046
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[x] This change includes docs.
[x] This change includes unit tests.

/unhold

/hold
fixing docs

/unhold

/retest

/lgtm

/approve

/approve

/approve


Deny to pass the same state to several stories sequentially.

state = State()
a1(state)
a2(state) # error

Conceptually, it's possible to do.
Technically, it'll be a nightmare to support.

Superseded by #722


Revive "Tackling Strongy Correlated Quantum Systems" article

I couldn't find the actual date of the publication in the archive, just the year/month so I just put the 1st to make jekyll happy
@sthapa

Tim gave this a thumbs up. Merging


vulkaninfo doesn't give anything useful when DISPLAY is not set

On Linux, if there is no DISPLAY environment variable (so it can't find X11), vulkaninfo doesn't give anything useful.  However, running a Vulkan driver headless is a perfectly reasonable thing to do so it should be able to print out everything other than the WSI information.

I distinctly remember fixing that. Let's see... PR #2272.

@jekstrand How are you producing this output?
I was able to break vulkaninfo as you described by setting the DISPLAY environment variable to nothing (export DISPLAY=) and two double quotes (export DISPLAY=""). Is this similar to how you achieved this effect?

@shannon-lunarg That might be a good enhancement. It currently only considers if the DISPLAY is undefined.
PS export DISPLAY= is equivalent to export DISPLAY="", right?

@shannon-lunarg I frequently run on machines with no X or Wayland server running.  In this case, neither DISPLAY nor WAYLAND_DISPLAY is even set.  Another way to reproduce this is to run unset DISPLAY.  Another is to SSH into a machine that can run Vulkan so you get a command-line environment only.

@jekstrand Alright, try the new master, though unset DISPLAY should have worked even before...

vulkaninfo worked fine for me with no DISPLAY set in the environment before #2398 was merged.
It is possible the @jekstrand was using vulkaninfo from an SDK that didn't have #2272 in it.
And #2398 does fix the crash when DISPLAY="".

That's quite possible.  I've got 1.0.65 on my laptop.

I just pulled the latest and everything seems to work now.  Here's hoping Fedora pulls a new loader and demos in soon...


Use bootstrap 4 beta 2

Resolves #1498

Codecov Report

Merging #1514 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1514   +/-   ##
=======================================
  Coverage   82.57%   82.57%
=======================================
  Files         131      131
  Lines        5664     5664
  Branches      643      643
=======================================
  Hits         4677     4677
  Misses        823      823
  Partials      164      164

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 0b1e5c1...500a1f5. Read the comment docs.


[W-11689882] build warnings 2.1

ref: W-11689882
fix some things to reduce build warnings.
Writer's Quality Checklist
Before merging your PR, did you:

[x] Run spell checker
[ ] Run link checker to check for broken xrefs
[ ] Check for orphan files
[x] Perform a local build and do a final visual check of your content, including checking for:

Broken images
Dead links
Correct rendering of partials if they are used in your content
Formatting issues, such as:

Misnumbered ordered lists (steps) or incorrectly nested unordered lists
Messed up tables
Proper indentation
Correct header levels

[ ] Receive final review and signoff from:

Technical SME
Product Manager
Editor or peer reviewer
Reporter, if this content is in response to a reported issue (internal or external feedback)

[ ] If applicable, verify that the software actually got released

@cheungaryk can you approve this commit suggestion restoring the H4?

Nice catch. Done!


Allow filterType to consider union constraints of non-union types when determining never-ness

Fixes #43719
Normally, in narrowing, we combine the true and false branch flow types, and that didn't appear to occur in the linked issue. In reality, it was happening exactly as specified - the false branch type was simply never because for the false branch we'd check if Slices[SliceId][SliceKey] is a subtype of NumClass<number>, which it obviously is not (after all, it's constrained to NumClass<number> | StrClass<string>, which is a supertype of it). The solution is, in the false case, allowing filterType to break the type into it's constraint and see if any component of the constraint fits the bill when checking validity, since what we really want to know is if any part of the filtered type isn't a subtype of the type we're narrowing by.

Is the self-build error an actual result of the change to getNarrowedType? 😮

Yep.


Make it possible to run the RSPM image as a non-root user

The official Ubuntu packages for RSPM set up an rstudio-pm user to run the service. However, the existing Docker image could not be run as this user for two reasons:

The existing Dockerfile creates some directories required at runtime as root; and

The existing installation step does not use userspace license activation, so later attempts to activate a license as a non-root user will fail.

This commit fixes both these issues. Images still default to running as root (for now, to preserve compatibility), but they can also be run as rstudio-pm now as well.

Build is failing but works for me locally. Will investigate.

Ugh. License initialization failing b/c a trial is not available. I'm not sure whether RSPM does an initialization automatically as a part of activation (in which case we can skip it)? IIRC RSW does that. If not, we may need to figure out how to initialize the license manager at runtime (entrypoint script?).
It's also possible that even a failed initialization is still "good enough" to use the image 🤷♂

I'm not sure whether RSPM does an initialization automatically as a part of activation

Yeah, that's what I'm skipping. The CI logs also seem to indicate that it's being skipped correctly. I'm not using docker buildx locally, that might be related.

Exciting to see!  Could you add a note on how to do this to the docs within https://github.com/rstudio/rstudio-docker-products#privileged-containers?

Yeah, @glin that is my concern as well. I think you could also solve it by chowning the data directory (in environments like NFS where customers would be running). That is probably the potential breaking change that we need to worry about for switching the user from root to rstudio-pm and document clearly for users. Hopefully not an issue in this case though.

@colearendt @glin The volume permissions issue is a fundamental limitation of Docker volumes, so I don't think this is unique to us. Kubernetes does not use Docker volumes and handles a lot of these permissions for you correctly, so I don't think it will create issues there. It's more for local users running docker run -v directly.

I'm not really familiar with Docker volumes, but it seems like mounting the volume wipes out the chown -R rstudio-pm:rstudio-pm /data done in the image.

Yes, it does. Those commands are only there to make it possible to run the container without persistent storage.

I think the current plan is to merge this first and rebase #270 on top afterwards.


Strange mini-buffer behavior

I am using this on a macbook pro. Whenever I do M-x (command-x on my mac) and try to type something I am only able to see a single character. Keypresses >= 2 overwrite the previous key press.  I can not figure out the cause of this behavior but I am open to the possibility that PEBKAC.

Works for me on the same machine, but I saw that issue a while ago. I think I concluded it was due to a problem with either smex or ido-ubiquitous. I'd suggest making sure all your packages (and git submodules are up to date) -- try commenting out the line in init.el which requires init-ido, then you should be able to start up normally, after which you can M-x package-list-packages, press u to select available upgrades, and then x to apply them.
-Steve

Thanks for your response. This behavior occurs with a freshly cloned repository. All the submodules are up to date and in the "package-list-packages" buffer, none of the installed packages have upgrades, probably since they were just downloaded minutes before. I can disable the load of init.ido.el, but then I don't have ido. Do you have any other suggestions? Thanks.

Sure. In init-ido.el, try selectively disabling ido-ubiquitous and smex to see which one is causing trouble.
It's odd, though. Which Emacs version do you have? When I saw the same issue it was with an Emacs snapshot from a couple of months ago, IIRC.


Documentation and errors of nested structs need improvement

Peter Alexander (@Poita) reported this on 2015-01-06T21:59:51Z
Transferred from https://issues.dlang.org/show_bug.cgi?id=13945
CC List

Ali Cehreli

Description
Some example code:

----------------------
struct A(T) {
  T x;
  this(int) {}  // Error: field x must be initialized in constructor, because it is nested struct
}

void bar(T)() {
  T y;  // Error: cannot access frame pointer of foo.main.X
}

void main() {
  struct X {
    this(int) {}
  }
  bar!X();
  A!X(1);
}
----------------------

I can find no explanation of why these errors would occur in the documentation.

Furthermore, the errors are uninformative. Ok, so T is a nested struct. Why do I have to initialize it in the constructor? What is a "frame pointer" and why does it need to access it to construct the object? (frame pointer is an implementation detail, and such terminology should not be exposed to the user).

To resolve this bug, I'd like to see two things:

1) Documentation of *why* nested structs need special initialization, and precise definition of what counts as initialization. I know there are limitation with using loops, and calling other functions, but this is documented no where as far as I can see.

2) Improved error message. For these, I would prefer something along the lines of:

"Error: field x must be initialized directly in constructor from another instance of T, since it is a nested struct and requires its outer context"

"Error: y must be constructed from another instance of T, since it is a nested struct and requires context"

These are just ideas.

acehreli commented on 2015-06-04T06:29:40Z
Found another example that does not involve a nested struct:

import std.algorithm;

struct Foo(R)
{
    R r;

    this(R r)    // <-- Compilation error
    {}
}

auto foo(R)(R r)
{
    return Foo!R(r);
}

void main()
{
    [1].map!(i => i).foo;
}

Error: field r must be initialized in constructor, because it is nested struct

Ali


Detect multi-target assignment as unpacking if any target is unpacking

Improves the fix for #161.

Looks good to me. I think Flake8 detects baz as unused if you remove the print (but ruff does not), but this is an improvement.


[docs] Write a "Best practice" article

We need to write an article similar to https://github.com/hdorgeval/testcafe-snippets/blob/master/say-goodbye-to-flakyness.md. There should be a list of best practices that help writing stable and reusable tests.

Fixed in #5603


chore: switch toPromise to lastValueFrom

@woutermont the one not working here is the first test in core > lib > handlers > handler.spec.ts


v5.0.1 install.sh does not work to upgrade sshnp/sshnpd

Describe the bug
various problems with upgrade process that need to be addressed
If sshnp/sshnpd are in use then they cannot be copied over (I have sucessfully dodged this by mv sshnpd sshnpd.old then using cp
The tmux install fails badly see bel;ow
Steps to reproduce

First I install sshnp/sshnpd - TMUX / bin installs tested
Then I try to install over them to upgrade
Things fail on Mac/Linux

Expected behavior
just works/upgrades with single command idealy so you could use sshnp to upgrade in a single command to make things easier if you had 100 or 1000 machines!
Perhaps auto upgrade solution ?
Screenshots
constab@tarial sshnp % ./install.sh tmux sshnpd
Installed sshnpd to /Users/cconstab/.local/bin
Installed srv to /Users/cconstab/.local/bin
cron job already installed, killing old tmux session
Unknown tmux service: kill-session
./install.sh [command]
Available commands:
at_activate     - install at_activate
sshnp           - install sshnp
sshnpd          - install sshnpd
srv           - install srv
srvd          - install srvd
binaries        - install all base binaries

debug_srvd    - install srvd with debugging enabled
debug           - install all debug binaries

all             - install all binaries (base and debug)

headless <job>  - install a headless cron job
                  available jobs: [sshnpd, srvd]

tmux <service>  - install a service in a tmux session
                  available services: [sshnpd, srvd]
cconstab@tarial

Smartphones

sshnp v5.0.1

Were you using an atApplication when the bug was found?
No response
Additional context
No response

Fixed. Took me a while but I eventually realized that the tmux function in the script was masking the tmux command itself
Here's output from an install, re-install, re-install with sshnpd service running
gary@gkc2019-2 sshnp % install.sh tmux sshnpd
=> Installed sshnpd to /Users/gary/.local/bin
=> Installed srv to /Users/gary/.local/bin
=> Installing cron job: @reboot tmux new-session -d -s sshnpd && tmux send-keys -t sshnpd /Users/gary/.local/bin/sshnpd.sh C-m

tmux service installed, make sure to configure the service by editing /Users/gary/.local/bin/sshnpd.sh
Learn more in /Users/gary/Downloads/sshnp/headless/README.md

To start the service immediately:
  tmux new-session -d -s sshnpd && tmux send-keys -t sshnpd /Users/gary/.local/bin/sshnpd.sh C-m &

Warning: sometimes tmux is not set to linger which will kill the tmux session on logout
Make sure your system is configured so that tmux sessions can linger, or disown the tmux process before logging out
gary@gkc2019-2 sshnp %
gary@gkc2019-2 sshnp %
gary@gkc2019-2 sshnp %
gary@gkc2019-2 sshnp %
gary@gkc2019-2 sshnp % install.sh tmux sshnpd
=> Installed sshnpd to /Users/gary/.local/bin
=> Installed srv to /Users/gary/.local/bin
=> Cron job already installed, will not re-install

tmux service installed, make sure to configure the service by editing /Users/gary/.local/bin/sshnpd.sh
Learn more in /Users/gary/Downloads/sshnp/headless/README.md

To start the service immediately:
  tmux new-session -d -s sshnpd && tmux send-keys -t sshnpd /Users/gary/.local/bin/sshnpd.sh C-m &

Warning: sometimes tmux is not set to linger which will kill the tmux session on logout
Make sure your system is configured so that tmux sessions can linger, or disown the tmux process before logging out
gary@gkc2019-2 sshnp % tmux new-session -d -s sshnpd && tmux send-keys -t sshnpd /Users/gary/.local/bin/sshnpd.sh C-m
gary@gkc2019-2 sshnp %
gary@gkc2019-2 sshnp %
gary@gkc2019-2 sshnp %
gary@gkc2019-2 sshnp % install.sh tmux sshnpd
=> Installed sshnpd to /Users/gary/.local/bin
=> Installed srv to /Users/gary/.local/bin
=> Cron job already installed, will not re-install
=> Killing existing sshnpd tmux session
=> Starting new sshnpd session

tmux service installed, make sure to configure the service by editing /Users/gary/.local/bin/sshnpd.sh
Learn more in /Users/gary/Downloads/sshnp/headless/README.md

To start the service immediately:
  tmux new-session -d -s sshnpd && tmux send-keys -t sshnpd /Users/gary/.local/bin/sshnpd.sh C-m &

Warning: sometimes tmux is not set to linger which will kill the tmux session on logout
Make sure your system is configured so that tmux sessions can linger, or disown the tmux process before logging out
gary@gkc2019-2 sshnp % tmux ls
sshnpd: 1 windows (created Mon Jan 29 12:15:31 2024)
gary@gkc2019-2 sshnp %
gary@gkc2019-2 sshnp %
gary@gkc2019-2 sshnp % install.sh tmux sshnpd
=> Installed sshnpd to /Users/gary/.local/bin
=> Installed srv to /Users/gary/.local/bin
=> Cron job already installed, will not re-install
=> Killing existing sshnpd tmux session
=> Starting new sshnpd session

tmux service installed, make sure to configure the service by editing /Users/gary/.local/bin/sshnpd.sh
Learn more in /Users/gary/Downloads/sshnp/headless/README.md

To start the service immediately:
  tmux new-session -d -s sshnpd && tmux send-keys -t sshnpd /Users/gary/.local/bin/sshnpd.sh C-m &

Warning: sometimes tmux is not set to linger which will kill the tmux session on logout
Make sure your system is configured so that tmux sessions can linger, or disown the tmux process before logging out
gary@gkc2019-2 sshnp % tmux ls
sshnpd: 1 windows (created Mon Jan 29 12:15:40 2024)
gary@gkc2019-2 sshnp %

So I tried the new install.sh and it worked but only on the second time.. See log below..
cconstab@orac:~/sshnp$ vi install.sh
cconstab@orac:~/sshnp$ ./install.sh tmux sshnpd
cconstab@orac:~/sshnp$
cconstab@orac:~/sshnp$
cconstab@orac:~/sshnp$
cconstab@orac:~/sshnp$ ~/.local/bin/sshnpd
-bash: /home/cconstab/.local/bin/sshnpd: No such file or directory
cconstab@orac:~/sshnp$ ./install.sh tmux sshnpd
=> Installed sshnpd to /home/cconstab/.local/bin
cconstab@orac:~/sshnp$ ~/.local/bin/sshnpd
Version : 5.0.1 (core: 6.0.1)
-k, --key-file,--keyFile              Sending atSign's keyFile if not in ~/.atsign/keys/
-a, --atsign (mandatory)              atSign of this device
-m, --manager (mandatory)             Managers atSign, that this device will accept triggers from
-d, --device                          Send a trigger to this device, allows multiple devices share an atSign
                                      (defaults to "default")
-s, --[no-]sshpublickey               When set, will update authorized_keys to include public key sent by manager
-u, --[no-]un-hide,--[no-]username    When set, makes various information visible to the manager atSign - e.g. username, version, etc
-v, --[no-]verbose                    More logging
    --ssh-client                      What to use for outbound ssh connections.
                                      [openssh (default), dart]
    --root-domain                     atDirectory domain
                                      (defaults to "root.atsign.org")
    --local-sshd-port                 port on which sshd is listening locally on localhost
                                      (defaults to "22")
    --ephemeral-permissions           The permissions which will be added to the authorized_keys file for the ephemeral public keys which are generated when a client is
                                      connecting via forward ssh e.g. PermitOpen="host-1:3389",PermitOpen="localhost:80"
                                      (defaults to "")
    --ssh-algorithm                   Use RSA 4096 keys rather than the default ED25519 keys
                                      [ssh-ed25519 (default), ssh-rsa]
    --storage-path                    Directory for local storage. Defaults to $HOME/.sshnp/${atSign}/storage

Invalid argument(s): Option atsign is mandatory.
cconstab@orac:~/sshnp$

Plus the tmux restart of the job assumes that it is running a bash shell I think which it may not be. On Ubuntu I notice that often/sometimes the tmux session uses /bin/sh.. Perhaps as we start the tmux we force a bash shell ?
again see below from the tmux console

INFO|2024-01-29 11:02:02.739828|AtLookup|Creating new connection
INFO|2024-01-29 11:02:03.626715|AtLookup|New connection created OK
INFO|2024-01-29 11:02:03.876366|AtLookup|auth success
INFO|2024-01-29 11:02:03.876444|AtClientManager|setCurrentAtSign called with atSign @ssh_1
INFO|2024-01-29 11:02:03.876483|AtClientManager|Switching atSigns from null to @ssh_1
INFO|2024-01-29 11:02:03.878640|HiveBase|commit_log_6277982265d52db809e3ec7210a0ad87294fc9e6b857b6fe0a7f2e6b3f82ff36 initialized successfully
INFO|2024-01-29 11:02:03.880634|HiveBase|6277982265d52db809e3ec7210a0ad87294fc9e6b857b6fe0a7f2e6b3f82ff36 initialized successfully
INFO|2024-01-29 11:02:03.889436|AtClientCommitLogCompaction (@ssh_1)|Starting commit log compaction job running for every 11 minute(s)
INFO|2024-01-29 11:02:03.890414|AtClientManager|setCurrentAtSign complete
INFO|2024-01-29 11:02:03.894141| sshnpd |Starting heartbeat
INFO|2024-01-29 11:02:03.894169| sshnpd |Subscribing to orac\.sshnp@
INFO|2024-01-29 11:02:03.894201| sshnpd |Deleting old device info for orac (if it exists)
INFO|2024-01-29 11:02:03.894261|AtLookup|Creating new connection
INFO|2024-01-29 11:02:04.790533|AtLookup|New connection created OK
INFO|2024-01-29 11:02:05.033394|Monitor (@ssh_1)|monitor started for @ssh_1 with last notification time: null
INFO|2024-01-29 11:02:05.063375|AtLookup|auth success
INFO|2024-01-29 11:02:05.195390| sshnpd |Done
^C^P

$ -sh: 2: : not found
$

So I tried the new install.sh and it worked but only on the second time.. See log below..

Platform? I tested this repeatedly this morning and it worked 🤔

uname -a?

Re: tmux restart : perhaps we should just remove the kill and restart and instead just prompt the user that they need to do so. Previous behavior was just a tmux kill-session which seemed wrong

So I tried the new install.sh and it worked but only on the second time.. See log below..

Platform? I tested this repeatedly this morning and it worked 🤔

@cconstab I see no output at all from your first "install tmux sshnpd" - can you "set -x" before running it, so we can see what it is doing, exactly?
On second run again I would have expected to see more output (re crontab etc) so that's even weirder
Are you running the install.sh which is currently trunk?

I cut and paste the install.sh in trunk yup..
Will rerun tomorrow.. thought it odd so reopened for more testing.

Not sure I understand this ... how does the restart assume that it is running a bash shell? This is what install.sh does to kill and restart the session if there is one running; I don't see anything bash-specific in these commands ... what am I missing?

Nothing assumes a bash shell here

FYI The template sshnpd.sh uses #!/bin/sh - should we change that?

No, we are using POSIX shell for better compatibility.

FYI shellcheck is a big help in ensuring POSIX shell compliance:
Vscode extension:
Name: ShellCheck
Id: timonwong.shellcheck
Description: Integrates ShellCheck into VS Code, a linter for Shell scripts.
Version: 0.35.0
Publisher: Timon Wong
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=timonwong.shellcheck


Validation error: metadata schema update test data

We recently submitted a pull request for metadata schema update. The update includes a new protocol type (treatment protocol) and associated ontology labels.
I created test data for the schema change and uploaded it to ingest staging. I expected it to validate ok, however, there seems to be a validation error associated with checking the correct ontology labels are used. Specifically, the error reads:
Provided term is not child of [http://purl.obolibrary.org/obo/OBI_0000070] at .target_pathway[0].ontology

However, the provided term (positive regulation of T cell activation (GO:0050870) IS an acceptable ontology label for the "target pathway ontology" field. The expected schema json file with ontology requirements is this one: json_schema/module/ontology/target_pathway_ontology.json
in the pull request 1481
Submission: The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres
It would be great if a dev could investigate the cause of this error message, feel free to message me on slack about this.

@ami-day - please just put a link to the project with this error.

treatment protocol validates correctly in dev: https://dev.contribute.data.humancellatlas.org/submissions/detail?uuid=d1bd44e9-e930-4aa9-b92e-b654ff384821
https://api.ingest.dev.archive.data.humancellatlas.org/protocols/6304d88b90cbf9786e4ef4e0
this is pretty fishy!

@ami-day to test the same spreadsheet in dev to see if it validates

It validates ok in dev: https://dev.contribute.data.humancellatlas.org/submissions/detail?uuid=3a5d3ab6-f2b4-4197-8595-5f738498cc0e&project=24fd5dbc-6c2d-48a0-9001-0b0ab0341351

The schema is available at
https://schema.staging.data.humancellatlas.org/module/ontology/1.0.0/target_pathway_ontology
    "ontology": {
      "description": "An ontology term identifier in the form prefix:accession.",
      "type": "string",
      "graph_restriction": {
        "ontologies": [
          "obo:hcao"
        ],
        "classes": [
          "GO:0050789"
        ],
        "relations": [
          "rdfs:subClassOf"
        ],
        "direct": false,
        "include_self": false
      },
      "user_friendly": "Target pathway ontology ID",
      "example": "GO:0043382"

But the ontology error being given is still
Provided term is not child of [http://purl.obolibrary.org/obo/OBI_0000070]

So some schema change isn't being picked up.
Did the schema change without having the version numbers changed? This might affect a schema cache that I believe exists somewhere.

@MightyAx yes, it was changed, but this specific field was not changed amongst the different documents
Do you think that could be the cause anyways?

It seems that the staging ingest UI is using the prod schema service with the staging ontology service :S

I've tried restarting the ingest-validator

When we post schema updates, we should probably re-start the validator (or have it re-start as a cron job?)
@ami-day to check fix

It is sorted

It is currently exporting.


Rename as_of to time

as_of is a strange name. I think time is more standard.

In which file?

Hello, I would like to work on this if it's ok. I do agree time seems more standard than as_of.


Support configureable sign in url for govcloud compatibility

Currently, the aws sign in url is hardcoded to the commercial url. When users have multiple roles assigned, this url is used to lookup some information about the roles. When govcloud users have multiple roles, the script tries to use the wrong sign in url and errors out. This change allows for users to set their own sign in url to accommodate for this.
Fixes https://github.com/godaddy/aws-okta-processor/issues/44

@tarkatronic @tahoward i believe you reviewed and merged a similar change in the past to add a region argument: https://github.com/godaddy/aws-okta-processor/pull/29


RE3: Crash when using Rusty Crank

Version
3.0.6 (d8709f5)
Seed
R730-BAXA-ZJHE70VFLPV00V00W000NQNQMPUPPXZZZTZ
Scenario
RE 3 (Jill)
Player Character
Regina
What happened?
This is a problem that seem to happen with recently added characters, for my instance it was both Regina and Hunk. After using rusty crank at Gas Station (room 20E), game immediately crashes.
Additionally, those new characters seem to have some weird animation issues. When walking or when in caution, they constantly warp back a bit and it's pretty annoying especially in case of caution animation. Save file included, just need to exit through door leading to garage and continue through the main clock tower entrance.
savefile.zip

Duplicate of #443


add Dragonpass Com. Ltd.

CATEGORY
Choose one

[ ] Documentation

SUMMARY

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

REVIEWERS

Codecov Report

Merging #9072 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #9072   +/-   ##
=======================================
  Coverage   59.44%   59.44%
=======================================
  Files         369      369
  Lines       11749    11749
  Branches     2888     2888
=======================================
  Hits         6984     6984
  Misses       4586     4586
  Partials      179      179

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 66fd177...8097903. Read the comment docs.

Please follow the alphabetical ordering


Add support for configurable choice of file extensions in .flowconfig

This pull request provides support for configurable choice of file extensions in .flowconfig.
By default, as before, .js and .jsx are valid file extensions.
If user wants to allow some file extensions he has to add it in .flowconfig, for instance :
[flow-extensions]
.js
.jsx
.es5
.es6
.es7

Note : I'm not sure the regexp I used is good
hey @jeffmo

#209, #499

After discussion with jeffmo, the file extensions config is now part of options section :
[options]
module.file_ext=.js
module.file_ext=.jsx
module.file_ext=.es5
module.file_ext=.es6
module.file_ext=.es7
module.file_ext=.foobar

Thoughts ? (about the syntax and the regex)

I think I have a better idea for the es* file extension.
Instead of specifying a version of es (is: es6) just use simply .es
The purpose of a different extension than .js could simply be to allow the source and output files to coexist and to denote that "this is a transpired source file".
When are you realistically going to be using multiple es versions in one project or within flow itself?
However I think the best idea overall is not to specify extension at all even in configuration.
Instead, use file glob syntax that catches the files you want.

Sorry for errors. Im on my mobile.

Mmh there is already [include] which has this purpose.
module.file_ext is just here to specify which file extension is enabled or not.

This is great. Just a few comments and then I think we'll be good to go!

Oh also: Can you add some tests for this as well?

@aikeru: Using file glob syntax is probably a good thing, too. For now this seems strictly minimal and still supportive of a more flexible glob syntax in the future; So I think this is a good first step in the right direction.
I suspect that this will cover most use cases, though (having an explicit list like this worked pretty well for Jest configs, also).

Oh god :/

Hehe, git is tricky...
Ok, what I would do here is this:
First, make a backup copy of of your repo directory just in case :p
Then, in the branch that you have these changes in, do:
$ git pull --rebase upstream master
$ git push --force origin config-flow-extensions

Hopefully this will clear out all of the noise here...

To be clear, this PR is waiting on recovering from the git drama, right?

You're right ! I just finished my school year so I will work on it soon.
If you have some ideas about how to fix it I will take it :)

Yay, the first time ! I feared to have broken something but it seems all is good.

:+1: for making file extensions configurable, e.g. .es :smile:

Is this PR blocked by anything? Seems like a good feature to me.

Not anymore -- looks like I missed the comment about the commits/rebase stuff being fixed...so I'll take a look/import it tomorrow or Monday when I get back to a comp!

Would love to see this merged. It's a blocker for our project which has hundreds of ".es" files :)

@davedx now it's merged, you can use Flow :)

Thank you! :) :+1:

woo!
Also: Huge thanks to @Eyyub for doing this!

With pleasure, and thanks for your advices !

Closes #209


fix(image): force SVG dimensions in lightbox

📖 PR App
🎫 Fix CX-217

🧰 Changes
SVGs weren't displaying at all when shown in the lightbox. (For example, try clicking on the first image here.)

[x] override dimensions for lightboxed SVG images

🧬 QA & Testing

🚧 Note: we'll need to cut a new release and merge this in to ReadMe to fully test.

This PR was released!
🚀 Changes included in v6.61.1


Update Haskell with lexer for numeric literal extensions

(Original issue 1399 created by takenobu-hs on 2017-12-03T09:23:03.243790+00:00)
Sorry if it is not the correct procedure.
Could you please modify syntax highlighting of numeric literals for Haskell?

Add Number.Float for HexFloatLiterals extension 1
Add Number.Bin for BinaryLiterals extension 2
Modify Number.* for NumericUnderscores extension 3 4

I prepared a patch on a local basis:
diff -r 7941677dc77d pygments/lexers/haskell.py
--- a/pygments/lexers/haskell.py	Mon Mar 13 19:16:03 2017 +0000
+++ b/pygments/lexers/haskell.py	Sun Dec 03 08:46:22 2017 +0000
@@ -72,11 +72,14 @@
             (r':[:!#$%&*+.\\/<=>?@^|~-]*', Keyword.Type),  # Constructor operators
             (r'[:!#$%&*+.\\/<=>?@^|~-]+', Operator),  # Other operators
             #  Numbers
-            (r'\d+[eE][+-]?\d+', Number.Float),
-            (r'\d+\.\d+([eE][+-]?\d+)?', Number.Float),
-            (r'0[oO][0-7]+', Number.Oct),
-            (r'0[xX][\da-fA-F]+', Number.Hex),
-            (r'\d+', Number.Integer),
+            (r'0[xX]_*[\da-fA-F](_*[\da-fA-F])*_*[pP][+-]?\d(_*\d)*', Number.Float),
+            (r'0[xX]_*[\da-fA-F](_*[\da-fA-F])*\.[\da-fA-F](_*[\da-fA-F])*(_*[pP][+-]?\d(_*\d)*)?', Number.Float),
+            (r'\d(_*\d)*_*[eE][+-]?\d(_*\d)*', Number.Float),
+            (r'\d(_*\d)*\.\d(_*\d)*(_*[eE][+-]?\d(_*\d)*)?', Number.Float),
+            (r'0[bB]_*[01](_*[01])*', Number.Bin),
+            (r'0[oO]_*[0-7](_*[0-7])*', Number.Oct),
+            (r'0[xX]_*[\da-fA-F](_*[\da-fA-F])*', Number.Hex),
+            (r'\d(_*\d)*', Number.Integer),
             #  Character/String Literals
             (r"'", String.Char, 'character'),
             (r'"', String, 'string'),

I visually checked this patch with the these files 5 6.
Please tell me how I should take action.
Thank you for your valuable work.

(Original issue 1399 last updated on 2018-12-14T13:12:31.401059+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by takenobu-hs on 2017-12-09T14:03:42.734537+00:00)
I sent a pull request.
https://bitbucket.org/birkenfeld/pygments-main/pull-requests/745/fix-haskell-lexer-for-numeric-literals/diff
Could you please review and merge.
Thanks for your wonderful work.

(Original comment by takenobu-hs on 2018-12-14T13:11:42.068388+00:00)
This pull request was merged.
@Anteru, thanks!


Fix link in readme

This PR simply fixes the first link in the readme by making it absolute. (I added https://)
Without this, the link may redirect to (for example): https://github.com/mscoutermarsh/cors-test/blob/main/cors-test.codehappy.dev (404)

Thank you! ❤


Incoherent dependencies

Hello,
It seems doxdox 3.0 requires versions of the plugins that themselves require doxdox 2.0 and this makes Yarn throw an error:
error<EMAIL_ADDRESS>doesn't satisfy found match of<EMAIL_ADDRESS>error<EMAIL_ADDRESS>doesn't satisfy found match of<EMAIL_ADDRESS>error<EMAIL_ADDRESS>doesn't satisfy found match of<EMAIL_ADDRESS>error<EMAIL_ADDRESS>doesn't satisfy found match of<EMAIL_ADDRESS>error Found 4 errors.

It stills installs the package correctly, but it might be worth checking.

This should be resolved in the latest preview version. We have moved to using npm workspaces so all packages will now share the same release cycle, so this shouldn't be a problem in the future.


Missing device configuration: Wenzhou MTLC Electric Appliances Co.,Ltd. ZWN-BPC PIR Sensor (FW < 5.9)

Checklist

[X] It is not in the configuration DB

[X] It was not merged recently or has a pending PR

Which device is missing?
Wenzhou MTLC Electric Appliances Co., Ltd. / PIR Sensor
Manufacturer ID
0x011a
Product Type
0x0601
Product ID
0x0901
Firmware Version
2.3
Is the device listed on the Z-Wave Alliance website?
https://products.z-wavealliance.org/products/2165
Do you have a manual?
No response

The product you linked mentions a firmware version 5.10. Yours is 2.3.
Do you have a manual for yours to check for any differences in association groups, config parameters, etc. compared to https://products.z-wavealliance.org/ProductManual/File?folder=&filename=MarketCertificationFiles/2165/20170111 ZWN-BPC.pdf?

Sorry, unfortunately I don't have a manual for this device. There is some printing on the back:
Ceiling Mounted, PIR Motion Sensor
Cat.No.: ZWN-BPC
Z-Wave Frequency: 908.42mhz
FCC ID: ZZHZWN-SC7

Ok, it seems there is another version of this device by another manufacturer where we have a firmware file for versions 5.9 and below. It looks like the single config parameter changed.
Could you test that in zwavejs2mqtt?
=> https://zwave-js.github.io/zwavejs2mqtt/#/development/intro?id=testing-custom-devices-config
Put a .json file into that directory with the following content:
{
	"manufacturer": "Wenzhou MTLC Electric Appliances Co., Ltd.",
	"manufacturerId": "0x011a",
	"label": "ZWN-BPC",
	"description": "PIR Sensor",
	"devices": [
		{
			"productType": "0x0601",
			"productId": "0x0901"
		}
	],
	"firmwareVersion": {
		"min": "0.0",
		"max": "5.9"
	},
	"associations": {
		"1": {
			"label": "Lifeliine",
			"maxNodes": 5,
			"isLifeline": true
		}
	},
	"paramInformation": {
		"0": {
			"label": "Motion timeout",
			"unit": "minutes",
			"valueSize": 1,
			"minValue": 0,
			"maxValue": 255,
			"defaultValue": 1,
			"unsigned": true
		}
	}
}

Restart zwavejs2mqtt and re-interview your device.
Then please verify that you can change the Motion timeout parameter to values above 7 (test 255 to be sure).

This fixed the manufacturer and product for the device and I was able to set value 255 for Motion Timeout.
The basic sensor does go from 0 -> 255 when motion is detected. But, the binary sensor doesn't appear to be working, it is always True.
18:25:48.500 CNTRLR [Node 032] treating BasicCC::Set as a report
2021-08-18 18:25:48.502 INFO ZWAVE: Node 32: value updated: 32-0-currentValue 0 => 255
18:26:12.908 CNTRLR [Node 032] treating BasicCC::Set as a report
2021-08-18 18:26:12.909 INFO ZWAVE: Node 32: value updated: 32-0-currentValue 255 => 0

Okay, can you please re-interview the device and upload the driver log of that here?
Don't copy/paste, just drag the file into the textbox.
Its likely we need to add a compat flag for this problem, but I need to see what happens during the interview.

@aaron9060 ping

sorry for delay, logs attached. thanks
zwavejs_2021-08-30.log
zwavejs2mqtt.log

Ok, try putting this in your config file - same procedure as above:
{
	"manufacturer": "Nortek Security & Control LLC",
	"manufacturerId": "0x014f",
	"label": "ZWN-BPC",
	"description": "PIR Sensor",
	"devices": [
		{
			"productType": "0x0601",
			"productId": "0x0901"
		}
	],
	"firmwareVersion": {
		"min": "0.0",
		"max": "5.9"
	},
	"associations": {
		"1": {
			"label": "Reports",
			"maxNodes": 5,
			"isLifeline": true
		}
	},
	"paramInformation": {
		"0": {
			"label": "Motion timeout",
			"unit": "minutes",
			"valueSize": 1,
			"minValue": 0,
			"maxValue": 255,
			"defaultValue": 1,
			"unsigned": true
		}
	},
	"compat": {
		"enableBasicSetMapping": true
	}
}

@aaron9060 ping :)

I tried the driver above and it seems to work, I just had to modify the manufacturerID.  Mine is labeled Enerwave, not sure if this device was sold under two different names but this driver correctly matched with the device and got the binary_sensor working:
{
	"manufacturer": "Enerwave",
	"manufacturerId": "0x011a",
	"label": "ZWN-BPC",
	"description": "PIR Sensor",
	"devices": [
		{
			"productType": "0x0601",
			"productId": "0x0901"
		}
	],
	"firmwareVersion": {
		"min": "0.0",
		"max": "5.9"
	},
	"associations": {
		"1": {
			"label": "Reports",
			"maxNodes": 5,
			"isLifeline": true
		}
	},
	"paramInformation": {
		"0": {
			"label": "Motion timeout",
			"unit": "minutes",
			"valueSize": 1,
			"minValue": 0,
			"maxValue": 255,
			"defaultValue": 1,
			"unsigned": true
		}
	},
	"compat": {
		"enableBasicSetMapping": true
	}
}

Thanks for testing, I'll apply that change to both devices.


New version of _restclient cannot be pushed to PyPI b.c. namespace packages with leading _ in package name cannot be uploaded

Opening this to track this. See https://github.com/pypi/warehouse/issues/14806 for a full description of the issue.

A work around was posted in https://github.com/pypi/warehouse/issues/14806 that resolved the issue.


Social media sharing bar [OSF-2052]

Purpose
Enable social media sharing with buttons that connect to the appropriate services.
Changes
Project and component pages have a "share" button that shows a selection of social media sharing buttons.

The existing file share dialog now also has these social media buttons.

When any of these buttons are clicked, a new window with the appropriate service is shown.

For each of the options, the title of the project, component, or file is given, along with the appropriate link url: main urls for projects and components, and direct MFR views for files. Twitter additionally has "via @OSFramework" added to the text.
Side effects
There should not be any side effects.
Ticket
https://openscience.atlassian.net/browse/OSF-2052

This UI could look better:

Ideally, I think the button container should be centered below the Share button, but the social buttons themselves should at least have consistent whitespace around them (the margin on the right is too big). Might want to confirm that (and other UI) with @saradbowman or @nicipfeiffer; UI/UX isn't my specialty

@mfraezz @acshi Is the share/embed popover no longer happening when the user clicks the share button?

@nicipfeiffer The elements shown above are indeed both popovers; is this what you meant?

@acshi Sorry for the vague question...I was specifically referring to this:

Where the share link is displayed and the embed option resides, is this still on the file detail page?

LGTM. Please pull from develop and resolve the conflcts, after that and a successful TCI build this should be ready to merge 🉐

Pass finished.

Please resolve merge conflicts and fix the build error 🐼

Pass finished. Looking much better. Just a few details to iron out.

Hey @acshi , @sloria asked me to do a UI review. Here are some comments:

You are saying that this is using popover but it has the dropdown style. Are you sure you are implementing bootstrap popover correctly? For instance why does it not have the arrows pointing to the button? Can you check your implementation? http://getbootstrap.com/javascript/#popovers

In terms of design would something like this work better? It would use non-square versions. In this example I changed the first two and kept the last two for comparison.

It looks like linked in shares also have text like twitter. I don't know if it would be possible to provide a template text for that as well. Did you look into that?

Not a concern for this PR but we have a button next to Share that has an icon commonly associated with sharing or sending. We might have to rethink that one down the line.

@caneruguz

I actually never intended to make a popover. Perhaps you got my component (the ShareDropdown) mixed up with the pre-existing SharePopover that was already on the file page. If you think a popover would be preferable, I would be open to changing it, but I choose a dropdown because I wanted a simple menu of choices that would drop down for use and then disappear when it lost focus. I wouldn't want the sharing menu to stay on the screen if the user clicks elsewhere to do other things (which is how the SharePopover currently behaves).

I am not an expert on UI design: I choose the squares because they looked like buttons to me. I've changed the style to make them look like yours now.

I actually do provide the same information to LinkedIn as I do to Twitter (and the other options), however the LinkedIn dialog does not display it as a template. Both Twitter and Facebook try to visit the shared link and make a view of it to show the user. However, running on localhost the links cannot be reached by them, so we don't see the same thing as we would if this were being run on staging or production. In addition, Twitter would perform url shortening if the links were not to localhost.

The GUID URLs don't seem to be displaying for files.
When I click the twitter button on the file detail page, it only shows the filename:

Pass finished.


aws-iam-authenticator project updates 1-25 to 1.29

Description of changes:
aws-iam-authenticator project updates 1-25 to 1.29
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/hold

/lgtm


Throw Exceptions Intention - Clarification Required

I am aware the LogManager class has the ThrowExceptions property which enables/disables if an exception will be thrown. I am know that specific Exceptions get the MustBeRethrown property through an the extension.
In my understanding the intention is that when ThrowExceptions = false than the all other exceptions except the ones with MustBeRethrown = true should be recorded in internal logger and NOT be thrown.
Can someone kindly clarify for me if my understanding is correct please?

Sorry for the late reply, that would be correct in my opinion.

You can also refer to http://nlog-project.org/2010/09/05/new-exception-handling-rules-in-nlog-2-0.html


Question : How to migrate existing user / cerfiticate

Hello,
I have your script installed on very old machine, and we need to migrate the service to other provider. Is there any guide how to migrate the user (and cert to new provider) ?
thank you

Generally speaking, that would involve copying the /etc/openvpn directory to the new server, installing OpenVPN and setting up the firewall rules in the new server. Also, client configurations would need to be updated if they point to an IP address which has changed.


tf-gpu==1.13.1  : 35% less batch size before OOM vs tf-gpu==1.11.0

System information

Windows 7
TensorFlow installed from (source or binary): pip
TensorFlow version (use command below): 1.11.0 , 1.13.1
Python version: 3.6.5
CUDA/cuDNN version: 9/7.1.4 , 10/7.4.1
GPU model and memory: GTX 1060 6GB

Describe the current behavior
I have standard AE network with pixel shuffler layer.
on tf.1.11.0-cuda 9 maximum batch size for my GTX 1060 6GB is 132
but after upgrade to tf.1.13.1-cuda 10 tf cannot handle same batch size it produces OOM error
and maximum now 90 for my card.
Describe the expected behavior
expected not to downgrade performance when upgrading tensorflow
Code to reproduce the issue
import numpy as np
import tensorflow as tf
keras = tf.keras
KL = keras.layers
K = keras.backend

bgr_shape = (128, 128, 3)
#batch_size = 132 #max -tf.1.11.0-cuda 9
batch_size = 86 #max -tf.1.13.1-cuda 10

class PixelShuffler(keras.layers.Layer):
    def __init__(self, size=(2, 2), data_format=None, **kwargs):
        super(PixelShuffler, self).__init__(**kwargs)
        self.size = size

    def call(self, inputs):

        input_shape = K.int_shape(inputs)
        if len(input_shape) != 4:
            raise ValueError('Inputs should have rank ' +
                             str(4) +
                             '; Received input shape:', str(input_shape))

        batch_size, h, w, c = input_shape
        if batch_size is None:
            batch_size = -1
        rh, rw = self.size
        oh, ow = h * rh, w * rw
        oc = c // (rh * rw)

        out = K.reshape(inputs, (batch_size, h, w, rh, rw, oc))
        out = K.permute_dimensions(out, (0, 1, 3, 2, 4, 5))
        out = K.reshape(out, (batch_size, oh, ow, oc))
        return out

    def compute_output_shape(self, input_shape):

        if len(input_shape) != 4:
            raise ValueError('Inputs should have rank ' +
                             str(4) +
                             '; Received input shape:', str(input_shape))

        height = input_shape[1] * self.size[0] if input_shape[1] is not None else None
        width = input_shape[2] * self.size[1] if input_shape[2] is not None else None
        channels = input_shape[3] // self.size[0] // self.size[1]

        if channels * self.size[0] * self.size[1] != input_shape[3]:
            raise ValueError('channels of input and size are incompatible')

        return (input_shape[0],
                height,
                width,
                channels)

    def get_config(self):
        config = {'size': self.size}
        base_config = super(PixelShuffler, self).get_config()

        return dict(list(base_config.items()) + list(config.items()))

def upscale (dim):
    def func(x):
        return PixelShuffler()((KL.Conv2D(dim * 4, kernel_size=3, strides=1, padding='same')(x)))
    return func

inp = KL.Input(bgr_shape)
x = inp
x = KL.Conv2D(128, 5, strides=2, padding='same')(x)
x = KL.Conv2D(256, 5, strides=2, padding='same')(x)
x = KL.Conv2D(512, 5, strides=2, padding='same')(x)
x = KL.Conv2D(1024, 5, strides=2, padding='same')(x)
x = KL.Dense(1024)(KL.Flatten()(x))
x = KL.Dense(8 * 8 * 1024)(x)
x = KL.Reshape((8, 8, 1024))(x)
x = upscale(512)(x)
x = upscale(256)(x)
x = upscale(128)(x)
x = upscale(64)(x)
x = KL.Conv2D(3, 5, strides=1, padding='same')(x)

model = keras.models.Model ([inp], [x])
model.compile(optimizer=keras.optimizers.Adam(lr=5e-5, beta_1=0.5, beta_2=0.999), loss='mae')

training_data = np.zeros ( (batch_size,128,128,3) )
loss = model.train_on_batch( [training_data], [training_data] )
print ("FINE")

Other info / logs
1] 1 Chunks of size 12032 totalling 11.8KiB
2019-02-28 19:45:23.516100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 4 Chunks of size 19200 totalling 75.0KiB
2019-02-28 19:45:23.517100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 4 Chunks of size 38400 totalling 150.0KiB
2019-02-28 19:45:23.517100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 4 Chunks of size 262144 totalling 1.00MiB
2019-02-28 19:45:23.517100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 1 Chunks of size 368640 totalling 360.0KiB
2019-02-28 19:45:23.517100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 4 Chunks of size 1179648 totalling 4.50MiB
2019-02-28 19:45:23.517100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 5 Chunks of size 3276800 totalling 15.63MiB
2019-02-28 19:45:23.517100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 4 Chunks of size 4718592 totalling 18.00MiB
2019-02-28 19:45:23.520100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 3 Chunks of size 13107200 totalling 37.50MiB
2019-02-28 19:45:23.520100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 1 Chunks of size 17028352 totalling 16.24MiB
2019-02-28 19:45:23.521100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 1 Chunks of size 17694720 totalling 16.88MiB
2019-02-28 19:45:23.521100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 1 Chunks of size 17694976 totalling 16.88MiB
2019-02-28 19:45:23.521100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 3 Chunks of size 18874368 totalling 54.00MiB
2019-02-28 19:45:23.521100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 1 Chunks of size 23592960 totalling 22.50MiB
2019-02-28 19:45:23.521100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 5 Chunks of size 52428800 totalling 250.00MiB
2019-02-28 19:45:23.529100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 5 Chunks of size 75497472 totalling 360.00MiB
2019-02-28 19:45:23.529100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 1 Chunks of size 94371840 totalling 90.00MiB
2019-02-28 19:45:23.530100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 1 Chunks of size 100362240 totalling 95.71MiB
2019-02-28 19:45:23.530100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 2 Chunks of size 188743680 totalling 360.00MiB
2019-02-28 19:45:23.530100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 1 Chunks of size 194688000 totalling 185.67MiB
2019-02-28 19:45:23.530100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 12 Chunks of size 268435456 totalling 3.00GiB
2019-02-28 19:45:23.530100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
1] 1 Chunks of size 552317184 totalling 526.73MiB
2019-02-28 19:45:23.530100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
5] Sum Total of in-use chunks: 5.02GiB
2019-02-28 19:45:23.530100: I tensorflow/core/common_runtime/bfc_allocator.cc:64
7] Stats:
Limit:<PHONE_NUMBER>
InUse:<PHONE_NUMBER>
MaxInUse:<PHONE_NUMBER>
NumAllocs:                     434
MaxAllocSize:<PHONE_NUMBER>

2019-02-28 19:45:23.531100: W tensorflow/core/common_runtime/bfc_allocator.cc:27
1] *****************************************************__**********_***********
**********************x
2019-02-28 19:45:23.531100: W tensorflow/core/framework/op_kernel.cc:1401] OP_RE
QUIRES failed at conv_grad_input_ops.cc:1054 : Resource exhausted: OOM when allo
cating tensor with shape[90,128,64,64] and type float on /job:localhost/replica:
0/task:0/device:GPU:0 by allocator GPU_0_bfc
Traceback (most recent call last):
  File "D:\DeepFaceLab\_internal\bin\DeepFaceLab\test.py", line 87, in <module>
    loss = model.train_on_batch( [training_data], [training_data] )
  File "D:\DeepFaceLab\_internal\bin\lib\site-packages\tensorflow\python\keras\e
ngine\training.py", line 1188, in train_on_batch
    outputs = self.train_function(ins)  # pylint: disable=not-callable
  File "D:\DeepFaceLab\_internal\bin\lib\site-packages\tensorflow\python\keras\b
ackend.py", line 3076, in __call__
    run_metadata=self.run_metadata)
  File "D:\DeepFaceLab\_internal\bin\lib\site-packages\tensorflow\python\client\
session.py", line 1439, in __call__
    run_metadata_ptr)
  File "D:\DeepFaceLab\_internal\bin\lib\site-packages\tensorflow\python\framewo
rk\errors_impl.py", line 528, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.ResourceExhaustedError: OOM when allocat
ing tensor with shape[90,128,64,64] and type float on /job:localhost/replica:0/t
ask:0/device:GPU:0 by allocator GPU_0_bfc
         [[{{node training/Adam/gradients/conv2d_1/Conv2D_grad/Conv2DBackpropInp
ut}}]]
Hint: If you want to see a list of allocated tensors when OOM happens, add repor
t_tensor_allocations_upon_oom to RunOptions for current allocation info.

still no solution?
I guess it is not fixed in tf 2.0

@iperov Is this still an issue?

@tatianashp are you kidding?
reproduced significantly performance downgrade
no fix or official comment about it

@smit-hinsu Can you look into what's happening here?

@iperov Sorry it fell through the cracks.

Compared to 1.12, I'm finding that the exact same code uses about 10% extra GPU memory as per tf.profiler. Specifically, the test I just did gives about 6400MB total (i.e., for _TFProfRoot) on 1.12.0 but about 7100MB for 1.13.1. With a smaller version of the same model, the proportional difference is about the same---about 3450MB for 1.13.1 and about 3100MB for 1.12.0.

@rightaditya
thx, you are reproduced the bug too.
What are next actions?

Sorry for the long delay for the update.
This looks like a bug introduced between cuDNN v7.2 and v7.4. We will report this to NVIDIA and update this issue after that.
Thanks for providing with a small example to reproduce the issue.

Sorry for the long delay for the update.
This looks like a bug introduced between cuDNN v7.2 and v7.4. We will report this to NVIDIA and update this issue after that.
Thanks for providing with a small example to reproduce the issue.

The difference seems to be coming from a change in CUDNN_CONVOLUTION_FWD_ALGO_FFT_TILING convolution algorithm implementation causing it to use more memory with cuDNN v7.4. I don't see any mention of this in the release notes but this might be an intended change.
I was able to work around this issue by setting TF_CUDNN_WORKSPACE_LIMIT_IN_MB environment variable to "1024".
If for some reason that does not work out for you, then also give it a try setting TF_CUDNN_WORKSPACE_LIMIT_IN_MB to "0" and then TF_CUDNN_USE_AUTOTUNE to "0".
Let us know if either of the above helps resolve the issue.

@smit-hinsu tried both solutions, but oom still happens

last cudnn 7.5.1 also fails

I don't have the exact code that I tested earlier, but it didn't use convolutions at all. It was all LSTMs, the CUDNN ops if I'm remembering correctly.
However, I should point out that some tests I ran yesterday found substantial variation in the memory usage reported by tfprof for the same code and data, so what I saw before may have been within the bounds of that variation. I did try it a few times with each version to get an idea of the distributions though and they didn't seem to overlap.

We are experiencing the same issue even with tf-2.0. The model we use consumes approx 1GB of  more GPU memory than the pytorch implementation of the same model, though tf model is way faster. Looking forward to the solution.

last cudnn 7.5.1 also fails

Did cudnn 7.6.0 solve this issue?

cudnn 7.6.0 same problem

Hi, any updates on this issue?

@timshen91 Can you please take a look at this?  I think the next steps are:

Verify that this is a problem still.
 With GC off, I can still see the OOM.
I'll close the bug as GC seems to deallocate dead memory.
2020-01-03 14:18:31.905093: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcuda.so.1
2020-01-03 14:18:31.913239: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties:
name: TITAN V major: 7 minor: 0 memoryClockRate(GHz): 1.455
pciBusID: 0000:d8:00.0
2020-01-03 14:18:31.913417: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.0
2020-01-03 14:18:31.914810: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10.0
2020-01-03 14:18:31.915919: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10.0
2020-01-03 14:18:31.916171: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10.0
2020-01-03 14:18:31.917729: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10.0
2020-01-03 14:18:31.918760: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10.0
2020-01-03 14:18:31.922199: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-01-03 14:18:31.922733: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0
2020-01-03 14:18:31.922922: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA
2020-01-03 14:18:31.964210: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2020-01-03 14:18:31.976496: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x52556b0 executing computations on platform Host. Devices:
2020-01-03 14:18:31.976542: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): Host, Default Version
2020-01-03 14:18:32.117365: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x52b8130 executing computations on platform CUDA. Devices:
2020-01-03 14:18:32.117430: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): TITAN V, Compute Capability 7.0
2020-01-03 14:18:32.118844: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties:
name: TITAN V major: 7 minor: 0 memoryClockRate(GHz): 1.455
pciBusID: 0000:d8:00.0
2020-01-03 14:18:32.118913: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.0
2020-01-03 14:18:32.118941: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10.0
2020-01-03 14:18:32.118963: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10.0
2020-01-03 14:18:32.118985: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10.0
2020-01-03 14:18:32.119006: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10.0
2020-01-03 14:18:32.119027: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10.0
2020-01-03 14:18:32.119049: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-01-03 14:18:32.120211: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0
2020-01-03 14:18:32.120271: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.0
2020-01-03 14:18:32.122202: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-01-03 14:18:32.122230: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0
2020-01-03 14:18:32.122244: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N
2020-01-03 14:18:32.124553: W tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:39] Overriding allow_growth setting because the TF_FORCE_GPU_ALLOW_GROWTH environment variable is set. Original config value was 0.
2020-01-03 14:18:32.124591: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 5537 MB memory) -> physical GPU (device: 0, name: TITAN V, pci bus id: 0000:d8:00.0, compute capability: 7.0)
2020-01-03 14:18:32.911533: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-01-03 14:18:33.885741: W tensorflow/stream_executor/cuda/redzone_allocator.cc:312] Not found: ./bin/ptxas not found
Relying on driver to perform ptx compilation. This message will be only logged once.
2020-01-03 14:18:34.006646: W tensorflow/core/common_runtime/bfc_allocator.cc:239] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.63GiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available.
2020-01-03 14:18:34.006681: W tensorflow/core/common_runtime/bfc_allocator.cc:239] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.63GiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available.
2020-01-03 14:18:34.385341: W tensorflow/core/common_runtime/bfc_allocator.cc:305] Garbage collection: deallocate free memory regions (i.e., allocations) so that we can re-allocate a larger region to avoid OOM due to memory fragmentation. If you see this message frequently, you are running near the threshold of the available device memory and re-allocation may incur great performance overhead. You may try smaller batch sizes to observe the performance impact. Set TF_ENABLE_GPU_GARBAGE_COLLECTION=false if you'd like to disable this feature.
2020-01-03 14:18:34.461297: I tensorflow/stream_executor/cuda/cuda_driver.cc:830] failed to allocate 3.43G<PHONE_NUMBER> bytes) from device: CUDA_ERROR_OUT_OF_MEMORY: out of memory
2020-01-03 14:18:34.557533: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10.0
2020-01-03 14:18:35.221099: W tensorflow/core/common_runtime/bfc_allocator.cc:239] Allocator (GPU_0_bfc) ran out of memory trying to allocate 2.96GiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available.
2020-01-03 14:18:35.221135: W tensorflow/core/common_runtime/bfc_allocator.cc:239] Allocator (GPU_0_bfc) ran out of memory trying to allocate 2.96GiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available.
2020-01-03 14:18:35.641610: W tensorflow/core/common_runtime/bfc_allocator.cc:239] Allocator (GPU_0_bfc) ran out of memory trying to allocate 2.34GiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available.
2020-01-03 14:18:35.641645: W tensorflow/core/common_runtime/bfc_allocator.cc:239] Allocator (GPU_0_bfc) ran out of memory trying to allocate 2.34GiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available.
2020-01-03 14:18:35.708188: W tensorflow/core/common_runtime/bfc_allocator.cc:239] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.92GiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available.
2020-01-03 14:18:35.708215: W tensorflow/core/common_runtime/bfc_allocator.cc:239] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.92GiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available.
2020-01-03 14:18:35.834415: W tensorflow/core/common_runtime/bfc_allocator.cc:239] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.38GiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available.
2020-01-03 14:18:35.834441: W tensorflow/core/common_runtime/bfc_allocator.cc:239] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.38GiB with freed_by_count=0. The caller indicates that this is not a failure, but may mean that there could be performance gains if more memory were available.
FINE