Compiler not supported: "nvcc fatal   : Failed to preprocess host compiler properties."

🐛 Describe the bug
The CI job cmake_linux_gpu started failing with:
CMake Error at /usr/share/cmake3/Modules/CMakeTestCUDACompiler.cmake:46 (message):
  The CUDA compiler

    "/usr/local/cuda-11.6/bin/nvcc"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /home/circleci/project/cpp_build/CMakeFiles/CMakeTmp

    Run Build Command(s):/usr/bin/gmake cmTC_a1be0/fast && /usr/bin/gmake  -f CMakeFiles/cmTC_a1be0.dir/build.make CMakeFiles/cmTC_a1be0.dir/build
    gmake[1]: Entering directory `/home/circleci/project/cpp_build/CMakeFiles/CMakeTmp'
    Building CUDA object CMakeFiles/cmTC_a1be0.dir/main.cu.o
    /opt/cache/bin/sccache /usr/local/cuda-11.6/bin/nvcc -forward-unknown-to-host-compiler    -x cu -c /home/circleci/project/cpp_build/CMakeFiles/CMakeTmp/main.cu -o CMakeFiles/cmTC_a1be0.dir/main.cu.o
    sccache: error: failed to execute compile
    sccache: caused by: Compiler not supported: "nvcc fatal   : Failed to preprocess host compiler properties.\n"
    gmake[1]: *** [CMakeFiles/cmTC_a1be0.dir/main.cu.o] Error 2
    gmake[1]: Leaving directory `/home/circleci/project/cpp_build/CMakeFiles/CMakeTmp'
    gmake: *** [cmTC_a1be0/fast] Error 2

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:12 (enable_language)

Versions
Latest main, PyTorch Core 20221025
cc @seemethere

The issue disappeared 1 hour ago. It seems that now CI is passing on PRs.

Resolving this issue have caused by docker build being corrupted. This should be resolved now.

Just a few minutes ago I also meet the problem.
I typed "nvcc tmp.cu" and it occurs that "nvcc fatal : Failed to preprocess host compiler properties", which make me confused.
But after I typed "nvcc -o tmp tmp.cu", the error disappears. And from then when I type "nvcc tmp.cu", there is no error any more.


api_v2.py 启动报错-HPU device module is not loaded

启动命令：
python api_v2.py -a <IP_ADDRESS> -p 7860 -c GPT_SoVITS/configs/tts_infer.yaml
tts_infer.yaml:
custom:   bert_base_path: GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large   cnhuhbert_base_path: GPT_SoVITS/pretrained_models/chinese-hubert-base   device: gpu   is_half: false   t2s_weights_path: GPT_SoVITS/pretrained_models/gsv-v2final-pretrained/s1bert25hz-5kh-longer-epoch=12-step=369668.ckpt   version: v2   vits_weights_path: GPT_SoVITS/pretrained_models/gsv-v2final-pretrained/s2G2333k.pth
报错信息：
Loading Text2Semantic weights from GPT_SoVITS/pretrained_models/gsv-v2final-pretrained/s1bert25hz-5kh-longer-epoch=12-step=369668.ckpt Traceback (most recent call last):   File "/mnt/zfw/GPT-SoVITS/api_v2.py", line 143, in <module>     tts_pipeline = TTS(tts_config)   File "/mnt/zfw/GPT-SoVITS/GPT_SoVITS/TTS_infer_pack/TTS.py", line 252, in __init__     self._init_models()   File "/mnt/zfw/GPT-SoVITS/GPT_SoVITS/TTS_infer_pack/TTS.py", line 277, in _init_models     self.init_t2s_weights(self.configs.t2s_weights_path)   File "/mnt/zfw/GPT-SoVITS/GPT_SoVITS/TTS_infer_pack/TTS.py", line 347, in init_t2s_weights     dict_s1 = torch.load(weights_path, map_location=self.configs.device)   File "/root/anaconda3/envs/GPTSoVits/lib/python3.9/site-packages/torch/serialization.py", line 1014, in load     return _load(opened_zipfile,   File "/root/anaconda3/envs/GPTSoVits/lib/python3.9/site-packages/torch/serialization.py", line 1422, in _load     result = unpickler.load()   File "/root/anaconda3/envs/GPTSoVits/lib/python3.9/site-packages/torch/serialization.py", line 1392, in persistent_load     typed_storage = load_tensor(dtype, nbytes, key, _maybe_decode_ascii(location))   File "/root/anaconda3/envs/GPTSoVits/lib/python3.9/site-packages/torch/serialization.py", line 1366, in load_tensor     wrap_storage=restore_location(storage, location),   File "/root/anaconda3/envs/GPTSoVits/lib/python3.9/site-packages/torch/serialization.py", line 1296, in restore_location     return default_restore_location(storage, map_location)   File "/root/anaconda3/envs/GPTSoVits/lib/python3.9/site-packages/torch/serialization.py", line 381, in default_restore_location     result = fn(storage, location)   File "/root/anaconda3/envs/GPTSoVits/lib/python3.9/site-packages/torch/serialization.py", line 304, in _hpu_deserialize     assert hpu is not None, "HPU device module is not loaded" AssertionError: HPU device module is not loaded

GPT-SoVITS/GPT_SoVITS/TTS_infer_pack/TTS.pyself.device = self.configs.get("device", torch.device("cuda" if torch.cuda.is_available() else "cpu"))

GPT-SoVITS/GPT_SoVITS/TTS_infer_pack/TTS.py  修改
   self.device = self.configs.get("device", torch.device("cuda" if torch.cuda.is_available() else "cpu"))


[IMPROVEMENT] Replace spdk_tgt with nvmf_tgt in instance-manager pod

Is your improvement request related to a feature? Please describe (👍 if you like this request)

spdk_tgt is a general-purposed target daemon, so there are different active pollers besides of nvmf poller.
Current, Longhorn only uses nvmf poller, so we can replace spdk_tgt with nvmf_tgt in instance-manager pod for preventing additional context switches.

Describe the solution you'd like

Describe alternatives you've considered

Additional context

cc @shuo-wu @DamiaSan @innobead

WOW, that sounds good. What tool do you use to monitor the resources used by SPDP applications? It looks useful!

WOW, that sounds good. What tool do you use to monitor the resources used by SPDP applications? It looks useful!

spdk_top, a top tool in spdk.
However,  the change won't improve the performance too much and just make resources consumed by nvmf.

Resource consumption does matter always :slightly_smiling_face:


Fixes #163: Ensure configuration reload and server start after config

Does not apply to galera.
Also fixes restorecon path

I've rebased this off current master, let's see what happens..


StarlingBase.java - transactionDateFormat using minutes instead of month

StarlingBase.java - transactionDateFormat using minutes instead of month
(yyyy-mm-dd -> YYYY-MM-dd).
PR has been submitted to resolve this.

Great, good spot and thanks for the PR.  Happy to add the contribution.md template.  Once the change has been pulled I'll provide an email address for the project.
Whilst I agree with correcting the pattern letters to 'MM', I can't see why we'd want to uppercase year to 'YYYY'?

Perfect, accepted the pull request and merged in.  Closing this issue.  Thanks for spotting this, keep them coming.


I18NText macther fails when the value is exactly the same as the key

Problem
The issue come up when testing the application with OPA5 applying the I18Text matcher and we would like to check i18n key which value is the same.
Example
The content of the i18n.properties file:
Value=Value

Using the matcher for matching the text property of an sap.m.Text:
new I18NText({
  propertyName: "text",
  key: "Value"
})

Issue location
The issue is at this piece of code: https://github.com/SAP/openui5/blob/60430b0e8fe2c286563ea4ce841a2f5a41d34ddb/src/sap.ui.core/src/sap/ui/test/matchers/I18NText.js#L127-L132
Proposed solution
The 3rd parameter of the method https://openui5.hana.ondemand.com/api/module:sap/base/i18n/ResourceBundle#methods/getText should be used in order to ignore key fallback.
OpenUI5 version:
latest (1.76.1)

Hello @resitamas
Thank you for sharing this finding. I've created an internal incident<PHONE_NUMBER>. The status of the issue will be updated here in GitHub.
Regards,
Georgi

Hello @resitamas,
the issue is fixed with https://github.com/SAP/openui5/commit/0a5f5925d56820511c156116bbe39f63595bef0f which will be available in the next version of UI5 (1.79.0)
Regards,
Tsvetelina


[#2590] - increase time for group email links expirary

https://github.com/hydroshare/hydroshare/issues/2590

[x] Positive Test Case Written by Dev
[x] Automated Testing
[x] If documentation is required, add documentation
[x] Passing Jenkins Build
[x] Peer Code review and approval

There was no suggested time period so I used 7 days.  A side effect of this is everything using django's authorization tokens will be increased to 7 days as well.
I haven't really been able to test this, because it requires 7 days to test, so if another programmer could do a sanity check on this setting, that'd be great.

Build finished.

Build finished.

@sblack-usu @dtarb
This tiny pull request seems like a good candidate to try out our post 1.15 approval process. As such, we're looking for 4 things:

[ ] Positive Test Case Written by Dev
[ ] Automated Testing
[ ] If documentation is required, add documentation
[ ] Passing Jenkins Build
[ ] Peer Code review and approval

@sblack-usu please write a positive test case detailing how to functionally review and validate these changes. I guess in this case it's some version of "request a password and try it after 7 days"
Is there a way to test this in an automated fashion? Do tests already exist? Do they need to be updated? etc...
The only doc updates I would say are to update code level comments, which you did, and then to look over help.hydroshare.org to see if there's any places where we mention this expiry, and request @Lizabrazil to update those.

The last two items are good here. I will provide formal approval once 1-3 are dealt with.
Thanks for leading the charge here and helping the team as a whole get a better process down and better code quality as a result.

Also, we should probably do a quick audit of everything using Django's authorization tokens? What are the implications of this for Oauth, login/logout, anything else like this?

Positive Test Case: send group invite to two users.  Accept one of the invites on day 6, and the other on day 8 (just before and after the authorization tokens are set to expire)

@aphelionz - for you second item, I don't see a need to test this in automated fashion.  It's just a change is django settings and an automated test that runs for 7 days is impractical.  The manual test should be sufficient.

@Lizabrazil - I'm not seeing a good place to add this into help.hydroshare.org, and I'm not convinced an update is necessary... this change is fairly transparent to the users unless accepts a group invite after 7 days.  Thoughts?

I spoke with Liza over email and she approved the documentation and requested the notification message to be updated, which I did with the latest commit.  Note, I accidentally committed it to the email subscribe branch, so I cherry-picked it to here.

Build finished.

@sblack-usu merge when ready

So I tried testing this on beta and the invites I had didn't work before the 7 days.  I'm not sure why... maybe beta was reset during the week, I'm really not sure.  I do have a server I can run hydroshare continuously on now, so I'm going to try a test over the weekend on it to see if the group invites last longer than 24 hours with this settings change.


[WIP] Improve type casting

Wait until https://github.com/Dynamoid/Dynamoid/pull/275 is merged
Changes:

Add type casting of scalar types like it's done in Rails
Improve type casting of collection types

Rails type casting:
https://github.com/rails/rails/tree/master/activemodel/test/cases/type
https://github.com/rails/rails/tree/master/activemodel/lib/active_model/type

Coverage increased (+0.07%) to 98.508% when pulling 89b50666064a0d069d4b4caeadbd76c76f303975 on improve-type-casting into 12b874c0d721f5993b0a2f6839dce53efe3c0973 on master.

Coverage increased (+0.07%) to 98.508% when pulling 89b50666064a0d069d4b4caeadbd76c76f303975 on improve-type-casting into 12b874c0d721f5993b0a2f6839dce53efe3c0973 on master.

@andrykonchin Thank you!


refactor modules/base.py to make View behave like Module

In the long term, it would be nice to make View behave more like Module without all of these properties essentially just indexing into View.pointer in some way. Imo most methods should be part of module if possible and only passed through to view, with view only showing what's in scope. While a method in module acts on the entire thing, in view it only acts on whatever is in view. This could be done by having a self.viewed_indexes / self.in_scope attr in Module, that decides what is set, where things are inserted etc. This would get rid of a lot of complexity and duplicate methods. For example would this make many hidden methods, like _record in Module obsolete. Additionally view can just be a property that returns View.nodes.

As suggested in #351

This was adressed with #447


Are there requirements for the input image size?(question)

For the mobile net feature extractor and for using the knn classifier are there any input image requirements?   i.e can provide any aspect ratio and resolution image to the mobile net and the knn classifier?  Or is it required that a 1:1 ratio image is served but no requirement for the resolution size. Or is there a limit to the max resolution as well.

Transferred issue from ml5-library to ml5-website because the question has been answered and now we need to update the documentation.

Transferred issue from ml5-library to ml5-website because the question has been answered and now we need to update the documentation.

Not seeing the answers/response to questions in  https://github.com/ml5js/ml5-website/issues/193#issuecomment-1629994362
"Can you please confirm if the the below statements are true:
Statement: No mater what size and aspect ratio image is inputed to ml5, there is NEVER any image data loss in normalizing and resizing because align_corners is set true?
Result: If above is true then ml5 users don't have to do any image manipulation and can carelessly send any image."
Am I missing something? I'm trying to figure this out for our project.


Add SVG support via resvg

This is still missing text rendering because dealing with fonts is its own problem, but otherwise works well and is enough to pass Sharp tests.
Wanted to submit anyway so that my branch / work isn't lost, but leaving disabled by default because it's both incomplete w/o text, but also because it's a relatively rarely useful feature. More common problem is optimising SVG to SVG, for which people use tools like SVGO, while in libvips SVG can only be rasterised and treated like other raster images.

Nice, still great to have this! Awesome work 👏

Just a heads up - might be better to merge https://github.com/kleisauke/libvips/pull/2 before this one to reduce complexity of patches in this PR.

Great! I was able to support this as a dynamic module and also added some test coverage for this (by porting libvips' SVG tests).
https://github.com/RReverser/wasm-vips/compare/libresvg...kleisauke:wasm-vips:RReverser-libresvg
https://github.com/RReverser/libvips/compare/wasm-vips-resvg...kleisauke:RReverser-wasm-vips-resvg?w=1 (?w=1 to hide those changes in commit https://github.com/kleisauke/libvips/commit/0b75df254a478b29580ce5d92ba2ed272446883e :sweat_smile:)
I could push these commits to the branches associated with this PR and https://github.com/kleisauke/libvips/pull/2, if that looks good to you.
FWIW, I'm planning to upstream the Rust patches introduced in commit https://github.com/kleisauke/wasm-vips/commit/94e67b1617fc096d2a65b64f4243a7b64f5f4559, here is the relevant CI failure which is the reasoning behind these patches:
https://github.com/kleisauke/wasm-vips/actions/runs/3947805916/jobs/6757635992#step:7:225

here is the relevant CI failure which is the reasoning behind these patches:
https://github.com/kleisauke/wasm-vips/actions/runs/3947805916/jobs/6757635992#step:7:225

That error looks odd. Why is a Windows CI task using nightly-x86_64-unknown-linux-gnu toolchain?

Or, I suppose it's actually Wasm / Emscripten build, but then the tripe should still be Emscripten's I think?

... the reason that it only fails on Windows is that Unix-based operating systems do have /dev/urandom available. I suppose this is not a issue if you do not link with -sNODERAWFS or use WasmFS instead.

With this patch:
--- a/build.sh
+++ b/build.sh
@@ -171,6 +171,11 @@ fi
 if [ "$WASM_FS" = "true" ]; then export CFLAGS+=" -DWASMFS"; fi
 if [ "$PIC" = "true" ]; then export CFLAGS+=" -fPIC"; fi

+# Ensure build paths are removed from the resulting binaries
+# https://reproducible-builds.org/docs/build-path/
+export RUSTFLAGS+=" --remap-path-prefix=$(rustc --print sysroot)/= --remap-path-prefix=$DEPS/="
+export CFLAGS+=" -ffile-prefix-map=$DEPS/="
+
 export CXXFLAGS="$CFLAGS"

 export LDFLAGS="$COMMON_FLAGS -L$TARGET/lib -sAUTO_JS_LIBRARIES=0 -sAUTO_NATIVE_LIBRARIES=0"

I now see:
$ grep "/usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu" lib/vips-resvg.wasm || echo "no matches"
no matches

I'll commit that after this PR lands. :)

Commit https://github.com/kleisauke/wasm-vips/commit/54bce444a611966e885b053b90f57598b8af2eb1 fixes the remaining tests. I just opened PR https://github.com/libvips/libvips/pull/3307 for that.

I'm planning to upstream the Rust patches introduced in commit 94e67b1

I just opened draft PR https://github.com/rust-lang/rust/pull/107221 and https://github.com/rust-lang/libc/pull/3087 for this.

I just opened draft PR rust-lang/rust#107221 and rust-lang/libc#3087 for this.

Nice! Out of curiosity, why do you create those PRs as drafts? They look like should be ready for review straight away?

Out of curiosity, why do you create those PRs as drafts? They look like should be ready for review straight away?

The Rust PR depends on the libc PR, so the libc crate needs to be updated first in Rust (i.e. a similar commit as https://github.com/rust-lang/rust/commit/e294640484731dca722f2cc3509a18e8b4a4a20d is needed).
The libc PR was marked as draft because it does not meet this check:

[ ] Edit corresponding file(s) under libc-test/semver when you add/remove item(s)

But perhaps I could add a new libc-test/semver/emscripten.txt file in that PR?

The libc PR was marked as draft because it does not meet this check:

I don't think that's necessary a criteria for draft, it just will be part of review comments? Idk, I just almost never use the draft PR feature so was curious about your usage / rationale.

I don't think that's necessary a criteria for draft, it just will be part of review comments?

Ah, sorry I misread your "review straight away" as "merge straight away".
I usually open pull requests as a draft if I think it's not ready to merge yet, these PRs can be reviewed but not merged as-is (because it is dependent on another PR or still being worked on).
Perhaps I should treat draft PRs as non-reviewable rather than non-mergeable? If so, the draft status of these PRs can be removed.

should treat draft PRs as non-reviewable

Ah that probably is our mismatch - that's how I understood them since they were introduced, yeah, sort of "work in progress, please don't review yet". After all, the button on the draft PRs is called "Ready for review".

I just opened draft PR https://github.com/rust-lang/rust/pull/107221 and https://github.com/rust-lang/libc/pull/3087 for this.

It seems that a release of libc with that PR included is taking longer than expected. I'll merge this as-is after the CI passes (the Rust nightly version is pinned, so I don't expect any build failures).


Initial commit

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[ ] The title of the PR is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[ ] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[ ] If applicable, the PR references the bug/issue that it fixes.
[ ] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[ ] I have read the contribution guidelines.
[ ] My spec meets the review criteria:

[ ] The spec conforms to the Swagger 2.0 specification.
[ ] The spec follows the guidelines described in the Swagger checklist document.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

@veronicagg @salameer @vladbarosan @bsiegel FYI....

@sarangan12 could you change the title to something more meaningful? :)

/ci rescan

Reassigning to @veronicagg

Automation for azure-sdk-for-js


Update extension screenshots

Description
The extension screenshots are out of date and don't show the current version of Outlook Web.

Completed in 69c6e2d926dba067a45b99e4203b57761ab605d4


CTRL-Click not working on require('...') path

VSCode Version: 1.34.0
OS Version: Ubuntu 18.04

Steps to Reproduce:

Create a index.js and a mocks.js files in the same folder
Put the following code in index.js:

require('./mocks.js');

Try to CTRL+Click on the path to enable navigation and witness that it is not possible.

Does this issue occur when all extensions are disabled?: Yes

Moving upstream for Ts team's feedback. Navigating to a required, non-module (no exports) js file seems like it should be supported since node allows this.
Navigating to non-js/ts files may fall under #19018


NullObject now converts to a blank string in all the cases

Previously, the internal NullObject#toString would convert to nil, which is not correct.
Closes #695

@saveriomiroddi this breaks one of the Array's test (which I think needs some rewrite)


[Doc] a hyperlink missing

Fixes # (issue)
Goals :soccer:

Implementation Details :construction:

In Readme.md, the hyperlink is missed for 'Retrieval Models', I changed the right one by my inference.

Testing Details :mag:

Definitely my boo-boo and I appreciate the assist.
/lgtm

Thank you @rhdong !


[FEATURE] Introduce release and copyright information on project

In sphinx the version is the minor version i.e. 12.4 while the release is considered as exact version i.e. 12.4.9-beta or some-such.
Additionally copyright information can be stored project-wide.

I think this PR on it's own is ok, but I'm wondering where it will end, we are adding more properties to the project node, but I think we would need some different way to add this. I know that you will also need other settings so maybe this is the time to try to implement some more generic way to store this.
We should keep it simple for now, what if we would add a key value store on the project to add this kind of settings?

The other settings, those that do not exist in sphinx, we added within our theme extension. For example the edit on github button links etc


Grafana dashboard for capacity in the clusters

Is your feature request related to a problem? Please describe.
Update the current capacity dashboard to include info such as capacity across node groups and create a simpler dashboard for the customer so they can keep track of the usage.
Describe the solution you'd like
A new dashboard in grafana and some alerting rules (up for discussion)
Additional context
Add any other context or screenshots about the feature request here.
Definition of done:
We have a new dashboard to see spare capacity, preferably in node groups.

It would be nice if this would be able to show the overhead on nodes for critical services so we could work around optimising that a bit.

Closing in favor of https://github.com/elastisys/compliantkubernetes-apps/issues/1864


In providers forms, missing explanation for invalid field

Refs:
docs: https://access.redhat.com/documentation/en-us/migration_toolkit_for_virtualization/2.4/html/installing_and_using_the_migration_toolkit_for_virtualization/index
In
create provider form
edit credentials form
we have field validation errors without explanation of what need to be fixed, each error message need to be evaluated with documentation, backend implementatin and validatation code.
a. check validation is correct for this field
b. check validation text is correct for this field
c. add "how to fix" to the text, for exmple "Invalid domain name." if should be "Invalid OpenStack domain name, spaces are not allowed, check that the domain name does not include spaces."
contact Richard from the doc team for specific text where needed.
Screenshot:

doc team contact: @RichardHoch

cc:// @RichardHoch @anarnold97

changing from bug to feature, to indicate it is not a bug

@sgratch hi
when fixing the help texts:
a. please note item c in this issue:

c. add "how to fix" to the text, for exmple "Invalid domain name." if should be "Invalid OpenStack domain name, spaces are not allowed, check that the domain name does not include spaces."

b. please follow PF4 suggestion on how to write help texts:

Make your error messages brief yet descriptive. A useful pattern to follow is Description, Reason, and Resolution:

see: https://www.patternfly.org/ux-writing/error-messages for more information
for example, when we describe what is wrong with a "name" input, we should be brief, we should not try to write the complete definition of RFC 1123 but we can say the name should be valid k8s name, ask the user to verify, and if possible give them a link for our or k8s documentation.
for example if the name is invalid (not if it's not uniqe) a posible help text can be:

Invalid name, the name does not follow Kubernetes guidelines, check that it only contains lowercase alphanumeric characters, '-' or '.', Lean more {=> link to docs}.

Note: in some future we can make the help text specific for the error, for example if an input include space when it should not, we can change the "What happen" and "How to solve" to "the X include space, remove the spaces and try again"

a. check validation is correct for this field

submitted and merged upstream: https://github.com/kubev2v/forklift-console-plugin/issues/712

update help message for oVirt URL:
submitted upstream: https://github.com/kubev2v/forklift-console-plugin/pull/732

update help message for vSphere URL:
submitted upstream: https://github.com/kubev2v/forklift-console-plugin/pull/736

https://github.com/kubev2v/forklift-console-plugin/pull/756 - fix msg in VDDK input

:birthday: :balloon:


reproject(): Handle dst_bounds correctly when dst_res provided.

Fixes #40 .
Previously, this was erroneously being handed off to crop().
Now, if dst_bounds and dst_res provided, then the new raster size is calculated in-method, ensuring that pixel size remains fixed to dst_res. This means that dst_bounds will be adjusted (increased slightly) if it was not already divisible into the requested pixel size.

Simple test case:

from geoutils import georaster
from importlib import reload
reload(georaster)
import rasterio as rio
im = georaster.Raster('LE71400412000304SGS00_B4_crop.TIF')
bounds = im.get_bounds_projected(rio.crs.CRS.from_epsg(3413))
bounds = rio.coords.BoundingBox(*bounds)
print(bounds)
print(im.reproject(3413, dst_res=100, dst_bounds=bounds))

## -- End pasted text --
BoundingBox(left=5510702.761523411, bottom=4941880.140352617, right=5551144.631103698, top=4982754.361011264)

Driver:               GTiff
File on disk:         None
RIO MemoryFile:       /vsimem/9004b163-4c89-4967-abee-644f5e5ae87e/9004b163-4c89-4967-abee-644f5e5ae87e.tif
Matches file on disk? True
Size:                 405, 409
Coordinate System:    EPSG:3413
NoData Value:         None
Pixel Size:           100.0, 100.0
Upper Left Corner:    5510702.761523411, 4941854.361011264
Lower Right Corner:   5551202.761523411, 4982754.361011264


Downloads: Black bar

On the download page with one downloaded video course I see a huge black bar
Steps to reproduce
Download one video course
Go to downloads tab
Expected behavior
No black bar visible
Actual behavior

Environment

iOS Version: 14
raywenderlich.com App Version: 1.0.5
Device: iPhone 11

Closed in #514


Fix a miscommit

The last mistaken submission caused performance degradation and slow log printing.
What type of PR is this?
/kind bug

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Multiple interactions take up a lot of performance, resulting in slow pod management, which may take more than ten seconds to respond.

not needed anymore