Improve InterruptedException handling in com.eventstore.dbclient.GrpcClient.

Current implementation of com.eventstore.dbclient.GrpcClient.pushMsg(Msg) logs and swallows the InterruptedException. It seems more appropriate to propagate the exception instead (perhaps wrapped in RuntimeException or similar), since this is called on application/caller thread.
There might be other places (in GrpcClient or elsewhere) which could benefit from stricter interrupt handling. (I have checked GrpcClient code but do not have sufficient understanding of client lifecycle to detect any further problems).

Hey @jezovuk ,
That exception will ever occur if the thread got interrupted while we are waiting for msg to be inserted in the queue. In other word, the user has to interrupt the thread they are running on themselves.  I argue there is no value at propagating that exception upward for this reason specifically.

Technically, only if interrupted while waiting, but also if interrupted before attempting the insert (before this.messages.put(msg) is called).
Regarding this:
In other word, the user has to interrupt the thread they are running on themselves.
My scenario is as follows:

I have a 'background service/module' with single-threaded executor running on a schedule (via org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler)
Each execution (task's run() implementation) checks external data source via HTTP/REST call, and if data changes are detected appends new event to ES via call to com.eventstore.dbclient.EventStoreDBClient.appendToStream(...)
After calling appendToStream(...) our code calls join() on returned CompletableFuture (in order to make sure event is indeed appended before moving on with additional logic)
If/when we want to stop this module (we have dozens of similar modules like this in single process/app and we sometimes need to start/stop some of them explicitly), we invoke shutdown() on mentioned ThreadPoolTaskScheduler
This in turn leads to Spring code invoking shutdownNow() on underlying java.util.concurrent.ExecutorService
ExecutorService.shutdownNow() will interrupt the running thread (single thread executor in our case; note that this interrupt is NOT initiated from executor thread itself, but from thread handling the explicit 'stop' request - JMX operation handling thread in our case)
If this stop/interrupt happens before event append operation is called/initiated (and no other operation handles the interrupt before append), com.eventstore.dbclient.GrpcClient.pushMsg(Msg) will catch, log and 'eat' the InterruptedException
Executor thread will forever remain stuck waiting on CompletableFuture.join(), without any notification (an error will be logged, but the thread/code will not be aware of this, obviously)
ThreadPoolTaskScheduler shutdown will eventually time out waiting for underlying executor to stop, but the executor thread will remain stuck forever

If com.eventstore.dbclient.GrpcClient.pushMsg(Msg) were to propagate the interrupt (re-throw InterruptedException), we could/would handle it in our task impl (run() method) and skip any further operations in that run, thus enabling quick and orderly executor (and thus ThreadPoolTaskScheduler and entire module) shutdown.

Technically, not only if interrupted while waiting, but also if interrupted before attempting the insert (before this.messages.put(msg) is called).

The docs are pretty clear on this, it won't happen prior to that point. Also, comment out that put call and there is no InterruptedException to catch.
I do agree though that your scenario warrants propagating that exception. However, I don't see any way to achieve this without breaking the API, I don't think wrapping that exception in a RuntimeException to be satisfactory.
Unless you already have an implementation on your mind, I will need some time to rewrite that part of the code to support your use case.

The docs are pretty clear on this, it won't happen prior to that point. Also, comment out that put call and there is no InterruptedException to catch.

Perhaps I was not precise enough. When I said "if interrupted before attempting the insert", I was talking about Thread.interrput() being called (from another thread) on Thread object representing the trhead pushing the message before it invokes this.messages.put(msg) (or even before it invokes com.eventstore.dbclient.GrpcClient.pushMsg(Msg)). It is clear that actual InterruptedException can only be raised by pushMsg(...) here.
As for proposed solution, I have no problems with wrapping the InterruptedException in RuntimeException (or some more specific subclass of it), at least as a starting point, until API changes required to propagate InterruptedException directly can be thought through and implemented. It is certainly better for me than current behavior which can lead to indefinite blocking on CompletableFuture.join().


Get h264 from vimeo

When using this
youtube-dl -f "best[ext=mp4]" -g https://vimeo.com/channels/staffpicks/142671617
I get an HLS version.  Is there anyway to get only the h264 with the highest available quality?
Thank you

-f h264-hd.


some part of View2 out of range and appear on View1

I implement two Views(view1 and view2)
first it shows view1 on my screen , but on the right of the screen , there shows the View2's left part
after I slide to  View2, and go back to View1. It become normal.
http://imgur.com/a/dzi7H
I use Swift Xcode 7.2.1
    let storyboard_first = UIStoryboard(name: "First", bundle: nil)
    let storyboard_sec = UIStoryboard(name: "Second", bundle: nil)
    let viewController = storyboard_first.instantiateViewControllerWithIdentifier("collect_science")
    viewController.title = "collect_science"

    let viewController2 = storyboard_sec.instantiateViewControllerWithIdentifier("vc_MyDiy2")
    viewController2.title = "DIY"

    let viewControllers = [viewController, viewController2]//

    let options = PagingMenuOptions()
    options.defaultPage = 0
    options.selectedTextColor = UIColor.whiteColor()
    options.menuItemMargin = 5
    options.menuHeight = 60
    options.menuItemMode = PagingMenuOptions.MenuItemMode.None
    options.menuDisplayMode = PagingMenuOptions.MenuDisplayMode.SegmentedControl

    let pagingMenuController = PagingMenuController(viewControllers: viewControllers, options: options)
    pagingMenuController.view.frame.origin.y += 64
    pagingMenuController.view.frame.size.height -= 64

    addChildViewController(pagingMenuController)
    view.addSubview(pagingMenuController.view)
    pagingMenuController.didMoveToParentViewController(self)

}

I have the same issue, Do you know how can we fix it?

yes,because of the Constraints ,
It makes the view out of the range.

It looks like it's an constraints issue. I'll look into this issue and let you know what's wrong.

Thanks!

any update for this issue?

#261 might be same issue


Unfriendly error message from List constructor

I'm seeing this exception:
Illegal argument(s): Length must be an integer in the range [0..268435455].
#0      List.List (dart:core-patch/array_patch.dart:20)
#1      MirrorUsageBuilder.convertConstantToUsageList (file:///Users/ahe/Dart/all/dart/sdk/lib/_internal/compiler/implementation/mirrors_used.dart:428)
#2      MirrorUsageAnalyzerTask.validate (file:///Users/ahe/Dart/all/dart/sdk/lib/_internal/compiler/implementation/mirrors_used.dart:150)
I'm not told what the offending value is. Is it null? A string? A negative number?

Better error messages have been added.


layout.jade line 63/64

Why do you write
script.       window.jQuery || document.write("<sc" + "ript src='/vendor/jquery.min.js'></scr" + "ipt>"); ?
I would use:
script(src="/vendor/bootstrap/js/jquery.min.js")

It's a trick to load jquery if and only if jquery is not available (and should never happen anyway)


Fix: Mark items on duplicate path

Ticket
https://github.com/VirtusLab/strapi-plugin-navigation/issues/-<your-ticket-#>
Summary
What does this PR do/solve?

PRs should be as small as they need to be, if this section starts becoming a novel you should seriously consider breaking it up into multiple PRs

Test Plan
How are you testing the work you're submitting?

Codecov Report

Merging #21 (8c354de) into master (355c1aa) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #21   +/-   ##
=======================================
  Coverage   14.59%   14.59%
=======================================
  Files           5        5
  Lines         281      281
  Branches       90       90
=======================================
  Hits           41       41
  Misses        198      198
  Partials       42       42

Flag
Coverage Δ

unittest
14.59% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out 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 355c1aa...8c354de. Read the comment docs.


Small bugfix for the 'fan-in-out' PowerShell example for durable functions

Updated Powershell example for durable functions:

Added missing variable declaration & population

@MrMCake : Thanks for your contribution! The author(s) have been notified to review your proposed change.

I'm unfortunately not an expert on PowerShell, but I do see that $ParallelTasks is declared and apparently assigned the output of the foreach:
$ParallelTasks =
    foreach ($WorkItem in $WorkBatch) {
        Invoke-DurableActivity -FunctionName 'F2' -Input $WorkItem -NoWait
    }

Is this not working?

#label:"aq-pr-triaged"

@davidmrdavid or @AnatoliB can you very quickly take a look at this code sample and confirm whether it's already correct as-is?

I believe @cgillum is right: the code is already correct as-is, we don't need this change. The output of the foreach body is automatically collected into an array, which is then assigned to the $ParallelTasks variable. This is how PowerShell works by design.

#please-close


Tiny tweak for Closure Compiler

With these changes Google's Closure Compiler can now minify sprintf.js in advanced mode.
Minified and gzipped file with Closure Compiler is 1577 bytes comparing to 1684 bytes currently, so we can squeeze 107 more bytes even after gzip.

👍
If you run gulp dist that would be great

Done.
However, it doesn't really affect uglify's output in any way other than source map:)

Cool, thanks!


QtPass: updated to 1.0.5

It seems lrelease can't be found . . looking for a solution

Excellent, thanks!


'Select all' button  does not select empty folders

EPAM AI DIAL chat version
0.16.0
How to reproduce
Preconditions:
side panel contains chats, folders with chats and empty folders
Steps:

click on 'Select all' button in the bottom of conversation panel

Actual result
all items were selected except empty folders
issue reproducible for empty folders in prompt panel
Expected result
'Select all' button should select all items (chats, prompts) and folders except items from sections Shared with me, Organization, Approve required
Confidential information

[X] I confirm that do not share any confidential information

Verified on staging env successfully


Fix #337 - BeforeLeaveEventArgs.retry with base

This change stops retry from resolving the path twice - which was duplicating the base path.

Thanks


Endpoints for push notifications

This was quite a big one, but I think it should all work. I've tested as much as I can against my private synapse which revealed some places where synapse didn't follow the spec exactly, but I've tried to make it work without straying too far off spec.
The handling of different "scopes" when fetching rules are very loosely declared in the spec, so I've made my best interpretation for now, where there is /pushrules/, /pushrules/global/ and /pushrules/device/{profile_tag}/, since those are the possible scope formats according to the spec. Let me know your thoughts on this.
Fixes #66

I've tried to make it work without straying too far off spec

In what ways does synapse stray off the spec? Are there open issues on synapse for these things?
It's good to have workaround for synapse-specific behavior, but generally that's not what we publish. We had synapse-workarounds git branches on some repos in the past to work around these, but could you first update your PR to declare these endpoints as they are specified?

In what ways does synapse stray off the spec? Are there open issues on synapse for these things?

The main one is that the spec says that the default field for a PushRule in the responses of the various endpoints for getting push rules is required (https://matrix.org/docs/spec/client_server/r0.6.0#get-matrix-client-r0-pushrules), but if I add a new custom push rule that then naturally is not default, then synapse omits the default field in subsequent responses for that push rule. The workaround right now to just let the default field default to false if not present, but I will change this to be fully spec-compliant. I will open an issue with synapse about this since I can't find any existing one.
The other thing could be regarded as needing clarification in the spec, and anyone not as pedantic as me probably wouldn't care. The conditions and pattern fields when putting a new push rule (https://matrix.org/docs/spec/client_server/r0.6.0#put-matrix-client-r0-pushrules-scope-kind-ruleid) are not marked as being required. It says that they are only applicable to certain rule kinds, but not that they are strictly required for those kinds. Putting an override or underride push rule without the conditions fields returns an error. Putting a content rule without a pattern returns an error. It's reasonable that they SHOULD be required for these types though so really perhaps a spec clarification issue should be opened and this crate should do a little more work to ensure that this is upheld when serializing/deserializing?

I will open an issue with synapse about this since I can't find any existing one.

Thanks!

perhaps a spec clarification issue should be opened

I think so, yes. Especially considering the spec specifically talks about rules without conditions, which is pretty misleading if conditions is only relevant for override / underride, and also mandatory for those.

and this crate should do a little more work to ensure that this is upheld when serializing/deserializing

Only having those fields for override / underride rules would be pretty cool, but I think it's only implementable with additional changes to the ruma_api! macro (since we would need the request type to be an enum, which is currently only possible by declaring it outside of the macro, which conflicts with the usage of #[ruma_api(path) which only possible inside the macro).

Issue filed with synapse: https://github.com/matrix-org/synapse/issues/6636

Issue filed with synapse

Thanks!

Thanks!


chore: Make Set/Finset lemmas match lattice lemma names

Rename union_eq_left_iff_subset to union_eq_left to match sup_eq_left. Similarly for the right and inter versions.

bors d+

bors merge


Security scheme validation

Closes #425
Closes #422
Info
This PR is a huge diff, but the implementation is just a minor part of it. What makes the diff huge is:

test-harness files
packages/http-server/src/tests/fixtures/petstore.no-auth.oas2.yaml
packages/http-server/src/tests/fixtures/petstore.no-auth.oas3.yaml
https://github.com/stoplightio/prism/blob/7374ffae85c3a5b3c93a89194248e49c024bf381/packages/core/src/utils/__tests__/security.spec.ts is unit tests.

2. and 3. were added to have the already existing tests pass with minimal footprint. We might remove 2. and 3. and just have petstore.oas2.yaml and petstore.oas3.yaml adjusted instead.
Feature implementation changes are in files:

packages/core/src/factory.ts
packages/core/src/types.ts
packages/core/src/utils/security/handlers.ts
packages/core/src/utils/security/index.ts
packages/http-server/src/server.ts
packages/http/src/mocker/HttpMocker.ts
packages/http/src/mocker/negotiator/NegotiatorHelpers.ts

@XVincentX, @philsturgeon, @chris-miaskowski
I've had some doubts about the tests and added some comments. Some of them are duplicated (mostly because of oas2/oas3 examples). The comments should be considered in the context of the whole file, that the comment is added to.

thanks @philsturgeon, I've adjusted the tests and they should be quite review-able at this point. One thing though I'm still not sure about is https://github.com/stoplightio/prism/pull/484#discussion_r306186564
@XVincentX, @chris-miaskowski, could you guys take a look? thanks! :)

@lag-of-death Most of this looks legit, I would add a couple more tests but other than that great job!
If @philsturgeon doesn't have any other comments feel free to start implementing the actual validation :)

done with the changes for now, can be reviewed

@chris-miaskowski, @philsturgeon, @XVincentX, if there are no more concerns (?), then the implementation could be started

@lag-of-death it looks good enough to get started! Anything else we missed will come out in the wash. Great work!

@philsturgeon, I have rearranged symbols - put them in different files and ordered them by private/public membership and then alphabetically.
Also, the added digest auth support only checks for required parameters to Authorization request header and the presence of Digest word. It does not for example check if response is indeed a MD5 (or any other algorithm) hash. Do you think we should add this check? For example, something like: isMD5hash(response) ? Please also take a look at https://github.com/stoplightio/prism/pull/484#discussion_r311599219 many thanks! :)

hi @XVincentX, I think I've addressed the feedback. LMK if there's more or I have missed/misunderstood something :+1:

@XVincentX, I'm handing this to you. No need to bother with a PR to this branch, can just push to this branch :+1:

@philsturgeon @chris-miaskowski
I've added a bunch of commits to modify some of the behaviours and make sure we still stick with and reuse the current validation system (although it's starting to show off its limits and might need to be refactored kind of soon).
It took me some time to make this work, unfortunately some of the technical debt here in Prism is kind of a ticking bomb. Anyway, for now we can get away with it.

@philsturgeon I also recall we kind of decided that security validation would be enabled by default, but they could be disabled using a CLI flag. Is this still the case? Shall I implement this?

Yes security validation should be enabled by default, just like other aspects of request validation.

@lag-of-death Can we give it another round?

:+1:

@philsturgeon, do we have a green light to merge?

@philsturgeon I also recall we kind of decided that security validation would be enabled by default, but they could be disabled using a CLI flag. Is this still the case? Shall I implement this?

@XVincentX  The CLI flag to disable it was actually not implemented, right? Maybe I missed it.

@rubencaro Correcto, en este momento Prism no ofrece esta posibilidad.


Command check

Is your feature request related to a problem? Please describe.
Currently, the diskette configuration settings are only validated when dumping or loading.
Describe the solution you'd like
Current behavior is working but it could be more helpful to diagnostic invalid configuration without to dump or load anything.
New command diskette_check would be able to:

[ ] Inspect application definitions to find invalid configuration;
[ ] Inspect storage definitions to find invalid storage paths;
[ ] Hint about storage sizes that would be dumped (this can help when writing storage exclude patterns);

This will never try to hint about data size since it could be stressful for database to count on everything.

Adding a new command for this was impractical and not very DRY to implement.
So instead, the existing command dump and load will include a new option --check to perform a dry-run.
Since these command already perform validations, we can use the same routine but without writing, querying or loading anything.
The check option for dump has been implemented and tested in  v0.3.3-pre.1

Finally reopening this since i found a check command would nice in some situations for debugging.
It should easily find all installed app models then check if there are excluded from dump so in last resort user can explicitly see that some useful model are ignored.
For context, i've faced loading failures from a dump because the app was defining explicitely models. But since the definition creation the app has evolved with new models that were so excluded from dump.
Since these models were used in foreignkey from other models, the loading failed with a laconic message "Integrity Error: Foreign key etc..", that it took me too much time and effort to understand that i was missing new models in definitions. A check command that made me listing all defined models would have helped.
Also we could check about migrations. And maybe a somewhat hardcoded check about permissions and contenttypes.


LibWeb/Fetch: Improve aborting fetch

This PR improves fetch so that the reason for an abort is returned and the request/response streams are properly handled.

I'm not sure if I did the forward declarations correctly, I'm new to C++. Feel free to suggest improvements :^)


cmd/link: issues with Apple's new linker in Xcode 15 beta

NOTE
If you see lines starting with ld: warning but not other outputs, they are just warnings, not errors. You should still get a binary, if there is no other output. Please only report if you see a link error, or a broken binary, or a warning that is not mentioned in the "warnings" section below. Thanks.

In Xcode 15 beta it comes with Apple's new linker, ld-prime. As of beta 3 it is enabled by default. I did some experiments and found some issues for Go (cgo) with the new Apple linker. Some of the issues are reported in #61190. I'm filing a new issue to track all related faulures.
warnings
Apparently the new linker is more picky. It issues some warnings that the old linker (ld64) doesn't. This includes
ld: warning: -bind_at_load is deprecated on macOS

ld: warning: search path '/usr/local/lib' not found

ld: warning: ignoring duplicate library '-lm'

ld: warning: '.../go.o' has malformed LC_DYSYMTAB, expected 92 undefined symbols to start at index 15983, found 102 undefined symbol

These are just warnings and don't affect the correctness of the build. I'm preparing CLs for fix/work around them.
offset/addend being dropped
Mostly for c-archive, c-shared, and plugin build mode, for some relocations it seems the offset/addend being dropped and the relocation is resolved to the beginning of the section. This may cause failures like SIGILL. E.g.
% go test cmd/cgo/internal/testcarchive
--- FAIL: TestInstall (1.10s)
    carchive_test.go:487: [go tool cgo -objdir /var/folders/tf/nsc4z0p112vc_drrjn299ds80000gn/T/carchive_test3584575482/_obj472038228 -exportheader p.h p/p.go]
    carchive_test.go:489: [go install -buildmode=c-archive ./libgo]
    carchive_test.go:489: [clang -fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/tf/nsc4z0p112vc_drrjn299ds80000gn/T/go-build2775077316=/tmp/go-build -gno-record-gcc-switches -fno-common -I /var/folders/tf/nsc4z0p112vc_drrjn299ds80000gn/T/carchive_test3584575482/pkg/darwin_arm64_shared/testcarchive -o ./testp1 main.c main_unix.c /var/folders/tf/nsc4z0p112vc_drrjn299ds80000gn/T/carchive_test3584575482/pkg/darwin_arm64_shared/testcarchive/libgo.a]
    carchive_test.go:489:
    carchive_test.go:489: signal: illegal instruction
...

#60694 is the same failure mode.
debug info issues
The new linker doesn't generate stab symbols for our functions, causing debug info being lost. Failure look like
--- FAIL: TestDWARF (0.00s)
    --- FAIL: TestDWARF/testprogcgo (3.85s)
        dwarf_test.go:171: ErrUnknownPC
FAIL
FAIL	cmd/link	8.822s

There is also issues with combining DWARF into executable/shared object. Currently it is affecting c-shared build mode. ld-prime rejects the shared object if we add a DWARF segment to it.
non-PIE build doesn't work (Intel Mac only)
The new linker silently ignores the -no_pie flag and generates a PIE binary, which won't work because we assumed some addresses are not relocated. CL https://go.dev/cl/461697 changes the default to PIE and CL https://go.dev/cl/511355 contains a workaround if we are asked to build a non-PIE binary.
fixes/workarounds
CL https://golang.org/cl/505415 and the stack, as well as other CLs linked in this issue, contain tentative fixes and workarounds that address some of the issues. I'll also work with Apple to have them addressed on their side.
I'm hoping o have them addressed before Apple's new linker is finally released.

I also have a ld assertion failure (reported to Apple as FB12550006):
❯ go install -ldflags "-s -w" github.com/rclone/rclone@master
# github.com/rclone/rclone
/opt/homebrew/Cellar/go/1.20.5/libexec/pkg/tool/darwin_arm64/link: running cc failed: exit status 1
ld: warning: -bind_at_load is deprecated on macOS
ld: warning: '/private/var/folders/68/1pjj14514sl3vj7lbt69lst40000gn/T/go-link-876362130/go.o' has malformed LC_DYSYMTAB, expected 152 undefined symbols to start at index 168240, found 170 undefined symbols starting at index 135
0  0x104a50380  __assert_rtn + 72
1  0x104a099bc  ___ZN2ld16LayoutExecutable27writeContentWithoutLinkEditENSt3__14spanIhLm18446744073709551615EEEy_block_invoke + 9552
2  0x184981950  _dispatch_client_callout2 + 20
3  0x184994ba0  _dispatch_apply_invoke + 176
4  0x184981910  _dispatch_client_callout + 20
5  0x1849933cc  _dispatch_root_queue_drain + 864
6  0x184993a04  _dispatch_worker_thread2 + 156
7  0x184b2b0d8  _pthread_wqthread + 228
ld: Assertion failed: (addr + content.size() <= sectionEndAddr), function writeContentWithoutLinkEdit_block_invoke, file Layout.cpp, line 5689.
clang: error: linker command failed with exit code 1 (use -v to see invocation)

❯ go version
go version go1.20.5 darwin/arm64

❯ clang -v
Apple clang version 15.0.0 (clang-15<IP_ADDRESS>)
Target: arm64-apple-darwin23.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

@ismail Thanks for the report. The CL stack mentioned above (https://golang.org/cl/505415  and dependencies) also avoids the assertion failure.

Another failure mode: (AMD64 Mac only, not ARM64) as of Xcode 15 beta 4 (dyld-1009.6 BUILD 20:09:19 Jul  7 2023) non-PIE binary linked with ld-prime crashes at startup.
runtime: pcHeader: magic= 0xfffffff1 pad1= 0 pad2= 0 minLC= 1 ptrSize= 8 pcHeader.textStart= 0x0 text= 0x10b865000 pluginpath=
fatal error: invalid function symbol table
runtime: panic before malloc heap initialized

runtime stack:
runtime.throw({0x10b8d04de?, 0x7ff7b469e7a0?})
	/Users/cherryyz/src/go/src/runtime/panic.go:1077 +0x5c fp=0x7ff7b469e420 sp=0x7ff7b469e3f0 pc=0x10b88ffdc
runtime.moduledataverify1(0x7ff7b469e560?)
	/Users/cherryyz/src/go/src/runtime/symtab.go:533 +0x816 fp=0x7ff7b469e540 sp=0x7ff7b469e420 pc=0x10b8aa376
runtime.moduledataverify(...)
	/Users/cherryyz/src/go/src/runtime/symtab.go:519
runtime.schedinit()
	/Users/cherryyz/src/go/src/runtime/proc.go:724 +0x34 fp=0x7ff7b469e580 sp=0x7ff7b469e540 pc=0x10b8939b4
runtime.rt0_go()
	/Users/cherryyz/src/go/src/runtime/asm_amd64.s:349 +0x11e fp=0x7ff7b469e588 sp=0x7ff7b469e580 pc=0x10b8b859e

And the CLs above are not enough to fix it. I'm looking into it.
Possibly related to the crash in #61190, not investigated yet.

I am on MacOS Sonoma beta M1,Xcode 15 beta. I use go.120. When I try to install gopls this is what I get
# golang.org/x/tools/cmd/goimports
ld: warning: '/private/var/folders/jc/lq1rvy214tq4643flbh887xr0000gn/T/go-link-1689581912/go.o' has malformed LC_DYSYMTAB, expected 75 undefined symbols to start at index 6656, found 84 undefined symbols starting at index 53

@piusalfred that is just a warning, not an error. You should still get a binary. Does the binary run? If not, see #61190, and post on that issue if you have any update. Thanks!

The non-PIE binary crash (https://github.com/golang/go/issues/61229#issuecomment-1636351613) is due to ld-prime silently ignores -no_pie flag and generates a PIE binary instead. But that doesn't work because in exe buildmode we assumed the binary is not relocated and so generated non-relocated addresses, which would not be correct if the binary is actually relocated.
The CLs above handle it: 1. switch to PIE by default, 2. force ld64 in exe buildmode.

➜  node1 git:(master) go version
go version go1.20.4 darwin/arm64
➜  node1 git:(master) clang -v
Homebrew clang version 16.0.6
Target: x86_64-apple-darwin22.5.0
Thread model: posix
InstalledDir: /usr/local/opt/llvm/bin
ld: warning: '/private/var/folders/7n/lt8klzz95mj0kn2fx631dt740000gp/T/go-link-717398196/go.o' has malformed LC_DYSYMTAB, expected 129 undefined symbols to start at index 33979, found 210 undefined symbols starting at index 75

@cobo-louis that is just a warning, not an error. You should still get a binary, if there is no other output. Please report if there is an actual link error or the binary doesn't work as expected. Thanks.

@cobo-louis could you share the program you are building and the steps to reproduce the failure? Then we can report it to Apple. This is a bug in Apple's new linker. Thanks.

@cherrymui Hope that helps.
module github.com/lukasmalkmus/linkerbug

go 1.19

require (
	github.com/golangci/golangci-lint v1.53.3
)

tools.go:
//go:build tools

package bug

import (
	_ "github.com/golangci/golangci-lint/cmd/golangci-lint"
)

go run github.com/golangci/golangci-lint/cmd/golangci-lint  run:
# github.com/golangci/golangci-lint/cmd/golangci-lint
/opt/homebrew/Cellar/go/1.20.6/libexec/pkg/tool/darwin_arm64/link: running cc failed: exit status 1
ld: warning: -bind_at_load is deprecated on macOS
ld: warning: '/private/var/folders/4h/swcdv5xd7p53_33xlbfvzygc0000gn/T/go-link-77169989/go.o' has malformed LC_DYSYMTAB, expected 138 undefined symbols to start at index 81807, found 150 undefined symbols starting at index 112
0  0x1001c0130  __assert_rtn + 72
1  0x1001794f4  ___ZN2ld16LayoutExecutable27writeContentWithoutLinkEditENSt3__14spanIhLm18446744073709551615EEEy_block_invoke + 9772
2  0x186179950  _dispatch_client_callout2 + 20
3  0x18618cba0  _dispatch_apply_invoke + 176
4  0x186179910  _dispatch_client_callout + 20
5  0x18618b3cc  _dispatch_root_queue_drain + 864
6  0x18618ba04  _dispatch_worker_thread2 + 156
7  0x1863230d8  _pthread_wqthread + 228
ld: Assertion failed: (addr + content.size() <= sectionEndAddr), function writeContentWithoutLinkEdit_block_invoke, file Layout.cpp, line 5690.
clang: error: linker command failed with exit code 1 (use -v to see invocation)

And another one but cannot provide an easily reproducible example just yet:
function symbol table not sorted by PC offset: 0xd  > 0x4  , plugin:
         0x0
         0xd
fatal error: invalid runtime symbol table
runtime: panic before malloc heap initialized

runtime stack:

@lukasmalkmus Thanks for the report! For the second case, could you try if the workaround CLs helps? A simple way to try is
% go install golang.org/dl/gotip@latest
% gotip download 511355

Then use gotip as the go command, such as gotip build, gotip run etc.
For the first one, the assertion failure looks similar to https://github.com/golang/go/issues/61229#issuecomment-1627026000 above. Could be the same issue. I think the CLs also avoid the failure.
Thanks.

For the first case, the CL produces a slightly different output but still errors:
$ go run github.com/golangci/golangci-lint/cmd/golangci-lint run
# github.com/golangci/golangci-lint/cmd/golangci-lint
/opt/homebrew/Cellar/go/1.20.6/libexec/pkg/tool/darwin_arm64/link: running cc failed: exit status 1
ld: warning: -bind_at_load is deprecated on macOS
ld: warning: '/private/var/folders/4h/swcdv5xd7p53_33xlbfvzygc0000gn/T/go-link-3108928878/go.o' has malformed LC_DYSYMTAB, expected 138 undefined symbols to start at index 81807, found 150 undefined symbols starting at index 112
0  0x100628130  __assert_rtn + 72
1  0x1005e14f4  ___ZN2ld16LayoutExecutable27writeContentWithoutLinkEditENSt3__14spanIhLm18446744073709551615EEEy_block_invoke + 9772
2  0x186179950  _dispatch_client_callout2 + 20
3  0x18618cba0  _dispatch_apply_invoke + 176
4  0x186179910  _dispatch_client_callout + 20
5  0x18618b3cc  _dispatch_root_queue_drain + 864
6  0x18618ba04  _dispatch_worker_thread2 + 156
7  0x1863230d8  _pthread_wqthread + 228
ld: Assertion failed: (addr + content.size() <= sectionEndAddr), function writeContentWithoutLinkEdit_block_invoke, file Layout.cpp, line 5690.
clang: error: linker command failed with exit code 1 (use -v to see invocation)

$ gotip run github.com/golangci/golangci-lint/cmd/golangci-lint run
# github.com/golangci/golangci-lint/cmd/golangci-lint
/Users/lukasmalkmus/sdk/gotip/pkg/tool/darwin_arm64/link: running clang failed: exit status 1
ld: warning: -bind_at_load is deprecated on macOS
0  0x10425c130  __assert_rtn + 72
1  0x1041b5f74  mach_o::PointerFormat_DYLD_CHAINED_PTR_64_OFFSET::unauthRebaseIsVmAddr() const + 0
2  0x1041b7120  ___ZN6mach_o13ChainedFixups11buildFixupsENSt3__14spanIKNS_5Fixup10BindTargetELm18446744073709551615EEENS2_IKNS0_17SegmentFixupsInfoELm18446744073709551615EEEyRKNS0_13PointerFormatEjb_block_invoke_2 + 212
3  0x186179950  _dispatch_client_callout2 + 20
4  0x18618cba0  _dispatch_apply_invoke + 176
5  0x186179910  _dispatch_client_callout + 20
6  0x18618b3cc  _dispatch_root_queue_drain + 864
7  0x18618ba04  _dispatch_worker_thread2 + 156
8  0x1863230d8  _pthread_wqthread + 228
ld: Assertion failed: (rebasePtr->target == low56), function writeChainEntry, file ChainedFixups.cpp, line 1218.
clang: error: linker command failed with exit code 1 (use -v to see invocation)

For the second problem (function symbol table not sorted by PC offset), I wasn't able to fix that with the CL but I also wasn't able to extract an easily reproducible example. The failure is observed in a rather complex build process that also installs tools, lots of Makefiles and scripts... I try to extract something reproducible first before giving it another go with gotip.

Thanks @lukasmalkmus . I can reproduce the new assert failure. It seems that it works with CLs on Intel Mac, but still fails on ARM64 Mac (the original assert failure is probably worked around by the CLs, but then we run into another one...) I'll see if I can find out anything, and report to Apple.

[...] It seems that it works with CLs on Intel Mac, but still fails on ARM64 Mac [...]

I should have probably mentioned that I'm on an ARM64 Mac after I took over this thread 🤦  But I guess you figured from the output.
Great to hear it is reproducible.
I'm now noticing failures like reported in #61676. But since all of those issues comes back to this one, I'll keep it cool.
Feel free to ping if you require something else.

I'm now noticing failures like reported in https://github.com/golang/go/issues/61676.

See also #61190. Also, does the CLs linked in this issue help to work around that? The particular problem for #61676 and #61190 should be addressed by the CLs. Thanks.

I'm getting the same error while trying to build new pre-release version of gopls:
~ go install<EMAIL_ADDRESS>
go: downloading golang.org/x/tools/gopls v0.13.0-pre.3
# golang.org/x/tools/gopls
ld: warning: '/private/var/folders/pf/jygc38g14yg6jvv74fprbv7m0000gn/T/go-link-1881478201/go.o' has malformed LC_DYSYMTAB, expected 130 undefined symbols to start at index 26418, found 143 undefined symbols starting at index 78

@nezorflame Please see the NOTE at the top of this issue: this is a warning, not an error. If you don't see other output, the build succeeds and you should get a binary. That said, the binary may not work, see #61190 . Thanks.

Do we have some ways how we can solve this problem now ? Or we need to wait until PR with fix will be pushed in go ?

looks like go1.20.7 has added -ld64 as the default option during the link stage.

it should also help with
go install golang.org/x/tools/gopls@latest ?

@troian I installed it and I have the same error. Or I need to add some flag ?

I put
export CGO_LDFLAGS="-Wl,-ld_classic -Wno-deprecated-declarations" in ~/.zshrc but it didnt help. The same problem

Building rclone with go 1.21.0 works out of the box with the new Xcode 15 beta 6.

It seems that the latest xcode update has already fix this bug, works well for me.

Thanks for the update. Yes, it seems Xcode 15 beta 6 fixes a number of bugs. With beta 6, rclone and golangci-lint both build successfully with Go tip, 1.21.0, and 1.20.7. Most of the tests in all.bash are also passing, except for some linker warnings and with debug info. So we are in a good shape now.
@Philipp-Plotnikov could you try Xcode 15 beta 6 and see if it still fails (without using -Wl,-ld_classic)? If that still fails, could you share the step of how to reproduce the build failure? Thanks/

With all the fix/workaround CLs in for the Go side, and Apple fixing bugs in the new linker, as of Xcode 15 beta 7 (and 8), I'm not aware of any failures. So I think this is done.
If you see a new failure related to Apple's new linker, feel free to post here and reopen the issue. Thanks.

@gopherbot please backport this to Go 1.20 and 1.21 releases. I'll fill in the details in the corresponding issues. Thanks.

These warnings also appear on Go 1.22 (darwin/amd64) when the -race flag is used. Generating Non-PIE binaries with -buildmode=exe solves them.

These warnings also appear on Go 1.22 (darwin/amd64) when the -race flag is used. Generating Non-PIE binaries with -buildmode=exe solves them.

in my case it happens when I run unit tests and the -race flag:
ld: warning: '/private/var/folders/4c/9g_d3cwd55g_9nsp2qwlzc38jj5x9m/T/go-link-715828973/000034.o' has malformed LC_DYSYMTAB, expected 98 undefined symbols to start at index 1626, found 95 undefined symbols starting at index 1626

Thanks for the information. Unfortunately I'm not sure if there is anything we can do. The warning seems to complain a C object file from the race detector library (LLVM ThreadSanitizer), not a Go object. It might be possible to change ThreadSanitizer or how it is built to avoid warning? I'm not sure.
As mentioned above, it is just a warning and does not affect the correctness of the program. Feel free to ignore.

Generating Non-PIE binaries with -buildmode=exe solves them.

Because that forces the old Apple linker. (The new linker does not support non-PIE binary.)

Thanks for the information. Unfortunately I'm not sure if there is anything we can do. The warning seems to complain a C object file from the race detector library (LLVM ThreadSanitizer), not a Go object. It might be possible to change ThreadSanitizer or how it is built to avoid warning? I'm not sure.
As mentioned above, it is just a warning and does not affect the correctness of the program. Feel free to ignore.

Generating Non-PIE binaries with -buildmode=exe solves them.

Because that forces the old Apple linker. (The new linker does not support non-PIE binary.)

thank you for your response. Yeah, seems like Goland takes these warnings as errors, :\

Thanks for the information. Unfortunately I'm not sure if there is anything we can do. The warning seems to complain a C object file from the race detector library (LLVM ThreadSanitizer), not a Go object. It might be possible to change ThreadSanitizer or how it is built to avoid warning? I'm not sure.
As mentioned above, it is just a warning and does not affect the correctness of the program. Feel free to ignore.

Generating Non-PIE binaries with -buildmode=exe solves them.

Because that forces the old Apple linker. (The new linker does not support non-PIE binary.)

thank you for your response. Yeah, seems like Goland takes these warnings as errors, :\

anyway, if anybody wants to silence this "errors" on Goland, try adding this env var: GOFLAGS=-ldflags=-extldflags=-Wl,-ld_classic;

The warning on the race C object (the syso file) is due to this code in LLVM TSAN:
https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h#L20-L22
asm("memcpy = __sanitizer_internal_memcpy");
asm("memmove = __sanitizer_internal_memmove");
asm("memset = __sanitizer_internal_memset");

Apparently, on Darwin, that caused the object to include weird symbols like (objdump -t output)
00000000000000f3         *UND* memcpy
0000000000006331         *UND* memmove
0000000000002b25         *UND* memset

They are "undefined" symbols but have values (unlike all other UND symbols). And apparently the new Apple linker doesn't like them and warns.
If I comment those three lines off, it no longer generates those symbols and no more warnings from the linker.
On Darwin, at assembler level, all C symbols are prefixed by _. So those lines are probably already not doing anything useful on Darwin. Perhaps those lines should be
asm("_memcpy = ___sanitizer_internal_memcpy");
asm("_memmove = ___sanitizer_internal_memmove");
asm("_memset = ___sanitizer_internal_memset");

?
That also makes the weird symbols go away, as well as the warning.
cc @dvyukov (These symbols are from https://reviews.llvm.org/D151152 . You probably have some context. Thanks!)

Hi,
I am trying to install a cli package but i receive the following error and the package is not installed:
➜  ~ go install github.com/ethereum/go-ethereum/cmd/abigen@latest
# github.com/ethereum/go-ethereum/cmd/abigen
ld: warning: '/private/var/folders/nh/78bdkps97rv6pdws74j1xy0w0000gn/T/go-link-1841817092/go.o' has malformed LC_DYSYMTAB, expected 121 undefined symbols to start at index 30647, found 165 undefined symbols starting at index 96

I am not sure how this is xcode related however I used xcode before. Any help appreciated.

Hi,
I am trying to install a cli package but i receive the following error and the package is not installed:
➜  ~ go install github.com/ethereum/go-ethereum/cmd/abigen@latest
# github.com/ethereum/go-ethereum/cmd/abigen
ld: warning: '/private/var/folders/nh/78bdkps97rv6pdws74j1xy0w0000gn/T/go-link-1841817092/go.o' has malformed LC_DYSYMTAB, expected 121 undefined symbols to start at index 30647, found 165 undefined symbols starting at index 96

I am not sure how this is xcode related however I used xcode before. Any help appreciated.

Try adding that env var: https://github.com/golang/go/issues/61229#issuecomment-1952798326 before running go install

@gabkov your build should have succeeded and the binary installed. As mentioned above, it is just a warning, not an error.
That said, which version of Go are you using? I would not expect a warning like this for this particular build with recent versions of Go.

Still seeing those warnings on 1.22 installed today on a Sonoma 14.3.1 M1.

Hi,
I am trying to install a cli package but i receive the following error and the package is not installed:
➜  ~ go install github.com/ethereum/go-ethereum/cmd/abigen@latest
# github.com/ethereum/go-ethereum/cmd/abigen
ld: warning: '/private/var/folders/nh/78bdkps97rv6pdws74j1xy0w0000gn/T/go-link-1841817092/go.o' has malformed LC_DYSYMTAB, expected 121 undefined symbols to start at index 30647, found 165 undefined symbols starting at index 96

I am not sure how this is xcode related however I used xcode before. Any help appreciated.

Try adding that env var: #61229 (comment) before running go install

Thank you for the suggestion @nebiros, but unfortunately setting the env var only hid the warning and the package was still not installed.

@gabkov your build should have succeeded and the binary installed. As mentioned above, it is just a warning, not an error.
That said, which version of Go are you using? I would not expect a warning like this for this particular build with recent versions of Go.

@cherrymui i was using 1.20, but today i upgraded to 1.22 and the warning is gone and i was able to install the package as well. Not sure if it's just a local issue or related to the actual go version. Thanks anyway.

I've been able to reproduce the "malformed LC_DYSYMTAB" warning on my Macbook Pro M2 Max running Sonoma 14.3.1 and go 1.22.1. I do not see the warning at all when using go 1.21.8.
The best reproducible test case I've been able to come up with is running tests on https://github.com/DataDog/zstd , ref 869dae002e5efb372a0b09cd7d99390ca2089cc1:
❯ go test -race .
# github.com/DataDog/zstd.test
ld: warning: '/private/var/folders/mf/75msnn554t940_ky9yrfzfcw0000gn/T/go-link-98474360/000055.o' has malformed LC_DYSYMTAB, expected 98 undefined symbols to start at index 1626, found 95 undefined symbols starting at index 1626
ok  	github.com/DataDog/zstd	(cached)

When I fully remove the C code and edit the Go code to not use the C package, the warning is not present. Unfortunately, I'm unable to figure out what about the C code is causing this problem.

@wendorf as mentioned above https://github.com/golang/go/issues/61229#issuecomment-1954706803 , the warning is for the C code in the race detector (LLVM TSAN) itself. The only difference that user C code made is that it changes the default link mode. Without user C code, the Go linker by default does all the linking itself, without using the C linker (Apple's linker). When user C code is present, it uses the C linker by default. You can try passing -ldflags=-linkmode=internal to force using the Go linker to do the entire linking (although it is not guaranteed to be able to handle all C objects).

A note about the malformed LC_DYSYMTAB warning: take a look at the object file name that is warned on:

if it is .../go.o, it is the object of the Go code. This is already fixed in recent versions of Go 1.20.x, 1.21.x, and 1.22.x, and should not appear with an up-to-date version of Go.
if it is .../00NNNN.o with some 6-digit number, it is a C object.

if you pass -race and you're using Go 1.22.x, it is probably the race detector's C code, as mentioned above https://github.com/golang/go/issues/61229#issuecomment-1954706803
otherwise it is from user C code

The warning on the race detector C object is not really a bug in Go. Maybe we can fix in the upstream TSAN (also see https://github.com/golang/go/issues/61229#issuecomment-1954706803). To work around, you could try

passing -ldflags=-extldflags=-Wl,-ld_classic to force the old Apple linker
passing -ldflags=-linkmode=internal to force using Go linker to do the whole linking (although it is not guaranteed to be able to handle all C objects)
also, an IDE should NOT treat warning as error by default.

Thanks.

Hello @nebiros,
I reproduced your problem with the linker warning highlighted as an error in GoLand. The reason why the warning is displayed in red is that the linker message is being written to stderr. This is a highlighting problem and it shouldn't affect the build process in any way.
I've created an issue about this in our bug tracker: GO-16873.

That would explain why GoLand marked those tests as failed.

I think this is a different problem, GoLand shouldn't mark tests as failed due to extra output. Can you please describe how to reproduce this issue? Here or in the comments to GO-16873.

Hello @nebiros,
I reproduced your problem with the linker warning highlighted as an error in GoLand. The reason why the warning is displayed in red is that the linker message is being written to stderr. This is a highlighting problem and it shouldn't affect the build process in any way. I've created an issue about this in our bug tracker: GO-16873.

I know it doesn't affect the build process, but I wasn't talking about that, I was talking about testing and running unit tests:https://github.com/golang/go/issues/61229#issuecomment-1949442357, those warnings mark tests as failed, so it breaks all tests

I reslove it by disable cgo.

That would explain why GoLand marked those tests as failed.

I think this is a different problem, GoLand shouldn't mark tests as failed due to extra output. Can you please describe how to reproduce this issue? Here or in the comments to GO-16873.

I wouldn't agree it's a different problem. GoLand, or any other app, that sees things on stderr instead of stdout should be reasonably able to assume it's an error and treat it as a failure.


Fixing logging error

log.info("{0}", "hi") -> "{0}"
log.info("{}", "hi" -> "hi"
I believe the second form is preferred in this case.

Hmm seems like that should be working now! thanks for the fix! :+1:


add support for zfs to mount provider

Description
Mounting zfs throws "Device  does not exist"
Chef Version
Chef Client, version 12.15.19
Platform Version
Devuan 1.0 (debian jessie fork)
Replication Case
define mount using zfs partition:
` mount "/usr/local/dockerstorage/es" do
device XENzfs/XEN/dockerstorage/es
fstype 'zfs'
options path[3] || 'noatime,rw
end'
At simplest (IMO) is to add zfs into https://github.com/chef/chef/blob/master/lib/chef/provider/mount/mount.rb#L196

@ttr do you fancy making a pull request to fix this?


Update "Managing Python Pipeline Dependencies" page

Update https://beam.apache.org/documentation/sdks/python-pipeline-dependencies/ with concrete examples and make it easier to use.
Additional items to cover in this page:

pickling / managing main session
containers to rescue how it could help with this, how to run containers locally (links?)

Imported from Jira BEAM-9497. Original Jira may contain additional context.
Reported by: altay.

.take-issue

I see some typos in the PR, if I don't add comments or follow up with a PR myself, please ping me.

Could you elaborate on this? Would be happy to push a new PR to rectify.


biginteger.js removal from the dependency tree

Initially, we decided to use json-bigint fork adapted for our needs, because we knew that we depend on biginteger.js anyway. Since bigints package is deprecated, we are no more required to depend on biginteger.js, and so we should drop biginteger.js from all dependencies to avoid tech debt.
The ask:

Replace all uses of biginteger.js in the json-bigint package with native JS BigInt. Big integer type is only used for parsing/serializing there, it must be straightforward
Make sure the tests pass
Upload a new version to NPM or ask me to - https://www.npmjs.com/package/@mlabs-haskell/json-bigint
Update the version of json-bigint in aeson-bigint
Update the version of aeson-bigint in CTL

This should be on top of https://github.com/Plutonomicon/cardano-transaction-lib/pull/1521

https://github.com/Plutonomicon/cardano-transaction-lib/pull/1551 removed indirect dep via aeson
removed big-integer dependency as direct runtime dep for https://github.com/purescript-contrib/purescript-bigints

It is also fairly easy to remove BigNumber.js and bignumber PS package dependency (used in Internal/Service/Blockfrost.purs)


Fix/add missing use windows service dotnet7

[EDIT by guardrex to change the issue reference.]
Fixes #28055

Compiling \aspnetcore\host-and-deploy\windows-service\samples\7.x\WebAppServiceSample and trying to add a Windows service for the executable was failing.
Adding builder.Host.UseWindowsService() to the program.cs fixed it for me.

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

I have just tried and fixed .NET 7 example, but other versions may have similar issues. Thanks!  👍

Thanks for the contribution. Be sure to check out your name as a contributor about the 3rd of next month on the What's new page in the Community contributors section at the bottom.
Check out is:open is:pr label:"code help wanted" and is:open is:issue label:"Good first issue"


Feature Request: Package Distribution

Hi Daniel, now that Unity 2018.3 and later now support downloading git-based packages (with better support incoming with 2019.1 and more in the future) would you have any interest in distributing a version of this tool in that format? I have an MIT open source Unity editor tool found here that can help support this by:

Providing a configuration asset and one-click mechanism to update package source when making a release.
Can itself be imported as a package and not included with the repository contents (packages are downloaded to the Library folder).
Serves as a good example of how to distribute a Unity library as a package, has its own package release branch that mimics how to use the tool.

I was planning on making a package of this library for my own personal development on my fork, but it might be something worth considering in the future on the main repo as it makes it easier for users to get the latest updates of a library while at the same time make it easier to update library content for users without having to resolve conflicts (downloaded packages are immutable from direct user-editing when imported this way and their contents are cleared out entirely when updating to a different version).
I believe this is a great implementation of scriptable architecture, thanks for providing it on GitHub as MIT open source!

Definitely, I'm a big fan of the new package manager. I'll set it up right away and let you know if I have any questions
And thanks, I'm glad you enjoy it! Thanks for providing the PR's, they're always much appreciated and well implemented! :)

As you might've seen, I'm having trouble importing your tool. Full report here: https://github.com/jeffcampbellmakesgames/unity-package-tools/issues/1

As you might've seen, I'm having trouble importing your tool. Full report here: jeffcampbellmakesgames/unity-package-tools#1

Thanks for the info, I will resolve this and comment back on here/the issue once its resolved.

Done


Release v2022.3.1

edgetest version 2022.3.1
Description
New release v2022.3.1:
Bug fix:

#15

@ak-gupta any chance you have a second to approve?


WNC-M14A2A bug fixes

Correct SRC and DST flip during net_pkt API change
Don't stop RSSI poll on error

@tbursztyka submitting this PR individually from https://github.com/zephyrproject-rtos/zephyr/pull/13618 as directed.

For ease of review this is the correct IPv4 block in the same driver:
#if defined(CONFIG_NET_IPV4)
	if (net_pkt_family(pkt) == AF_INET) {
		if (net_ipv4_create_new(
			    pkt,
			    &((struct sockaddr_in *)&sock->dst)->sin_addr,
			    &((struct sockaddr_in *)&sock->src)->sin_addr)) {
			return -1;
		}

		hdr_len = sizeof(struct net_ipv4_hdr);
	} else
#endif

And a link to the original commit which reversed the inputs:
https://github.com/zephyrproject-rtos/zephyr/commit/854045c14d2091167e110e46eb1d5ff5c43b4af8#diff-efc8203c5474684ac696a77ece02386aL464

Codecov Report

Merging #14651 into master will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #14651      +/-   ##
==========================================
- Coverage   52.01%   51.98%   -0.04%
==========================================
  Files         309      309
  Lines       45583    45583
  Branches    10555    10555
==========================================
- Hits        23711    23695      -16
- Misses      17068    17080      +12
- Partials     4804     4808       +4

Impacted Files
Coverage Δ

subsys/testsuite/ztest/include/ztest_assert.h
38.88% <0%> (-38.89%)
:arrow_down:

subsys/testsuite/ztest/src/ztest.c
65.28% <0%> (-7.44%)
:arrow_down:

Continue to review full report at Codecov.

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


Node.js v5.1.1 not supported?

Trying this module out, it appears I can't get past initialization:
var rtc = require('rtc-everywhere')();

if (rtc.supported === false) {
  console.error(rtc.platform + ' platform not supported!');
  process.exit(1);
}

console.log(rtc);

var pc = new rtc.RTCPeerConnection();
pc.createOffer(function (offer) {
  console.log("offer: ", offer);
});

$ node service.js
node platform not supported!

If I skip the check, and do a console.log on the rtc object:
{ platform: 'node',
  supported: false,
  getUserMedia: [Function],
  RTCPeerConnection: undefined,
  RTCSessionDescription: undefined,
  RTCIceCandidate: undefined,
  attachStream: [Function] }

Am I doing something wrong here? Right now I'm just trying to generate an offer, nothing else. No signalling or anything.
$ node -v
v5.1.1

Did you do a npm install wrtc and ensure that that's all set up?

Install the wrtc module.
I'll leave this open as a reminder that I need to create more detailed docs for each platform.


[KIE-3289] Bump to Quarkus 3.5.2

https://github.com/apache/incubator-kie-kogito-runtimes/issues/3289

Created a branch quarkus3 based on main. This PR is the updates for Bump to Quarkus 3.5.2
Applied update.sh including manual patch fixes

Firstly. you need to build drools quarkus3 branch locally.
This PR compiles successfully.
But still has failing tests.

org.kie.kogito.integrationtests.springboot.SignalProcessTest
org.kie.kogito.quarkus.workflows.AsyncAPIIT (The other tests in the same package are skipped. They seem to have the same issue)
org.kie.kogito.quarkus.workflows.EmitEnumRPCGreetIT
org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadProcessorTest
org.kie.kogito.addons.quarkus.camel.integration.test.CamelCustomFunctionIT
org.kie.kogito.tracing.QuarkusTracingAddonDevServicesIT
org.kie.kogito.it.PostgreSQLOptimisticLockingIT
org.kie.kogito.it.PostgreSQLPersistenceIT

I'm not perfectly sure if they (or some of them) are caused by my local environment (RHEL 8, JDK17). It would be great if they are solved by other's env. (Some of them seem to be related to testcontainers postgresql)
If they are not quickly fixed, I think we can file issues and disable the tests (Just like https://github.com/apache/incubator-kie-kogito-runtimes/issues/3288).

[x] You have read the contributors guide
[x] Your code is properly formatted according to this configuration
[x] Pull Request title is properly formatted: KOGITO-XYZ Subject
[x] Pull Request title contains the target branch if not targeting main: [0.9.x] KOGITO-XYZ Subject
[x] Pull Request contains link to the JIRA issue
[x] Pull Request contains link to any dependent or related Pull Request
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket

How to replicate CI configuration locally?

Build Chain tool does "simple" maven build(s), the builds are just Maven commands, but because the repositories relates and depends on each other and any change in API or class method could affect several of those repositories there is a need to use build-chain tool to handle cross repository builds and be sure that we always use latest version of the code for each repository.
build-chain tool is a build tool which can be used on command line locally or in Github Actions workflow(s), in case you need to change multiple repositories and send multiple dependent pull requests related with a change you can easily reproduce the same build by executing it on Github hosted environment or locally in your development environment. See local execution details to get more information about it.

How to retest this PR or trigger a specific build:

for pull request checks
Please add comment: Jenkins retest this

for a specific pull request check
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] tests

for quarkus branch checks
Run checks against Quarkus current used branch
Please add comment: Jenkins run quarkus-branch

for a quarkus branch specific check
Run checks against Quarkus current used branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-branch

for quarkus main checks
Run checks against Quarkus main branch
Please add comment: Jenkins run quarkus-main

for a specific quarkus main check
Run checks against Quarkus main branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-main

for quarkus lts checks
Run checks against Quarkus lts branch
Please add comment: Jenkins run quarkus-lts

for a specific quarkus lts check
Run checks against Quarkus lts branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-lts

for native checks
Run native checks
Please add comment: Jenkins run native

for a specific native check
Run native checks
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] native

for native lts checks
Run native checks against quarkus lts branch
Please add comment: Jenkins run native-lts

for a specific native lts check
Run native checks against quarkus lts branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] native-lts

How to backport a pull request to a different branch?

In order to automatically create a backporting pull request please add one or more labels having the following format backport-<branch-name>, where <branch-name> is the name of the branch where the pull request must be backported to (e.g., backport-7.67.x to backport the original PR to the 7.67.x branch).

NOTE: backporting is an action aiming to move a change (usually a commit) from a branch (usually the main one) to another one, which is generally referring to a still maintained release branch. Keeping it simple: it is about to move a specific change or a set of them from one branch to another.

Once the original pull request is successfully merged, the automated action will create one backporting pull request per each label (with the previous format) that has been added.
If something goes wrong, the author will be notified and at this point a manual backporting is needed.

NOTE: this automated backporting is triggered whenever a pull request on main branch is labeled or closed, but both conditions must be satisfied to get the new PR created.

Quarkus-3 PR check is failing ... what to do ?

The Quarkus 3 check is applying patches from the `.ci/environments/quarkus-3/patches`.
The first patch, called 0001_before_sh.patch, is generated from Openrewrite .ci/environments/quarkus-3/quarkus3.yml recipe. The patch is created to speed up the check. But it may be that some changes in the PR broke this patch.
No panic, there is an easy way to regenerate it. You just need to comment on the PR:
jenkins rewrite quarkus-3

and it should, after some minutes (~20/30min) apply a commit on the PR with the patch regenerated.
Other patches were generated manually. If any of it fails, you will need to manually update it... and push your changes.

These tests also failed with main branch in my local env, so I think they are not caused by this migration. org.kie.kogito.quarkus.workflows.AsyncAPIIT

org.kie.kogito.quarkus.workflows.EmitEnumRPCGreetIT
org.kie.kogito.tracing.QuarkusTracingAddonDevServicesIT
org.kie.kogito.it.PostgreSQLOptimisticLockingIT

Replaced by https://github.com/apache/incubator-kie-kogito-runtimes/pull/3291


updated Weather_App

Changing the UI for better user interface and changing the api of the project for better accuracy and for adding extra features.


In readme.md, link to  flowhub has typo

Note the comma:
link is (note the comma): https://docs,flowhub.io/getting-started-microflo
e.g.:
More details at the getting started guide.
should be: https://docs.flowhub.io/getting-started-microflo
see pr #111

Fixed in #111


Code prompt docstring displays incorrectly

Environment data

VS Code version: 1.93.1 (system setup) 38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40
Electron: 30.4.0
ElectronBuildId: 10073054
Chromium: 124.0.6367.243
Node.js: 20.15.1
V8: <IP_ADDRESS>-electron.0
Pylance version: v2024.9.1
OS and version: Windows 10 22H2 (Windows_NT x64 10.0.19045.4894)
Python version (& distribution if applicable, e.g. Anaconda): Python 3.11.5

Another PC with Windows 11, latest release VS Code and Python 3.11.7 has the same phenomenon.

Repro Steps

Type in the code, and mouse over function or method. Code prompt only shows the first line of docstring.
Expected behavior
Display code documents like this:

Actual behavior

Seems that specific strings - at present I found Args:, Params: and Parameters: (with colon) - can cause the error.
Logs

I'm not sure if log refers to this --
2024-09-21 13:38:25.672 [info] (44828) [FG] parsing: file:///d%3A/Home/Desktop/ttttt.py (1ms)
2024-09-21 13:38:25.672 [info] (44828) [FG] binding: file:///d%3A/Home/Desktop/ttttt.py (0ms)
2024-09-21 13:38:25.920 [info] (44828) [BG(1)] SemanticTokens delta previousResultId:1726897061467 at file:///d%3A/Home/Desktop/ttttt.py ...
2024-09-21 13:38:25.920 [info] (44828) [BG(1)]   parsing: file:///d%3A/Home/Desktop/ttttt.py (1ms)
2024-09-21 13:38:25.920 [info] (44828) [BG(1)]   binding: file:///d%3A/Home/Desktop/ttttt.py (0ms)
2024-09-21 13:38:25.925 [info] (44828) [BG(1)] SemanticTokens delta previousResultId:1726897061467 at file:///d%3A/Home/Desktop/ttttt.py (5ms)
2024-09-21 13:38:25.927 [info] (44828) [BG(1)] analyzing: file:///d%3A/Home/Desktop/ttttt.py ...
2024-09-21 13:38:25.927 [info] (44828) [BG(1)]   checking: file:///d%3A/Home/Desktop/ttttt.py (2ms)
2024-09-21 13:38:25.927 [info] [Info  - 13:38:25] (44828) Heap stats: total_memory_size=16236MB, total_free_size=4937MB, total_heap_size=38MB, used_heap_size=36MB, cross_worker_used_heap_size=36MB, total_physical_size=38MB, total_available_size=4060MB, heap_size_limit=4096MB
2024-09-21 13:38:25.927 [info] (44828) [BG(1)] analyzing: file:///d%3A/Home/Desktop/ttttt.py (2ms)
2024-09-21 13:38:25.940 [info] (44828) [BG(1)] SemanticTokens delta previousResultId:1726897105919 at file:///d%3A/Home/Desktop/ttttt.py (1ms)
2024-09-21 13:38:36.126 [info] (44828) Attempting to resolve using local imports: 要读取的二进制文件

2024-09-21 13:38:36.126 [info] (44828) Attempting to resolve using root path 'file:///d%3A/Home/Desktop'
2024-09-21 13:38:40.921 [info] (44828) Attempting to resolve using local imports: 实现文件读取功能

2024-09-21 13:38:40.921 [info] (44828) Attempting to resolve using root path 'file:///d%3A/Home/Desktop'
2024-09-21 13:38:56.430 [info] [Info  - 13:38:56] (44828) Heap stats: total_memory_size=16236MB, total_free_size=4926MB, total_heap_size=41MB, used_heap_size=39MB, cross_worker_used_heap_size=39MB, total_physical_size=41MB, total_available_size=4057MB, heap_size_limit=4096MB

Thanks for reporting this issue. I can reproduce it.
In the meantime, we recommend using our new feature for docstring generation.
Use this setting to turn on our native support for the docstring template:
 "python.analysis.supportDocstringTemplate" : true
With this, you could trigger a docstring template using completion in your function
def read_file(self, filename: str):
    """
    |<--- Trigger completion here
    """
    file_read : bool
    return file_read

Modify as you like
def read_file(self, filename: str):
    """
    Docstring for read_file

    :param filename: 要读取的二进制文件
    :type filename: str
    :return: 是否成功读取文件
    :rtype: bool
    """
    file_read : bool
    return file_read

It will be rendered this way

Yeah, it's best to use this setting in the next stable 2024.10.1, which will be out approximately next week.


Release 6.22.1_arenadata41

Fixes:

#433
#442
#390
#428
#453
#450
#446

release branch must be updated first


After adding new fields in get_fields() changing not showing in module.

Problem Description
Screen shot when i add image field

After adding two new fields

Result same as before

Note:  run many times start and build command but same result.
Steps To Reproduce

Screenshot and/or gif

QA Checklist
Reporter

[ ] Helpful title used

Helpful title format: Scope(s) :: One Sentence To Describe The Issue
Example: VB :: Floating Toolbar :: Jumps To Top Of Page

[x] Detailed description
[ ] Steps to reproduce included
[ ] Support Ticket URL included
[ ] Image and/or gif

Developer

[ ] Steps to reproduce proven solved
[ ] Test included and coverage acceptable and all Tests passing?
[ ] PR description has layman's description of problem and solution and "Areas Affected" listed/explained?
[ ] PR branch includes latest commits from master branch (at the time of checking)?
[ ] Estimated points on issue
[ ] Proper code documentation and conventions?
[ ] Proper RTL appearance
[ ] i18n used if applicable
[ ] Ajax/Form used? Nonce used? Perms checked? All user input sanitized and validated? Intentional unsanitized/unescaped functions used?
[ ] Database saved/updated? Data sanitized and validated?
[ ] Variable output properly escaped and validated?

Peer Review

[ ] PR branch includes latest commits from master branch (at the time of checking)?
[ ] Steps to reproduce proven solved
[ ] Affected areas are tested and ok
[ ] Proper code documentation and conventions
[ ] Proper RTL appearance
[ ] i18n used if applicable
[ ] Test(s) included and coverage acceptable
[ ] Ajax/Form used? Nonce used? Perms checked? All user input sanitized and validated? Intentional unsanitized/unescaped functions used?
[ ] Database saved/updated? Data sanitized and validated?
[ ] Variable output properly escaped and validated?

Quality Assurance

[ ] All tests passed on CircleCI.
[ ] Steps to reproduce passed, the fix works.
[ ] No errors in console or output
[ ] Affected areas are tested and ok
[ ] The fix does not change a customer's website in any surprising or unintended way

[ ] If Divi's design is adjusted, settings are migrated gracefully and invisibly

Design Review

[ ] UI is to spec
[ ] UX is to spec
[ ] Design is to spec
[ ] No surprising visual changes to a customer's website will be experienced after updating

[ ] Any/all visual changes are migrated gracefully

Dev Review

[ ] Test(s) included and coverage acceptable
[ ] Ajax/Form used? Nonce used? Perms checked? All user input sanitized and validated? Intentional unsanitized/unescaped functions used?
[ ] Database saved/updated? Data sanitized and validated?
[ ] Variable output properly escaped and validated?
[ ] i18n used if applicable
[ ] Implementation acceptable, DRY, Scaleable, future safe
[ ] Best practices used, cleverness and grokage, ES6 use, etc.

@sharazghouri Do they show up in the Visual Builder? If they do, clear your local storage and they should display in the Classic Builder as well.

I too am getting this issue. Just updated to the latest Divi theme just to make sure.
I see the new fields in the Visual Builder, but not classic builder.
I've cleared the local storage via js console
window.localStorage.clear()
as well as using the Clear Cache plugin (using the Clear local storage option):
https://chrome.google.com/webstore/detail/clear-cache/cppjkneekbjaeellbfkmgnhonkkjfpdn
any other suggestions?

@antonkor That is strange. After you clear the local storage and enter, localStorage is it empty?

You can also try in a private/incognito window.

heres a recording of whats going on:
https://cl.ly/2Q3r3K141L15
with incognito i get a loading icon in the center for 1 minute then the same thing happens, no new fields shown in classic builder:
https://cl.ly/1T3e263L0Y2o
here is the php file:
https://pastebin.com/RnQaicyG
here is the jsx file:
https://pastebin.com/Xu6JvneS
Although i keep getting an error on the Frontend Builder, when i save the changes they are all saved, not sure if it's related, that error is the next thing i need to tackle:
https://cl.ly/1g321n0f2h0R

Steps:

Remove module from post (every SIR_Proj_Description module in post);
Clear localstorage;
Clear localstorage;
Reload page;
Clear localstorage ;)
Try to add module after 5sec;
Loader should spin a little longer.

I found that clearing localstorage is not enough if you have module implemented on page.

thanks @motylo for the suggestion, i've been doing all kinds of clearing and hoping around.
https://cl.ly/2T322l2Z1E1G
is it normal to see such values in the local storage?
https://cl.ly/1p2Z201k2D0H

I dont even know what just happened, but while i was developing a new module, clearing local storage plus refreshing the page made it so the classic builder now shows the all the fields i created on all modules.
/shrug

So developer need to clear local storage after every change .

@sharazghouri Yes, after every change to the module options since the Classic Builder module templates are stored in the browser local storage.
Is everything working for you after clearing the local storage?

@sharazghouri you have to clear the localstorage while a divi module is open, then while the module is still open you have to refresh the page. if you close the divi module before refreshing the page, all the old module data is re-saved back into localstorage and refreshing the page will only show you the old data.
well thats the behavior i've found.

That is how it works. Though typically the workflow would be to close the module settings first, clear local storage, and then refresh the page. To be clear, this applies to the Classic Divi Builder only.


delete redundant "Toxicity"

as much as i like the song by System of a Down

Haha thanks for the correction!


redis: discarding bad PubSub connection: EOF

“redis: discarding bad PubSub connection: EOF ” repeat every 30 seconds

Please provide a program that reproduces the problem using latest version of the library

_package utils
import (
"fmt"
"time"
"github.com/cihub/seelog"

"github.com/go-redis/redis"

)
type OnSubscribe func(msg *redis.Message) error
type RedisPubSub struct {
client   *redis.Client
pubsub   *redis.PubSub
channels []string
}
func createRedisPubSub(conf *RedisInfo, channels []string) (*RedisPubSub, error) {
client := redis.NewClient(&redis.Options{
Addr:         fmt.Sprintf("%v:%v", conf.Server.Host, conf.Server.Port),
Password:     conf.Server.Passwd,
DialTimeout:  time.Duration(conf.DialTimeout) * time.Second,
ReadTimeout:  time.Duration(conf.ReadTimeout) * time.Second,
WriteTimeout: time.Duration(conf.WriteTimeout) * time.Second,
DB:           conf.DB,
})
if _, err := client.Ping().Result(); nil != err {
return nil, err
}
pubsub := client.Subscribe(channels...)
if nil == pubsub {
return nil, fmt.Errorf("subscribe fail")
}
return &RedisPubSub{client, pubsub, channels}, nil
}
func (this *RedisPubSub) Close() error {
this.pubsub.Unsubscribe(this.channels...)
this.pubsub.Close()
return this.client.Close()
}
func (this *RedisPubSub) Receive(onSubscribe OnSubscribe) {
msg, err := this.pubsub.ReceiveMessage()
if nil == err {
seelog.Error(err)
}
if nil != msg {
onSubscribe(msg)
}
}
func (this *RedisPubSub) Publish(channel, data string) error {
_, err := this.client.Publish(channel, data).Result()
return err
}
var redisPubSub *RedisPubSub
func InitPubSub(conf *RedisInfo, channels []string) error {
if rds, err := createRedisPubSub(conf, channels); nil != err {
return err
} else {
redisPubSub = rds
}
return nil
}
func ClosePubSub() error {
return redisPubSub.Close()
}
func WatchPubSub(onSubscribe OnSubscribe) {
for {
redisPubSub.Receive(onSubscribe)
}
}
func Publish(channel, data string) error {
return redisPubSub.Publish(channel, data)
}
_

@vmihailenco Could you tell why that happened?

No since there is no program that I can run and that reproduces the problem.

I've seen this error message when redis closes a pubsub connection because the output buffer limit in redis is reached (not a problem with the library). You can check your redis logs to verify it as redis notifies you when it happens. Depending on your use case, you may need to tweak client-output-buffer-limit pubsub in redis.conf.

https://redis.io/topics/clients
Redis needs to handle a variable-length output buffer for every client, since a command can produce a big amount of data that needs to be transferred to the client.
However it is possible that a client sends more commands producing more output to serve at a faster rate at which Redis can send the existing output to the client. This is especially true with Pub/Sub clients in case a client is not able to process new messages fast enough.


Releasing <IP_ADDRESS>

Adding release notes and a packaged distributable for release <IP_ADDRESS>
Sidekick: @nathanhumbert

:ship:


ACS: Allow reuse of existing VNETS and SUBNETS

I really like the cli and acs functionality but would like to deploy into existing vnets and subnets?

This is coming.  Currently if you use acs-engine you can do this.
It will come to ACS eventually.
Closing for now, since this is more of an ACS API issue than a CLI issue.


Parts of osxphotos are very slow

On my 27,000 image library, process_searchinfo needs to process 258,000 rows and takes several seconds to run.  Might be worth some optimization.  In particular, ints_to_uuid seems to be taking up a lot of time..might be useful to memoize results

Need to spend some time profiling the rest of the code too.  For example, the new export dv added for --update makes many single SQLite execute calls that might benefit from optimization

Did some profiling with the following:

def set_x(photo, export_db, fileutil):
    dest_str = "file.jpg"
    export_db.set_uuid_for_file(dest_str, photo.uuid)
    export_db.set_info_for_uuid(photo.uuid, photo.json())
    export_db.set_stat_orig_for_file(dest_str, fileutil.file_sig(dest_str))
    export_db.set_stat_exif_for_file(dest_str, (None, None, None))
    export_db.set_exifdata_for_file(dest_str, None)

def set_data(photo, export_db, fileutil):
    dest_str = "file.jpg"
    export_db.set_data(
        dest_str,
        photo.uuid,
        fileutil.file_sig(dest_str),
        (None, None, None),
        photo.json(),
        None,
    )

Code in set_x is what was in first implementation of --update code in several places.  It's about 3X slower than set_data which combines the sqlite execute commands.  I also tested with and without indexes to make sure the indexes were actually helping -- definitely faster with indexes.
# without indexes, n=1000
# set_x: 10.942088917000001, set_data: 4.052510744000001
# with indexes, n=1000
# # set_x: 7.478913144, set_data: 2.2541020960000004

Working on _process_searchinfo().  lru_cache on ints_to_uuid helps, cuts about 30% time:
osxphotos on  master [$!?] via 🅒 osxphotos took 51s
[I] ➜ pi examples/photos_repl.py /Volumes/MacBook\ Catalina\ -\ Data/Users/rhet/Pictures/Photos\ Library.photoslibrary
osxphotos version: 0.29.6
loading database
2020-05-29 06:03:11,987 - WARNING - photosdb.py - 1869 - process_database5 took 2.7230610847473145 seconds
import time
2020-05-29 06:03:15,564 - WARNING - photosdb.py - 1875 - searchinfo took 3.5772149562835693 seconds
2020-05-29 06:03:15,907 - WARNING - photosdb.py - 1881 - exifinfo took 0.34223198890686035 seconds
done: took 8.349834554 seconds
database version: 6000
getting photos
found 26110 photos in 2.253685941999999 seconds
>>> import time
>>> start=time.time();photosdb._process_searchinfo();stop=time.time()
>>> print(f"{stop-start} seconds")
3.5693628787994385 seconds
>>> quit()
(osxphotos)
osxphotos on  master [$!?] via 🅒 osxphotos took 1m 7s
# lru_cache(maxsize=128)
[I] ➜ pi examples/photos_repl.py /Volumes/MacBook\ Catalina\ -\ Data/Users/rhet/Pictures/Photos\ Library.photoslibrary
osxphotos version: 0.29.6
loading database
2020-05-29 06:05:11,426 - WARNING - photosdb.py - 1869 - process_database5 took 1.75406813621521 seconds
2020-05-29 06:05:13,746 - WARNING - photosdb.py - 1875 - searchinfo took 2.319485902786255 seconds
2020-05-29 06:05:14,087 - WARNING - photosdb.py - 1881 - exifinfo took 0.34104180335998535 seconds
done: took 5.193749629999999 seconds
database version: 6000
getting photos
found 26110 photos in 2.2955395569999997 seconds
>>> osxphotos.photosdb._photosdb_process_searchinfo.ints_to_uuid().cache_info()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: ints_to_uuid() missing 2 required positional arguments: 'uuid_0' and 'uuid_1'
>>> osxphotos.photosdb._photosdb_process_searchinfo.ints_to_uuid.cache_info()
CacheInfo(hits=238592, misses=20308, maxsize=128, currsize=128)
# lru_cache(maxsize=1024)
[I] ➜ pi examples/photos_repl.py /Volumes/MacBook\ Catalina\ -\ Data/Users/rhet/Pictures/Photos\ Library.photoslibrary
osxphotos version: 0.29.6
loading database
2020-05-29 06:06:42,951 - WARNING - photosdb.py - 1869 - process_database5 took 1.557068109512329 seconds
2020-05-29 06:06:45,094 - WARNING - photosdb.py - 1875 - searchinfo took 2.14237117767334 seconds
2020-05-29 06:06:45,405 - WARNING - photosdb.py - 1881 - exifinfo took 0.3110978603363037 seconds
done: took 5.608140724 seconds
database version: 6000
getting photos
found 26110 photos in 2.174187728999999 seconds
>>> osxphotos.photosdb._photosdb_process_searchinfo.ints_to_uuid.cache_info()
CacheInfo(hits=238592, misses=20307, maxsize=1024, currsize=1024)
>>>```

Given small difference in hits/misses between cache sizes it seems the different UUIDs must be sequential...e.g. getting a miss on first occurrence then subsequent rows are hits until next UUID

Tried removing, order by from the SQL query in _process_searchinfo(), no difference.


Provide examples of Info.OfMethod for generic method and methods with arguments.

Describe the issue
Info.MethodOf documentation is somewhat unclear regarding generic methods and parameters.
Below are some of my attempts that came up short.
Minimal Repro
namespace MyNs
{
    public class MyClass
    {
        // OK
        public static readonly MethodInfo ProduceMethod = Info.OfMethod<MyClass>(nameof(Produce)); // OK
        public static readonly MethodInfo ProduceMethod2 = Info.OfMethod("InfoOfMethodOverload", "MyNs.MyClass", "Produce"); // OK
        public int Produce() => throw new NotImplementedException();

        // What do I do?
        //public static readonly MethodInfo ProduceGeneric = Info.OfMethod<MyClass>(nameof(Produce)+"``1<T>");
        //public static readonly MethodInfo ProduceGeneric = Info.OfMethod("InfoOfMethodOverload", "MyNs.MyClass", nameof(Produce)+"``1<T>");
        //public static readonly MethodInfo ProduceGeneric = Info.OfMethod("InfoOfMethodOverload", "MyNs.MyClass", nameof(Produce)+"``1<mscorlib|System.Int32>");
        public int Produce<T>() => throw new NotImplementedException();

        // What do I do?
        //public static readonly MethodInfo ProduceWithParam = Info.OfMethod<MyClass>(nameof(Produce), "System.Runtime|System.Int32");
        //public static readonly MethodInfo ProduceWithParam2 = Info.OfMethod("InfoOfMethodOverload", "MyNs.MyClass", "Produce", "mscorlib|System.Int32");
        //public static readonly MethodInfo ProduceWithParam2 = Info.OfMethod("InfoOfMethodOverload", "MyNs.MyClass", "Produce", "int");
        public int Produce(int z) => throw new NotImplementedException();
    }
}

That double backquote in the documentation seems off, can you try with a single backquote instead?
Also, the <T> part shouldn't be needed for open generics.

@ltrzesniewski, didn't work with single backtick either.

Actually there seems to be no way to distinguish generic and non-generic methods with the same parameters.
If the generic parameter is used in a methods parameter, it is possible by specifying "T" as parameter type.

see sample here: https://github.com/Fody/InfoOf/blob/master/Tests/ParamCheckerTests/GenericMethod.cs

@virzak I've updated the readme, did this answer your questions?

@tom-englert,
Thanks, the questions are answered. A few thoughts:

Specifying type parameters in MethodOf would be awesome. Here is a real world example where I'd love to have a handle on two different Count methods.
Specifying type parameters might not be enough if they differ by constraints:

public int Produce<T>(T? t) where T : class => throw new NotImplementedException();
public int Produce<T>(T? t) where T : struct => throw new NotImplementedException();

Saw a typo therE by the way: "Actually ther is no specific support".

Another thought on this topic.
Does it make sense to drive generation from method attributes?
class MyClass
{
  [CreateMethodInfo(location = "MyNS.MyOtherClass.ExistingField")]
  public int Produce<T>(T? t) where T : class => throw new NotImplementedException();

  [CreateMethodInfo(location = "MyNS.MyOtherClass.NonExistingField")] // will be added
  public int Produce<T>(T? t) where T : struct => throw new NotImplementedException();
}

class MyOtherClass
{
  static MethodInfo ExistingField = null! // will be overwritten
}

Specifying type parameters in MethodOf would be awesome.

I suppose that's a missing feature if it's not achievable today.

Specifying type parameters might not be enough if they differ by constraints

That's actually not possible to get in C#, even if it seems so. 🙂
Here are the actual signatures of your example methods:
public int Produce<T>(T t) where T : class
public int Produce<T>(Nullable<T> t) where T : struct

Removing the ? from the struct one will cause a compilation error.

Does it make sense to drive generation from method attributes?

That would be quite a bit of additional work, and would only be useful for symbols in your own assembly.
If InfoOf isn't sufficient for your needs (and you really want those two method handles), I may suggest using my InlineIL weaver along with the ldtoken opcode, although that may prove a bit overkill. 😅

In your sample code above both methods are distinguishable by their parameters, so you can get them via
InfoOf.Method<Class>("Produce", "T")
InfoOf.Method<Class>("Produce", "Nullable<T>")

or to make it even more obvious, rename T to TClass and TStruct.

Specifying type parameters in MethodOf would be awesome.

I think it's a very special edge case where you have a generic overload and the generic parameter is not used in the method parameters, so I wonder if it's worth spending efforts on this.
Also I don't see the benefit of designing such an highly optimized code - and then accessing it via reflection?

Also I don't see the benefit of designing such an highly optimized code - and then accessing it via reflection?

@tom-englert, you're probably correct. This is all about EF Core expression trees detecting that a certain method has been called. This not likely where the performance bottleneck will be, since EF Core itself pays a heavy cost upfront to generate queries.


qwik: core runtime size increase

Qwik Version
0.12.0
Operating System (or Browser)
OSX 12.6 / any browser
Node Version (if applicable)
16.13.0
Which component is affected?
Qwik Runtime
Expected Behaviour
maybe you see a way to reduce the runtime code anyhow
Actual Behaviour
qwik core runtime size measured on cloudfront pages (br compressed):

0.11.1
0.12.0

14.4kb
25.5kb

Additional Information
No response

Interesting! could you attach both versions? in 0.11.1 and 0.12.0, it will help me debug a lot!

Hi @manucorporat
Sure 👍  does not seem app related. just did these steps:
pnpm create<EMAIL_ADDRESS>basic app
pnpm build

and
pnpm create qwik@latest
basic app
pnpm build

then you see the diff already on the vite build outputs.
left screen is 0.11.1 and right 0.12.0. hope this already helps?


gh-pages setup

SBT setup for pushing to gh-pages branch. It does work, it's already deployed to https://47deg.github.io/scalacheck-datetime/
@rafaparadela @juanpedromoreno would you be able to take a quick look please?

[Current coverage][cc-pull] is 100% (diff: 100%)

Merging [#10][cc-pull] into [master][cc-base-branch] will not change coverage

@@           master   #10   diff @@
===================================
  Files           8     8
  Lines          78    78
  Methods        78    78
  Messages        0     0
  Branches        0     0
===================================
  Hits           78    78
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last update [66d6ce5...dff40b2][cc-compare]
[cc-base-branch]: https://codecov.io/gh/47deg/scalacheck-datetime/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/47deg/scalacheck-datetime/compare/66d6ce55099f054c14292a457b2fafb52bbc106f...dff40b22620ba72046f15657168b747ca8a9c255?src=pr
[cc-pull]: https://codecov.io/gh/47deg/scalacheck-datetime/pull/10?src=pr

Regarding the deployment, I don't know if the text logo could be fixed through CSS or similar.. Any thoughts @rafaparadela ?

LGTM. But yes, please invite to Isra to this repo in order to refine some design issues.
Other recomendation: Edit your jekyll/config.yml in order to a highlight_theme. One example: highlight_theme: tomorrow (https://github.com/47deg/github4s/blob/master/docs/src/jekyll/_config.yml#L6)
You can choose your favourite theme from those: https://highlightjs.org/static/demo/

Hi @israelperezglez - just wondering if you had any input on Juan Pedro and Rafa's comments above?

Have added a highlight, will merge but keep the PR open for input from @israelperezglez.


New docker images break CICD

As the title.
https://github.com/ansys/pymapdl/pkgs/container/mapdl

I have no confirmation yet, but it is very likely.

Yep... it is broken. It seems we have removed the MPI from the v222.

The latest image works:  https://github.com/ansys/pymapdl/pkgs/container/mapdl/152642546?tag=v22.2-ubuntu

Pinging @clatapie  for visibility


fix: remove dash before 'toYaml'

What this PR does / why we need it:
Fixes issue with AdditionalConfig files
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged):
fixes https://github.com/jenkins-x/jx/issues/3715
Special notes for your reviewer:
Tested successfully with helm template and helm upgrade --dry-run

@jstrachan could you please take a look?
I need to use the AdditionalConfig feature but there is a blocking issue in the Jenkins chart. Just an extra "-" character actually.


build error

In file included from EOSIO/eos/contracts/eosiolib/eosiolib.cpp:1:
In file included from EOSIO/eos/contracts/eosiolib/memory.hpp:7:
EOSIO/eos/contracts/eosiolib/memory.h:7:10: error: 'string.h' file not found with <angled> include; use "quotes" instead
#include <string.h>
         ^~~~~~~~~~
         "string.h"
In file included from EOSIO/eos/contracts/eosiolib/eosiolib.cpp:1:
In file included from EOSIO/eos/contracts/eosiolib/memory.hpp:7:
In file included from EOSIO/eos/contracts/eosiolib/memory.h:7:
In file included from EOSIO/eos/contracts/eosiolib/string.h:6:
EOSIO/eos/contracts/eosiolib/types.h:8:10: fatal error: 'wchar.h' file not found
#include <wchar.h>
         ^~~~~~~~~
2 errors generated.
make[2]: *** [contracts/eosiolib/eosiolib.cpp.bc] Error 1
make[1]: *** [contracts/eosiolib/CMakeFiles/eosiolib.dir/all] Error 2
make: *** [all] Error 2

git submodule update --init --recursive


Change name repository

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
✔

Tests pass?
✔

Fixed issues
https://github.com/yiisoft/yii-form/issues/18

👍


FreeRASP is not working as intended in a Flutter app despite proper configuration as depicted in their website

We have developed a Flutter app and recently added FreeRASP. Below is the code.
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:freerasp/talsec_app.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  ...
  runApp(MyApp(...));
}

class MyApp extends StatefulWidget {
  const MyApp({...})
      : super(key: key);
  ...
  @override
  _MyAppState createState() =>
      _MyAppState(...);
}

class _MyAppState extends State<MyApp> {
  _MyAppState({...});

  ...

  @override
  void initState() {
    super.initState();
    initSecurityState();
  }

  Future<void> initSecurityState() async {
    TalsecConfig config = TalsecConfig(
      // For Android
      androidConfig: AndroidConfig(
        expectedPackageName: 'com.company.mypackage',
        expectedSigningCertificateHash: 'xxxxxxxx',
        supportedAlternativeStores: ["com.sec.android.app.samsungapps"],
      ),

      // Common email for Alerts and Reports
      watcherMail<EMAIL_ADDRESS>    );
    TalsecCallback callback = TalsecCallback(
      // For Android
      androidCallback: AndroidCallback(
        onRootDetected: () => exit(0),
        onEmulatorDetected: () => exit(0),
        onHookDetected: () => exit(0),
        onTamperDetected: () => exit(0),
        onDeviceBindingDetected: () => print('device binding'),
        onUntrustedInstallationDetected: () => print('untrusted install'),
      ),
      // Common for both platforms
      onDebuggerDetected: () => print('debugger'),
    );

    TalsecApp app = TalsecApp(
      config: config,
      callback: callback,
    );

    app.start();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(...);
  }
}

But when it is run on an emulator, it is not even detecting that, even though we have directed it to exit(0) in that case. On debugging, the execution of app.start() gives the following log. Please advise.
W/india.mobileap( 4242): Accessing hidden method Lcom/android/internal/os/PowerProfile;-><init>(Landroid/content/Context;)V (unsupported, reflection, allowed)
W/PowerProfile( 4242): ambient.on is deprecated! Use ambient.on.display0 instead.
W/PowerProfile( 4242): screen.on is deprecated! Use screen.on.display0 instead.
W/PowerProfile( 4242): screen.full is deprecated! Use screen.full.display0 instead.
W/india.mobileap( 4242): Accessing hidden method Lcom/android/internal/os/PowerProfile;->getBatteryCapacity()D (unsupported, reflection, allowed)
I/DrmHal  ( 4242): found instance=clearkey version=android.hardware.drm@1.4::IDrmFactory
I/DrmHal  ( 4242): found instance=default version=android.hardware.drm@1.0::IDrmFactory
I/DrmHal  ( 4242): found instance=widevine version=android.hardware.drm@1.4::IDrmFactory
E/HMSSDK_HMSPackageManager( 4242): resolveInfoList is null or empty
E/HMSSDK_HMSPackageManager( 4242): PackagePriorityInfo list is null
E/HMSSDK_HMSPackageManager( 4242): <initHmsPackageInfoForMultiService> Failed to find HMS apk
I/HMSSDK_HMSPackageManager( 4242): Enter getHMSPackageNameForMultiService
E/HMSSDK_HMSPackageManager( 4242): resolveInfoList is null or empty
E/HMSSDK_HMSPackageManager( 4242): PackagePriorityInfo list is null
E/HMSSDK_HMSPackageManager( 4242): <initHmsPackageInfoForMultiService> Failed to find HMS apk
I/HMSSDK_HuaweiMobileServicesUtil( 4242): hmsPackageName is com.huawei.hwid
E/HMSSDK_HMSPackageManager( 4242): resolveInfoList is null or empty
E/HMSSDK_HMSPackageManager( 4242): PackagePriorityInfo list is null
E/HMSSDK_HMSPackageManager( 4242): <initHmsPackageInfoForMultiService> Failed to find HMS apk
I/HMSSDK_HuaweiMobileServicesUtil( 4242): HMS is not installed
I/HMSSDK_HMSPackageManager( 4242): enter asyncOnceCheckMDMState
I/HMSSDK_HMSPackageManager( 4242): quit asyncOnceCheckMDMState
W/System  ( 4242): A resource failed to call close.
I/TestLibrary( 4242): Failed with error code 7
W/System  ( 4242): A resource failed to call close

Hello @its-engineersindia,
Are you running the application in release mode? There are two libraries/versions(dev vs release) that are used depending on your current development stage. freeRASP dev mode is automatically selected when you are running the application in the debug or profile mode, freeRASP release is used when compiling the release version of the application. You can find more information about freeRASP versions here.
Provided logs should be fine. freeRASP also checks the availability of GMS and HMS. Check for HMS can produce these logs, but they are harmless.
Also, we do not recommend using exit(0) as it produces a crash on Android. You can find more about the issue here.
Best regards,
Jaroslav from Talsec Team

Thanks @yardexx. That clears the doubt and solves our problem.

Thanks @yardexx. That clears the doubt and solves our problem.


How are the data variables accessed server side?

On the server, $_REQUEST['data']['var_name'] does not return 'my_value'
Here's the config:
		$(".file-upload-field").pekeUpload({
			url:'/ajax/upload_file',
			data:{
				'var_name':'my_value'
			}
		});

On the version 1.6.0 on you can access to the data through

$data = json_decode($_POST['data']);
echo $data->var_name;

Which is very uncomfortable, I did a major update today, this was my very first jQuery plugin, and when I coded this I was actually learning, so, I decided to improve it, and in the new version (2.0.0) you can do that, simply like this:

$myphpvar = $_POST['var_name'];

Thank you for using pekeUpload.


Dev

Coverage remained the same at 97.03% when pulling 89211a816a7c21eba212d88ee7fc44e699206c98 on dev into be379c865f5093fbb2273ad410c567fbecad0b40 on master.


how to change background view's alpha

When use [self.view makeToastActivity],
how to set the background view's alpha,not the activityView's alpha.
thank you!

Updating line 24 in UIView+Toast.m to a value of your liking should do the trick:
static const CGFloat CSToastOpacity             = 0.8;

@scalessec  appreciate for your help

Instead of this hack, it would be best to use the styling options introduced in Toast 3.0.