Updating Product Ads to version 3

New endpoints for product ads, check : ad_api/api/sp/product_ads_v3.py

adding the new endpoints to product_ads_v3.py
adding the @Utils.deprecated to v2 of product ads
changes to the docs

Great job @HamzaChx

Great!

I will push some changes in the rst documents:
/Users/hanuman/Documents/PycharmProjects/python-amazon-ad-api-dev/source/sp/product_ads_v3.rst:2: WARNING: Title underline too short.
Product Ads
WARNING: autodoc: failed to import function 'ProductAdsV3.create_campaigns' from module 'ad_api.api.sp'; the following exception was raised:
No module named 'ad_api.api.sp.ProductAdsV3'
WARNING: autodoc: failed to import function 'ProductAdsV3.edit_campaigns' from module 'ad_api.api.sp'; the following exception was raised:
No module named 'ad_api.api.sp.ProductAdsV3'
WARNING: autodoc: failed to import function 'ProductAdsV3.list_campaigns' from module 'ad_api.api.sp'; the following exception was raised:
No module named 'ad_api.api.sp.ProductAdsV3'
WARNING: autodoc: failed to import function 'ProductAdsV3.delete_campaigns' from module 'ad_api.api.sp'; the following exception was raised:
No module named ‘ad_api.api.sp.ProductAdsV3'
The methods was wrong as belongs to the Campaign endpoint, need to be updated to the specific method of the current endpoint
Also will push the updated init.py that allows to path the new endpoints
from .campaigns import Campaigns
from .campaigns_v3 import CampaignsV3
from .ad_groups import AdGroups
from .ad_groups_v3 import AdGroupsV3
from .product_ads import ProductAds
from .product_ads_v3 import ProductAdsV3
from .bid_recommendations import BidRecommendations
from .keywords import Keywords
from .negative_keywords import NegativeKeywords
from .campaign_negative_keywords import CampaignNegativeKeywords
from .suggested_keywords import SuggestedKeywords
from .product_targeting import Targets
from .negative_product_targeting import NegativeTargets
from .reports import Reports
from .snapshots import Snapshots
from .budget_rules import BudgetRules
from .campaings_optimization import CampaignOptimization
from .ranked_keywords_recommendations import RankedKeywordsRecommendations
from .budget_recommendations import BudgetRecommendations
from .budget_rules_recommendations import BudgetRulesRecommendations
from .product_recommendations import ProductRecommendations
all = [
"Campaigns",
"CampaignsV3",
"AdGroups",
"AdGroupsV3"
"ProductAds",
"ProductAdsV3"
"BidRecommendations",
"Keywords",
"NegativeKeywords",
"CampaignNegativeKeywords",
"SuggestedKeywords",
"Targets",
"NegativeTargets",
"Reports",
"Snapshots",
"BudgetRules",
"CampaignOptimization",
"RankedKeywordsRecommendations",
"BudgetRecommendations",
"BudgetRulesRecommendations",
"ProductRecommendations"
]
You can pull it later in a while.

El 3 abr 2023, a las 23:17, Hamza @.***> escribió:
Great!
—
Reply to this email directly, view it on GitHub https://github.com/denisneuf/python-amazon-ad-api/pull/132#issuecomment-1494520137, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD4ENUXVGRFIFUDNVTQITTLW7LSY7ANCNFSM6AAAAAAWROGFYA.
You are receiving this because you modified the open/close state.


nginx log date not support

<IP_ADDRESS> - - [20/Feb/2018:12:12:14 +0800] "GET / HTTP/1.1" 200 190 "-" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Mobile Safari/537.36" "-"

thank you for the report, think this is good now!  re #120


chore: add a make use-cockroach task

that changes the kind deployment to use cockroachdb.
The apiserver still needs some work to actually make it work.  But at least this gives developers a way to easily start testing against cockroach.

I pushed changes to your branch for the lint job issue and for my trivial review comments.

Another small nit, but it would be good to add this new overlay to github actions so it gets linted.
Do do that you'll need to run this script against a kube cluster with the cockroack operator installed and copy the CRD from ~/.datree/crdSchemas to ./deploy/.crdSchemas so we can validate the  YAML against the CRD

@chirino fyi, Dave moved the kind.sh to the Makefile earlier today

current status of the e2e tests when running with cockroach db are:
--- FAIL: TestApexIntegrationSuite (111.50s)
    --- FAIL: TestApexIntegrationSuite/TestApexCtl (60.74s)
    --- FAIL: TestApexIntegrationSuite/TestBasicConnectivity (7.25s)
    --- PASS: TestApexIntegrationSuite/TestChildPrefix (8.35s)
    --- FAIL: TestApexIntegrationSuite/TestHubZone (13.43s)
    --- SKIP: TestApexIntegrationSuite/TestRelayNAT (0.00s)
    --- PASS: TestApexIntegrationSuite/TestRequestIPDefaultZone (5.44s)
    --- PASS: TestApexIntegrationSuite/TestRequestIPZone (16.30s)

@chirino fyi, Dave moved the kind.sh to the Makefile earlier today

just noticed.. rebased into the makefile.

@chirino looks like this needs another rebase
@dave-tucker I'm assuming you're doing the reviews on this btw

I'm assuming you're doing the reviews on this btw

I am not.
But I think to move this forward we should limit the changes in this PR to only the Makefile + adding an "overlay" for cockroachdb.
We can then properly review any code-changes required i.e the introduction of transaction.go and enabling of debug mode for the database, which are a little more contentious. By which I mean it would be good do document the "why" in the git history since we don't forget.

I'll split it up in a bit.

@dave-tucker just applied your suggestions and rebased.

LGTM


Feature Request: absolutely minimal support for -pp

I understand all the problems that merlin solves and the reason why it is so impressive and important is that it works like a professional grade IDE, telling you a ton of information about your code while it is in an invalid state. However, I was wondering if you could add very minimal support for -pp extensions. Here is a list of things that would be better than nothing in increasing order of difficulty.

Ability to pass 100% valid files to merlin, with -pp flag. Once you make the parse invalid (if your -pp program cannot parse it), then you cannot sync the buffers.
Highlighting type errors on valid parses (with -pp), but only highlighting the parse (with -pp) errors when the syntax is invalid.
Ability to do :Locate on files that are invalid OCaml parses but valid once ran through the -pp processor.
Ability to do :Locate on files that are invalid parses even with -pp, but whos buffers were synced when they were recently last valid. It is acceptable if the information is somewhat stale.
Ability to have very rudimentary autocomplete on files that are not valid OCaml parses, not valid even with -pp, but were recently synced when they were last valid. (In this case, the autocomplete would be more like common ctags solutions). (The same would apply to TypeOf I imagine).

With even just a couple of these, it would then at least be pleasant to navigate/Locate code that depends on -pp.

I don't understand.

I created this issue to request minimal support for running ocaml -pp preprocessors. The bullet points just enumerate a couple of ideas - some of which seem very easy to implement but at least provide some basic support for viewing errors/TypeOf/Locate etc.
For example, suppose you were using whitequark's m17n preprocessor with the -pp flag (or any other basic preprocessor). If some of the bullet points were implemented, you'd at least be able to view the code in Vim and perform some basic merlin features on it.

My bad, I read -ppx instead of -pp.

Do you have any suggestions about how this could be done entirely at the Vim/Emacd plugin level before ever getting proper support from the merlin service?

Would the easiest way to add a tiny amount of support be to allow the merlin process to optionally accept a binary serialized AST (which I'm sure you're well aware happens here in driver.ml of the standard OCaml compiler: https://github.com/ocaml/ocaml/blob/trunk/driver/pparse.ml#L143).

I am considering adding a better support for non-ocaml lexers, mainly cppo-like, mly or mll (those would also come with specific parsing rules). What are the use cases you are thinking of with your pp ?
One problem with the interface you suggest is that merlin never has complete knowledge of a file: the editor just sends the bit that are relevant for the query, nothing if the file is in sync.
If you want to pp the file, I guess merlin would be responsible for caching the whole file, and calling the pp.
The binary serialized AST is indeed an option, but then it gets messy at a different level, since the editor is now responsible for the pipeline.

I'm have a mode of syntax that allows two people to collaborate on the same file, each viewing the file in their own customized syntax, without the other party being aware that the other has a different syntax than they do. A third person, who prefers the stock OCaml syntax will simply see stock OCaml syntax, without being aware of the fact that the other two are writing in a wildly different syntax.
This entire toolchain builds on the idea of "AST deterministic formatters", meaning that for any (syntax definition, AST parse) there is exactly one valid pretty printing. AST deterministic formatters essentially become lossy (but not too lossy) AST serializers - which unlocks the power for two people to be collaborating on a single file, with their own "view" of it existing solely in their editor.
To integrate with merlin, this means that whenever their custom parser can validly parse their file into a stock OCaml AST, that AST can then be sent to merlin.
Given that, what's the easiest way to integrate with merlin? Should merlin (the Vim/Sublime plugin) allow a custom defined preprocessing hook that first tries to parse into a standard OCaml binary AST format? That would work for me.


Support Athena

Getting setup with ElasticSearch and loading all logs into it, especially if using hindsight which has a complicated install process, is a big hurdle for anyone wanting to use this project. Additionally, it can create large delays, as loading logs into ES happens at about 100K/minute, in addition to downloading from S3 and normalizing via jq, so a year of logs for an account is likely to take > 8 hours.
Athena would be much faster and easier.

Initial support added in https://github.com/duo-labs/cloudtracker/pull/18


docs: add Cape Crypto to users list

Add Cape Crypto to users list
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

Codecov Report

Merging #12816 (903393b) into master (47edced) will decrease coverage by 1.49%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12816      +/-   ##
==========================================
- Coverage   64.89%   63.39%   -1.50%
==========================================
  Files        1022      488     -534
  Lines       50101    30140   -19961
  Branches     5191        0    -5191
==========================================
- Hits        32514    19108   -13406
+ Misses      17412    11032    -6380
+ Partials      175        0     -175

Flag
Coverage Δ

cypress
?

javascript
?

python
63.39% <ø> (-0.47%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/databases/commands/create.py
83.67% <0.00%> (-8.17%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/connectors/sqla/models.py
84.31% <0.00%> (-6.28%)
:arrow_down:

superset/db_engine_specs/sqlite.py
90.62% <0.00%> (-6.25%)
:arrow_down:

superset/databases/commands/test_connection.py
84.78% <0.00%> (-4.35%)
:arrow_down:

superset/utils/celery.py
96.42% <0.00%> (-3.58%)
:arrow_down:

superset/models/core.py
85.59% <0.00%> (-2.99%)
:arrow_down:

superset/databases/api.py
89.49% <0.00%> (-2.53%)
:arrow_down:

superset/views/core.py
72.97% <0.00%> (-2.45%)
:arrow_down:

... and 544 more

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 47edced...903393b. Read the comment docs.

Codecov Report

Merging #12816 (903393b) into master (47edced) will decrease coverage by 1.49%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12816      +/-   ##
==========================================
- Coverage   64.89%   63.39%   -1.50%
==========================================
  Files        1022      488     -534
  Lines       50101    30140   -19961
  Branches     5191        0    -5191
==========================================
- Hits        32514    19108   -13406
+ Misses      17412    11032    -6380
+ Partials      175        0     -175

Flag
Coverage Δ

cypress
?

javascript
?

python
63.39% <ø> (-0.47%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/databases/commands/create.py
83.67% <0.00%> (-8.17%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/connectors/sqla/models.py
84.31% <0.00%> (-6.28%)
:arrow_down:

superset/db_engine_specs/sqlite.py
90.62% <0.00%> (-6.25%)
:arrow_down:

superset/databases/commands/test_connection.py
84.78% <0.00%> (-4.35%)
:arrow_down:

superset/utils/celery.py
96.42% <0.00%> (-3.58%)
:arrow_down:

superset/models/core.py
85.59% <0.00%> (-2.99%)
:arrow_down:

superset/databases/api.py
89.49% <0.00%> (-2.53%)
:arrow_down:

superset/views/core.py
72.97% <0.00%> (-2.45%)
:arrow_down:

... and 544 more

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 47edced...903393b. Read the comment docs.


Linux support

Resolves #3.
Note that this is pretty unusable just now because without capability to define an icon you end with an ugly:

Anyway, I can implement it #9.

Did you mean to commit a linux.rs file?

Whoops, sorry


Better place to call set_ime_allowed

Closes #2614
Closes #3057.

Allow IME if PlatformOutput::text_cursor_pos is Some.

Hopefully this is a better approach than #3313.

I've tested it on a PinePhone Pro.
It seems to be a bit expensive to call Window::set_ime_allowed, so I added some code to only call it when the state of text_cursor_pos changes.

On Phosh, the keyboard pops up when a text widget is focused and it's hidden when the text widget looses focus.


can't show google maps on iOS

I couldn't display google maps on iOS, only can show apple map even though I add some codes to ios/YOUR_PROJECT_NAME/AppDelegate.m according to installation guide below.
+ @import GoogleMaps; //add this line if you want to use Google Maps

@implementation AppDelegate
...

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
+  [GMSServices provideAPIKey:@"_YOUR_API_KEY_"]; // add this line using the api key obtained from Google Console
...

↑I put my google api key instead of "YOUR_API_KEY"
https://github.com/react-community/react-native-maps/blob/master/docs/installation.md
Did someone have same problem?

You probably haven't specified Google maps as the provider.
import MapView, { PROVIDER_GOOGLE } from 'react-native-maps'
<MapView provider={PROVIDER_GOOGLE}>
The docs aren't very clear on this, I had trouble with it myself until I read down to Customizing the map style

Thank you for your comment. I resolved it.

I'm closing this issue because I found out the way to display google maps.

Please add @declandowling 's comment to Enabling Google Maps section of the documentation!
It took me a few hours to find this!!


Light reflections from transparent blocks are ignored.

The light ray tracer currently has a structure like
if hit block has a fully opaque face {
    // use light from before the hit block, multiplied by face reflectance
} else {
    // use light occupying the hit block
}

This ignores reflection from the face when the block is transparent. Instead, we should do both simultaneously, weighting the contributions appropriately by the face alpha. The tricky part is doing this without significantly decreasing performance; so far my best attempt still adds +30% time to lighting_bench.

Fixed in 14533265b49dbd4c1116631b1fc374480acb7b3b. I didn't find any substantial improvements to this specific part of the algorithm, but I did spend some time optimizing other aspects first.
Something that belatedly occurred to me is that lighting_bench doesn't just measure lighting calculation throughput: it measures the total time to quiescence, which will be longer when we take more blocks into account. So that 30% number isn't necessarily as bad as it sounds.


[Datepicker] Allowed to select dates which are disabled using shouldDisableDate prop

A user is allowed to select a date which should actually disabled when using the arrow keys in the datepicker. Below I have provided a screenshot of the bug: only 5/12 March are selectable however when moving around with the arrow keys I can also select dates which are disabled (e.g. March 9).

@mbrookes : Was this issue fixed by you? If yes we can close this.

@tintin1343 - no, we need to revisit this one.

@aahan96 : Did you fix this or are you still working on it?

@tintin1343 - Yes, I am working on it!

Closing for #4787


Update dependency seneca-crypto-sign to 0.1.2

And bump & release  0.2.17 afterwards. Thanks!

Right. I forgot that this is strictly for node >=0.12, therefore is normal to fail on v0.11. Would you consider another version minor: 0.3 for the release?

@razvanz version bump plz for making my life easier.
Also please ping me on nearform mail or slack for private conv.

What is your nearform mail? Or should I send to the public one (ireland@nearform.com)?

nicolas.herment at nearform d0t c0m

Not relevant for 0.2-dev.


Create groups from Canvas groups

We currently create groups from enrollments, but Canvas also has groups of its own. It would be useful for the hub to be aware of course groups so that it can dynamically provision resources based on them.

Fixed by #2.


ML - Bug fixing

Fixed an issue with when model has parameter with invalid type which is not supported in SQL. We remove the parameter for now since the engine only breaks if it's included.
Fixed a bug when model input parameter type is varchar. Now getting the length from database column or default to 100
Fixed a bug in predict wizard when model was loaded even before table is selected

Pull Request Test Coverage Report for Build 320683846

19 of 26 (73.08%)  changed or added relevant lines in 5 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.01%) to 39.619%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

extensions/machine-learning/src/views/models/prediction/columnsTable.ts
4
7
57.14%

extensions/machine-learning/src/controllers/mainController.ts
5
9
55.56%

Files with Coverage Reduction
New Missed Lines
%

extensions/machine-learning/src/views/models/modelManagementController.ts
3
41.2%

Totals

Change from base Build 320410870:
0.01%

Covered Lines:
20479

Relevant Lines:
47395

💛  - Coveralls


Invalid object name upon inserting value into temp table in mssql

Hi, i am using mssql and encountering this error upon inserting value into the temp table.
I am using the camel case plugin as well.
RequestError: Invalid object name '#_temp'.
playground

Works as expected. The table name is converted from camelCase to snake_case.

Yes it converts the name but how do i deal with the error?

The error is caused by the invalid name that you specifically asked Kysely to use. Don't use the invalid name. See the docs here on how to implement custom snake_case --> camelCase and camelCase --> snake_case conversions https://kysely-org.github.io/kysely-apidoc/classes/CamelCasePlugin.html

Is there something that applies only to one query and not to all?


The issue regarding generating abnormal masks.

lowlight image:
after gdp:

mask:

Your work is great and very inspiring to me, but I have a question. When I input images with uneven lighting, why does it generate such masks? This leads to directly overwriting the generated images. Is there any way to avoid this? Thank you for your help!

Thanks for asking. Have you changed the size of mask?
https://github.com/Fayeben/GenerativeDiffusionPrior/blob/2dcd3c6f5b43c3dd20095611530be8ac21b07656/scripts/sample_x0_enhancement_low_light.py#L173

Yes, I have adjusted the two code segments according to the resolution of the corresponding dataset by changing 400, 600 to 720, 1080. It is worth noting that in this dataset, some images may be partially masked by square blocks.

Could you share this dataset with me? I want to have a try and find out where is the problem.

Thank you for your patient help. The dataset can be found at https://flyywh.github.io/CVPRW2019LowLight/. I chose 5801-6000 in the train folder as the npz file. I only had time to enhance 4 images, and 5801 and 5803 had this issue.

@andytoo952 I have the same question, did you solve it ? I only output and saved 2 samples

Hi, all! Thanks for raising this point. And I am sorry for the late reply.
Due to the domain gap between LOL and DarkFace, the guidance scale we set for LOL seems a little bit larger for DarkFace. You can change this line and decrease the guidance scale to remove the abnormal mask. We set the guidance scale as 4e5 works well in our experiments.
https://github.com/Fayeben/GenerativeDiffusionPrior/blob/116b875db9b4b6c3bcc8adcfc7dbaedb607e1edb/scripts/sample_x0_enhancement_low_light.py#L259
However, it seems DarkFace is still challenging and we also can not effectively enhance this dataset. I am trying to add L_exp to adjust the lightness. If I have some results, I will update them with you.
https://github.com/Fayeben/GenerativeDiffusionPrior/blob/116b875db9b4b6c3bcc8adcfc7dbaedb607e1edb/scripts/sample_x0_enhancement_low_light.py#L109

Since there are no more questions, I'll mark it closed. If you still have some questions, please feel free to ask. Thanks!


[Question] - Where is the ego_vehicle frame attached to?

Dear ros-bridge team,
I could not find in the documentation where is the ego_vehicle frame attached. Is it fixed to the vehicle center-of-mass or is it in the geometric center of it?
Thank you so much for your help.
Best,
Bruno

@bernatx could you have a look at this please?


ACL for Storefront users - like Symfony security bundle with voters, roles etc.

Description
It would be nice if the storefront users could have advanced permissions which is easily possible using the symfony security bundle but seems way more complicated with your setup for Storefront users - even roles are missing.
Most cases not necessary but for advanced custom features this would be a nice feature to have.

there is an enterprise extension for different roles of customer accounts: https://enterprise.shopware.com/en/b2b-commerce/
so this will not be part of the core, but is part of the enterprise version

@mitelg That is only the case for B2B customers. what about private customers?

as you already stated by yourself, this is a very custom scenario. so in my opinion nothing that has to be available in a standard software solution.
If the enterprise version does not match for a project, this needs be implemented with a custom functionality/plugin.

I don't know the enterprise extension in detail, but I guess I could use this role management for all customers

@mitelg Roles are only available for B2B customers and even then only for the contacts the create. it has no impact on private customers at all as the B2B has a completely different interface.
futhermore, the b2b plugin does not support headless at all, so it cannot be used here either.

okay, that could be :blush: as I said before, I don't know the enterprise extensions in detail. I thought this would be possible.
But nevertheless this will not change the decision that your feature request will not be part of the core, as this is a too specific feature for only few merchants.
to be honest this is the first time I face someone requesting roles for "normal" private customers :blush:
maybe different customer groups could already do the trick?

It might not be needed very often but if you have a system in place in the core, it would be usable for B2B etc. and Symfony security would provide everything you need and it could also be used for api validation in the admin etc. but it would probably require a lot of rework.

that's right :+1:
if I remember correctly we even evaluated to use the security component for customers in the beginning. But unfortunately I can't remember why we decided not to use it :slightly_frowning_face:


prevent dismiss

How to prevent dismiss when at onPositive ? because i need to not close the dialog everytime click the onpositive

Hello @IanLaFlair thanks for you issue.
I added shoulIDismissOnClick in methods onPositive and onNegative with default value is true, just call it in your BeautifulDialog as in the code below:
.onPositive(text = "Confirm", shouldIDismissOnClick = false) { //your action here
}
.onNegative(text = "Cancel", shouldIDismissOnClick = true) {  //your action here
}

For this to work update to version 1.0.3


Missing field in the Trait measurement score (v20140515) extension

Hi, I noticed an issue with the Trait measurement score (v20140515) extension on the IPT: when it is installed, I cannot find the "measurementMethod" term after selecting it in the mapping section of a resource page, whereas it is listed as a term from this extension in this extension's page in the Administration tab (see attached file)
Thanks for your help :)

@SophiePamerlon Thank you for contacting us
Yes, I've just tested, and it's not present indeed. I'll figure out why.


Wrong MCL set_animation function

The MCL function to set the player animation is player_set_animation, the following two line cause the mod to crash.
https://github.com/ElCeejo/animalia/blob/21ad5faf7dfa7cd1cf64eadd8df6e6137695cf0f/api/api.lua#L112
https://github.com/ElCeejo/animalia/blob/21ad5faf7dfa7cd1cf64eadd8df6e6137695cf0f/api/behaviors.lua#L76
I will make a PR for this

Fixed in latest update.


fix: :wrench: Change cdc url due to cdn url change for preprod env

Questions
Answers

Branch?
4.2.x

Description?
Following changes in the google cloud config, do not use the latest/ sub-folder to retrieve the source code of the cdc but the v1/ sub-folder. latest/ is destined to disappear

Type?
fix on preprod deployement

pourquoi il y a autant de commits sur la PR ?

@julienr114 you can update the prod entry with the v1 ?


Error when using install ffcv using guidance command.

Hi, I am trying to install ffcv on my server.
Here are the server settings.
Platform:amd-linux
GPU: 1*RTX02080Ti

When I use the default code to create the environment, and set up the environment, I could not move data to gpu and an error occurred.
Here is the error:
Torch not compiled with CUDA enabled

I have installed GPU driver on my server. Could you please tell me why this happens?

Same issue here, torch.cuda.is_available() will return False in the conda env where I installed ffcv, while I can use GPU normally in any other environment.
My conda env was created following the instructions as
conda create -y -n ffcv python=3.9 cupy pkg-config compilers libjpeg-turbo opencv pytorch torchvision cudatoolkit=11.3 numba -c pytorch -c conda-forge. Then I installed ffcv with pip install ffcv.

Hi! What versions of CUDA do you have installed? And what does torch.__version__ return?

Hi @andrewilyas,
I was having the same problem.
torch.__version__ returns 1.13.1.
Would you recommend installing torch 1.10 instead (this was a previous configuration for which ffcv worked for me)
Thanks in advance!

I had the same issue creating the conda env using the instructions. This env seems to work for me conda create -y -n ffcv python=3.9 cupy pkg-config compilers libjpeg-turbo opencv pytorch torchvision torchaudio pytorch-cuda=11.7 numba -c pytorch -c conda-forge -c nvidia

Thanks for the update @dngfra, it seems that the issue was a mismatch between pytorch and cuda versions.


Added DataConnector (alcide_kaudit.json) and Alcide logo

Fixes #
Proposed Changes

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


How to float custom element notifications?

Hi,
It seems that when you do a global notification it floats over other elements, but when you try to bind it to a custom element it gets appended there and pushes things around. Is there a way to make those notifications float as well?
Thanks

Encountered this as well. Really wish custom containers acted the same way as global Notys do.


obsolete

it seems the whole procedure is obsolete, or you are using outdate versions of firefox/chrome.
the instructions to import from chrome to firefox are invalid.
INFO: Login Data found on here: /home/user/.config/google-chrome/Default [l.147]
Do you want to extract passwords from this file ?:  [y/N]: y
INFO: Try to connect to /home/user/.config/google-chrome/Default/Login Data database [l.166]
INFO: Connected successfully to database, 803 passwords found [l.171]
INFO: Decryption key found in secretstorage under: Chromium Safe Storage [l.49]
Do you want to use this key to decrypt your passwords ?:  [y/N]:
then a heck of messages on 99% of the sites:
...
...
ERROR: with data for [https://xxxxxxxxxxxxxxxx/]: 'utf-8' codec can't decode byte 0xe1 in position 0: invalid continuation byte [l.205]
....
cheers

update:  I used an older version of chrome and now works! weird...


update bytebuddy to 1.10.20

What does this PR do?
Does what the title says
Fixes #1606
Checklist

[x] This is something else

[ ] I have updated CHANGELOG.asciidoc

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Build Cause: Pull request #1649 opened

Start Time: 2021-02-04T13:37:24.888+0000

Duration: 51 min 6 sec

Commit: 7edb2838bdce18f7a6a02f60f8b0f41cdf117e8d

Test stats :test_tube:

Test
Results

Failed
0

Passed
1697

Skipped
12

Total
1709

:green_heart: Flaky test report
Tests succeeded.

Expand to view the summary

Test stats :test_tube:

Test
Results

Failed
0

Passed
1697

Skipped
12

Total
1709


Rewrite file encryption helper

Rewrite the file encryption helper function as a generator with yield instead which would remove the need for a callback on successful chunks. Also rewrite with larger block support, like the Go implementation generate as large of a key stream that's necessary, then XOR instead of doing it block by block. Still make sure that it has to be on a block basis, that is, increasing the counter by 1 for each 64 bytes. Should reduce call stack, memory allocations (count, not size).

Superseeded by #12. Closing.


Show disk space per entity as second column in navigation tree

Like in HeidiSQL it would be great to so which entity (table, materialized view, index) consumes how much disk space.
Suggestion: A second column in Database Navigator or Projects view to show the size of the entity

You can see this information in schema editor. Double-click on "Tables" element: there are row count and data length columns.

However, maybe it'll make sense to add configurable set of columns in database navigator view as well..

@serge-rider I agree, to let the user configure columns in the navigator seems to be a bigger thing but  opens a lot of other opportunities, like owner or description (if the DB supports to comment on entities, afaik Postgres does https://www.postgresql.org/docs/current/static/sql-comment.html)
BTW, I found the row count in the schema editor. but there is no data length column. I also checkt in column configuration.

In regards to tale properties:

You can configure visible columns (right click on header->Cofigure columns).
To see actual row count enable Preferences->Database->Metadata->"Read expensive properties" option

Probably we need separate feature request for db navigator columns configuration.

To see actual row count enable Preferences->Database->Metadata->"Read expensive properties" option

Thank you, that's what I missed ;) Now disk space is shown.

Probably we need separate feature request for db navigator columns configuration.
Yes, I will create a new feature request to collect some ideas.


Using ByteSliceMode (unreleased new feature) can encode malformed data

ByteSliceMode is a new feature planned for v2.7.0 (not yet released) and was added by:

#476

Unfortunately, using the non-default encoding setting for ByteSliceMode can produce malformed data in some edge cases.
This problem was discovered by fuzzing.
Reproducer
Steps:

Create an encoding mode with ByteSliceMode set to any non-default option
Encode cbor.Tag with tag content of []byte type

func main() {
	data := []byte{
		0xc2, 0x49, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	} // 2(h'010000000000000000')

	var v1 cbor.Tag
	err := cbor.Unmarshal(data, &v1)
	if err != nil {
		fmt.Printf("failed to unmarshal %x cbor.Tag: %s\n", data, err)
		return
	}

	em, _ := cbor.EncOptions{
		ByteSlice: cbor.ByteSliceToByteStringWithExpectedConversionToBase64URL,
	}.EncMode()
	b, err := em.Marshal(v1)
	if err != nil {
		fmt.Printf("failed to marshal: %s\n", err)
		return
	}

	var v2 interface{}
	err = cbor.Unmarshal(b, &v2)
	if err != nil {
		fmt.Printf("failed to unmarshal %x to interface{}: %s\n", b, err)
	}

	// Output:
	// failed to unmarshal c2d549010000000000000000 to interface{}: cbor: tag number 2 or 3 must be followed by byte string, got tag
}

Expected: The code snippet should produce well-formed CBOR data 2(h'010000000000000000').
Got: The code snippet produces malformed CBOR data 2(21(h'010000000000000000')).
cc: @benluddy

That's unfortunate. This is a validity error, but the output is not malformed, correct?
Marshaling a cbor.Tag can't guarantee that it produces valid output in general, especially when it comes to tag content type validity errors. You can of course produce invalid output by calling something like Marshal(Tag{Number: 0, Content: int64(52)}), or by doing a similar roundtrip with an unrecognized tag. For example, using BigIntConvertNone, the decimal fraction 0xc4823bffffffffffffffff00 (4([-18446744073709551616, 0])) roundtrips to 0xc482c348ffffffffffffffff00 (4([3(h'ffffffffffffffffff'), 0])), which is invalid (the exponent must have either type 0 or 1).
It's not clear to me what should be done about this.
I think it makes sense to check tag validity on the output of encodeTag for the built-in tag numbers before returning. If Marshal returns a nil error, the output should always be well-formed, and it shouldn't have any known validity errors by default.
Roundtripping an enclosed data item through interface{} and back without considering the tag number will never be completely safe, but I can imagine an argument to at least decouple cbor.Tag from the options that control encode/decode to/from interface{} (as in https://github.com/fxamacker/cbor/pull/503). WDYT?

@benluddy

That's unfortunate. This is a validity error, but the output is not malformed, correct?

Yes, it is a validity error.

Roundtripping an enclosed data item through interface{} and back without considering the tag number will never be completely safe, but I can imagine an argument to at least decouple cbor.Tag from the options that control encode/decode to/from interface{} (as in https://github.com/fxamacker/cbor/pull/503). WDYT?

I think decoupling cbor.Tag from encoding options makes sense since cbor.Tag is designed to represent CBOR tag as is.  However, I need to double check already released (v2.6.0) encoding options in case this is a breaking change.

Yes, I expect it would be a breaking change since we can come up with a value of Content for most of the encode options whose output depends on the option.
Now that I've had time to consider this more, I want to implement a fix. I also want to make sure that I'm addressing the right issue, so please let me try to break down my understanding of the problem:

Marshaling an arbitrary cbor.Tag is today already not guaranteed to produce valid CBOR, even for recognized tag numbers (e.g. https://go.dev/play/p/shjm6tv09hi or https://go.dev/play/p/gXPumodsVDb). I think it would be responsible to check for and return any tag validity errors for tag numbers with built-in support. Doing this would be backwards-incompatible, though, and I don't think breaking that by default is as clear-cut as https://github.com/fxamacker/cbor/issues/482 since the output is still well-formed.

For unrecognized tag numbers, the library does not have enough information to detect tag validity errors. The application ultimately has to be responsible for validity errors in any special Tag values it directly creates and marshals.

Users can unmarshal into cbor.Tag, or by default get a cbor.Tag when unmarshaling unrecognized tags into interface{}. When this happens, the tag number is extracted and the enclosed data item is unmarshaled into interface{}, independent of the enclosing tag, and subject to any decode options that affect decoding into interface{}. Unlike cbor.RawTag, the original encoded form from the input is not preserved. You may end up with (for example) a Go value of type int64, uint64, or math/big.Int after decoding a data item with major type 0 depending on the value and the decode options in effect.

Because information about the original encoding is lost on unmarshal, and because the marshaling of the tag content value depends on encode options, roundtripping CBOR to Tag and back can result in a different sequence of bytes.

Given all this, I don't think that the requirement is that cbor.Tag must never marshal a data item with validity errors. And since it's already possible to do the same thing without the new option (as in https://go.dev/play/p/ZuLgThz5c3U), I think what makes this problematic parts is that the invalid output can be produced by a CBOR-to-Tag-to-CBOR roundtrip and that it affects a built-in tag number.
To address the immediate issue, I propose special-casing this in encodeTag (and maintaining similar special cases as necessary to make Tag marshaling "do the right thing" for the built-in tags). I hope that in the longer term, progress on topics like https://github.com/fxamacker/cbor/issues/507 will reach the point where user-registered types and "built-ins" can be configured using the same mechanisms, and that that will reduce the need for special cases across the board.
Later, a new "strongly encouraged opt-in" mode for UnrecognizedTagToAny could decode unrecognized tags to interface{} as RawTag instead of Tag. That would guarantee faithful roundtrips unless an application actively decides to process and change the unrecognized tag.
I'll try to get a PR open today for consideration.


Functions Plugin: Make FUNCTIONS_WORKER_RUNTIME set for java by default

Plugin name and version
The property FUNCTIONS_WORKER_RUNTIME should not be required as explicitly set property, since this is a Maven plugin for Java functions.
Plugin configuration in your pom.xml
            <plugin>
                <groupId>com.microsoft.azure</groupId>
                <artifactId>azure-functions-maven-plugin</artifactId>
                <configuration>
                    <resourceGroup>myResourceGroup</resourceGroup>
                    <appName>myfuncapp</appName>
                    <appSettings>
                        <property>
                            <name>FUNCTIONS_EXTENSION_VERSION</name>
                            <value>beta</value>
                        </property>
                        <property>
                            <name>FUNCTIONS_WORKER_RUNTIME</name>
                            <value>java</value>
                        </property>
                    </appSettings>
                </configuration>
                <executions>
                    <execution>
                        <id>package-functions</id>
                        <goals>
                            <goal>package</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

@pragnagopa any thoughts?

Makes sense. Can we set this as part of deployment?

@brunoborges @pragnagopa
Do you mean we need to add this setting implicitly during the deployment instead of setting it explicitly in the plugin configuration?
If our goal is to simplify the configuration, besides remove it in the archetype, I think one way we could do is to check the setting during deployment:

If this setting is not set, adding it
If this setting is set and is set to java, we are good
If this setting is set but not java, we show a warning

Meanwhile, we need to output messages to make sure the deployment will be as transparent as possible

Done in #653

Ensure that the archetype does not have this property explicitly set in the template.
microsoft/azure-maven-archetypes#71

<EMAIL_ADDRESS>

__


AttributeError: 'NoneType' object has no attribute 'get'

I'm doing as you wrote,
"exec_args": {
"path": "Z:/home/cosplay.az/www/app/"
},
and
"gulpfile_paths": ["src", "Z:/home/cosplay.az/www/"],
but at running its not working and in command line  writes
Traceback (most recent call last):
File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 797, in run_
return self.run()
File "C:\Users\rasim\AppData\Roaming\Sublime Text 3\Packages\Gulp\base_command.py", line 23, in run
self.setup_data_from_settings()
File "C:\Users\rasim\AppData\Roaming\Sublime Text 3\Packages\Gulp\base_command.py", line 33, in setup_data_from_settings
Settings.gather_shared_data()
File "C:\Users\rasim\AppData\Roaming\Sublime Text 3\Packages\Gulp\settings.py", line 20, in gather_shared_data
settings = Settings()
File "C:\Users\rasim\AppData\Roaming\Sublime Text 3\Packages\Gulp\settings.py", line 33, in init
self.sources = [ProjectData(), self.user_settings]
File "C:\Users\rasim\AppData\Roaming\Sublime Text 3\Packages\Gulp\settings.py", line 56, in init
self._project_data = active_window.project_data().get(Settings.PACKAGE_NAME, {})
AttributeError: 'NoneType' object has no attribute 'get'
what i'm doing wrong?

Apologies for the delay, hope I can still help you.
I can't seem to reproduce the error. For what I can see on the stack sublime.active_window() is returning None, which shouldn't happen.
What is the result of running sublime.active_window().project_data() on your Sublime console? (View -> Show Console). I get the following

Nothing :C [image: Встроенное изображение 1]
2018-02-19 15:01 GMT+04:00 Nicolás Santángelo<EMAIL_ADDRESS>
Apologies for the delay, hope I can still help you.
I can't seem to reproduce the error. For what I can see on the stack
sublime.active_window() is returning None, which shouldn't happen.
What is the result of running sublime.active_window().project_data() on
your Sublime console? (View -> Show Console). I get the following
[image: image]
https://user-images.githubusercontent.com/692077/36374636-4d24cbd4-156c-11e8-87ba-b08eaff2cf00.png
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NicoSantangelo/sublime-gulp/issues/92#issuecomment-366656142,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AfOpRTHBjYNjagtSAAF2QpPUc_5g3MH6ks5tWVR_gaJpZM4RhDvk
.

Well that's weird.
Ok! I'll add a check for that case in the next release. I'll ping you as soon as it's deployed

Check added on v6.1.3!


Updated path for FreeRTOS example - FreeRTOS-Plus-TCP

I know that perhaps a lot of additional work is needed to get networking working on this processor, so this prehaps isn't the most useful fix.
Nevertheless, FreeRTOS have put all the source files (for only the TCP stuff) under $(FREERTOS_HOME)/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/source/ and not $(FREERTOS_HOME)/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/ as it currently is in the makefile in the FreeRTOS example.
This PR just updates those routes.
Users would also need to include a FreeRTOSIPConfig.h file as well. I have left that out for now, but I can add a note about that in the readme for the example. I can also provide a default one too - just wanted to see everyone's thoughts first.

Hello matty,
do you still have a MAC for the PHY or what kind of ethernet hw do you want to use?
Regards,
Michael

This PR just updates those routes.

Thanks for updating!

Users would also need to include a FreeRTOSIPConfig.h file as well. I have left that out for now, but I can add a note about that in the readme for the example. I can also provide a default one too - just wanted to see everyone's thoughts first.

That would be great! :wink:

Great, I'll create another PR later once I have things working for the FreeRTOSIPConfig.h and can add some notes where appropriate.


Companies list aren't displayed correctly

@momeg Yesterday, I merged your PR to integrate details for companies here .
Big issue is that some fields aren't unique, this is a major that should be addressed very quickly !
Example:

PR #170

I see there is an attempt to fix this in #170 . I'll wait for script to run before closing.


correct equations are rejected by the graphing calculator

It happens quite a lot. The graphing calculator rejects correct equations. For example :

This is the equation of a simple circle and the calculator rejects it. The other day it refused to plot y = sin(x) for me, please fix this quick. It randomly decides not to plot an equation that is correct

This is your friendly Microsoft Issue Bot. I've seen this issue come in and have gone to tell a human about it.

@Justaphysicsnerd The Graphing Calculator interprets this as an expression involving more than one variable. That is why it shows an error. So you need to convert this expression to the form y = f(x), or simply f(x).
The equation of a circle of unit radius is x^2 + y^2 = 1. Now this can be rewritten as follows:
y^2 = 1 - x^2
or y = |√(1 - x^2)|
The above expression can be further broken down into two expressions:
y = √(1 - x^2) and y = - √(1 - x^2)
Now you can enter these two expressions to get a circle of unit radius. If you want to draw a circle of a different radius, then you just need to replace the 1 in the above expressions with your desired radius.

@Justaphysicsnerd And for y = sin(x), could be please tell us the error that you see on hovering over that triangular symbol.
Is it similar to the one as reported in #1295 or #1296?

@Justaphysicsnerd The specific error message can help us understand if this is a new or duplicate issue.


PANIC is no longer compatible with the latest API server

We should upgrade PANIC so that it is compatible with the latest Polkadot API Server

👍

👍


Additional Database Support?

Any plans on adding support for Sql Server, MailEntityProcessor, etc?

I would imagine most databases would be supported if there is a proper JDBC driver available.
I have been able to successfully get the current data-import-handler-8.6.0.jar to work under Solr 8.9, creating an index out of CSV files using the CSVJDBC - CSV file JDBC driver (https://sourceforge.net/projects/csvjdbc/):
Here is my example configuration:
https://github.com/jmdeleon/dih-csv-jdbc-8
Why use the CSV JDBC driver with DataImportHandler instead of the built-in Solr CSV importers? It was/is much more flexible to use tools available in DIH like TemplateTransformer and ScriptTransformer to process CSV rows and fields, and you could eventually replace the CSV file with a proper database, moving from prototype to production-scale data sets.

That's awesome! Any chance you have any interest in the below? I have no
Java experience =(
https://docs.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15
On Fri, Aug 20, 2021 at 2:36 PM jmdeleon @.***> wrote:

I would imagine most databases would be supported if there is a proper
JDBC driver available.
I have been able to successfully get the current
data-import-handler-8.6.0.jar to work under Solr 8.9, creating an index out
of CSV files using the CSVJDBC - CSV file JDBC driver (
https://sourceforge.net/projects/csvjdbc/):
Here is my example configuration:
https://github.com/jmdeleon/dih-csv-jdbc-8
Why use the CSV JDBC driver with DataImportHandler instead of the built-in
Solr CSV importers? It was/is much more flexible to use tools available in
DIH like TemplateTransformer and ScriptTransformer to process CSV rows and
fields, and you could eventually replace the CSV file with a proper
database, moving from prototype to production-scale data sets.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rohitbemax/dataimporthandler/issues/22#issuecomment-902882097,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3EDHIA5MQO7L2JJPN2XCLT52OBLANCNFSM4WIQIBZQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

You can look over the configuration in my dih-csv-jdbc-8 repo, specifically the solrconfig.xml in the conf directory. I load the csvjdbc-XXX.jar JDBC driver file and the data-import-handler-XXX.jar file from the solrconfig.xml file. I imagine you'd have to set up a similar JDBC driver JAR file for SQL Server and adapt the SQL query in the db-data-config.xml file for your purposes.

Thanks for the tip! Will do
On Aug 20, 2021, at 3:39 PM, jmdeleon @.***> wrote:

You can look over the configuration in my dih-csv-jdbc-8 repo, specifically the solrconfig.xml in the conf directory. I load the csvjdbc-XXX.jar JDBC driver file and the data-import-handler-XXX.jar file from the solrconfig.xml file. I imagine you'd have to set up a similar JDBC driver JAR file for SQL Server and adapt the SQL query in the db-data-config.xml file for your purposes.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Any plans on adding support for Sql Server, MailEntityProcessor, etc?
That would be great. Patches/PR welcome.


Copy 2 arrays into GPU memory using GDRCOPY

I know this is not a programming class, but please let me know.
I want to copy 2 arrays into GPU memory using GDRCOPY.
I read gdrapi.h but could not understand it. What is the reason why the following does not work?
The sample programs sanity, copylat, and copylat use a working GPU.
#include <stdio.h>
#include <stdlib.h>
#include <cuda.h>
#include <iostream>
#include "gdrapi.h"

using namespace std;

int main(){

   float N = 10.0;

   CUdeviceptr devPtrA, devPtrB;
   float *h_arrayA, *d_arrayA, *h_arrayB, *d_arrayB;
   cuMemAllocHost((void **)&h_arrayA, (sizeof(float) * N));
   cuMemAllocHost((void **)&h_arrayB, (sizeof(float) * N));
   cudaMalloc((void **)&d_arrayA, (sizeof(float) * N));
   cudaMalloc((void **)&d_arrayB, (sizeof(float) * N));
   devPtrA = (CUdeviceptr)d_arrayA;
   devPtrB = (CUdeviceptr)d_arrayB;
   //cuMemAlloc(&devPtrA, sizeof(float) * N);
   //cuMemAlloc(&devPtrB, sizeof(float) * N);

   cout << "device ptrA: " << hex << devPtrA << dec << endl;
   cout << "device ptrB: " << hex << devPtrB << dec << endl;

   gdr_t g = gdr_open();
   gdr_mh_t handleA, handleB;
   gdr_pin_buffer(g, devPtrA, (sizeof(float) * N), 0, 0, &handleA);
   gdr_pin_buffer(g, devPtrB, (sizeof(float) * N), 0, 0, &handleB);

   void *map_d_ptrA = NULL, *map_d_ptrB = NULL;
   gdr_map(g, handleA, &map_d_ptrA, (sizeof(float) * N));
   gdr_map(g, handleB, &map_d_ptrB, (sizeof(float) * N));

   cout << "map_d_ptrA: " << map_d_ptrA << endl;
   cout << "map_d_ptrB: " << map_d_ptrB << endl;

   gdr_info_t infoA, infoB;
   gdr_get_info(g, handleA, &infoA);
   cout << "infoA.va: " << hex << infoA.va << dec << endl;
   cout << "infoA.mapped_size: " << infoA.mapped_size << endl;
   cout << "infoA.page_size: " << infoA.page_size << endl;
   cout << "infoA.mapped: " << infoA.mapped << endl;
   cout << "infoA.wc_mapping: " << infoA.wc_mapping << endl;

   gdr_get_info(g, handleB, &infoB);
   cout << "infoB.va: " << hex << infoB.va << dec << endl;
   cout << "infoB.mapped_size: " << infoB.mapped_size << endl;
   cout << "infoB.page_size: " << infoB.page_size << endl;
   cout << "infoB.mapped: " << infoB.mapped << endl;
   cout << "infoB.wc_mapping: " << infoB.wc_mapping << endl;

   int offsetA = infoA.va - devPtrA, offsetB = infoB.va - devPtrB;

   cout << "page offsetA: " << offsetA << endl;
   cout << "page offsetB: " << offsetB << endl;

   uint32_t *buf_ptrA = (uint32_t *)((char *)map_d_ptrA + offsetA);
   uint32_t *buf_ptrB = (uint32_t *)((char *)map_d_ptrB + offsetB);

   cout << "user-space pointerA: " << buf_ptrA << endl;
   cout << "user-space pointerB: " << buf_ptrB << endl;

   gdr_copy_to_mapping(handleA, buf_ptrA, h_arrayA, (sizeof(float) * N));
   gdr_copy_to_mapping(handleB, buf_ptrB, h_arrayB, (sizeof(float) * N));

   /* CUDA Kernel <<< >>>*/

   gdr_copy_from_mapping(handleA, h_arrayA, buf_ptrA, (sizeof(float) * N));
   gdr_copy_from_mapping(handleB, h_arrayB, buf_ptrB, (sizeof(float) * N));

   gdr_unmap(g, handleA, map_d_ptrA, (sizeof(float) * N));
   gdr_unmap(g, handleB, map_d_ptrB, (sizeof(float) * N));
   gdr_unpin_buffer(g, handleA);
   gdr_unpin_buffer(g, handleB);
   gdr_close(g);

}

Result
device ptrA: 7fcba6800000
device ptrB: 7fcba6800200
map_d_ptrA: 0
map_d_ptrB: 0
infoA.va: 7fcba6800000
infoA.mapped_size: 552
infoA.page_size: 65536
infoA.mapped: 0
infoA.wc_mapping: 0
infoB.va: 7fcba6800000
infoB.mapped_size: 552
infoB.page_size: 65536
infoB.mapped: 0
infoB.wc_mapping: 0
page offsetA: 0
page offsetB: -512
user-space pointerA: 0
user-space pointerB: 0xfffffffffffffe00

Hi @bonbax,
Based on the output, I guess that there was an error in gdr_map.
A few requests:

Can you capture the return error code and tell us what that error code is?
Can you reload gdrdrv.ko with dbg_enabled=1 info_enabled=1? You can modify https://github.com/NVIDIA/gdrcopy/blob/master/insmod.sh#L28 and use that script to reload the driver for you.
Please run your application GDRCOPY_ENABLE_LOGGING=1 <your-app> and provide us the output.

Thanks for the reply.
specs
Rocky Linux release 8.6 (Green Obsidian)
Linux devel 4.18.0-372.26.1.el8_6.x86_64 #1 SMP Tue Sep 13 18:09:48 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Driver Version: 515.65.01

Maybe because I installed dgrcopy kernelmodule with RPM, it was not possible.
Please let me know if there is a way to change this in /etc/rc.d/init.d/gdrcopy.
insmod: ERROR: could not load module src/gdrdrv/gdrdrv.ko: No such file or directory
INFO: driver major is
INFO: creating /dev/gdrdrv inode
mknod: missing operand after '0'
Try 'mknod --help' for more information.
chmod: cannot access '/dev/gdrdrv': No such file or directory

installed package
gdrcopy-2.3-1.x86_64
gdrcopy-kmod-4.18.0-372.26.1.el8_6.x86_64-nvidia-515.65.01-2.3-1.x86_64
gdrcopy-devel-2.3-1.noarch

Result(My Program)
# GDRCOPY_ENABLE_LOGGING=1 GDRCOPY_LOG_LEVEL=1 ./gdr
device ptrA: 7efd12800000
device ptrB: 7efd12800200
DBG:  sse4_1=1 avx=1 sse=1 sse2=1
ERR:  error Invalid argument(22) while mapping handle 2466d50, rounded_size=4096 offset=0
ERR:  error Invalid argument(22) while mapping handle 2466d80, rounded_size=4096 offset=0
map_d_ptrA: 0
map_d_ptrB: 0
infoA.va: 7efd12800000
infoA.mapped_size: 552
infoA.page_size: 65536
infoA.mapped: 0
infoA.wc_mapping: 0
infoB.va: 7efd12800000
infoB.mapped_size: 552
infoB.page_size: 65536
infoB.mapped: 0
infoB.wc_mapping: 0
page offsetA: 0
page offsetB: -512
user-space pointerA: 0
user-space pointerB: 0xfffffffffffffe00
ERR:  mh is not mapped yet
ERR:  mh is not mapped yet
ERR:  mh is not mapped yet
ERR:  mh is not mapped yet
ERR:  mh is not mapped yet
ERR:  mh is not mapped yet

copybw succeeds.
# GDRCOPY_ENABLE_LOGGING=1 GDRCOPY_LOG_LEVEL=1 copybw
GPU id:0; name: Tesla P4; Bus id: 0000:13:00
selecting device 0
testing size: 131072
rounded size: 131072
gpu alloc fn: cuMemAlloc
device ptr: 7fe1bc800000
DBG:  sse4_1=1 avx=1 sse=1 sse2=1
DBG:  wc_mapping=1
map_d_ptr: 0x7fe1e9065000
info.va: 7fe1bc800000
info.mapped_size: 131072
info.page_size: 65536
info.mapped: 1
info.wc_mapping: 1
page offset: 0
user-space pointer:0x7fe1e9065000
writing test, size=131072 offset=0 num_iters=10000
DBG:  using AVX implementation of gdr_copy_to_bar
write BW: 1548.99MB/s
reading test, size=131072 offset=0 num_iters=100
DBG:  using SSE4_1 implementation of gdr_copy_from_bar
read BW: 15.688MB/s
unmapping buffer
unpinning buffer
closing gdrdrv

It failed in gdr_map, which called mmap to gdrdrv. We need to see the debug messages of the gdrdrv driver to understand what's going on.

insmod: ERROR: could not load module src/gdrdrv/gdrdrv.ko: No such file or directory
You need to compile GDRCopy locally. Please do:

cd <gdrcopy-root-folder>
make -j
sudo ./insmod.sh   # Please use the modified version with dbg_enabled=1 info_enabled=1
<run-your-app>

Please provide us the output from dmesg. The lines that are relevant to GDRCopy (around the end of the log) are sufficient. We don't need the whole log.

I uninstalled the RPM package and performed a build installation.
# GDRCOPY_ENABLE_LOGGING=1 GDRCOPY_LOG_LEVEL=1 ./gdr
device ptrA: 7f0a26800000
device ptrB: 7f0a26800200
DBG:  sse4_1=1 avx=1 sse=1 sse2=1
ERR:  error Invalid argument(22) while mapping handle b9bf40, rounded_size=4096 offset=0
ERR:  error Invalid argument(22) while mapping handle b9bf70, rounded_size=4096 offset=0
map_d_ptrA: 0
map_d_ptrB: 0
infoA.va: 7f0a26800000
infoA.mapped_size: 552
infoA.page_size: 65536
infoA.mapped: 0
infoA.wc_mapping: 0
infoB.va: 7f0a26800000
infoB.mapped_size: 552
infoB.page_size: 65536
infoB.mapped: 0
infoB.wc_mapping: 0
page offsetA: 0
page offsetB: -512
user-space pointerA: 0
user-space pointerB: 0xfffffffffffffe00
ERR:  mh is not mapped yet
ERR:  mh is not mapped yet
ERR:  mh is not mapped yet
ERR:  mh is not mapped yet
ERR:  mh is not mapped yet
ERR:  mh is not mapped yet

[ 1610.951847] gdrdrv:gdrdrv_open:minor=0 filep=0xffff88a2dbd12400
[ 1610.951851] gdrdrv:gdrdrv_ioctl:ioctl called (cmd 0xc008daff)
[ 1610.951861] gdrdrv:gdrdrv_ioctl:ioctl called (cmd 0xc028da01)
[ 1610.951862] gdrdrv:__gdrdrv_pin_buffer:invoking nvidia_p2p_get_pages(va=0x7f0a26800000 len=40 p2p_tok=0 va_tok=0)
[ 1610.951946] gdrdrv:__gdrdrv_pin_buffer:page table entries: 1
[ 1610.951947] gdrdrv:__gdrdrv_pin_buffer:page[0]=0x00000000c0080000
[ 1610.951949] gdrdrv:gdrdrv_ioctl:ioctl called (cmd 0xc028da01)
[ 1610.951949] gdrdrv:__gdrdrv_pin_buffer:invoking nvidia_p2p_get_pages(va=0x7f0a26800000 len=552 p2p_tok=0 va_tok=0)
[ 1610.951953] gdrdrv:__gdrdrv_pin_buffer:page table entries: 1
[ 1610.951954] gdrdrv:__gdrdrv_pin_buffer:page[0]=0x00000000c0080000
[ 1610.951957] gdrdrv:gdrdrv_mmap:mmap filp=0xffff88a2dbd12400 vma=0xffff88a2e03ac9f8 vm_file=0xffff88a2dbd12400 start=0x7f0a535ae000 size=4096 off=0x0
[ 1610.951959] gdrdrv:gdr_mr_from_handle_unlocked:mr->handle=0x0 handle=0x0
[ 1610.951960] gdrdrv:gdrdrv_mmap:offset != 0 is not supported
[ 1610.951970] gdrdrv:gdrdrv_mmap:mmap filp=0xffff88a2dbd12400 vma=0xffff88a2e03ac9f8 vm_file=0xffff88a2dbd12400 start=0x7f0a535ae000 size=4096 off=0x0
[ 1610.951971] gdrdrv:gdr_mr_from_handle_unlocked:mr->handle=0x0 handle=0x0
[ 1610.951971] gdrdrv:gdrdrv_mmap:offset != 0 is not supported
[ 1610.951982] gdrdrv:gdrdrv_ioctl:ioctl called (cmd 0xc008da04)
[ 1610.951982] gdrdrv:gdr_mr_from_handle_unlocked:mr->handle=0x0 handle=0x0
[ 1610.951988] gdrdrv:gdrdrv_ioctl:ioctl called (cmd 0xc008da04)
[ 1610.951988] gdrdrv:gdr_mr_from_handle_unlocked:mr->handle=0x0 handle=0x0
[ 1610.952011] gdrdrv:gdrdrv_ioctl:ioctl called (cmd 0xc008da02)
[ 1610.952012] gdrdrv:gdr_mr_from_handle_unlocked:mr->handle=0x0 handle=0x0
[ 1610.952013] gdrdrv:gdr_free_mr_unlocked:invoking nvidia_p2p_put_pages(va=0x7f0a26800000 p2p_tok=0 va_tok=0)
[ 1610.952020] gdrdrv:gdrdrv_ioctl:ioctl called (cmd 0xc008da02)
[ 1610.952020] gdrdrv:gdr_mr_from_handle_unlocked:mr->handle=0x0 handle=0x0
[ 1610.952020] gdrdrv:gdr_free_mr_unlocked:invoking nvidia_p2p_put_pages(va=0x7f0a26800000 p2p_tok=0 va_tok=0)
[ 1610.952037] gdrdrv:gdrdrv_release:closing

Hi @bonbax,
Thank you for the debug info.  We documented this restriction in README.md in the second paragraph of the "Restrictions and known issues" section. So, the failure in gdr_map(..., handleB, ...) is expected.
Nevertheless, it should not cause gdr_map(..., handleA, ...) to fail. Thanks to your help, we have discovered a bug and I filed it in #244.
To solve your issue, I would like to suggest that you properly align both buffers. You would not run into #244 if you do that. You can look at https://github.com/NVIDIA/gdrcopy/blob/master/tests/common.cpp#L46 to see how we allocate aligned CUDA buffers.

We are happy to have found the bug.
I tried to incorporate what is being done with gpu_mem_alloc, but it did not work.
   CUdeviceptr devPtrA, devPtrA_tmp, devPtrB, devPtrB_tmp;
   float *h_arrayA, *h_arrayB;
   cuMemAllocHost((void **)&h_arrayA, (sizeof(float) * N));
   cuMemAllocHost((void **)&h_arrayB, (sizeof(float) * N));

   cuMemAlloc(&devPtrA_tmp, (sizeof(float) * N) + GPU_PAGE_SIZE - 1);
   cuMemAlloc(&devPtrB_tmp, (sizeof(float) * N) + GPU_PAGE_SIZE - 1);

   unsigned int flag = 1;
   cuPointerSetAttribute(&flag, CU_POINTER_ATTRIBUTE_SYNC_MEMOPS, devPtrA_tmp);
   cuPointerSetAttribute(&flag, CU_POINTER_ATTRIBUTE_SYNC_MEMOPS, devPtrB_tmp);

   devPtrA = PAGE_ROUND_UP(devPtrA_tmp, GPU_PAGE_SIZE);
   devPtrB = PAGE_ROUND_UP(devPtrB_tmp, GPU_PAGE_SIZE);

   cout << "device ptrA: " << hex << devPtrA << dec << endl;
   cout << "device ptrB: " << hex << devPtrB << dec << endl;

# GDRCOPY_ENABLE_LOGGING=1 GDRCOPY_LOG_LEVEL=1 ./gdr
device ptrA: 0
device ptrB: 0
DBG:  sse4_1=1 avx=1 sse=1 sse2=1
ERR:  ioctl error (errno=22)
ERR:  mh is mapped already
ERR:  ioctl error (errno=22)
Segmentation fault

[29680.356553] gdrdrv:gdrdrv_open:minor=0 filep=0xffff88a61ea0f000
[29680.356557] gdrdrv:gdrdrv_ioctl:ioctl called (cmd 0xc008daff)
[29680.356569] gdrdrv:gdrdrv_ioctl:ioctl called (cmd 0xc028da01)
[29680.356570] gdrdrv:gdrdrv_pin_buffer:NULL device pointer
[29680.356573] gdrdrv:gdrdrv_ioctl:ioctl called (cmd 0xc028da01)
[29680.356574] gdrdrv:gdrdrv_pin_buffer:NULL device pointer
[29680.356576] gdr[4954]: segfault at 19 ip 00007ff4eb7bf554 sp 00007ffd7297c160 error 4 in libgdrapi.so.2.3[7ff4eb7be000+4000]
[29680.356579] Code: 84 00 00 00 00 00 41 57 66 0f ef c0 41 56 41 55 41 54 55 53 48 83 ec 38 0f 29 04 24 0f 29 44 24 10 48 c7 44 24 20 00 00 00 00 <f6> 46 18 01 0f 85 ba 00 00 00 48 8b 47 10 44 8b 2e 48 89 fd 48 89
[29680.438399] gdrdrv:gdrdrv_release:closing

Your devPtrA and devPtrB were 0. Can you check the following?

Does cuMemAlloc return successfully? What are the values of your devPtrA_tmp and devPtrB_tmp?
What is the value of GPU_PAGE_SIZE? This is just in case a different header replaces what gdrapi.h defines.
Does PAGE_ROUND_UP work correctly? Can you double-check that the implementation is from GDRCopy?
 If not, please try the master branch. I remember that we merged a fix in the rounding algorithm after v2.3 release.

cuMemAlloc returned "201".
CUDA_ERROR_INVALID_CONTEXT = 201

GPU_PAGE_SIZE was "65536".

#define PAGE_ROUND_UP(x, n)     (((x) + ((n) - 1)) & ~((n) - 1)) defines.

[root@devel gdrcopy]# git branch

master

Result
GDRCOPY_ENABLE_LOGGING=1 GDRCOPY_LOG_LEVEL=1 ./gdr
malloc size = 40.000000
GPU_PAGE_SIZE = 65536
malloc size + GPU_PAGE_SIZE - 1 = 65575.000000
result res1 = 201 , devPtrA_tmp address (nil)
result res2 = 201 , devPtrA_tmp address (nil)
device ptrA: 0
device ptrB: 0
DBG:  sse4_1=1 avx=1 sse=1 sse2=1
ERR:  ioctl error (errno=22)
Segmentation fault

Program
#include <stdio.h>
#include <stdlib.h>
#include <cuda.h>
#include <iostream>
#include "gdrapi.h"
#define PAGE_ROUND_UP(x, n)     (((x) + ((n) - 1)) & ~((n) - 1))

using namespace std;

int main(){

   float N = 10.0;
   CUresult res1, res2;
   CUdeviceptr devPtrA, devPtrA_tmp, devPtrB, devPtrB_tmp;
   //float *h_arrayA, *d_arrayA, *h_arrayB, *d_arrayB;
   float *h_arrayA, *h_arrayB;

   cuMemAllocHost((void **)&h_arrayA, (sizeof(float) * N));
   cuMemAllocHost((void **)&h_arrayB, (sizeof(float) * N));

   res1 = cuMemAlloc(&devPtrA_tmp, (sizeof(float) * N) + GPU_PAGE_SIZE - 1);
   res2 = cuMemAlloc(&devPtrB_tmp, (sizeof(float) * N) + GPU_PAGE_SIZE - 1);

   printf("malloc size = %lf \n", (sizeof(float) * N));
   printf("GPU_PAGE_SIZE = %d \n", GPU_PAGE_SIZE);
   printf("malloc size + GPU_PAGE_SIZE - 1 = %lf \n", (sizeof(float) * N) + GPU_PAGE_SIZE - 1);
   printf("result res1 = %d , devPtrA_tmp address %p \n", res1, (void *)devPtrA_tmp);
   printf("result res2 = %d , devPtrA_tmp address %p \n", res2, (void *)devPtrB_tmp);

   unsigned int flag = 1;
   cuPointerSetAttribute(&flag, CU_POINTER_ATTRIBUTE_SYNC_MEMOPS, devPtrA_tmp);
   cuPointerSetAttribute(&flag, CU_POINTER_ATTRIBUTE_SYNC_MEMOPS, devPtrB_tmp);

   devPtrA = PAGE_ROUND_UP(devPtrA_tmp, GPU_PAGE_SIZE);
   devPtrB = PAGE_ROUND_UP(devPtrB_tmp, GPU_PAGE_SIZE);

   //cudaMalloc((void **)&d_arrayA, (sizeof(float) * N));
   //cudaMalloc((void **)&d_arrayB, (sizeof(float) * N));
   //devPtrA = (CUdeviceptr)d_arrayA;
   //devPtrB = (CUdeviceptr)d_arrayB;
   //cuMemAlloc(&devPtrA, sizeof(float) * N);
   //cuMemAlloc(&devPtrB, sizeof(float) * N);

   cout << "device ptrA: " << hex << devPtrA << dec << endl;
   cout << "device ptrB: " << hex << devPtrB << dec << endl;

   gdr_t g = gdr_open();
   gdr_mh_t handleA, handleB;
   void *map_d_ptrA = NULL, *map_d_ptrB = NULL;
   gdr_pin_buffer(g, devPtrA, (sizeof(float) * N), 0, 0, &handleA);
   gdr_map(g, handleA, &map_d_ptrA, (sizeof(float) * N));
   gdr_pin_buffer(g, devPtrB, (sizeof(float) * N), 0, 0, &handleB);
   gdr_map(g, handleB, &map_d_ptrB, (sizeof(float) * N));

   cout << "map_d_ptrA: " << map_d_ptrA << endl;
   cout << "map_d_ptrB: " << map_d_ptrB << endl;

   gdr_info_t infoA, infoB;
   gdr_get_info(g, handleA, &infoA);
   cout << "infoA.va: " << hex << infoA.va << dec << endl;
   cout << "infoA.mapped_size: " << infoA.mapped_size << endl;
   cout << "infoA.page_size: " << infoA.page_size << endl;
   cout << "infoA.mapped: " << infoA.mapped << endl;
   cout << "infoA.wc_mapping: " << infoA.wc_mapping << endl;

   gdr_get_info(g, handleB, &infoB);
   cout << "infoB.va: " << hex << infoB.va << dec << endl;
   cout << "infoB.mapped_size: " << infoB.mapped_size << endl;
   cout << "infoB.page_size: " << infoB.page_size << endl;
   cout << "infoB.mapped: " << infoB.mapped << endl;
   cout << "infoB.wc_mapping: " << infoB.wc_mapping << endl;

   int offsetA = infoA.va - devPtrA, offsetB = infoB.va - devPtrB;

   cout << "page offsetA: " << offsetA << endl;
   cout << "page offsetB: " << offsetB << endl;

   uint32_t *buf_ptrA = (uint32_t *)((char *)map_d_ptrA + offsetA);
   uint32_t *buf_ptrB = (uint32_t *)((char *)map_d_ptrB + offsetB);

   cout << "user-space pointerA: " << buf_ptrA << endl;
   cout << "user-space pointerB: " << buf_ptrB << endl;

   //gdr_copy_to_mapping(handleA, buf_ptrA, h_arrayA, (sizeof(float) * N));
   //gdr_copy_to_mapping(handleB, buf_ptrB, h_arrayB, (sizeof(float) * N));

   /* CUDA Kernel <<< >>>*/

   //gdr_copy_from_mapping(handleA, h_arrayA, buf_ptrA, (sizeof(float) * N));
   //gdr_copy_from_mapping(handleB, h_arrayB, buf_ptrB, (sizeof(float) * N));

   gdr_unmap(g, handleA, map_d_ptrA, (sizeof(float) * N));
   gdr_unmap(g, handleB, map_d_ptrB, (sizeof(float) * N));
   gdr_unpin_buffer(g, handleA);
   gdr_unpin_buffer(g, handleB);
   gdr_close(g);

}

You problem this time is in CUDA, not in GDRCopy. If you want to use the driver API (cuMemAlloc), you need to follow the proper CUDA initialization process such as calling cuInit before calling other CUDA driver API. copybw.cpp can give you an example. Otherwise, you can use CUDA runtime API such as cudaMalloc instead.

Sorry.
I made a mistake with the code I should have put.
The actual program I ran is below.
I was executing cuInit before reading cuMemAlloc.
I would check copybw.cpp.
#include <stdio.h>
#include <stdlib.h>
#include <cuda.h>
#include <iostream>
#include "gdrapi.h"
#define PAGE_ROUND_UP(x, n)     (((x) + ((n) - 1)) & ~((n) - 1))

using namespace std;

int main(){

   float N = 10.0;
   CUresult res1, res2;
   CUdeviceptr devPtrA, devPtrA_tmp, devPtrB, devPtrB_tmp;
   //float *h_arrayA, *d_arrayA, *h_arrayB, *d_arrayB;
   float *h_arrayA, *h_arrayB;

   cuInit(0);
   cuMemAllocHost((void **)&h_arrayA, (sizeof(float) * N));
   cuMemAllocHost((void **)&h_arrayB, (sizeof(float) * N));

   res1 = cuMemAlloc(&devPtrA_tmp, (sizeof(float) * N) + GPU_PAGE_SIZE - 1);
   res2 = cuMemAlloc(&devPtrB_tmp, (sizeof(float) * N) + GPU_PAGE_SIZE - 1);

   printf("malloc size = %lf \n", (sizeof(float) * N));
   printf("GPU_PAGE_SIZE = %d \n", GPU_PAGE_SIZE);
   printf("malloc size + GPU_PAGE_SIZE - 1 = %lf \n", (sizeof(float) * N) + GPU_PAGE_SIZE - 1);
   printf("result res1 = %d , devPtrA_tmp address %p \n", res1, (void *)devPtrA_tmp);
   printf("result res2 = %d , devPtrA_tmp address %p \n", res2, (void *)devPtrB_tmp);

   unsigned int flag = 1;
   cuPointerSetAttribute(&flag, CU_POINTER_ATTRIBUTE_SYNC_MEMOPS, devPtrA_tmp);
   cuPointerSetAttribute(&flag, CU_POINTER_ATTRIBUTE_SYNC_MEMOPS, devPtrB_tmp);

   devPtrA = PAGE_ROUND_UP(devPtrA_tmp, GPU_PAGE_SIZE);
   devPtrB = PAGE_ROUND_UP(devPtrB_tmp, GPU_PAGE_SIZE);

   //cudaMalloc((void **)&d_arrayA, (sizeof(float) * N));
   //cudaMalloc((void **)&d_arrayB, (sizeof(float) * N));
   //devPtrA = (CUdeviceptr)d_arrayA;
   //devPtrB = (CUdeviceptr)d_arrayB;
   //cuMemAlloc(&devPtrA, sizeof(float) * N);
   //cuMemAlloc(&devPtrB, sizeof(float) * N);

   cout << "device ptrA: " << hex << devPtrA << dec << endl;
   cout << "device ptrB: " << hex << devPtrB << dec << endl;

   gdr_t g = gdr_open();
   gdr_mh_t handleA, handleB;
   void *map_d_ptrA = NULL, *map_d_ptrB = NULL;
   gdr_pin_buffer(g, devPtrA, (sizeof(float) * N), 0, 0, &handleA);
   gdr_map(g, handleA, &map_d_ptrA, (sizeof(float) * N));
   gdr_pin_buffer(g, devPtrB, (sizeof(float) * N), 0, 0, &handleB);
   gdr_map(g, handleB, &map_d_ptrB, (sizeof(float) * N));

   cout << "map_d_ptrA: " << map_d_ptrA << endl;
   cout << "map_d_ptrB: " << map_d_ptrB << endl;

   gdr_info_t infoA, infoB;
   gdr_get_info(g, handleA, &infoA);
   cout << "infoA.va: " << hex << infoA.va << dec << endl;
   cout << "infoA.mapped_size: " << infoA.mapped_size << endl;
   cout << "infoA.page_size: " << infoA.page_size << endl;
   cout << "infoA.mapped: " << infoA.mapped << endl;
   cout << "infoA.wc_mapping: " << infoA.wc_mapping << endl;

   gdr_get_info(g, handleB, &infoB);
   cout << "infoB.va: " << hex << infoB.va << dec << endl;
   cout << "infoB.mapped_size: " << infoB.mapped_size << endl;
   cout << "infoB.page_size: " << infoB.page_size << endl;
   cout << "infoB.mapped: " << infoB.mapped << endl;
   cout << "infoB.wc_mapping: " << infoB.wc_mapping << endl;

   int offsetA = infoA.va - devPtrA, offsetB = infoB.va - devPtrB;

   cout << "page offsetA: " << offsetA << endl;
   cout << "page offsetB: " << offsetB << endl;

   uint32_t *buf_ptrA = (uint32_t *)((char *)map_d_ptrA + offsetA);
   uint32_t *buf_ptrB = (uint32_t *)((char *)map_d_ptrB + offsetB);

   cout << "user-space pointerA: " << buf_ptrA << endl;
   cout << "user-space pointerB: " << buf_ptrB << endl;

   //gdr_copy_to_mapping(handleA, buf_ptrA, h_arrayA, (sizeof(float) * N));
   //gdr_copy_to_mapping(handleB, buf_ptrB, h_arrayB, (sizeof(float) * N));

   /* CUDA Kernel <<< >>>*/

   //gdr_copy_from_mapping(handleA, h_arrayA, buf_ptrA, (sizeof(float) * N));
   //gdr_copy_from_mapping(handleB, h_arrayB, buf_ptrB, (sizeof(float) * N));

   gdr_unmap(g, handleA, map_d_ptrA, (sizeof(float) * N));
   gdr_unmap(g, handleB, map_d_ptrB, (sizeof(float) * N));
   gdr_unpin_buffer(g, handleA);
   gdr_unpin_buffer(g, handleB);
   gdr_close(g);

}

I didn't understand.
Is there any documentation that details gdrcopy?
sample

They could find the bug, but they couldn't fix mine.

Hi @bonbax,
This should work. Basically, your CUDA driver API setup and the rounding logic were incomplete.
#include <stdio.h>
#include <stdlib.h>
#include <cuda.h>
#include <iostream>
#include "gdrapi.h"
#define PAGE_ROUND_UP(x, n)     (((x) + ((n) - 1)) & ~((n) - 1))

using namespace std;

int main(){

   float N = 10.0;
   CUresult res1, res2;
   CUdeviceptr devPtrA, devPtrA_tmp, devPtrB, devPtrB_tmp;
   //float *h_arrayA, *d_arrayA, *h_arrayB, *d_arrayB;
   float *h_arrayA, *h_arrayB;

   size_t size = sizeof(float) * N;
   size_t rounded_size = PAGE_ROUND_UP(size, GPU_PAGE_SIZE);

   cuInit(0);

   CUdevice dev;
   cuDeviceGet(&dev, 0);

   CUcontext dev_ctx;
   cuDevicePrimaryCtxRetain(&dev_ctx, dev);
   cuCtxSetCurrent(dev_ctx);

   cuMemAllocHost((void **)&h_arrayA, size);
   cuMemAllocHost((void **)&h_arrayB, size);

   res1 = cuMemAlloc(&devPtrA_tmp, rounded_size + GPU_PAGE_SIZE - 1);
   res2 = cuMemAlloc(&devPtrB_tmp, rounded_size + GPU_PAGE_SIZE - 1);

   printf("malloc size = %zu \n", size);
   printf("GPU_PAGE_SIZE = %zu \n", GPU_PAGE_SIZE);
   printf("malloc size + GPU_PAGE_SIZE - 1 = %zu \n", size + GPU_PAGE_SIZE - 1);
   printf("result res1 = %d , devPtrA_tmp address %p \n", res1, (void *)devPtrA_tmp);
   printf("result res2 = %d , devPtrA_tmp address %p \n", res2, (void *)devPtrB_tmp);

   unsigned int flag = 1;
   cuPointerSetAttribute(&flag, CU_POINTER_ATTRIBUTE_SYNC_MEMOPS, devPtrA_tmp);
   cuPointerSetAttribute(&flag, CU_POINTER_ATTRIBUTE_SYNC_MEMOPS, devPtrB_tmp);

   devPtrA = PAGE_ROUND_UP(devPtrA_tmp, GPU_PAGE_SIZE);
   devPtrB = PAGE_ROUND_UP(devPtrB_tmp, GPU_PAGE_SIZE);

   //cudaMalloc((void **)&d_arrayA, (sizeof(float) * N));
   //cudaMalloc((void **)&d_arrayB, (sizeof(float) * N));
   //devPtrA = (CUdeviceptr)d_arrayA;
   //devPtrB = (CUdeviceptr)d_arrayB;
   //cuMemAlloc(&devPtrA, sizeof(float) * N);
   //cuMemAlloc(&devPtrB, sizeof(float) * N);

   cout << "device ptrA: " << hex << devPtrA << dec << endl;
   cout << "device ptrB: " << hex << devPtrB << dec << endl;

   gdr_t g = gdr_open();
   gdr_mh_t handleA, handleB;
   void *map_d_ptrA = NULL, *map_d_ptrB = NULL;
   gdr_pin_buffer(g, devPtrA, rounded_size, 0, 0, &handleA);
   gdr_map(g, handleA, &map_d_ptrA, size);
   gdr_pin_buffer(g, devPtrB, rounded_size, 0, 0, &handleB);
   gdr_map(g, handleB, &map_d_ptrB, size);

   cout << "map_d_ptrA: " << map_d_ptrA << endl;
   cout << "map_d_ptrB: " << map_d_ptrB << endl;

   gdr_info_t infoA, infoB;
   gdr_get_info(g, handleA, &infoA);
   cout << "infoA.va: " << hex << infoA.va << dec << endl;
   cout << "infoA.mapped_size: " << infoA.mapped_size << endl;
   cout << "infoA.page_size: " << infoA.page_size << endl;
   cout << "infoA.mapped: " << infoA.mapped << endl;
   cout << "infoA.wc_mapping: " << infoA.wc_mapping << endl;

   gdr_get_info(g, handleB, &infoB);
   cout << "infoB.va: " << hex << infoB.va << dec << endl;
   cout << "infoB.mapped_size: " << infoB.mapped_size << endl;
   cout << "infoB.page_size: " << infoB.page_size << endl;
   cout << "infoB.mapped: " << infoB.mapped << endl;
   cout << "infoB.wc_mapping: " << infoB.wc_mapping << endl;

   int offsetA = infoA.va - devPtrA, offsetB = infoB.va - devPtrB;

   cout << "page offsetA: " << offsetA << endl;
   cout << "page offsetB: " << offsetB << endl;

   uint32_t *buf_ptrA = (uint32_t *)((char *)map_d_ptrA + offsetA);
   uint32_t *buf_ptrB = (uint32_t *)((char *)map_d_ptrB + offsetB);

   cout << "user-space pointerA: " << buf_ptrA << endl;
   cout << "user-space pointerB: " << buf_ptrB << endl;

   gdr_copy_to_mapping(handleA, buf_ptrA, h_arrayA, size);
   gdr_copy_to_mapping(handleB, buf_ptrB, h_arrayB, size);

   /* CUDA Kernel <<< >>>*/

   gdr_copy_from_mapping(handleA, h_arrayA, buf_ptrA, size);
   gdr_copy_from_mapping(handleB, h_arrayB, buf_ptrB, size);

   gdr_unmap(g, handleA, map_d_ptrA, size);
   gdr_unmap(g, handleB, map_d_ptrB, size);
   gdr_unpin_buffer(g, handleA);
   gdr_unpin_buffer(g, handleB);
   gdr_close(g);

   cout << "Done" << endl;
}

Thank you very much.
The code you wrote works.
I have found that I need to learn CUDA well first.


Quality for EncoderParameter has no affect

Try to set the Quality value to 0 and the image size not event reduced by a bit.  What is the purpose of this value when it does nothing?

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

ID: b34c0362-b66b-d065-5d15-87c5dfa810be
Version Independent ID: b0ca8d84-edb4-0adf-f289-54945dd6ef62
Content: How to: Set JPEG Compression Level - Windows Forms .NET Framework
Content Source: dotnet-desktop-guide/framework/winforms/advanced/how-to-set-jpeg-compression-level.md
Product: dotnet-framework
Technology: dotnet-winforms
GitHub Login: @adegeo
Microsoft Alias: adegeo

Hello.
I don't spot any problem with the documentation. If it's wrong, I can't really tell as I don't have a repro project to test with. If you would like, please upload your project so I can compare.
Also, it helps to specify what version of .NET you're using and at least supply the code you're using.


update crate k8s-openapi to version: 0.22.0 && kube to version: 0.91.0

update crate k8s-openapi to version: 0.22.0
update crate kube to version: 0.91.0

Thanks!


JSON Mirror

Many users have requested access to a copy of the data in JSON format. What would it take to implement this?
Someone mentioned using the gh-pages branch:
https://github.com/unitedstates/congress-legislators/issues/362#issuecomment-235390150
Issues:

#362
#343

Maybe we can use CircleCI to automatically push alternate formats to gh-pages whenever master is updated. That'd maybe allow us to drop the JSON from the master branch, which would make things easier to maintain.
Any other maintainers have a preference?

@JoshData I like that idea! And I'd be fine with either Circle or Travis (and we could probably live inside Circle's free tier without too much trouble), if you have a preference. I just moved a couple repos to CircleCI for a work-related project, it wasn't too bad, though it is definitely a more complex/configurable system than Travis.


Exclude failing sample from smoke tests

Packages impacted by this PR
Communication-Identity
Issues associated with this PR
https://github.com/Azure/azure-sdk-for-js/issues/22133
Describe the problem that is addressed by this PR
Excluding failing sample from smoke tests.
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
N/A
Are there test cases added in this PR? (If not, why?)
N/A
Provide a list of related PRs (if any)
N/A
Command used to generate this PR:**(Applicable only to SDK release request PRs)
N/A
Checklists

[x] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.

followup story: https://skype.visualstudio.com/SPOOL/_workitems/edit/3105974


Unable to see active tickets

I have managed to install and run the ticketit app. I am able to create tickets but they do not show in the active tickets:

Managed to resolve - bootstrap was not properly installed; installed using npm - ok now


Days With Data Showing Up As If Empty

I've got the following chart configuration:
    vm.heatmapConfig =
      domain: 'month'
      start: new Date(Object.keys(vm.data)[0] * 1000)
      end: new Date(Object.keys(vm.data)[Object.keys(vm.data).length - 1] * 1000)
      subDomain: 'day'
      domainGutter: 1
      range: 11
      cellSize: 15
      data: vm.data

This is being set in angular via the angular-cal-heatmap-directive. Looking at the directive's code, I don't think that the problem would be in it as it's very simple.
By doing $('#ada-heatmap').calHeatmap() I got this:

You can see that the 30th of October (the 29 object above) does not display as if it has any data. In fact, the majority of the seemingly empty days actually have data!

Even stranger, though, is the fact that hovering over it displays the correct data

I've noticed that every item that should be colored and is not has a value greater than 10. The legend's darkest value is "More than 10 items"

Is the issue occuring for the whole calendar, or just for dates after a certain date ? Is that certain the day of DST ?

Can you tell me what classes are applied to the cells with the issue ?

I actually found that the problem was being caused by items with a value greater than ten. Despite the legend's indication that anything greater than ten would be the darkest color, none of the items had color. Setting the
      legend: [0, 10, 20, 30, 40, 50, 60]

colors all of the items that need to be colored.
It's still odd that they weren't colored at all. I can remove those changes and give you the classes if you'd like. Also, it was for all of the calendar, not just certain dates.

Yes please. Knowing what classes are applied to the cells is the first step for debugging. I want to know if it's a problem related to the stylesheets, or the classes themselves are missing.
Could you also provide a sample of your data ?

This one is not colored and should be:

This one is colored correctly:

Here is a sample of the data
{
  "1375678800": 0,
  "1375765200": 1,
  "1375851600": 4,
  "1375938000": 2,
  "1376024400": 1,
  "1376283600": 36,
  "1376370000": 34,
  "1376456400": 45,
  "1376542800": 39,
  "1376629200": 36,
  "1376888400": 81,
  "1376974800": 35,
  "1377061200": 43,
  "1377147600": 52
}

Do you have the q6 class in your css ?

I do not. I'm using the cal-heatmap.css and haven't modified it at all. I also haven't overridden q6 anywhere else.

I thinks that's the issue. You have to add the additional qn classes in your css when your legend have more than 5 colors.

Ah, I see. I expected it to take my data and automagically segment it into 5 bands and color based off of that.
I've now got my code set up to do that for me and set legend to that array and it works fine. Thank you for your help!

Use the legendColor option if you want magic coloring, instead of css.


(Feature Request) Allow setting a custom OpenAI API endpoint to experiment with locally hosted LLMs

Some open-source, locally run LLMs have the capability to emulate key features of the OpenAI API to "appear" to an application as GPT. Can you add support for a custom API endpoint to experiment with this and see if the performance of something like WizardLM or Falcon may be up to the task of generating commands?
I would then envision an input field in the Settings window with the default OpenAI API endpoint URL replaceable with your own.

Would i tbe possible to test this  "see if the performance of something like WizardLM or Falcon may be up to the task of generating commands" in a seperate prototype app first?
I have another WIP all in one LLM app which could support custom LLM but thats only for that app. I plan to stick to GPT 3/4 for Run


Introducing Puck Guru on Gurubase.io

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

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

Hey @kursataktas - sorry been pretty stacked! This looks awesome and more than happy for Puck to be on Gurubase.
In terms of the README badge, I'm not keen to add another badge that might steer people away from existing portals (docs site, discord), as these are much more valuable for community growth.
Mind if I close this out? Happy to continue discussing Gurubase, though.

Hey @chrisvxd, no problem at all! I’d be happy to discuss Gurubase with you. Would you like to join our Discord channel?


trying to execute ansible-playbook from jenkins(ansible plugin) getting ssh connection issue

Ansible is installed  and able to execute playbook successfully, However trying to build a free style project  from jenkins getting below errors, I have used ansible plugin and while build launched invoke ansible play book and given all options

Checking out Revision 92e13eef1c84343b47cd3565330005a1077c5000 (refs/remotes/origin/master)

git config core.sparsecheckout # timeout=10
git checkout -f 92e13eef1c84343b47cd3565330005a1077c5000 # timeout=10
Commit message: "updated inventory"
git rev-list --no-walk 92e13eef1c84343b47cd3565330005a1077c5000 # timeout=10
[ansible-project] $ /usr/bin/ansible-playbook book1.yml -i inventory -f 5 --private-key /tmp/ssh7537388195384154296.key -u devops

PLAY [all] *********************************************************************
TASK [Gathering Facts] *********************************************************
fatal: [<IP_ADDRESS>]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Host key verification failed.", "unreachable": true}
fatal: [<IP_ADDRESS>]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Host key verification failed.", "unreachable": true}
PLAY RECAP *********************************************************************
<IP_ADDRESS>               : ok=0    changed=0    unreachable=1    failed=0    skipped=0    rescued=0    ignored=0
<IP_ADDRESS>               : ok=0    changed=0    unreachable=1    failed=0    skipped=0    rescued=0    ignored=0
FATAL: command execution failed
hudson.AbortException: Ansible playbook execution failed
at org.jenkinsci.plugins.ansible.AnsiblePlaybookBuilder.perform(AnsiblePlaybookBuilder.java:262)
at org.jenkinsci.plugins.ansible.AnsiblePlaybookBuilder.perform(AnsiblePlaybookBuilder.java:232)
at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:80)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
at hudson.model.Build$BuildExecution.build(Build.java:197)
at hudson.model.Build$BuildExecution.doRun(Build.java:163)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:514)
at hudson.model.Run.execute(Run.java:1907)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
ERROR: Ansible playbook execution failed
Finished: FAILURE
REST API

same playbook is executing fine on ansible server

Hi,
please try to run playbook in ACS(ansible control server)
ex :
you have to add ACS to jenkins as node
and try to run that play book on ACS

Hello Santosh, you mean to say, Jenkins master  and ansible control server should not exist on same server.  In my scenario i used same machine as Jenkins master and  ansible control server and trying to execute ansible-playbook.
I will try to execute your solution also, could you please share me your whatsapp number

Hello Santosh,
your solution worked for me, may i know why job is failing, when we have both Jenkins server and ansible control server both on one system

Hi jenkins uses jenkins user and you shared keys with ansible user so this
might be the cause
On Sun, 13 Dec, 2020, 3:34 AM gogondi1<EMAIL_ADDRESS>wrote:

Hello Santosh,
your solution worked for me, may i know why job is failing, when we have
both Jenkins server and ansible control server both on one system
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/QT-DevOps/DevOpsIssues/issues/978#issuecomment-743911689,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALT4PAB2KYAOBXF2G5MROJTSUPSH5ANCNFSM4UXVDCDQ
.

Hi,
If it not resolved cal me @7893532934..
we will solve it in remote.


add dateIsDisabled callback like ui-bootstrap

Please check the new release v1.0.0. I hope this issue has been addressed. Thank you for your PR.


Make java.desktop module optional

As an alternative to https://github.com/apache/commons-lang/pull/275, this allows existing code to continue to work, while providing a migration path for other users. We can choose to either deprecate or keep the methods that take PropertyChangeListeners.
By guarding the construction of the PropertyChangeSupport with a try/catch, we can continue to run when the java.desktop module is absent.
Relates to LANG-1339

Broken build, no updates, closing.


[Tests-Only] make expected-failures comments match with owncloud/ocis

On top of #1245
Get the expected-failures-on-OWNCLOUD-storage to match the one in owncloud/ocis as much as possible.
The 4 commits are done in a hopefully-logical order so that people can trace the diffs in future:
a) Copy expected-failures-on-OWNCLOUD-storage.txt from owncloud/ocis - so that we have a fresh known starting-point that matches owncloud/ocis
b) Remove apiProvisioning and apiWebdavPreviews lines - we purposely do not run these scenarios in cs3org/reva - apiProvisioning only exists in owncloud/ocis, apiWebdavPreviews are not implemented in cs3org/reva
c) Remove passing scenarios from expected-failures-on-OWNCLOUD-storage - various scenarios pass in cs3org/reva so remove them from the expected failures list. When the current reva code is updated in owncloud/ocis we would hope that these scenarios start passing there also.
d) Add scenarios that fail on reva owncloud - a few extra scenarios fail here in cs3org/reva. Add them to expected-failures ffor now, with comments. They will need to be investigated.

@labkode @ishank011 you could merge #1245 first. Then I can rebase this. That might make the merge commit history easier to understand in the future.

@labkode @ishank011 this is ready for approval and merge.
It is just a re-shuffle of expected-failures - https://github.com/owncloud/ocis/pull/679 updated lots of links to issues that describe why test scenarios fail. Having that here, the same as in owncloud/ocis will "mmake life easier" for developers that are working on stuff.


ERROR 1146 (42S02) at line 1: Table 'magento.core_config_data' doesn't exist

I've tried getting this up and running a variety of different ways on a Windows host. Updating all my dependencies and using cmder bash and git bash. But I always get this: ERROR 1146 (42S02) at line 1: Table 'magento.core_config_data' doesn't exist
Database gets created, but no tables exist.
Vagrant box goes up but when I visit frontend or backend, I get:
Autoload error
Vendor autoload is not found. Please run 'composer install' under application root directory.

$ vagrant version
Installed Version: 1.8.6

$ php --version
PHP 5.6.8 (cli) (built: Apr 15 2015 15:07:09)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Xdebug v2.3.2, Copyright (c) 2002-2015, by Derick Rethans

$ composer --version
Composer version 1.3-dev (23d2e5600a91746fe4c2e19621431eeac21f174e) 2016-10-04 10:20:39

$ git --version
git version 2.10.1.windows.1

This happens because Magento installation fails and database is not populated (should happen here). To understand why this happens, please try to enable debug mode to get more details (see item 1 in FAQ).
Also try to run bash ./init_project -fcp from git bash (this will re-create everything from scratch using your current config.yaml).

@apothegm please reopen if you were unable to resolve the issue

@apothegm I was able to reproduce your issue when checked out Magento codebase manually, but didn't do composer install in the root of Magento project. This was not expected flow, but after latest changes even this flow should work. Please let me know if you still experience any issues.

Hi, i'm new to magento i'm trying follow your instruction to install magento through vagrant box. but each time i install magento without sample data it works fine but whenever i try to install sample data it stops working says some a:4:{i:0;s:105:"SQLSTATE[HY000] [2002] errors... i tried to implement this solution vagrant ssh and then run sudo dpkg-reconfigure mysql-server-5.6, then sudo service mysql restart but that is also not in work. after sometimes it stops showing errors and stops loading magento. then i think i have to work or learn magento without sample data i restart everything from beginning but it works fine sometime...... but again it stops working after 10 minutes without showing any errors saying server not found..... and magento loads only in mozilla firefox not in google crome says proxy error......
then i try to second instance from the beginning it shows same as the above...
ERROR 1146 (42S02) at line 1: Table 'magento.core_config_data' doesn't exist

@valoujjal have you tried to enable debug mode by setting debug:vagrant_project option in config.yaml to 1? This should give you the maximum output. Regarding different browsers, there may be duplicate records pointing to different servers in hosts file on your Windows10.
Does it work for you without sample data?
Sorry for late response.


allow user to control also-notify on a zone level

Signed-off-by: Warren Clarke<EMAIL_ADDRESS>

:+1: would you also mind adding a test to spec/defines/dns_zone_spec.rb?

A validate_array in the manifest would also be nice.

You can also include Closes GH-43 in the commit message to automatically close the issue when it's merged.

All requested updates completed :)

:+1: if you can squash both commits we can merge it.

Sorry struggeld to push to squash back to prigin, and ended up deleting the branch, which in turn cl;osed this pull request :(
I have created a new pull request (#45) with the squashed commits. Hope fully that can be merged :)


Enhance debug

Codecov Report

Merging #2 (e166370) into master (3dff866) will decrease coverage by 3.84%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##           master       #2      +/-   ##
==========================================
- Coverage   92.92%   89.08%   -3.85%
==========================================
  Files          12       12
  Lines         212      229      +17
==========================================
+ Hits          197      204       +7
- Misses         15       25      +10

Impacted Files
Coverage Δ

lib/src/debug.dart
58.49% <50.00%> (-8.18%)
:arrow_down:

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 3dff866...e166370. Read the comment docs.

Codecov Report

Merging #2 (e166370) into master (3dff866) will decrease coverage by 3.84%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##           master       #2      +/-   ##
==========================================
- Coverage   92.92%   89.08%   -3.85%
==========================================
  Files          12       12
  Lines         212      229      +17
==========================================
+ Hits          197      204       +7
- Misses         15       25      +10

Impacted Files
Coverage Δ

lib/src/debug.dart
58.49% <50.00%> (-8.18%)
:arrow_down:

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 3dff866...e166370. Read the comment docs.


pre-cache all examples after deployment

It would be nice if a bot/script could make sure that all examples are cached after a new deployment.

Is that really needed? Currently the examples are cached after the first run so just the first request will be a little slower. I currently don't see much benefit for such a feature because of that..

Closing this one as on-demand caching does the job right now.


Remove some private final modifiers in mr top level directory

Closing this PR as the labeling has been merged in upstream.


Text: t2c is bogus

Description of bug / unexpected behavior
from manim import *

class Text(Scene):

    def construct(self):
        txt=Text("foo and bar",t2c={"o": RED, "a": BLUE})
        self.add(txt)
        self.wait()

yields

Expected behavior
The letter n should definitely not be blue. One would expect both a's to be BLUE. (It could be nice to have a way of defining that only one o or only one a is colored.) This is related to #741

Just as a comparison:
from manim import *

class Text(Scene):

    def construct(self):
        txt=Text("foo and bar",t2w={"o": BOLD, "a": BOLD})
        self.add(txt)
        self.wait()

yields

So, the decomposition of the string works in other cases.

Sounds like a duplicate of #625
It is good to know that t2w is working though.

After checking again, I think you are right. Both seem to be linked to the fact that a space counts to the string length but not to the number of submobjects. I suspected that this was not the source of the problem here, but changing the test case showed me I was wrong....