linux: support hierarchies and cgroup2 for mem constraint lookup

This PR adds support for arbitrary mount locations and hierarchies for cgroups, as well as memory limits from cgroups v2. Fixes #2315
It follows this procedure for resolving { cgroups_version, path } for the memory subsystem:

Read /proc/self/mountinfo to get three fields:

the mount point for the memory subsystem (usually /sys/fs/cgroup/memory for cgroups v1, and /sys/fs/cgroup for cgroups v2)
the root path of the device being mounted at the location above (usually /, but could be /docker/${CONTAINER_PID} for docker containers, or any other value)
whether the memory subsystem is controlled by cgroups v1 or v2 (-> cgroups_version)

Read /proc/self/cgroup to get a "hierarchy path" for the given subsystem. This comes from a line of the form ${ID}:memory:${HIERARCHY} in cgroups v1 and 0::${HIERARCHY} in cgroups v2. It should start with the root string mentioned above, and replacing this with the mount point should yield the "true path" to the memory parameter files (-> path). For example:

If the root found above was /, the mount_point was /sys/fs/cgroup2, and the hierarchy path read here was /foo/bar, then the true path should be /sys/fs/cgroup2/foo/bar
If the root found above was /docker/abcdef0, the mount_point was
/sys/fs/cgroup/memory, and the hierarchy path read here was /docker/abcdef0/foo/bar, then the true path should be /sys/fs/cgroup/memory/foo/bar

If the attempt to get this true path fails or any assumptions above are violated, we should act as if cgroups is not present and just return 0 to signify no known upper memory limit. Otherwise, we use the information above to read either memory.limit_in_bytes (for v1) or memory.high/memory.max (for v2) from the correct location.

cc/ @ofrobots, @ChALkeR

This looks great at the first glance, thanks!
I will be able to look closer and test this out tomorrow =).

I think this code can be rewritten in terms of strsep and the central loop parsing individual lines in mountinfo will simplified / easier to read once it uses named fields.
I'll re-review once those changes are done.

On two subsequent calls to uv_get_constrained_memory, this is what I observe in info.path:

Length = 103, value =<EMAIL_ADDRESS>Length = 1233, value =

/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/run-r0858a2015da94808831f65532cf9d476.scopeon):     840500 kB
Inactive(anon):    50100 kB
Active(file):     814984 kB
Inactive(file):   620792 kB
Unevictable:      658560 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:               112 kB
Writeback:             0 kB
AnonPages:        839480 kB
Mapped:           537664 kB
Shmem:            709808 kB
KReclaimable:     148448 kB
Slab:             208096 kB
SReclaimable:     148448 kB
SUnreclaim:        59648 kB
KernelStack:        6308 kB
PageTables:        19476 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     8164272 kB
Committed_AS:    4379052 kB
VmallocTotal:<PHONE_NUMBER>7 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
Percpu:             1504 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:      131472 kB
DirectMap2M:     6064128 kB
DirectMap1G:    10485760 kB

Overall, this seems to work after those issues would be fixed.

@kjin is on vacation this week + next. This will be picked back up once he's back.

Re: info.path Corruption -- I am still trying to figure out why this is the case. I can't seem to figure out how to run with systemd-run --user, at least over ssh. Will look into it more over the next day.

@kjin which system are you using and did you specify systemd.unified_cgroup_hierarchy=1 kernel option?

@ChALkeR I'm using Debian stretch. did specify systemd.unified_cgroup_hierarchy=1 and was able to see the v2 hierarchy. But I wasn't able to reproduce the bug that you mentioned, and I assume it was because I couldn't pass --user to systemd-run (it seems to work, even on consecutive calls, without this arg).

Ok, I was able to get it to reproduce on a local Linux machine.

I've added a commit that handles the case where a line in /proc/self/[mountinfo|cgroup] is too long (we skip it; the max line length is also now set to 16KB, which I believe is a hard max for lines with information relevant to cgroups).

Hi @bnoordhuis @cjihrig (no specific reason other than that you're people that I think I've interacted in the past on this repo), I think this change is ready for a broader review. Thanks!

@cjihrig Thanks for looking! I've addressed your comments in the most recent commit.

cc: @libuv/collaborators

@kjin it looks like there are relevant CI failures.

@saghul are you OK with this now?

LGTM. Left a minor suggestion, not a blocker. Great work!

CI: https://ci.nodejs.org/view/libuv/job/libuv-test-commit/1484/
It looks like there are some failures. Just a heads up, @kjin - there is a release scheduled for this week in case you want to try to get this in the next release.

@saghul @cjihrig Thanks for the look!
It seems like I forgot to rebase which accounted for the Unix failures (UV__PATH_MAX was introduced in-between). It should be working now. I do get a 404 when viewing the Windows CI though, so I don't know what's going on there.

New CI: https://ci.nodejs.org/view/libuv/job/libuv-test-commit/1485/

@bnoordhuis I've updated the PR making the requested changes. In particular, since it was a relatively large change, the change to malloc large strings is in its separate commit.

Gentle ping @bnoordhuis, whenever you get a chance to look at this it would be much appreciated!

@bnoordhuis can you take another look at this one?

@bnoordhuis PTAL. This is blocking https://github.com/nodejs/node/pull/27805

Ecosystem status update:

Fedora 31 was released in October, migrated to unified hierarchy by default
Mandriva is also migrating to unified hierarchy by default.

Without this PR, uv_get_constrained_memory is broken on those systems.

Ping @bnoordhuis: is this done now (other than needing a rebase to fix a trivial merge conflict)

Seeing how this PR was pretty much good to go, could somebody else review the latest changes? @vtjnash maybe?
@kjin Would you be willing to rebase the PR so that we can move forward with it?

Let me give it a try!

Ok, I've rebased and resolved the conflict -- which occurred due to part of uv__read_cgroups_uint64 being refactored into a common uv__slurp function in 1a890036351897967a77849f4709a98b70c461ef. If CI passes I believe this should be ready to go!

Hi @bnoordhuis, do you mind reviewing this PR, or at least resolving the change request? It seems like quite a few people have been hoping to seeing this land. If you're busy, it would be good to perhaps assign a different reviewer to help move this forward? Thanks!

@vtjnash maybe?

If this PR remains stuck on the change-requested flag even after a third reviewer, I'd be inclined to open a new one, but I'd like to get blessing for that by an owner of libuv first.

Most of @bnoordhuis comments were addressed, but a few seem to have been missed. I'll dismiss his review (and substitute my own approval), once my comments are addressed.

@vtjnash Thank you for the review -- I haven't forgotten about this, but unfortunately won't be able to circle back until next week.

@kjin Thanks for picking this up again. Cgroups v2 support is valuable IMO but I'd like to cut down the amount of parsing libuv has to do; C is not a great language for that.
You parse /proc/self/mountinfo to determine if the system uses cgroups v1 or v2? Is that necessary? Doesn't the format of the memory field in /proc/self/cgroups tell you that?
Would open("/sys/fs/cgroup/unified", O_DIRECTORY|O_CLOEXEC) work? It's a v2 system when it's there, it seems reasonable to assume v1 when it's not. (Related subject: I prefer openat() over path munging.)
Let me know if you don't have the time or inclination to return to this and I'll try to adopt it.

Hi @bnoordhuis, thanks for your input. I'll have bandwidth in around ~2 weeks (after American Thanksgiving) to work on this. If you (or anyone else) feel inclined to move this forward before then, please go ahead -- I want to make sure I'm not blocking anything critical. But I haven't forgotten about this PR, and I'll post back here again when I'm starting to work on it.

Since this has been marked as stale, and I don't have the necessary permissions to push here, I've opened a new pull request where I've rebased these changes and addressed one of the remaining review comments: https://github.com/libuv/libuv/pull/3712

@maleadt Thank you for moving this forward. A lot of changes have happened since I opened this PR that have brought me far away from the Node.js ecosystem. I'm sorry that I couldn't address this in a more timely manner, but glad to see that you volunteered to take it over!


Automatic PR of restapi_auto_mcardosos_graph into master

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2403

Will do it manually later.


bugfix:commalert

这个 PR 实现什么功能/修复什么问题:
1.资源报警增加websocket 消息通知：admin用户
2.统一influxdb中查询到的tag展示
是否需要 backport 到之前的 release 分支:

release/3.4
release/3.5

/area monitor
/cc @zexi

Codecov Report

Merging #8412 into master will increase coverage by 0.02%.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##           master   #8412      +/-   ##
=========================================
+ Coverage    6.12%   6.15%   +0.02%
=========================================
  Files         764     150     -614
  Lines      118748   21131   -97617
=========================================
- Hits         7277    1301    -5976
+ Misses     110812   19681   -91131
+ Partials      659     149     -510

Flag
Coverage Δ

#aFlag
6.15% <0.00%> (+0.02%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/monitor/alerting/notifier.go
0.00% <0.00%> (ø)

pkg/hostman/guestfs/fsdriver/nicteaming.go

pkg/multicloud/aws/networkinterface.go

pkg/multicloud/aws/network.go

pkg/scheduler/core/score/score.go

pkg/util/netutils2/netutils_linux.go

pkg/cloudcommon/db/quotas/usageworker.go

pkg/keystone/models/sync.go

pkg/hostman/system_service/ovn_conroller.go

pkg/compute/models/networkinterfacenetwork.go

... and 605 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 1b967e9...c0d697d. Read the comment docs.

/hold

/lgtm
/approve

/hold cancel


Update openapi

Working on RoomManager example

I know that we will likely update README's for all projects later, but I think we can update slightly it in this PR, e.g. remove example of adding component.

I know that we will likely update README's for all projects later, but I think we can update slightly it in this PR, e.g. remove example of adding component.

I'm planning to rewrite the whole README in this PR but first I want to have accepted SKD API


Ensure consistency in the documentation

What this PR does:
Fix some documentation inconsistencies. We want to always point to latest released version instead of master for user instructions. Also update example from 3.11.10 to 4.0.1 when deploying a new cluster.
Which issue(s) this PR fixes:
Fixes #
Checklist

[ ] Changes manually tested
[ ] Automated Tests added/updated
[x] Documentation added/updated
[x] CHANGELOG.md updated (not required for documentation PRs)
[ ] CLA Signed:  DataStax CLA

@burmanm, could we also update this version to 1.9.0 here as part this PR? - https://github.com/k8ssandra/cass-operator/blob/v1.9.0/docs/user/cass-operator-manifests.yaml#L6789

@msmygit Not really, that file has been removed in the master also. I don't think modifying the tag just to remove that file is a good idea. We've never linked to it in 1.8.0 / 1.9.0 documentation.


deps: Consume RC container images

Description

Test

To be tested by CI.

Additional Information
Tradeoff

Potential improvement

The E2E tests should fail until we merge https://github.com/kubewarden/kubewarden-end-to-end-tests/pull/90.

Will wait to consume the upcoming RC images.

All RC images are released.


Simplified avatar getting

@bimoware I haven’t checked this repo in like a week or two, my bad - please reopen and I’ll merge, it makes sense

bruh i deleted it thinking this was like 7 years old or something, don't worry about it it's really useless

lmao dw all good, still reopen!! always nice to have more contributions, some of this code needs some improvements - small changes like this add up

Alright lmfao


Initial set-up for webpack-dev-server

This change is the beginning of the migration from a gulp-based build
system to a webpack-based one. Ideally, the existing gulp tasks should
continue to work until all desired functionality is replicated to the
webpack-based build for each environment (dev, test, prod). From this
point forward, devs should use yarn start instead of gulp serve when
starting the project locally.
yarn start will now kickoff webpack-dev-server which should mostly
work the same as the previous dev server. However, there is bound to be
some issues that will be discovered/fixed over the coming weeks.
@miq-bot add_label euwe/no, enhancement, wip
TODO:

[x] Some styles are not getting picked up by webpack, figure out which and why
[x] Some icons/fonts are missing as well, figure out which and why
[ ] ~webpack-dev-server is currently serving from / instead of /ui/service/~ This can be addressed when configuring webpack for production usage as the base url doesn't affect development
[x] Add loaders for .js files (babel-loader)
[x] Add loaders for .html files (ngtemplate-loader, html-loader)
[x] Clean up and document webpack configuration
[x] Fix sprintf is not a function when opening modals
[x] Configure scripts/styles loaders to output sourcemaps

@jjlangholtz this looks really good.  super excited to get this integrated.  Could you please update the readme file with that yarn start vs gulp serve?

@miq-bot remove_label wip

@AllenBW can you give this a once over?

@jjlangholtz what needs to be done for production usage?  Do we need to do anything to the prod build scripts?

Oh yeah! totally dropped in on this, it felt real nice. tests run, app builds (and reloads) for development nicely, faster than before (though there might be an issue with Error: [ManageIQ] transition superseded on login looking at @jjlangholtz for guidance)
We need to update base url for production (currently its set at / rather than /ui/service/, but with that in can use gulp build till the effort is put into something less clunky, but we need to decide when that'll be done because maintaining deps in three places is kinda insane (one for tests, one for build, one for webpack; eventually should just be webpack for all)

@chriskacerguis We will need additional webpack configuration for production, there are many plugins designed for optimizing, compressing, minimizing etc. It shouldn't be too much additional effort but I believe it can be done in a follow-up PR.
We would also need a new package.json build script that we can kick off with something like yarn run build that will output the bundles to the manageiq public directory.

@jjlangholtz can you please make 2 cards?  One for the prod changes, and one for the package.json thing you described?

👯♂ 👯 💃 🕺


Add NET_ADMIN capabilities to the dnsmasq deployment

this commit resolves an issue of dnsmasq not starting

Signed-off-by: Brent Salisbury<EMAIL_ADDRESS>

@mkimuram PTAL. Ty!

LGTM
@nerdalert Thank you for your testing and updating the doc!


Encapsulate pages inside feature modules

[x] Schedule Page (#54)
[x] Schedule filter page (#55)
[ ] Schedule Details
[ ] ...

Alright, this might be a little bit hard to explain, I'll do my best :).
So yesterday, I dived more into Ionic 2. I like how easy it is to get something good looking on the screen. What I dislike however is the structure.  Why? Why aren't they modules that encapsulates everything from within that page. It could even encapsulate child pages... In my opinion, that would make much more sense.
Let's give you an example.
The schedule page has quite some html in the template file. Normally, you would work with dumb components to split everything apart. For instance, the session list is written like this.
    <ion-item-sliding *ngFor="let session of group.sessions" #slidingItem [attr.tag]="session.tags[0]"
                      [hidden]="session.hidden">

      <ion-item (click)="goToSessionDetail(session)">

{{session.title}}

          {{session.startDate.format('HH:mm')}} —
          {{session.endDate.format('HH:mm')}}:
          {{session.room.name}}

            {{tag}}

        <ion-icon name="bookmark" item-right color="primary" *ngIf="!session.favorite && segment ==='all'"></ion-icon>
        <ion-icon name="bookmark" item-right color="secondary"
                  *ngIf="session.favorite && segment ==='all'"></ion-icon>

      </ion-item>

      <ion-item-options>
        <button ion-button color="favorite" (click)="toggleFavorite(slidingItem, session)" *ngIf="segment === 'all'">
          Favorite session
          Defavorite session
        </button>
      </ion-item-options>

    </ion-item-sliding>

It would be much cleaner if we extracted the session item to a separate dumb component and work with a session input or something like that.
    <ion-item-sliding *ngFor="let session of group.sessions" #slidingItem [attr.tag]="session.tags[0]"
                      [hidden]="session.hidden">

      <session-item [session]="session"></session-item>

      <ion-item-options>
        <button ion-button color="favorite" (click)="toggleFavorite(slidingItem, session)" *ngIf="segment === 'all'">
          Favorite session
          Defavorite session
        </button>
      </ion-item-options>

    </ion-item-sliding>

And embed the ion-item component inside the session-item.
With the current structure however, this would require us to actually bootstrap the SessionItemComponent at the root module of our application. Dirty!
Solution

Create a ScheduleModule which encapsulates everything inside the schedule page. You could add services, other components, pipes, etc without having to bootstrap them at the root for everyone.

import { SchedulePage } from './schedule';

@NgModule({
  declarations: [
    SchedulePage
  ],
  entryComponents: [
    SchedulePage
  ]
})
export class ScheduleModule { }

Create a index barrel file that exports the module and the page. We need the page so we can navigate to it.

export { ScheduleModule } from './schedule.module';
export { SchedulePage } from './schedule.page';

Import in the AppModule and remove SchedulePage from entryComponents.

That's basically it. In my opinion, a much better separation which allows you to easily create extra dumb components in order to keep your code clean. The ConnectionService can now be part of the ScheduleModule (if we don't need it somewhere else) and follows the Angular 2 way of thinking.
Let me know what you think.

@SamVerschueren Sounds great to me. Largely aligns with how I do things in Angular 2 Web Applications using feature modules 👍
@samvloeberghs: Would be great to hear your thoughts as well. What do you think?

That's how I do it as well. Currently we have to bootstrap and expose services, components, pipes, ... in the root and they're visible and can be used by everyone which is usually not what you want.
I can do a small refactoring of one page and do a PR to make it more clear.

If Ionic 2 allows the use of feature modules, then I can't think of a reason not to use them.
Unless @samvloeberghs has any particular arguments against them here.
Thanks for your great work @SamVerschueren, much appreciated! 👍

They allow it, it's just not documented by them. It should be part of their tutorial imo.

Thanks for your great work @SamVerschueren, much appreciated! 👍

My pleasure :)

I'm all up for modules :)
Modules all the way!!!

#wontfix, repo deprecated


Added 'namespace' tag to queries

This will allow the results to be grouped by namespace and not dependent on any particular one.

Have you verified if the results of both the queries is the same?

Yes verified each query (even the alerts, but could not fire each and every alerts, so tested the query without the condition. ie for eg:  'SOME-QUERY' > 0.75, just tested the 'SOME-QUERY' part to see it is giving appropriate results or not)

Another related change added through PR:https://github.com/red-hat-storage/ocs-operator/pull/2008
@umangachapagain ^

/test ci/prow/ocs-operator-bundle-e2e-aws

/test ocs-operator-bundle-e2e-aws

Good to go, let me know if anything to be changed

/test ocs-operator-bundle-e2e-aws

/cherry-pick release-4.13

/test ocs-operator-bundle-e2e-aws

/cherry-pick release-4.12


Single interface for choosing links to anything

It would be nice if a unified link widget could be created so that when creating content that links elsewhere, three fields weren't required to allow the user to choose the link destination.
Take for example a model representing a "teaser": a title, an image and a link.
The user wants to sometimes link to internal pages, sometimes external ones, and sometimes internal documents. The only way of achieving this presently is by having two "chooser" fields (Page chooser and Document chooser) and one text field, then writing opaque template logic to favour one field over another. (Or using a regular UrlField and having the user manually find the URL they want and typing it in, but that's not a real solution)
Having three fields in the model isn't a big deal, if that were unavoidable, but the experience of those three fields as an editor needs addressing.

+1 we would love to see this at UChicago.

+1
Little Weaver was just discussing this, so I checked to see if there was already a ticket for it. :)

+1, would love to see this!

+1

We're some years on now from this original issue posting, have things changed at all?
The Richtext editor has a link/page selection screen which works great. Is it possible to use this as a standalone chooser?
I want to add a ButtonBlock and a CTABlock that enables the author to choose a page or enter their own link.

For people interested in this, the easiest way to do this is with a StreamField StructBlock that contains document/page/URL link blocks, like wagtail-jetstream does:
https://github.com/caltechads/wagtail-jetstream/blob/ebc2a36c6b76f25517e0c954b0c32ebe33732839/jetstream/blocks.py#L118-L151
Then jetstream has a link_url template tag which automagically outputs the correct URL based on which block was chosen in the CMS: https://github.com/caltechads/wagtail-jetstream/blob/ebc2a36c6b76f25517e0c954b0c32ebe33732839/jetstream/templatetags/jetstream_tags.py#L212-L225

I think it might be useful for Wagtail to have some version of this (or something better) built in, so I’ve tagged this as Needs Design Decision so we have a core team discussion at some stage.

It would be great if the URLBlock would have the same Link Modal as the one used in the RichTextBlock. It allows to add external URLs or internal pages.

FYI for people still interested in this, we’re considering bringing this in as part of the Page editor 2022 project, as part of general chooser improvements. Follow this discussion thread for upcoming updates / requests for feedback about choosers.

+1 would love a standalone link widget and link stream block using the same interface as the link modal for richtext field.
I think it can probably be done by tweaking AdminPageChooser: overriding get_chooser_modal_url to add the get parameters ["allow_external_link=true", "allow_email_link=true", "allow_phone_link=true","allow_anchor_link=true"], you get the same UI as the richtext link plugin. But then I didn't go much further than that since I'm not familiar enough with wagtail internals. The goal would be for that widget to validate and return a link string.


Outdated cask: utox

Outdated cask: utox.
Info:

version: 0.9.8.
appcast url: https://github.com/uTox/uTox/releases.atom.

Please do not run find_outdated_appcasts unless you are a maintainer.


[BrokenLinksH2] Fix path in link

removing broken link, file not found

Docs Build status updates of commit e663338:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

officedocs-dev-outlook-pia/xml/Microsoft.Office.Interop.Outlook/MAPIFolder.xml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@lindalu-MSFT - This PR is still open; would you be able to go through it if you have permission to review and merge it. Or if there is someone to whom I might be able to address, I'd very much appreciate that. Thanks!

Docs Build status updates of commit dfacebd:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

officedocs-dev-outlook-pia/xml/Microsoft.Office.Interop.Outlook/MAPIFolder.xml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Add TCK utility tests

Brings over the tests for the TokenUtils class that's used to create JWTs used throughout the TCK.

@sberyozkin Here are the utility tests like we talked about. Let me know if I missed anything. I also made some minor updates to a couple pom.xml files to reference the parent org.eclipse.microprofile:microprofile-tck-bom; that was the reference I was missing that allows the version to be omitted from the dependencies in the tck/pom.xml file.

Thanks @ayoho

@ayoho It works OK, thanks. have one question only


Editing in HTML module doesn't show files for image manager

Description of bug
See https://dnncommunity.org/forums/aft/333#1438
Steps to reproduce
List the steps to reproduce the behavior:

Clean DNN 9.4.0 installation
Edit HTML Module
Browse Server

Current result
only Root folder is shown
Expected result
All folders and files should be shown.
See details in https://dnncommunity.org/forums/aft/333#1438
Screenshots
If applicable, provide screenshots to help explain your problem.
Error log
It's in the thread mentioned
Additional context
Add any other context about the bug that may be helpful for resolution.
Affected version

[ ] 10.0.0 nightly build
[ ] 9.4.1 nightly build
[x] 9.4.0 latest supported release

Affected browser

[ ] Chrome
[ ] Firefox
[ ] Safari
[ ] Internet Explorer
[ ] Edge

Did you sync database with file system and check folder permission (both in DAM)?

Yes, multiple times.
The installation was done using nvQuickSite.
On Wed, Sep 18, 2019 at 2:24 PM Sebastian Leupold<EMAIL_ADDRESS>wrote:

Did you sync database with file system and check folder permission (both
in DAM)?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dnnsoftware/Dnn.Platform/issues/3004?email_source=notifications&email_token=ABEDMRK7ZKF6Y57TW3QYJ6DQKJW5TA5CNFSM4IYBLL6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7A75KY#issuecomment-532807339,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABEDMRJU5QW722CPJPWAHRTQKJW5TANCNFSM4IYBLL6A
.

I cannot reproduce in 9.4.0
@jncraig Can you check if the permissions on those subfolders (and the root folder maybe too) are like this:

After my clean install, the Root folder had no privileges for All users,
but had full privileges for Administrators.
I added a Browse permission for All Users, and the directory structure
appeared when I edited a HTML module. (Clear Cache, Restart)
I removed the  Browses permission for All Users and, after clearing the
cache and restarting the site, things still work correctly.
I created a Test directory under Root and uploaded a jpg file to the new
directory.  I also uploaded a jpg to Root.  The file uploaded to Root is
not visible.  After a number of pokings around, the file in Root is not
visible (even after adding back the Browse permission).
On Thu, Sep 19, 2019 at 3:06 AM Daniel Valadas<EMAIL_ADDRESS>wrote:

I cannot reproduce in 9.4.0
@jncraig https://github.com/jncraig Can you check if the permissions on
those subfolders (and the root folder maybe too) are like this:
[image: image]
https://user-images.githubusercontent.com/6371568/65221162-6cf75000-da8a-11e9-8d32-34c4d2888c11.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dnnsoftware/Dnn.Platform/issues/3004?email_source=notifications&email_token=ABEDMRKSGV2K3O2XJ2MUOWDQKMQHNA5CNFSM4IYBLL6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7CONSQ#issuecomment-532997834,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABEDMRIHLDX5IFB3UTNICUTQKMQHNANCNFSM4IYBLL6A
.

Strange, do you have any other pointers to figure this out?

Are there differences in the filenames that work and don't (special characters) ?
Are there errors in the browser console ?
Are there interesting logs in Portals/_default/logs ?
Are there errors in the Admin Logs ?

Basically I don't know.
The  person who posted in the forum said they saw only Root, no folders
below it and no files.
I did a clean install, and basically saw the same thing.  I used
nvQuickSite to do the install (quick and easy).
I went to site assets and fiddled with permissions, it started working, and
I put permissions back and it continued to work.
I have jpg files in Root and don't see them.  Yes, I even try selecting
Root.  I see jpgs in a folder I created.
I didn't look for errors.
If I get some energy tomorrow, I'll try to do the whole thing again and see
if I can repeat.
On Thu, Sep 19, 2019 at 4:56 PM Daniel Valadas<EMAIL_ADDRESS>wrote:

Strange, do you have any other pointers to figure this out?

Are there differences in the filenames that work and don't (special
characters) ?
Are there errors in the browser console ?
Are there interesting logs in Portals/_default/logs ?
Are there errors in the Admin Logs ?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dnnsoftware/Dnn.Platform/issues/3004?email_source=notifications&email_token=ABEDMRPPNNFKWCUIOYC7WILQKPROZA5CNFSM4IYBLL6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7EZVIY#issuecomment-533306019,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABEDMRKG2EF6NSKNIAYY57DQKPROZANCNFSM4IYBLL6A
.

In the spirit of cleaning the backlog I am closing this issue, if you can come up with more details or an accurate way to reproduce, feel free to comment here or open a new issue.

I tested this in a clean install of 9.4.1.  The problem is still there.
Please reopen.

If we cannot reproduce, reopening the issue as is will only jam the backlog.

After my clean install, the Root folder had no privileges for All users,
but had full privileges for Administrators.

This part does not happen for me... Anyone else can see this happening?

Basically I don't know.
The  person who posted in the forum said they saw only Root, no folders
below it and no files.

Did you open this issue for an issue someone else is having, just trying to figure out how to make it happen here and if it could be environment related...

Are there differences in the filenames that work and don't (special characters) ?
Are there errors in the browser console ?
Are there interesting logs in Portals/_default/logs ?
Are there errors in the Admin Logs ?

There was no reply to these questions, we need some way to make this issue actionable in order to reopen or it will just never get resolved...

I have been able to reproduce this on two different computers with 9.4.1.
When I get a chance I'll try to document this better, but may be a couple of weeks.
Basically, install 9.4.1 and go to edit a HTML module.  I generally install a blank site and edit an empty HTML module on the home page.  Click the image tool, browse server for an image and you'll see only the root folder.  Create a folder, it works but you cant see it.  Upload an image into the root folder, and you won't be able to see that either.

I have confirmed this issue on two servers as well, one a localhost and one production, both 9.4.1.

Guys, please add details, if developers cannot reproduce the issues, they just increase the backlog and the issue will never get resolved. Please reply to these questions as a starter:
Are there differences in the filenames that work and don't (special characters) ?
Are there errors in the browser console ?
Are there interesting logs in Portals/_default/logs ?
Are there errors in the Admin Logs ?

DNN 9.4.1, updated from 9.3.2.
To produce issue:

Edit an HTML module's content.
Click the insert image button on the toolbar.
Click the 'Browse Server' button.
Notice that the only folder you can see is the 'Root' folder, with no ability to access subfolders.

Admin Logs show no entries for this process/time-frame.
Browser console errors are as follows
JQMIGRATE: Migrate is installed with logging active, version 3.0.0 jquery-migrate.js:18:36 JQMIGRATE: jQuery.expr[":"] is now jQuery.expr.pseudos jquery-migrate.js:62:12 console.trace() jquery-migrate.js:64:13     jQuery 5 JQMIGRATE: jQuery.expr.filters is now jQuery.expr.pseudos jquery-migrate.js:62:12 console.trace() jquery-migrate.js:64:13     jQuery 6 JQMIGRATE: jQuery.fn.bind() is deprecated jquery-migrate.js:62:12 console.trace() jquery-migrate.js:64:13     jQuery 3         migrateWarn         bind         hoverIntent     dnnModuleActions http://localhost/dotnetnuke/admin/menus/ModuleActions/ModuleActions.js?cdv=1282:402     setUpActions http://localhost/dotnetnuke/Home/ctl/Edit/mid/3417?popUp=true:85     <anonymous> http://localhost/dotnetnuke/Home/ctl/Edit/mid/3417?popUp=true:195     jQuery 2         dispatch         handle
The above warnings happen when the HTML editor loads. No additional entries are logged when the 'insert image' button is clicked on the toolbar.
I tried this on two production systems and one localhost test system all with essentially the same result. The production system using dependency handlers was slightly different:
The script from “https://website.ca/dnn.controls.dnntoolbar.js” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type. Loading failed for the <script> with source “https://website.ca/dnn.controls.dnntoolbar.js”. JQMIGRATE: Migrate is installed with logging active, version 3.0.0 js:636:158 JQMIGRATE: jQuery.expr[":"] is now jQuery.expr.pseudos js:641:266 console.trace() js:641:337     migrateWarn https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:641     get https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:642     <anonymous> https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:737     <anonymous> https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:668     <anonymous> https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:668 JQMIGRATE: jQuery.expr.filters is now jQuery.expr.pseudos js:641:266 console.trace() js:641:337     migrateWarn https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:641     get https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:642     <anonymous> https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:1722     <anonymous> https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:1763     <anonymous> https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:668     <anonymous> https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:668 JQMIGRATE: jQuery.fn.bind() is deprecated js:641:266 console.trace() js:641:337     migrateWarn https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:641     bind https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:663     hoverIntent https://website.ca/DependencyHandler.axd/b05e51c96ccee28759b2461c740ddc8c/734/js:3     dnnModuleActions https://website.ca/DependencyHandler.axd/b05e51c96ccee28759b2461c740ddc8c/734/js:42     setUpActions https://website.ca/home/ctl/edit/mid/763?popUp=true:86     <anonymous> https://website.ca/home/ctl/edit/mid/763?popUp=true:196     dispatch https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:315     handle https://website.ca/DependencyHandler.axd/fca0ea5a756c91444cd1b189d28bf741/734/js:301
Nothing seems unusual in Portals/_default/logs .
Happens with existing HTML modules and with newly added HTML modules
All these systems were updated from 9.3.2 to 9.4.1, so I tried another production system that was updated from 9.2.2 to 9.4.1 and it worked properly. I can't think of another significant difference among the systems.

In my case, this is a clean install of DNN 9.4.1 and I've done it on two different computers with the same result.
- Are there differences in the filenames that work and don't (special characters) ?
Not that I can tell.  File names are PICT0054.jpeg and 67696103_945160749154434_3752235102260690944_n.jpg
This is what Site Assets shows.

This is what is in the edit window.

The image in the Root directory is not shown.  The other directories under the Root directory are not shown.

Are there errors in the browser console ?

None

Are there interesting logs in Portals/_default/logs ?

This is the contents of today's log file, after I've done several things, including editing the HTML module and trying to insert an image.
2019-10-09 12:35:12.004-04:00 [Surface-Joe][D:2][T:36][ERROR] DotNetNuke.Services.Exceptions.Exceptions - System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext()
2019-10-09 12:35:12.194-04:00 [Surface-Joe][D:2][T:36][ERROR] DotNetNuke.Services.Exceptions.Exceptions - System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext()

Are there errors in the Admin Logs ?

No.

I've just discovered that this seems to be portal dependent. Some portals on my localhost test server have this problem, while others do not.  I will investigate more to try and find differences.

Awesome, reopened issue, now we have something to work with, thanks guys.

I still have no clue why, but at least we now have something to look at. @TopCat6 if you find the common difference between those portals that work and do not work, please drop hints in here for comparison with other people that are experiencing the issue.
One thing that comes to mind would be the portal folder name, are they all like:
Portals/0, Portals/1 and so on or are there some names ones with maybe spaces in the path like "Portals/My Portal" ?

Initially folder permissions look like this (for Root and for its children):

I set permissions for the Root and copied to children:

Now, if I go to edit the module and browse server:

Hmm, interesting. Yes one thing is that you need browse files permission to view them there. now for the missing file I have no clue though...

Shouldn't the permissions for administrators suffice, given that I'm logged
in as an administrator?  And, when I turn off the permissions for all
users, the correct behavior persists!!!
And, my portal is portal 0.  I created another portal 1 and the same
behavior happens.
On Wed, Oct 9, 2019 at 1:38 PM Daniel Valadas<EMAIL_ADDRESS>wrote:

Hmm, interesting. Yes one thing is that you need browse files permission
to view them there. now for the missing file I have no clue though...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dnnsoftware/Dnn.Platform/issues/3004?email_source=notifications&email_token=ABEDMRLKQOHLIBTA24PIP5LQNYJK5A5CNFSM4IYBLL6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAYWROI#issuecomment-540108985,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABEDMRJMB7OMO4RBILDGBGTQNYJK5ANCNFSM4IYBLL6A
.

Portals are just numbered, like Portals/18 etc. The portal numbers do not seem to correlate to the problem, i.e. 26 works, 27 no, 28 no, 30 works.
However, this is weird... I'm signed in as host/superuser but I can't see these subfolders. I usually put images etc. in a folder called Media off the Root. If I go into Site Assets and set All Users permissions for Browse Files and Open Files for the Media folder, then I can see the folder and files in the HTML editor. Here's the weird part: If I then remove those All Users permissions from the Media folder so that only the default Administrators have permissions, then I can still see the Media folder and files in the HTML module, even after clearing cache and restarting the app.
So I try this work-around on a production site and it works:
I go into Site Assets, change Permissions on the Media folder to All Users, then immediately remove those same permissions. I go back to a page and edit and it works. Strange, but I now have a work-around.

Well, that is strange, gotta dig into that code to find the logic about it. I was asking about the portals folder because I had issues in the past with a client creating portals with spaces in the portal folder name, so I was guessing maybe that was it...

Just to try and add to this:
Are there differences in the filenames that work and don't (special characters) ?
No
Are there errors in the browser console ?
None that I can see.
Are there interesting logs in Portals/_default/logs ?
I'll need to check this.
Are there errors in the Admin Logs ?
No.
Also I can confirm that a site I upgraded to 9.4.4 is now broken where once it was working so maybe this eliminates some factors for the devs like portal folder names...

I had to upgrade a v8 DNN install with 6 portals so I went to 9.4.3 but all but one portal now has this issue. It does seem a @TopCat6 mentions that it is some portals within an install and not all. Also I note that the portals that are not working don't show the folder structure in the root folder except for one which shows just a couple of the folders in the root structure. I'm not sure what the difference is that would cause that behavior.

@andyduo try this workaround:  go into Site Assets, change Permissions on the root, or in the case of those portals showing some folders, the deepest folder (in the path that does not show) to All Users, then immediately remove those same permissions and put them to what they should be. Go back to a page that was a problem and edit, and see if it works. Hopefully, that will give you a work-around.

@TopCat6 Thanks for that, I have tried your workaround but it doesn't seem to make any difference to being able to access the files in the root folder.

On my test site I just installed the CKEditor Editor Provider v2.1.27 https://github.com/w8tcha/dnnckeditor/releases/tag/v02.01.27 and can successfully browse the root folder on an affected portal.

Interesting, maybe it is an issue with https://github.com/DNN-Connect/CKEditorProvider/issues
Could it be that the missing files would have an apostrophe ('), there are 2 issues logged there. I already asked about special characters, but just in case :)

No special characters for me. I do suspect CKEditor V1.07 as the culprit but I'm not a developer so just a hunch from the experiments I've been doing to try and figure this out.

@valadas Do you want me to open this as a new issues for CKEditor?

Well, good question, it is also a hunch on my side since I cannot reproduce the issue I am not sure what causes it.

there might be an issue with folder permission on your site.
Go to Site Digital Asset Management, right click the root folder, select properties.
Check folder permission and click save (even if you didn't change any permission).

@sleupold This has all been checked. I have more than one site with the issue and each site has multiple portals where some portals are affected and other aren't. I'm also not alone with the issue as others have reported the same behavior. I believe it is a bug with v1.07 of the editor as other modules such as 2sic's Content module have no issues accessing the folders structure. The issue is unique to the CKEditor.
On that note, is there any way of installing an earlier version of the editor to use instead? Or an alternative supported provider that could be used of the affected sites? I've basically stopped upgrading my sites as it is introducing the issue to any sites I do upgrade.

I have the same problem on 3 sites that are on 9.41, 9.44 or 9.5
I can see sub folders but no images.
None of my images have strange characters
File permissions have been set and synced, several times including to All users
One thing I notice if you select the Link icon and then browse the server then you can see all files
In the Url for the Browse server page, changing Type=Image to something else like Type=xxx makes all of the files appear

I have reported this as an issue on the CKEditor Github here as I believe this is where the issue most likely is coming from: https://github.com/DNN-Connect/CKEditorProvider/issues/146

@tstallan I can confirm changing the type from image in the url works as well.

I am closing this issue as it needs to be handled in the other repository, if it ends up needing to be done here, please comment and I will reopen

Reopening this issue as we are moving that project to this repository.

Just upgraded a bugged site to DNN 9.9.0 but have the same issue with image manager. As an experiment I switched to the CKHtmlEditorProvider (Not supported by the HTML Editor Manager) and the image browser works fine. So for fun I copied the Browser.aspx from the CKEditor/Browser folder into the DNNConnect.CKE/Browser folder and I could see all the images in the Root folder. Of course it had no styling so looked a mess but it actually worked.
So maybe the error is in the Browser.aspx file? Maybe this helps narrow down what/where could be causing this issue?
Other thing to mention from earlier comments is that if you remove or change the URL so it does not say 'Type=Image' it will then show everything in the root folder.
Example change:
/Providers/HtmlEditorProviders/DNNConnect.CKE/Browser/Browser.aspx?Type=Image&tabid=20&PortalID=0&mid=353&ckid=txtContent&mode=Portal&lang=en-US
To:
/Providers/HtmlEditorProviders/DNNConnect.CKE/Browser/Browser.aspx?Type=ImageXX&tabid=20&PortalID=0&mid=353&ckid=txtContent&mode=Portal&lang=en-US

Just in case someone is still working on this. I have 2 DNN installations. Both are on DNN 9.9.1. One was not showing anything under the Root folder for any of the portals. The other was fine. Troubleshot for about a week and was able to fix it.

Both installation had concurrent installations and upgrades over the last dozen years or so. Didn't have the problem until recently. Not sure which upgrade (9.4, 9.8, 9.9.1) it occurred.
Restored both DNN installations on my local server that I use for testing modules and upgrades prior to releasing them to production. They both run off of the same system, IIS and SQL. All directories have identical rights. The problem remained on the one installation and not the other.
After reviewing the installations, I compared various files in VS Studio Code. Noticed that the CKEditor config files had slight differences.
Checked CKEditor provider version on both installation. The faulty installation had CKEditor Provider 2.0.14 while the other was on the newer version for DNN 9.9.1,
The CkEditor Config Manager module was still on 2.0.14 as well.
The DNN Connect CKEditor Provider was on 9.9.1 for both installations.
Upgraded the good installation with CKEditor 2.1.27. Still no problems on that installation.
Upgraded the faulty installation with CKeditor 2.1.27. Still only showed Root directory entry.
Based on the comments here and other places, I checked for bad filenames that might break the CKEditor routines. All were fine.
Then realized that the faulty installation had a 'abandoned' portal directory. There was no content and no '-System' directory. Checked the Portal table in the database and that portal didn't exist there. Checked my records and that portal was deleted years ago, but somehow the main directory number was not removed.
Removed the directory, cleared cache, restarted the application. Problem remained.
Went to one portal and using the 'site assets' module, clicked on the site root folder and used the 'sync this folder & subfolders'.
The sync started but the image indicating progress remained for a VERY long time. Finally after several minutes and my trying reloads, the page refreshed.
Went to a page and opened an HTML module that formerly didn't work. Clicking on the image icon in the toolbar, going to the 'browse server' button. All files and directories are now showing.
Checked several other portals on the installation and they all showed the correct files and directories without having to sync. that particular portal's files.

Conclusion:
According to my records, the empty portal directory should have been deleted a couple of years ago when I used the 'delete portal' function. For whatever reason, it appears it didn't finish the removal properly.
The empty portal directory didn't appear to affect earlier installations. I haven't restored other backups to confirm exactly when, but I believe it was okay until around 9.4.
Instead of reviewing code, I'm guessing that the update scripts for one on the upgrades didn't remove the directory but didn't throw an error. I haven't seen an error during upgrades of my development or production servers. I have not checked the actual logs however.
TD;LR
Broken installation will not show files or directories
Upgraded to CKEditor 2.01.27
Deleted orphaned portal directory from previous site
Synced Root folder in one portal.
All portals work.
Hope this helps someone else. I'm leaving the code review and fix for the real brains here.

This is interesting stuff. So you managed to fix your site somehow by doing those things. Interestingly though, I have a site that was a clean install that has the issue and is already using the latest CKEditor Provider 2.1.27 and no previously deleted portals. I had a quick mess round to see if anything you did would fix mine but no luck so far.

During this testing, I also did clean installs of 9.8 and 9.9.1 but didn’t have the problem on them.
One thing to note is that those installs don't have a separate entry for the CKEditor listed in the Providers or Modules section of the Extensions menu. Only the DNN Connect CKEditor Provider is listed. But yet, when using it in the Site Settings, it's obviously accessing the CKEditor and allowing modification of it's settings. And, in the HTML module it's the CKEditor being used.
I am on the latest version of IIS. Even running on Windows 11. I will apply these fixes to production this weekend.
As far as the missing directory I had vs. the bad filenames that others have suggested, it appears that more than one issue may be affecting the CKEditor installation.
Good luck.

In the spirit of cleaning up the issue backlog, I am closing this issue as it looks it requires some set of pre-existing conditions which are very hard to reproduce for a developer to test out and implement a fix.
If anyone has very clear steps to reproduce this from scratch, please do add those instructions step by step so we can make this issue actionable.

I actually just ran into this today on one of our clients' sites. They are on 9.9.1. But we did remove telerik and are using the new resource manager module. I can't seem to figure it out. No console errors, no admin logs.

@cklenk what's your server environment? I'm on win2016.
I've spent hours tinkering around trying to work out the cause without success. I basically have about 20 odd DNN installs I can't upgrade as it introduces this bug. At this stage moving forward I've moved away from using DNN for future site builds until I can figure it out.

@cklenk So it's not server version then. For me host and admin are both broken. It seems a bit random if it works for you as host but not admin. It seems to only be the root folder of the portal that doesn't work. I can create new sub folders and see everything in those.

I'm facing the same problem after continues upgrade from DNN 7 to latest one.
Sharing experience :
Turn out IsProtected field on Table Folders been set to true, especially on Portal Root Folder.
Set it to false, and clear cache will display the image on image manager.

@erw13n Do you mean in the actual database you changed this or is there a setting somewhere in the DNN admin panel?

@andyduo I change it directly on database, don't see how to change from admin panel.

@erw13n Awesome! Thanks for sharing this. I have a few sites that have this issue I can finally fix!

Been having this issue myself and the problem is on the GetFoldersByPermissions SP. There's some bad logic in there even in DNN 9.10.2.

@valadas is this worth reopening given the possible cause is outlined above?

@vmasanas do you have any details, happy to reopen if we have some clue but if not, it just clutters the backlog...


Enhancement: Add React to Edge DevTools

Add react functionality from https://github.com/facebook/react/tree/master/packages/react-devtools

Browser extensions are massive security and data governance liabilities, and therefore not even allowed anywhere near many environments. Default inclusion of browser extensions or any automated installation mechanisms would make this extension a definite no-go.
Adding/fixing support for manually installed browser extensions would be fine though (but performance profiling tabs integration first please!). Currently this extension fails to attach to or launch Edge with extensions (well, at least the two I tested).

Turns out we already have an issue tracking this: #1039. So closing this one as a duplicate.


Collect user statistics and show it for fun

Smt like today you executed 1m queries!

We can try to use http://metrics.dropwizard.io/3.1.0/getting-started/


please add some document about new API (onLoadEnd)

Hi,
Thanks for merge #107 PR but I think we need some document about new API. How we can get image height and weight for loaded image from onLoadEnd?
/CC: @DylanVann, @jeremyclee, @ararog

A new version has been published. Documentation has been added to the readme.
The information is added to the onLoad callback, since in the case of an error and onLoadEnd callback would not have had the info.


Issue with Dataset Download

Hello, I am very interested in your project and wanted to try downloading the dataset. However, when I attempt to download ShadingNet_Dataset_Release.z05, the following error appears:
{ "message": "Storage exception: Unexpected scenario inst_id=201 state=ic_failure", "code": "StorageException" }
I have tried downloading with both Chrome and Edge browsers, but I encounter the same issue. Could you please advise me on how to resolve this problem?

Hi!
Thanks for you interest! Regarding the issue, strange that it's that one download that doesn't work. It might be that the link is corrupted and pointing to an invalid download. I will have to contact with the people managing our data storage servers.
But in the meantime, I have reuploaded that part again, so if you now go to the link, you should see another ShadingNet_Dataset_Release.z05 at the end of the list. That should download without any issues. I just checked it myself.
Thanks for bringing the issue to attention. Hopefully everything else works out!
Cheers.

Hello,
I saw the new file and have successfully downloaded it.
Thank you very much for your help!
Wishing you a wonderful day!

Glad to hear that worked! I'll close the issue. But feel free to reach out if you need help.


How can I make a drag element also be a dropzone?

Hi! Is it possible to make a drag element also be a dropzone?
Currently I have a list of elements I can reorganize via drag and drop. However I would also like to be able to drag elements from another list inside the elements of the former one. Is it possible ?
I have a list of elements I can reorganize : Colors, Components and Text Styles. These are drag elements. And I want to be able to drag elements from another list into these three elements as shown below:

Thanks in advance 🙂

Just like the Nested demo, adjust the style, it should be able to achieve the effect you want.


asciidoctor: WARNING: conversion missing in backend pdf for stem

Hello, I am new to asciidoc. I wrote an asciidoc in which I use stem as explained in https://asciidoctor.org/docs/user-manual/#activating-stem-support. But when I try to produce a pdf I get an error:
$ asciidoctor-pdf chap01.adoc
asciidoctor: WARNING: conversion missing in backend pdf for stem

and the generated pdf does not render STEM content. I have installed asciimath gem
$ gem install asciimath
Fetching asciimath-1.0.8.gem
Successfully installed asciimath-1.0.8
Parsing documentation for asciimath-1.0.8
Installing ri documentation for asciimath-1.0.8
Done installing documentation for asciimath after 0 seconds
1 gem installed

I also tried some other variations of generating pdf but none of them worked.
$ asciidoctor-pdf -a stem -r asciidoctor-pdf  -b pdf chap01.adoc

How can I fix this?

To get STEM support for Asciidoctor PDF, you need to use asciidoctor-mathematical. This is covered in the README here: https://github.com/asciidoctor/asciidoctor-pdf#stem-support
This is esseentially a duplicate of #1113.
(There's also an experimental extension for using mathoid in the extension lab. Please see https://github.com/asciidoctor/asciidoctor-extensions-lab/issues/105 for the future plans).

Thanks @mojavelinux I tried following the steps to install asciidoctor-mathematical. I was able to brew install glib gdk-pixbuf cairo pango cmake
and followed it by installating the font dependencies. But when I rangem install asciidoctor-mathematical I am getting errors. see https://gist.github.com/siddjain/1977083addcff41e9a474dcac42ea02c
How can I fix that?
The doc says

If you experience any compilation errors (caused by Mathematical) try running: brew link gettext --force (you can unlink the libraries later if you want).

I am not sure what above does. How can I "unlink" later on? SHould I even try this?

As I mentioned in #1113, this is not the correct place to discuss asciidoctor-mathematical (because the code for it is not here). Please look for or open an issue in the asciidoctor-mathematical project to get help.
(FYI, the mathoid extension is likely going to be a lot simpler since it doesn't require native libraries. However, that project still hasn't materialized, as we're discussing in https://github.com/asciidoctor/asciidoctor-extensions-lab/issues/105).

OK, so the TL;DR I am getting is that typesetting math is not supported in asciidoc.
Could someone give me instructions on how to use mathoid? We cloned the extensions repo. first we got this error while trying to run the sample:
https://gist.github.com/siddjain/fe38bcb39645ee0d37364f953b9a4a8a
Then after some searching it became apparent that we have to npm install mathoid. we tried that and got this error:
https://gist.github.com/siddjain/9502cd45ca56f7f19e03ad5897717527

From: Dan Allen<EMAIL_ADDRESS>Sent: Friday, July 26, 2019 5:33 PM
To: asciidoctor/asciidoctor-pdf<EMAIL_ADDRESS>Cc: siddjain<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [asciidoctor/asciidoctor-pdf] asciidoctor: WARNING: conversion missing in backend pdf for stem (#1176)
As I mentioned in #1113https://github.com/asciidoctor/asciidoctor-pdf/issues/1113, this is not the correct place to discuss asciidoctor-mathematical (because the code for it is not here). Please look for or open an issue in the asciidoctor-mathematical project to get help.
(FYI, the mathoid extension is likely going to be a lot simpler since it doesn't require native libraries. However, that project still hasn't materialized, as we're discussing in asciidoctor/asciidoctor-extensions-lab#105https://github.com/asciidoctor/asciidoctor-extensions-lab/issues/105).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/asciidoctor/asciidoctor-pdf/issues/1176?email_source=notifications&email_token=AAFZEMK4EYLYX3A62M3QUWTQBOJWJA5CNFSM4IHHZ3QKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD257XHI#issuecomment-515636125, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAFZEMJCSAKBFCGEADAQYN3QBOJWJANCNFSM4IHHZ3QA.

OK, so the TL;DR I am getting is that typesetting math is not supported in asciidoc.

That is not the TL;DR. The TL;DR is that stem support is provided by different integration libraries for different backends. For PDF, the integration library is currently asciidoctor-mathematical. Due to the requirements of asciidoctor-mathematical, it can be hard to install on some machines. But it works perfectly well in the Asciidoctor docker image. If you need help, spreading FUD is not how you get it. It's asking honest questions in the right channel.
If you have questions about the mathoid integration, please ask on this issue: https://github.com/asciidoctor/asciidoctor-extensions-lab/issues/71


fix inverted surrender team in RoundEndReason

Hm, do you have a Source for this? How many demos did you test it with?

I tested on 2 demos but only with T as surrenderer.
I'm thinking now that maybe there is a new reason?

Hm, might be. I'm merging it as I have no counter-example.
Maybe it is because both teams surrendered in the 2nd half and it refers to the starting side?

The surrender occurs on demos I tested at ~ 10 rounds (1st side).


Generator produces identical assertion methods when class has field/property clash

Suppose that you have a class with a public field called data and a public method called getData(). At present the generator will generate an assertion method hasData(...) for both, which at best is confusing and at worst produces a compile error (if they both have the same type).
I have run into a real-world example of this which produced a compiler error. Arguably it is not best coding practice, however I believe that we could (and should) handle it more gracefully.
I thought of submitting a patch which renames the field assertion to (eg) hasDataField() in the case that it finds a clash. That fixes my immediate problem, however it is imperfect as it introduces other theoretical clash possibilities (eg, if you also had a method called getDataField()). I'm open to other suggestions.

I would rather just avoid to generate one the hasData assertion method (assuming getData() just returns data).

Thinking out loud for a bit...
I thought about that solution - it would have been slightly easier and avoids generating other clash possibilities. However, in the generic case we can't assume that getData() simply returns data.
The problem in my case is that I have is that I am trying to use the generator on a (rather large) third-party code base (which is what has uncovered some of these esoteric issues). If it were my own code I would simply modify it so that the conflict didn't exist. And I assume that if I am having this problem other potential users of the generator may be as well.
Given that I don't know whether the field and the getter serve the same function or if they have different purposes, I thought it best to leave power in the hands of the test developer to choose which they wish to run their assertions against by providing separate assertion methods for each.
However, I also acknowledge that this introduces complications and is not a very common case (even in the code I'm working on it only happens once), so perhaps simply omitting the field assertion is the best solution for now as it avoids unnecessarily complicating the code. If a good case for my solution can be made it won't be difficult to add it in the future.
I'll change my patch per your suggestion.

Hi @joel-costigliola, just so you know I don't have any more PRs in the pipeline, so if you're free feel free to evaluate these & merge/reject them as you deem appropriate. Thanks!

When I'm back from holidays :-)
Le 25 févr. 2015 01:24, "Fr Jeremy Krieg"<EMAIL_ADDRESS>a
écrit :

Hi @joel-costigliola https://github.com/joel-costigliola, just so you
know I don't have any more PRs in the pipeline, so if you're free feel free
to evaluate these & merge/reject them as you deem appropriate. Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/joel-costigliola/assertj-assertions-generator/issues/39#issuecomment-75747095
.


Add links to docs in README.md

cc @rowanmiller

:shipit:

Side note: We need to update the roadmap also. :smile:

@smitpatel good point, I'll do that

And https://github.com/aspnet/Home/wiki/Roadmap...


[FLINK-7170] [cep] Fix until condition when the contiguity is strict

Thanks for contributing to Apache Flink. Before you open your pull request, please take the following check list into consideration.
If your changes take all of the items into account, feel free to open your pull request. For more information and/or questions please refer to the How To Contribute guide.
In addition to going through the list, please provide a meaningful description of your changes.

[x] General

The pull request references the related JIRA issue ("[FLINK-XXX] Jira title text")
The pull request addresses only one issue
Each commit in the PR has a meaningful commit message (including the JIRA id)

[x] Documentation

Documentation has been added for new functionality
Old documentation affected by the pull request has been updated
JavaDoc for public methods has been added

[x] Tests & Build

Functionality added by the pull request is covered by tests
mvn clean verify has been executed successfully locally or a Travis build has passed

I had just one minor comment that I will fix while merging.


 Correctly handles prompt message encoding.
        """

        if sys.version_info < (3,0):
            if isinstance(prompt, compat.text_type):
                # Python 2.x: unicode →  bytes
                encoding = locale.getpreferredencoding() or 'utf-8'
>               prompt = prompt.encode(encoding)
E               UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not i
n range(128)

argh/io.py:41: UnicodeEncodeError

It fails because it don't have locales. How does darwin get utf8 locales?

@domenkozar Thanks for pointing that out.
Let's put this on hold. Darwin sandbox has issues, which prevent test from setting locales. This probably gets fixed, once the on-going fixes for Darwin sandox are completed.

Fixed in master.

@datakurre Do you happen to have the reference to the commit, such that we can keep track of it here?

@nbp No, I'm sorry.
But now when you said that, it's probably nothing in master, which fixed that, but darwin sandbox (chroot on darwin) changes in upcoming Nix 1.11.


drop python3.7

The issue
Drop support for Python 3.7
The fix
It's obvious
The checklist

[ ] Associated issue :  #5819
[ ] A news fragment in the news/ directory to describe this fix with the extension .bugfix.rst, .feature.rst, .behavior.rst, .doc.rst. .vendor.rst. or .trivial.rst (this will appear in the release changelog). Use semantic line breaks and name the file after the issue number or the PR #. : incoming

I will be holding off on this one until we are satisfied that the recent releases are working for the majority of use cases.

Also, this change will conflict with:  https://github.com/pypa/pipenv/pull/5836

No worries, I will wait. And no worries for the conflicting change, I will update my PR, the conflict won't be a big thing.

It is time to take this up again.

I think we're good.

pyptoject.toml needs to remove the python 3.7 support line or else the pip resolver will still try to install this for 3.7 versions.

Also please add a news fragment stating we are dropping support for 3.7

Sorry, some changes had not been pushed. I attempted to go a step more in the cleaning, the even more cleaning commit, but I got errors I did not understand so I reverted it. If you can tell me what was wrong, it could be done in a different PR.

Arg. It should have been squash-merged. But thank you.

@deronnax I've gotten feedback both ways -- usually people want the regular merge because if I squash merge it gives me credit for your commit or something -- anyway, thanks for your contribution!


[proposal] Disclosure stack

Summary
Proposed changes to expose a function to remove the most recent disclosure from the disclosure stack.
This is just a proposal, if/when the approach is OK'd I will add testing and documentation.
Closes #16
Deployment Link

https://terra-application-deployed-pr-#.herokuapp.com/
Testing

Additional Details

Thank you for contributing to Terra.
@cerner/terra

@dkschoonover thank you for your work on this. I think this will work well for your short-term needs. Want to get some tests added so we can move forward with this?

Absolutely!  I will begin work on those now.


fields and schema objects are missing in the json TFCat output

Are missing in the TFCat file the following:
   {
     "fields": {
        "quality": {
           "info": "Quality parameter: -1 (not set), 1 (good), 2 (medium) and 3 (bad quality).",
           "datatype": "str",
           "ucd": "meta.code.qual"
        }

      "$schema": "https://voparis-ns.obspm.fr/maser/tfcat/v1.0/schema#"
   }

Each "property" name MUST be defined in the Fields Object.
3.3.1. Field Object
The Field Object contains the metadata defining one of the "property"
included in the Properties Object members of each Feature Object (see
Section 3.2.1.).  The Field Object is a
JSON object.
The Field Object has a member with name "info". The value of this member contain a description of the "field". The Field Object has a member with name "datatype". The value of this member is one of 'int', 'float' 'bool', or 'str' (TBC) The Field Object has a member with name "ucd". The value of this member is a valid UCD (IVOA Unified Content Description). The Field Object may have a member with name "unit". The value of this member is a valid unit, as defined in the VOUnit specification. If "unit" is not applicable, the member should not be present.

see the function written by @AdamBoudouma to automatically fill the fields object

It should be added in the write_features_to_json function (line 421), file https://github.com/CorentinLouis/SPACE_labelling_tool/blob/master/spacelabel/models/dataset/__init__.py
from tfcat.validate import JSONSCHEMA_URI

with open(path_tfcat, 'w') as file_json:
        json.dump(
            {
                "type": "FeatureCollection",
                "features": [
                    feature.to_tfcat_dict() for feature in self._features
                ],
                "schema": JSONSCHEMA_URI,
                "fields": {
                              "feature_name": {
                                      "info": "Feature Type",
                                      "datatype": "str",
                                      "ucd": "meta.id",
                                      "values": {
                                              "shortname1?": "Definition of shortname1",
                                              "shortname2?": "Definition of shortname2",
                                              }
                                      }
                               },
                "crs": {
                    "type": "local",
                    "properties": {
                        "name": "Time-Frequency",
                        "time_coords_id": "unix",
                        "spectral_coords": {
                            "type": "frequency",
                            "unit": self._units['Frequency']
                        },
                        "ref_position_id": self._observer
                    }
                }
            },
            file_json
        )


Failed to connect to VSCode

Failed to connect to VSCode !data.ok
Machine ID: 44c4870c-7f2c-4f5e-9831-4641c6d5ec4e

[!NOTE]
Book a call

key
value

id
ttNGE3GE8KAz2k4JSAkM8

url
http://localhost:3000/

wifi
4g

cpu
12

mem
8

gpu
ANGLE (Intel, Intel(R) UHD Graphics (0x00009A60) Direct3D11 vs_5_0 ps_5_0, D3D11)

time
1726140267684

items
37

bytes
407

Hi @DARKENFaze , we've just deployed a fix for you. Can you try running the setup script npx million@latest. Once it's done, please restart your VSCode/Cursor. Let me know if that works for you!


Fix rest-auth registration

Closes #39

@camilamaia did you directly add the user in the DB to create a new user? If yes, can you please list the steps for it.
I usually create a super user using the built-in commands since we don't have any mechanism for adding new users to the API.

@Pradhvan the superuser I've created using the manage.py command, as you said:
python manage.py createsuperuser

But people will not need it, since they can use the endpoint now:
/api/v1/rest-auth/registration

Maybe only for running locally, if they want to manage the users directly...

@Pradhvan I see in a different way. This is a REST endpoint, so I believe its obligation is only to register the user. It is not an UI feature, like the login and logout button in the menu bar

These buttons, I agree with you, they should redirect to the previous page/ or home, as you prefer.
What do you think?
(I am merging the PR, but let's keep discussing it here. If we think it is missing the redirect, we can add a new issue)


Which font should I use with your theme?

It's been a while I have been using the pi theme and it's truly served me well. However, when trying to use it on Arch Linux, the font simply won't render properly. Some weird characters pop up.
I have used it with the Fira Mono font and the terminal is Tilda.Everything works fine on Manjaro and ArchLabs. However, on Arch Linux this just has not happened yet.
Do you have any advice? Thanks in advance.

I found out how to fix it.

Thanks for using pi! Glad you're enjoying it 😃

I really am enjoying it. Thanks!! ^^
On Wed, Sep 4, 2019 at 9:22 AM Toby Thomas<EMAIL_ADDRESS>wrote:

Thanks for using pi! Glad you're enjoying it 😃
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/tobyjamesthomas/pi/issues/3?email_source=notifications&email_token=AJNZGAMLKRKUXNPSPLTGNP3QH6R7ZA5CNFSM4IS6CPWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD53MCNI#issuecomment-527876405,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJNZGAKXLWAE4N6IZMJIMKLQH6R7ZANCNFSM4IS6CPWA
.

--
E-mail enviado por João Victor Ribeiro Galvino
E-mail sent by João Victor Ribeiro Galvino


Bump dependencies to match paging alpha11

Btw - I've updated my fork to rebase all the commits on step* branches properly and fixed a lot of the weird double commits, so feel free to check it out there and push those branches over directly if they look good to you!

@florina-muntenescu


Remove the need to write out restart files when we are planning to restart a simulation.

Currently we need to write out restart files using the SaveRestartCallback if we want to restart our simulation later on. Since we also write out our solution snapshots using SaveSolutionCallback this seems redundant. Furthermore, when the user runs a simulation and after finishing realizes that it should run further, they might only have the save solution snapshots.
Therefore I propose to implement reading of the snapshots so that we can restart the simulation. We could then also remove the restart file write out entirely.

Sounds like a reasonable suggestion to me :+1:

Are there any cases when the solution snapshots do not contain all information for restarting the simulation? If not then we can remove the option of restart files, for simplicity.
If I recall correctly, @ranocha suggested that we would need to store some history from the adaptive tie integration in order to get indistinguishable binary files compared to a non-restart simulation. That means that with the restart files as it is currently implemented we won't get this.

Are there any cases when the solution snapshots do not contain all information for restarting the simulation?

Yes. If the solution variables are not the conservative variables, then due to truncation errors during conversion, we will not get back binary-identical conservative states. Thus, it is not possible to do a transparent restart in this case.

@ranocha suggested that we would need to store some history from the adaptive tie integration in order to get indistinguishable binary files compared to a non-restart simulation. That means that with the restart files as it is currently implemented we won't get this.

Correct 👍 However, I have already talked to one of my hiwis, and he will have a look at this as his next project. That is, how to store all relevant information from the time integrator in the restart file such that we get fully transparent restarts also for error-based time step control.

Yes. If the solution variables are not the conservative variables, then due to truncation errors during conversion, we will not get back binary-identical conservative states. Thus, it is not possible to do a transparent restart in this case.

Could we then not just write the solution variables into the snapshots? Those would be the relevant ones anyway. Perhaps we could leave the option to write the conservative variables.


Consider the health of remote endpoints when applying the Split Horizon EDS

Please provide a description of this PR:
I have discovered a bug when PILOT_SEND_UNHEALTHY_ENDPOINTS is set to true and in a multi-cluster, multi-network configuration for a multi-cluster service the cluster endpoints of remote network gateways are neither removed nor marked UNHEALTHY if all endpoints of that service in the respective remote network are UNHEALTHY.
This leads to Envoy sending traffic to unready remote pods if e.g. the locality failover is disabled or set to distribute or local pods of that service are also all unready. It also obviously breaks the contract of Kubernetes of not sending traffic to unready  pods under those conditions.
The current implementation of the split horizon EDS filter is not aware of the SendUnhealthyEndpoints feature and does not handle the case when all endpoints for a service in a remote network are unhealthy. I suppose the proper behavior would be marking the remote gateway endpoints unhealthy if all endpoints in that network are unhealthy.
This patch implements the corresponding fix.

Hi @sangwa. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/ok-to-test

@sangwa: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
74a0d51fd70e1e3458f802e060fa0f0a5b94ac4c
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@sangwa: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
74a0d51fd70e1e3458f802e060fa0f0a5b94ac4c
link
true
/test release-notes

integ-telemetry-mc_istio
74a0d51fd70e1e3458f802e060fa0f0a5b94ac4c
link
true
/test integ-telemetry-mc

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

and in a multi-cluster, multi-network configuration for a multi-cluster service the cluster endpoints of remote network gateways are neither removed nor marked UNHEALTHY if all endpoints of that service in the respective remote network are UNHEALTHY.

What's wrong with this? It looks reasonable to remove the gateway when all the endpoints are unready.

It also obviously breaks the contract of Kubernetes of not sending traffic to unready pods under those conditions.

FWIW, this is being tracked as Envoy issue https://github.com/envoyproxy/envoy/issues/22120

What's wrong with this? It looks reasonable to remove the gateway when all the endpoints are unready.

The gateway is not removed with SendUnhealthyEndponts enabled, which leads to the traffic being sent to a network with no healthy endpoints.
The patch fixes that by marking the gateway endpoints unhealthy as well. Another option is to remove them, but I'm not sure that won't unexpectedly affect recalculated weights if a locality distribute/failover is enabled. (Also SendUnhealthyEndpoints enabled assumes the unhealthy endpoints are sent, not removed.)

What if some endpoints are ready while some are not in remote network?
How would you set the gateway weight? And what will happen for failover?

The current patch indeed does not adjust weights if some (or all) endpoints in a remote network are unhealthy.
When locality failover is disabled, this is easily fixable by skipping the unhealthy endpoints when calculating the aggregate weight for the gateways.
However you're right that with locality failover this is more complicated. If we want Envoy to perform priority routing properly it should be aware of the percentage of unhealthy endpoints in a network, and generated gateway endpoints should be adjusted accordingly.
This seems to require some non-trivial computation and passing the knowledge of whether the locality failover is specifically enabled for the network/cluster topology to the endpoints filter. I'll try to see if it can be feasibly implemented.
Any fix still seems better to me than no fix at all, even if we don't adjust properly for the very particular case of locality failover on the network topology. Without any fix enabling SendUnhealthyEndpoints at the moment actually breaks multi-cluster by allowing traffic to unready remote endpoints.

I would recommend drafting a design to be clear of all the cases, this is far from perfect now.


Data discrepancy found!

Invalid release year 3003 for Lost in Translation it should be 2003 :smile:

Thanks.  Fixed in 1.0.0


[R]: Build system sneaks in rpath which breaks loading: arrow.so: Library not loaded: @rpath/libarrow.1100.dylib

Describe the bug, including details regarding any error messages, version, and platform.
I am fixing R packages for Macports, and while I have apparently fixed arrow itself across macOS versions, I got a problem with R-arrow. Does anyone know where this rpath sneaks in from?
/opt/local/bin/g++-mp-12 -std=gnu++17 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/opt/local/Library/Frameworks/R.framework/Resources/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc -L/opt/local/lib -lMacportsLegacySupport -arch ppc -o arrow.so RTasks.o altrep.o array.o array_to_vector.o arraydata.o arrowExports.o bridge.o buffer.o chunkedarray.o compression.o compute-exec.o compute.o config.o csv.o dataset.o datatype.o expression.o extension-impl.o feather.o field.o filesystem.o io.o json.o memorypool.o message.o parquet.o r_to_arrow.o recordbatch.o recordbatchreader.o recordbatchwriter.o safe-call-into-r-impl.o scalar.o schema.o symbols.o table.o threadpool.o type_infer.o -L/opt/local/lib -larrow -F/opt/local/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
installing to /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-arrow/R-arrow/work/arrow/arrow.Rcheck/00LOCK-arrow/00new/arrow/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
Error: package or namespace load failed for ‘arrow’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-arrow/R-arrow/work/arrow/arrow.Rcheck/00LOCK-arrow/00new/arrow/libs/arrow.so':
  dlopen(/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-arrow/R-arrow/work/arrow/arrow.Rcheck/00LOCK-arrow/00new/arrow/libs/arrow.so, 6): Library not loaded: @rpath/libarrow.1100.dylib
  Referenced from: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-arrow/R-arrow/work/arrow/arrow.Rcheck/00LOCK-arrow/00new/arrow/libs/arrow.so
  Reason: image not found
Error: loading failed

It is not hard to fix this for install (using install_name_tool and fixing paths manually), however I do not immediately see how to fix it inside running tests, but it is desirable to have tests working.
The lib indeed gets this:
svacchanda$ otool -L /Users/svacchanda/Desktop/arrow/arrow.Rcheck/00_pkg_src/arrow/src/arrow.so
/Users/svacchanda/Desktop/arrow/arrow.Rcheck/00_pkg_src/arrow/src/arrow.so:
        arrow.so (compatibility version 0.0.0, current version 0.0.0)
        /opt/local/lib/libMacportsLegacySupport.dylib (compatibility version 1.0.0, current version 1.0.99)
        @rpath/libarrow.1100.dylib (compatibility version 1100.0.0, current version 1100.0.0)
        /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 511.1.0)
        /opt/local/lib/libgcc/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.30.0)
        /opt/local/Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libR.dylib (compatibility version 4.2.0, current version 4.2.3)
        /opt/local/lib/libgcc/libgcc_s.1.1.dylib (compatibility version 1.0.0, current version 1.1.0)
        /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 117.0.0)

What I need is to change this to absolute path, like for other dylibs. But during compilation: since a single command builds the package and runs tests for it, I cannot squeeze in patching via install_name_tool.
Component(s)
R

How are you building the Arrow C++ library? Can you share your full R CMD INSTALL output?
There is a CMake option to use (or not) rpath, defaults to ON: https://github.com/apache/arrow/blob/main/cpp/cmake_modules/DefineOptions.cmake#L206-L207
Sounds like you may want that off? If you're not building Arrow C++ separately from the R package build, you can pass this in by setting the env var EXTRA_CMAKE_FLAGS="-DARROW_INSTALL_NAME_RPATH=OFF"
https://github.com/apache/arrow/blob/main/r/inst/build_arrow_static.sh#L89

Ok. https://arrow.apache.org/docs/r/articles/developers/setup.html#rpath-issues may also be relevant for you. If not, there are several other developer guides at https://arrow.apache.org/docs/r/articles/ that could help, and you can also wade into the configure script if you need more.

@nealrichardson I have rebuilt arrow with advised settings (rpath etc.), now I got another load error with R-arrow:
** testing if installed package can be loaded from temporary location
Error: package or namespace load failed for ‘arrow’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-arrow/R-arrow/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.2/Resources/library/00LOCK-arrow/00new/arrow/libs/arrow.so':
  dlopen(/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-arrow/R-arrow/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.2/Resources/library/00LOCK-arrow/00new/arrow/libs/arrow.so, 6): Symbol not found: __ZNK5arrow8DataType18ComputeFingerprintB5cxx11Ev
  Referenced from: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-arrow/R-arrow/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.2/Resources/library/00LOCK-arrow/00new/arrow/libs/arrow.so
  Expected in: dynamic lookup

Error: loading failed
Execution halted

Perhaps -D_GLIBCXX_USE_CXX11_ABI=0 may be needed.

@nealrichardson Well, things aren’t too bad, given it is 10.6 and PPC: https://github.com/apache/arrow/issues/35083
11 tests fails, mostly due to a single silly locale error. Hopefully can be fixed.

@nealrichardson Oddly, on macOS 11/x86_64 another loading error occurs:
** testing if installed package can be loaded from temporary location
[969](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:972)
  sh: line 1: 53015 Segmentation fault: 11  R_TESTS= '/opt/local/Library/Frameworks/R.framework/Resources/bin/R' --no-save --no-restore --no-echo 2>&1 < '/opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_R_R-arrow/R-arrow/work/.tmp/RtmpJr7boE/fileb7e56efbf75f'
[970](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:973)

[971](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:974)
   *** caught segfault ***
[972](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:975)
  address 0x1425d8, cause 'memory not mapped'
[973](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:976)

[974](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:977)
  Traceback:
[975](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:978)
   1: dyn.load(file, DLLpath = DLLpath, ...)
[976](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:979)
   2: library.dynam(lib, package, package.lib)
[977](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:980)
   3: loadNamespace(package, lib.loc)
[978](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:981)
   4: doTryCatch(return(expr), name, parentenv, handler)
[979](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:982)
   5: tryCatchOne(expr, names, parentenv, handlers[[1L]])
[980](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:983)
   6: tryCatchList(expr, classes, parentenv, handlers)
[981](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:984)
   7: tryCatch({    attr(package, "LibPath") <- which.lib.loc    ns <- loadNamespace(package, lib.loc)    env <- attachNamespace(ns, pos = pos, deps, exclude, include.only)}, error = function(e) {    P <- if (!is.null(cc <- conditionCall(e)))         paste(" in", deparse(cc)[1L])    else ""    msg <- gettextf("package or namespace load failed for %s%s:\n %s",         sQuote(package), P, conditionMessage(e))    if (logical.return && !quietly)         message(paste("Error:", msg), domain = NA)    else stop(msg, call. = FALSE, domain = NA)})
[982](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:985)
   8: library(pkg_name, lib.loc = lib, character.only = TRUE, logical.return = TRUE)
[983](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:986)
   9: withCallingHandlers(expr, packageStartupMessage = function(c) tryInvokeRestart("muffleMessage"))
[984](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:987)
  10: suppressPackageStartupMessages(library(pkg_name, lib.loc = lib,     character.only = TRUE, logical.return = TRUE))
[985](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:988)
  11: doTryCatch(return(expr), name, parentenv, handler)
[986](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:989)
  12: tryCatchOne(expr, names, parentenv, handlers[[1L]])
[987](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:990)
  13: tryCatchList(expr, classes, parentenv, handlers)
[988](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:991)
  14: tryCatch(expr, error = function(e) {    call <- conditionCall(e)    if (!is.null(call)) {        if (identical(call[[1L]], quote(doTryCatch)))             call <- sys.call(-4L)        dcall <- deparse(call, nlines = 1L)        prefix <- paste("Error in", dcall, ": ")        LONG <- 75L        sm <- strsplit(conditionMessage(e), "\n")[[1L]]        w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")        if (is.na(w))             w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],                 type = "b")        if (w > LONG)             prefix <- paste0(prefix, "\n  ")    }    else prefix <- "Error : "    msg <- paste0(prefix, conditionMessage(e), "\n")    .Internal(seterrmessage(msg[1L]))    if (!silent && isTRUE(getOption("show.error.messages"))) {        cat(msg, file = outFile)        .Internal(printDeferredWarnings())    }    invisible(structure(msg, class = "try-error", condition = e))})
[989](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:992)
  15: try(suppressPackageStartupMessages(library(pkg_name, lib.loc = lib,     character.only = TRUE, logical.return = TRUE)))
[990](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:993)
  16: tools:::.test_load_package("arrow", "/opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_R_R-arrow/R-arrow/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.2/Resources/library/00LOCK-arrow/00new")
[991](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:994)
  An irrecoverable exception occurred. R is aborting now ...
[992](https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244#step:8:995)
  ERROR: loading failed

Complete log from buildbot: https://github.com/macports/macports-ports/actions/runs/4682210687/jobs/8295764619?pr=18244