[ansible] provide support for admission webhooks within ansible operators

<tl;dr>
Ansible operator needs access to the information about the user that created the CR so the operator can perform some validations based on permissions that user has. This is most likely going to require some kind of admission webhook functionality baked into the ansible operator SDK.
</tl;dr>
This kind of request has been mentioned in several issues, but mostly they discuss Go operators - such as:

https://github.com/operator-framework/operator-sdk/issues/269
https://github.com/operator-framework/operator-sdk/issues/1217
https://github.com/operator-framework/operator-sdk/issues/1218
https://github.com/operator-framework/operator-sdk/pull/1455

The only one that seems to broach this subject is:

https://github.com/operator-framework/operator-sdk/issues/1308

But I want to create an issue that calls out a specific use-case to further define this feature request.
Specifically, this is dealing with the Kiali Operator. For background, Kiali is a front-end visualization/management tool for Istio/Maistra service mesh. The Kiali operator watches for a Kiali CR and based on what is in it, installs and configures Kiali (as any operator would do).
What is special is that the Kiali CR is used to configure Kiali so it has access to any namespace(s) within the cluster. You actually define what namespaces make up your service mesh by setting the Kiali CR's spec.deployment.accessible_namespaces (which is just a list of namespace names).  The operator will then create the necessary things that are needed for Kiali to probe and look into those namespaces listed in the Kiali CR (since Kiali is observing the mesh, it obviously needs to observe the mesh's namespaces and the resources in them).
However, we do NOT want user "foo" who creates namespace "foo" but has no permissions to see any other namespace to be able to create a Kiali CR in namespace "foo" and in that CR set spec.deployment.accessible_namespaces to "bar", essentially saying, "Hey, Kiali Operator - give Kiali access to the 'bar' namespace". This essentially will allow user "foo" to gain insight and access into namespaces that he has no permission to see (in that example, user "foo" doesn't have access to namespace "bar" so he should not be allowed to give Kiali access to the "bar" namespace).
So we need a validating webhook (or something like it) to say, "User 'foo' just created a Kiali CR that has spec.deployment.accessible_namespaces set to 'bar' - but user 'foo' doesn't have access to namespace 'bar' so I'm going to refuse to process this Kiali CR because user 'foo' is trying to give Kiali access to a namespace that user 'foo' has no permissions to see."
We allow users to create Kiali CRs in their own namespaces by supporting InstallMode of AllNamespaces (as well as OwnNamespace and SingleNamespace modes). We need to be able to have the operator support WATCH_NAMESPACE of "" (AllNamespaces installmode) because we want to allow any user to set up their own meshes within the cluster.
A temporary solution to the problem is just disallow AllNamespace installmode and just lock down the operator's watchnamespace and only allow admins to create Kiali CRs (with the implication that admins will only provide valid accessible namespaces in the Kiali CR).
To be clear, this is not a case where we want to restrict to only certain users the ability to create Kiali CRs. It is more subtle and fine-grained than that. It is more like "do not allow a user to create a Kiali CR that has names of namespaces in a spec value in the CR if the user doesn't have access to those namespaces". But ANY user should be allowed to create a Kiali CR, so long as they only configure its spec.deployment.accessible_namespaces setting to namespaces they (the user) have access to. The user can't put just any names of namespaces in the Kiali CR - if they do not have access to a namespace, they must not be allowed to mention it in the Kiali CR.
So this is where an admission webhook would be useful. It all hinges on the requirement that the ansible operator needs a way to get the information of the user that created the CR that the operator is watching for. If the ansible operator can just get the user information, it will be possible for the ansible playbook to perform the necessary tasks required to determine if that user is allowed to submit the CR or not.
So one feature enhancement to the ansible operator SDK would be to have its own, under-the-covers mutating webhook that simple takes the information of the user that created the CR and have the webhook store that user information in the CR's status: data. The operator would then be able to look at the status: data and perform SAR checks to make sure the user has permissions that the operator requires. That's just one idea. Perhaps there are ways in which we can do this - say, execute an ansible playbook as part of a mutating or validating webhook that the ansible operator sdk sets up under-the-covers?
For the record, here is Maistra's Go operator code that does the same "namespace" check I explain above  - it is making sure the user that created the CR has access to "update pods" in the named namespaces. This is the exact kind of check I would like ansible operators to be able to perform:
	sar := &authorizationv1.SubjectAccessReview{}
	sar.Spec.User = req.AdmissionRequest.UserInfo.Username
	copy(sar.Spec.Groups, req.AdmissionRequest.UserInfo.Groups)
	sar.Spec.ResourceAttributes = &authorizationv1.ResourceAttributes{
		Verb:     "update",
		Group:    "",
		Resource: "pods",
	}
	for _, member := range smmr.Spec.Members {
		if _, ok := namespacesAlreadyConfigured[member]; ok {
			return admission.ErrorResponse(http.StatusBadRequest, fmt.Errorf("one or more members are already defined in another ServiceMeshMemberRoll"))
		} else if smmr.Namespace == member {
			return admission.ErrorResponse(http.StatusBadRequest, fmt.Errorf("mesh project/namespace cannot be listed as a member"))
		}
		// verify user can access all smmr member namespaces
		sar.Spec.ResourceAttributes.Namespace = member
		err = v.client.Create(ctx, sar)
		if err != nil {
			logger.Error(err, "error processing SubjectAccessReview")
			return admission.ErrorResponse(http.StatusInternalServerError, err)
		}
		if !sar.Status.Allowed || sar.Status.Denied {
			return admission.ErrorResponse(http.StatusForbidden, fmt.Errorf("user '%s' does not have permission to access project/namespace '%s'", req.AdmissionRequest.UserInfo.Username, member))
		}
	}

	return admission.ValidationResponse(true, "")

Seems somewhat relevant but again does not seem to address Ansible implementations of operators:
https://github.com/operator-framework/operator-lifecycle-manager/blob/master/Documentation/contributors/design-proposals/webhooks.md

I would like to bring this to the top again - this is an important feature that, without it, is going to cause a potential security issue with the kiali operator - there is no way for us to plug up this hole that I know of, short of having this feature implemented. The way we avoid any problems today is with our integration with the Maistra operator (which, itself, is implemented in Go and has an admission webhook that effectively performs the work for Kiali that kiali can't do itself).

I definitely see this as something that we need to figure out sooner than later, providing an easy way to get this functionality for operators in Ansible would close a big gap.
I wonder if we could do something similar to the way that we map events to playbooks, where we allow you to write a webhook playbook that takes in the resource and use the playbook success/failure to determine whether to allow admission. We could then write a generic webhook handler and let users just worry about their Ansible logic.

We still want this. I believe work is ongoing to implement this so we should /remove-lifecycle stale.

/remove-lifecycle rotten
Where are we with this? I see the proposal PR is still open: https://github.com/operator-framework/operator-sdk/pull/2048

@jmazzitelli I began to implement the proposal in #2048 and it proved to be quite awkward and unwieldy, the document in #2685 has an alternate approach that I think will likely be much better


Jesse: Watch theboyo.com

Jesse requests the watch of the watch_keyword theboyo\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by cigien in Charcoal HQ


Replying to users doesn't work

Hi,
So I just deployed the bot on my Ubuntu 22.04 VPS and I get the message from users, but when trying to reply from the account whose ID I have entered in the config file, it sends my reply as a new message and I receive it in the same conversation instead of actually replying to the user.
Am I doing something wrong, or does the bot nee an update?
Thanks!

Hi, probably you confused by :

Admin can answer to message by reply. The answer will be sent to the person who asked.

Let me explain how it works:

Somebody send message to bot. If message has avaiable content type

Messages with an available content type (TEXT, ANIMATION, AUDIO, DOCUMENT, PHOTO, VIDEO, VOICE) will be transferred to admin group or admin chat.

it will transmitted to admin chat ( you can pass your account id in config file,) or admin group ( but without topics ).

In admin chat/group you can interact with message of user by reply. But for user it will be seperate message. Reply exists only in admin chat/group.

I believe it is quite easy to add reply instead of separate message by collecting message_id from user.
This is a good idea, I would like to add it soon. But if you want, you can make a pull request.

I’m not a developer, please consider adding it then let me know after that’s done – I’m still looking for a bot to do that and havevn’t found any. Yours will be much appreciated if this is fixed! I need in private messages, not in groups. Since for me private message is easier. Thanks!  From: bralSent: Friday, April 19, 2024 9:43 PMTo: bralbral/telegram-feedback-botCc: StormProductionsMusic; AuthorSubject: Re: [bralbral/telegram-feedback-bot] Replying to users doesn't work (Issue #40) Hi, probably you confused by :Admin can answer to message by reply. The answer will be sent to the person who asked.Let me explain how it works:Somebody send message to bot. If message has avaiable content typeMessages with an available content type (TEXT, ANIMATION, AUDIO, DOCUMENT, PHOTO, VIDEO, VOICE) will be transferred to admin group or admin chat.it will transmitted to admin chat ( you can pass your account id in config file,) or admin group ( but without topics ).In admin chat/group you can interact with message of user by reply. But for user it will be seperate message. Reply exists only in admin chat/group.I believe it is quite easy to add reply instead of separate message by collecting message_id from user.This is a good idea, I would like to add it soon. But if you want, you can make a pull request.—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>
@StormProductionsMusic but it always seems to work with private message.
You should set your telegram_id of account in this section and then all messages from users will transmitted to private messages of this account.
But in that case you should start dialog before with bot from this account.
Just send /start from account which you added in config.yaml.

@bralbral, this seems pretty complicated to me. Can you please DM me on Telegram at https://t,me/stormproductions to get it sorted out? I'm pretty new to all this so would really need some help.

We're going to continue discussing this issue further on Telegram. Closing it now.


[HUDI-4303] Use Hive sentinel value as partition default to avoid casting err

What is the purpose of the pull request
When we define a table in Hive with a partitioning column, all NULL values within that column appear as __HIVE_DEFAULT_PARTITION__. It is the sentinel value which is understood by both Hive and Spark. Previously we used default string as the default partition value. That would result in casting errors as mentioned in HUDI-4303 or HUDI-4159. This PR fixes that behavior.
Brief change log
(for example:)

Change default partition value to __HIVE_DEFAULT_PARTITION__.
Fix tests.

Verify this pull request
(Please pick either of the following options)
This pull request is a trivial rework / code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end.
Added HoodieClientWriteTest to verify the change.
Manually verified the change by running a job locally.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@danny0405 Can you please review the flink side of config change? It used to be a different value previously https://github.com/apache/hudi/blob/release-0.9.0/hudi-flink/src/main/java/org/apache/hudi/configuration/FlinkOptions.java#L75

this might be a backwards incompatible change right. until 0.11.1, null partition value records will go into "defualt" partition and after this patch, they will all go into "HIVE_DEFAULT_PARTITION". Did we think of an upgrade step to rewrite those partitions if any? or provide a hudi-cli command to fix those.

I would consider it as a bug.

@codope could you rebase and let CI run again?
important matter: users would need to migrate the tables if they upgrade to 0.12, right? otherwise, data will be corrupted. need to think of some migration strategy. maybe via upgrade handler?

Rebased.
@xushiyan @nsivabalan This change is an incompatible one. But, it restores to the correct default value that we had in previous versions
So, the default value has changed in the past as well. So, it appears that it does not affect users in a critical way. Keeping the default value consistent as Hive is important as Presto, Trino and Spark all use same default partition value. As for incompatibility, I think it would be better to keep this put of upgrade path. Instead we can write a hudi-cli command.

There are test failures, maybe we can rebase the latest master code and run the CI again.

So, do we know why did we change the default after 0.9.0? what change was made and any rational added ?

@codope looks like IT still fails after rerunning.  Could you check the failure?

@codope looks like IT still fails after rerunning. Could you check the failure?

The hudi-flink test case is flaky and i'm fixing it in https://github.com/apache/hudi/pull/6181, someone need to take are of the other flaky tests.

@codope @danny0405 let's figure out a smooth upgrade plan. this will severely affect user experience if we just roll out as is.

So, do we know why did we change the default after 0.9.0? what change was made and any rational added ?

Please check this discussion https://github.com/apache/hudi/pull/3693#discussion_r714755533
The intent of the author of #3693 was to make the default partition value same in KeygenUtils and PartitionPathEncodeUtils but __HIVE_DEFAULT_PARTITION__  should have been chosen instead of default as the default value if partition path is null.

@codope @danny0405 let's figure out a smooth upgrade plan. this will severely affect user experience if we just roll out as is.

Working on it. Reopened HUDI-4303


vim.vim syntax highlighting broken wrt system()

Steps to reproduce
With 9.1.0148, have a vimscript file with just the following:
com Foo call system('ls')

and vim --clean to view it.
Expected behaviour
I expect that the "system" part is not highlighted as an error.  But it is!  It's wrongly getting counted as vimFunctionError.
This wrong behavior is brand new to 9.1.0148.  9.1.0147 does not have this problem.
Version of Vim
9.1.0148
Environment
LinuxMint 21.1
Kitty
Logs and stack traces
No response

Sorry, I made a mistake. The bad commit is c4aef9a, not 9.1.0148.
9.1.0148 but before c4aef9a is fine.


1.9.8 crashes (SIGSEGV) at phantomjs!JSC::jsAddSlowCase

I know that 2.x has been released, but without static Linux binaries, it's not available in our CI environment.
Operating system: Linux
                  0.0.0 Linux 3.13.0-46-generic #79-Ubuntu SMP Tue Mar 10 20:06:50 UTC 2015 x86_64
CPU: amd64
     family 16 model 2 stepping 3
     4 CPUs

Crash reason:  SIGSEGV
Crash address: 0x0

Thread 0 (crashed)
 0  phantomjs!JSC::jsAddSlowCase [JSCell.h : 250 + 0x28]
    rbx = 0x00007f2fd120ff10   r12 = 0x00007f301812bf18
    r13 = 0x00007f301812bf18   r14 = 0x00007fff29192270
    r15 = 0x00007f301812bf18   rip = 0x0000000000fbb72b
    rsp = 0x00007fff29192080   rbp = 0x00000000028a9990
    Found by: given as instruction pointer in context
 1  phantomjs!JSC::cti_op_add [JITStubs.cpp : 1325 + 0xd]
    rbx = 0x00007f2fd120ff10   r12 = 0x0000000000000200
    r13 = 0x00007f301812bf18   r14 = 0x00007fff29192270
    r15 = 0x00007f301812bf18   rip = 0x0000000000f61be7
    rsp = 0x00007fff29192160   rbp = 0x00000000028a9990
    Found by: call frame info
 2  0x7f2fd402a1cc
    rbx = 0x00007f301812bf18   r12 = 0x0000000000000200
    r13 = 0x00007f301812bf18   r14 = 0xffff000000000000
    r15 = 0xffff000000000002   rip = 0x00007f2fd402a1cd
    rsp = 0x00007fff29192270   rbp = 0x00007fff29192310
    Found by: call frame info
 3  libc-2.19.so + 0x3be75f
    rip = 0x00007f301a58e760   rsp = 0x00007fff29192290
    rbp = 0x00007fff29192310
    Found by: stack scanning
 4  phantomjs!JSC::Interpreter::executeCall [JITCode.h : 77 + 0x16]
    rip = 0x0000000000f2e476   rsp = 0x00007fff29192320
    Found by: stack scanning
 5  phantomjs!JSC::call [CallData.cpp : 38 + 0x21]
    rbx = 0x00007fff29192550   r12 = 0x00007f2fd1238dc8
    r13 = 0x00007f2fd0ecc2d0   r14 = 0x00007f301b98c150
    r15 = 0x00007f301b9c98f0   rip = 0x0000000000f72a1d
    rsp = 0x00007fff291923f0   rbp = 0x00007f2fd11ad310
    Found by: call frame info
 6  phantomjs!JSC::Bindings::QtConnectionObject::execute [qt_runtime.cpp : 1863 + 0x17]
    rbx = 0x00007fff29192550   r12 = 0x00007f2fd1238dc8
    r13 = 0x00007f2fd0ecc2d0   r14 = 0x00007f301b98c150
    r15 = 0x00007f301b9c98f0   rip = 0x0000000000542fce
    rsp = 0x00007fff29192400   rbp = 0x00007f2fd11ad310
    Found by: call frame info
 7  phantomjs!JSC::Bindings::QtConnectionObject::qt_metacall [qt_runtime.cpp : 1807 + 0xa]
    rbx = 0x0000000000000000   r12 = 0x00007fff291927e0
    r13 = 0x00000000033cb160   r14 = 0x0000000000000004
    r15 = 0x00000000034197e0   rip = 0x0000000000543a0c
    rsp = 0x00007fff29192680   rbp = 0x0000000000000000
    Found by: call frame info
 8  phantomjs!QMetaObject::activate [qobject.cpp : 3555 + 0x1f]
    rbx = 0x0000000000000004   r12 = 0x0000000003397e01
    r13 = 0x0000000000000000   r14 = 0x0000000000000004
    r15 = 0x00000000034197e0   rip = 0x0000000001cf7260
    rsp = 0x00007fff291926b0   rbp = 0x00000000033cb160
    Found by: call frame info
 9  phantomjs!WebPage::resourceRequested [moc_webpage.cpp : 456 + 0x4]
    rbx = 0x0000000000000004   r12 = 0x0000000003397e90
    r13 = 0x000000000046a310   r14 = 0x0000000000000006
    r15 = 0x0000000003392730   rip = 0x000000000046a1a5
    rsp = 0x00007fff291927d0   rbp = 0x00007fff29192a70
    Found by: call frame info
10  phantomjs!WebPage::qt_static_metacall [moc_webpage.cpp : 213 + 0xf]
    rbx = 0x0000000000000004   r12 = 0x0000000003397e90
    r13 = 0x000000000046a310   r14 = 0x0000000000000006
    r15 = 0x0000000003392730   rip = 0x000000000046ab8c
    rsp = 0x00007fff29192810   rbp = 0x00007fff29192a70
    Found by: call frame info
11  phantomjs!QMetaObject::activate [qobject.cpp : 3539 + 0x1e]
    rbx = 0x0000000000000004   r12 = 0x00007fff29192e01
    r13 = 0x000000000046a310   r14 = 0x0000000000000006
    r15 = 0x0000000003392730   rip = 0x0000000001cf6ff8
    rsp = 0x00007fff29192940   rbp = 0x0000000003397e90
    Found by: call frame info
12  phantomjs!NetworkAccessManager::resourceRequested [moc_networkaccessmanager.cpp : 264 + 0x4]
    rbx = 0x00007fff29192c00   r12 = 0x00007fff29192e00
    r13 = 0x00007fff29192c80   r14 = 0x00007fff29192b40
    r15 = 0x00007fff29192cb0   rip = 0x000000000046c5f2
    rsp = 0x00007fff29192a60   rbp = 0x00007fff29192bf0
    Found by: call frame info
13  phantomjs!NetworkAccessManager::createRequest [networkaccessmanager.cpp : 240 + 0x22]
    rbx = 0x00007fff29192c00   r12 = 0x00007fff29192e00
    r13 = 0x00007fff29192c80   r14 = 0x00007fff29192b40
    r15 = 0x00007fff29192cb0   rip = 0x000000000042d137
    rsp = 0x00007fff29192aa0   rbp = 0x00007fff29192bf0
    Found by: call frame info
14  phantomjs!QNetworkAccessManager::get [qnetworkaccessmanager.cpp : 598 + 0xc]
    rbx = 0x000000000349f920   r12 = 0x00000000034bc378
    r13 = 0x00000000031f9fc0   r14 = 0x000000000349f920
    r15 = 0x0000000000000000   rip = 0x0000000001b0ef74
    rsp = 0x00007fff29192f20   rbp = 0x00000000034bc350
    Found by: call frame info
15  phantomjs!WebCore::QNetworkReplyHandler::sendNetworkRequest [QNetworkReplyHandler.cpp : 634 + 0xa]
    rbx = 0x00007fff29192f70   r12 = 0x00000000034bc378
    r13 = 0x00000000031f9fc0   r14 = 0x000000000349f920
    r15 = 0x0000000000000000   rip = 0x0000000000adcdb2
    rsp = 0x00007fff29192f30   rbp = 0x00000000034bc350
    Found by: call frame info
16  phantomjs!WebCore::QNetworkReplyHandler::start [QNetworkReplyHandler.cpp : 673 + 0x14]
    rbx = 0x00007f2fd3d26b80   r12 = 0x00000000034bc388
    r13 = 0x00007f2fd3d26b88   r14 = 0x00000000034bc388
    r15 = 0x00000000034bc350   rip = 0x0000000000add8ec
    rsp = 0x00007fff29193070   rbp = 0x00000000034bc350
    Found by: call frame info
17  phantomjs!WebCore::QNetworkReplyHandlerCallQueue::flush [QNetworkReplyHandler.cpp : 198 + 0x28]
    rbx = 0x00000000031b1218   r12 = 0x00000000034bc388
    r13 = 0x00007f2fd3d26b88   r14 = 0x00000000034bc388
    r15 = 0x00000000034bc350   rip = 0x0000000000adab81
    rsp = 0x00007fff291930a0   rbp = 0x00000000031b1200
    Found by: call frame info
18  phantomjs!WebCore::QNetworkReplyHandler::QNetworkReplyHandler [QNetworkReplyHandler.cpp : 409 + 0x21]
    rbx = 0x00007fff29193120   r12 = 0x00000000034bc388
    r13 = 0x00007f2fd3d26b88   r14 = 0x00000000034bc378
    r15 = 0x00000000034bc3a8   rip = 0x0000000000adc49f
    rsp = 0x00007fff291930f0   rbp = 0x00000000034bc350
    Found by: call frame info
19  phantomjs!WebCore::ResourceHandle::start [ResourceHandleQt.cpp : 100 + 0x20]
    rbx = 0x00000000034bc350   r12 = 0x00007f301808f708
    r13 = 0x00007f301808f718   r14 = 0x0000000000000000
    r15 = 0x0000000000000001   rip = 0x0000000000ad85f1
    rsp = 0x00007fff29193170   rbp = 0x00007f2fd3d26b80
    Found by: call frame info
20  phantomjs!WebCore::ResourceHandle::create [ResourceHandle.cpp : 71 + 0xc]
    rbx = 0x00007f301808f708   r12 = 0x00007fff29193260
    r13 = 0x00007f2fd147c600   r14 = 0x0000000000000000
    r15 = 0x0000000000000001   rip = 0x000000000097755d
    rsp = 0x00007fff291931e0   rbp = 0x00007f2fd147c700
    Found by: call frame info
21  phantomjs!WebCore::ResourceLoader::start [ResourceLoader.cpp : 164 + 0x2c]
    rbx = 0x0000000000000001   r12 = 0x00007f2fd147c600
    r13 = 0x00007f2fd147c700   r14 = 0x0000000000000001
    r15 = 0x00000000031d9f20   rip = 0x0000000000887e8b
    rsp = 0x00007fff29193240   rbp = 0x00007f2fd147c600
    Found by: call frame info
22  phantomjs!WebCore::ResourceLoadScheduler::servePendingRequests [ResourceLoadScheduler.cpp : 201 + 0x7]
    rbx = 0x00007f2fd13dcf88   r12 = 0x00007f2fd147c600
    r13 = 0x00000000031d9f10   r14 = 0x0000000000000001
    r15 = 0x00000000031d9f20   rip = 0x000000000088bf06
    rsp = 0x00007fff291932a0   rbp = 0x00007f2fd13dcf88
    Found by: call frame info
23  phantomjs!WebCore::ResourceLoadScheduler::scheduleSubresourceLoad [ResourceLoadScheduler.cpp : 91 + 0xd]
    rbx = 0x00007f2fd147c600   r12 = 0x0000000000000002
    r13 = 0x000000000314c800   r14 = 0x00007f2fd390fb40
    r15 = 0x00007fff29193380   rip = 0x000000000088d2e9
    rsp = 0x00007fff291932f0   rbp = 0x00007fff291934d0
    Found by: call frame info
24  phantomjs!WebCore::CachedResourceRequest::load [CachedResourceRequest.cpp : 125 + 0x42]
    rbx = 0x0000000000000001   r12 = 0x00007f2fd3fc8b00
    r13 = 0x00007f2fd3c7da00   r14 = 0x00007f2fd390fb40
    r15 = 0x00007fff29193380   rip = 0x000000000113d9c6
    rsp = 0x00007fff29193340   rbp = 0x0000000000000002
    Found by: call frame info
25  phantomjs!WebCore::CachedResourceLoader::load [CachedResourceLoader.cpp : 541 + 0x7]
    rbx = 0x00007f2fd390fb40   r12 = 0x0000000000000001
    r13 = 0x0000000000000000   r14 = 0x00007fff291938a0
    r15 = 0x0000000000000005   rip = 0x0000000000838fad
    rsp = 0x00007fff29193530   rbp = 0x0000000000000001
    Found by: call frame info
26  phantomjs!WebCore::CachedResource::load [CachedResource.cpp : 133 + 0x4]
    rbx = 0x00007f2fd3c7da00   r12 = 0x0000000000000001
    r13 = 0x0000000000000000   r14 = 0x00007fff291938a0
    r15 = 0x0000000000000005   rip = 0x000000000082ec63
    rsp = 0x00007fff29193570   rbp = 0x0000000000000001
    Found by: call frame info
27  phantomjs!WebCore::CachedResourceLoader::loadResource [CachedResourceLoader.cpp : 393 + 0x12]
    rbx = 0x00000000ffffffff   r12 = 0x0000000000000001
    r13 = 0x0000000000000000   r14 = 0x00007fff291938a0
    r15 = 0x0000000000000005   rip = 0x000000000083b7b5
    rsp = 0x00007fff29193580   rbp = 0x0000000000000001
    Found by: call frame info
28  phantomjs!WebCore::CachedResourceLoader::requestResource [CachedResourceLoader.cpp : 332 + 0x1c]
    rbx = 0x00007f2fd3fecd20   r12 = 0x0000000000000001
    r13 = 0x0000000000000000   r14 = 0x00007fff291938a0
    r15 = 0x0000000000000005   rip = 0x000000000083e33b
    rsp = 0x00007fff29193600   rbp = 0x0000000000000000
    Found by: call frame info
29  phantomjs!WebCore::ScriptElement::requestScript [ScriptElement.cpp : 255 + 0x15]
    rbx = 0x00007f2fd14a6498   r12 = 0x00007fff29193820
    r13 = 0x0000000000000001   r14 = 0x00007fff291938a0
    r15 = 0x0000000000000005   rip = 0x000000000106f0f0
    rsp = 0x00007fff29193730   rbp = 0x00007f2fd3f7e800
    Found by: call frame info
30  phantomjs!WebCore::ScriptElement::prepareScript [ScriptElement.cpp : 222 + 0x1f]
    rbx = 0x00007fff29193820   r12 = 0x00007f2fd3bd6180
    r13 = 0x0000000000000001   r14 = 0x00007fff291938a0
    r15 = 0x0000000000000005   rip = 0x00000000010715b6
    rsp = 0x00007fff29193770   rbp = 0x00007f2fd14a6498
    Found by: call frame info
31  phantomjs!WebCore::ScriptElement::insertedIntoDocument [ScriptElement.cpp : 78 + 0x18]
    rbx = 0x00007f2fd3f7e800   r12 = 0x0000000000000001
    r13 = 0x0000000000000001   r14 = 0x00000000033f9170
    r15 = 0x00007fff2919398c   rip = 0x0000000001071f13
    rsp = 0x00007fff291938a0   rbp = 0x00007f2fd14a6420
    Found by: call frame info
32  phantomjs!WebCore::notifyChildInserted [ContainerNode.cpp : 1074 + 0xc]
    rbx = 0x00007f2fd3f7e800   r12 = 0x0000000000000001
    r13 = 0x0000000000000001   r14 = 0x00000000033f9170
    r15 = 0x00007fff2919398c   rip = 0x00000000005f63c4
    rsp = 0x00007fff291938c0   rbp = 0x00007f2fd14a6420
    Found by: call frame info
33  phantomjs!WebCore::ContainerNode::appendChild [ContainerNode.cpp : 645 + 0x7]
    rbx = 0x00007f2fd14a6420   r12 = 0x00007f301812b950
    r13 = 0x00007fff29193918   r14 = 0x00000000033f9170
    r15 = 0x00007fff2919398c   rip = 0x00000000005f97fe
    rsp = 0x00007fff291938f0   rbp = 0x0000000003375d40
    Found by: call frame info
34  phantomjs!WebCore::Node::appendChild [Node.cpp : 663 + 0x4]
    rbx = 0x00007f301812b980   r12 = 0x00007f301812b950
    r13 = 0x00007f301812b910   r14 = 0xffff000000000000
    r15 = 0xffff000000000002   rip = 0x000000000064cf09
    rsp = 0x00007fff29193960   rbp = 0x0000000003375d40
    Found by: call frame info
35  phantomjs!WebCore::JSNode::appendChild [JSNodeCustom.cpp : 183 + 0x14]
    rbx = 0x00007f301812b980   r12 = 0x00007f301812b950
    r13 = 0x00007f301812b910   r14 = 0xffff000000000000
    r15 = 0xffff000000000002   rip = 0x000000000052207a
    rsp = 0x00007fff29193980   rbp = 0x0000000003375d40
    Found by: call frame info
36  phantomjs!WebCore::jsNodePrototypeFunctionAppendChild [JSNode.cpp : 498 + 0xa]
    rbx = 0x00007f2fd403e258   r12 = 0x00000000000001c6
    r13 = 0x00007f301812b910   r14 = 0xffff000000000000
    r15 = 0xffff000000000002   rip = 0x0000000000c3c607
    rsp = 0x00007fff291939b0   rbp = 0x00007fff29193a70
    Found by: call frame info
37  0x7f2fd40001e7
    rbx = 0x00007f2fd403e258   r12 = 0x00000000000001c6
    r13 = 0x00007f301812b910   r14 = 0xffff000000000000
    r15 = 0xffff000000000002   rip = 0x00007f2fd40001e8
    rsp = 0x00007fff291939c0   rbp = 0x00007fff29193a70
    Found by: call frame info
38  phantomjs!JSC::Interpreter::executeCall [JITCode.h : 77 + 0x16]
    rip = 0x0000000000f2e476   rsp = 0x00007fff29193a80
    Found by: stack scanning
39  phantomjs!JSC::call [CallData.cpp : 38 + 0x21]
    rbx = 0x0000000002a9ed10   r12 = 0x00007f2fd3eea9c8
    r13 = 0x00007f2fd3eea9c0   r14 = 0x00007f301b98c8d0
    r15 = 0x00007fff29193ba0   rip = 0x0000000000f72a1d
    rsp = 0x00007fff29193b50   rbp = 0x0000000000000000
    Found by: call frame info
40  phantomjs!WebCore::ScheduledAction::executeFunctionInContext [JSMainThreadExecState.h : 48 + 0xb]
    rbx = 0x0000000002a9ed10   r12 = 0x00007f2fd3eea9c8
    r13 = 0x00007f2fd3eea9c0   r14 = 0x00007f301b98c8d0
    r15 = 0x00007fff29193ba0   rip = 0x00000000010131f9
    rsp = 0x00007fff29193b60   rbp = 0x0000000000000000
    Found by: call frame info
41  phantomjs!WebCore::ScheduledAction::execute [ScheduledAction.cpp : 132 + 0x29]
    rbx = 0x00007f2fd3fc8b00   r12 = 0x00007f2fd3eea9c0
    r13 = 0x00007f2fd3f7e800   r14 = 0x0000000000000001
    r15 = 0x00007f2fd3f7e8d0   rip = 0x00000000010138cd
    rsp = 0x00007fff29193cd0   rbp = 0x00007f301b98c8d0
    Found by: call frame info
42  phantomjs!WebCore::DOMTimer::fired [DOMTimer.cpp : 148 + 0xa]
    rbx = 0x00007f2fd14626e8   r12 = 0x00007f2fd3eea9c0
    r13 = 0x0000000002a9bb08   r14 = 0x0000000000000027
    r15 = 0x00007fff29193d70   rip = 0x00000000008b47e9
    rsp = 0x00007fff29193d30   rbp = 0x00007f2fd3f7e8d0
    Found by: call frame info
43  phantomjs!WebCore::ThreadTimers::sharedTimerFiredInternal [ThreadTimers.cpp : 112 + 0x8]
    rbx = 0x00007f2fd14626e8   r12 = 0x0000000000000000
    r13 = 0x0000000002ebfae0   r14 = 0x0000000000046eac
    r15 = 0x00007fff29194500   rip = 0x0000000000993a83
    rsp = 0x00007fff29193dc0   rbp = 0x00007f301b9f17a8
    Found by: call frame info
44  phantomjs!QObject::event [qobject.cpp : 1156 + 0x8]
    rbx = 0x000000000314c920   r12 = 0x00007fff29194500
    r13 = 0x0000000002ebfae0   r14 = 0x0000000000046eac
    r15 = 0x00007fff29194500   rip = 0x0000000001cefcc4
    rsp = 0x00007fff29193e00   rbp = 0x000000000314c920
    Found by: call frame info
45  phantomjs!QApplicationPrivate::notify_helper [qapplication.cpp : 4562 + 0xc]
    rbx = 0x00007fff29194780   r12 = 0x00007fff29194500
    r13 = 0x0000000002ebfae0   r14 = 0x0000000000046eac
    r15 = 0x00007fff29194500   rip = 0x00000000015dedaf
    rsp = 0x00007fff29193fa0   rbp = 0x000000000314c920
    Found by: call frame info
46  phantomjs!QApplication::notify [qapplication.cpp : 4423 + 0x17]
    rbx = 0x00007fff29194780   r12 = 0x00007fff29194500
    r13 = 0x00007fff29194780   r14 = 0x0000000000046eac
    r15 = 0x00007fff29194500   rip = 0x00000000015e7a3b
    rsp = 0x00007fff29193fd0   rbp = 0x000000000314c920
    Found by: call frame info
47  phantomjs!QCoreApplication::notifyInternal [qcoreapplication.cpp : 946 + 0x2]
    rbx = 0x0000000002ebd1c0   r12 = 0x00007fff29194500
    r13 = 0x00007fff29194780   r14 = 0x0000000000046eac
    r15 = 0x00007fff29194500   rip = 0x0000000001cde4d4
    rsp = 0x00007fff291944a0   rbp = 0x000000000314c920
    Found by: call frame info
48  phantomjs!QTimerInfoList::activateTimers [qcoreapplication.h : 231 + 0x14]
    rbx = 0x0000000002ec0978   r12 = 0x0000000000000001
    r13 = 0x0000000000000000   r14 = 0x0000000000046eac
    r15 = 0x00007fff29194500   rip = 0x0000000001d07fcd
    rsp = 0x00007fff291944f0   rbp = 0x000000000000db63
    Found by: call frame info
49  phantomjs!QEventDispatcherUNIX::processEvents [qeventdispatcher_unix.cpp : 941 + 0x7]
    rbx = 0x0000000000000001   r12 = 0x00007fff291945d0
    r13 = 0x0000000002ebd030   r14 = 0x0000000000000001
    r15 = 0x0000000002ebd2d8   rip = 0x0000000001d081e0
    rsp = 0x00007fff29194580   rbp = 0x0000000002ec0110
    Found by: call frame info
50  phantomjs!QEventDispatcherQPA::processEvents [qeventdispatcher_qpa.cpp : 246 + 0x4]
    rbx = 0x000000000314c060   r12 = 0x0000000000000000
    r13 = 0x0000000002ebd030   r14 = 0x00007fff29194610
    r15 = 0x0000000002ebd2d8   rip = 0x000000000163a7a4
    rsp = 0x00007fff291945d0   rbp = 0x0000000002ec0110
    Found by: call frame info
51  phantomjs!QEventLoop::processEvents [qeventloop.cpp : 149 + 0x1]
    rbx = 0x000000000314c060   r12 = 0x00007fff291946a0
    r13 = 0x00007fff291946b0   r14 = 0x0000000002ebd230
    r15 = 0x0000000002ebd2d8   rip = 0x0000000001cdd5b5
    rsp = 0x00007fff29194610   rbp = 0x00007fff29194650
    Found by: call frame info
52  phantomjs!QEventLoop::exec [qeventloop.cpp : 200 + 0x4]
    rbx = 0x000000000314c060   r12 = 0x00007fff291946a0
    r13 = 0x00007fff291946b0   r14 = 0x0000000002ebd230
    r15 = 0x0000000002ebd2d8   rip = 0x0000000001cdda18
    rsp = 0x00007fff29194640   rbp = 0x00007fff29194780
    Found by: call frame info
53  phantomjs!QCoreApplication::exec [qcoreapplication.cpp : 1218 + 0x4]
    rbx = 0x0000000002ebd1c0   r12 = 0x00007fff29194780
    r13 = 0x00007fff29194958   r14 = 0x00007fff291946f0
    r15 = 0x0000000000000000   rip = 0x0000000001cdf8cb
    rsp = 0x00007fff291946a0   rbp = 0x0000000002ebd1c0
    Found by: call frame info
54  phantomjs!main [main.cpp : 121 + 0x4]
    rbx = 0x0000000002f19c80   r12 = 0x00007fff29194780
    r13 = 0x00007fff29194958   r14 = 0x00007fff291946f0
    r15 = 0x0000000000000000   rip = 0x0000000000427db2
    rsp = 0x00007fff291946e0   rbp = 0x00007fff29194918
    Found by: call frame info
55  libc-2.19.so + 0x21ec4
    rbx = 0x0000000000000000   r12 = 0x0000000000407cc0
    r13 = 0x00007fff29194910   r14 = 0x0000000000000000
    r15 = 0x0000000000000000   rip = 0x00007f301a1f1ec5
    rsp = 0x00007fff29194840   rbp = 0x0000000000000000
    Found by: call frame info
56  phantomjs + 0x27b5f
    rip = 0x0000000000427b60   rsp = 0x00007fff29194860
    Found by: stack scanning

Thread 1
 0  libc-2.19.so + 0xc0f3d
    rbx = 0x00007f301952bc80   r12 = 0x00007f301952bd00
    r13 = 0x0000000000000000   r14 = 0x00007f301952c9c0
    r15 = 0x00007f301952c700   rip = 0x00007f301a290f3d
    rsp = 0x00007f301952bc60   rbp = 0x00000000ffffffff
    Found by: given as instruction pointer in context
 1  libc-2.19.so + 0xc0dd3
    rip = 0x00007f301a290dd4   rsp = 0x00007f301952bc70
    Found by: stack scanning
 2  ld-2.19.so + 0xa990
    rip = 0x00007f301b8c8991   rsp = 0x00007f301952bd20
    Found by: stack scanning
 3  libc-2.19.so + 0xe89f
    rip = 0x00007f301a1de8a0   rsp = 0x00007f301952bd28
    Found by: stack scanning
 4  phantomjs + 0x18b5d6f
    rip = 0x0000000001cb5d70   rsp = 0x00007f301952bd88
    Found by: stack scanning
 5  libc-2.19.so + 0x3d27
    rip = 0x00007f301a1d3d28   rsp = 0x00007f301952bd98
    Found by: stack scanning
 6  libc-2.19.so + 0xe89f
    rip = 0x00007f301a1de8a0   rsp = 0x00007f301952bda8
    Found by: stack scanning
 7  phantomjs!WebPage::renderPdf [qmap.h : 172 + 0x5]
    rip = 0x00000000004173d8   rsp = 0x00007f301952bdb0
    Found by: stack scanning

Thread 2
 0  libc-2.19.so + 0xf1da3
    rbx = 0x0000000000000000   r12 = 0x00007f3018d2adb0
    r13 = 0x0000000000000008   r14 = 0x00007f3014000a98
    r15 = 0x00007f3014000d30   rip = 0x00007f301a2c1da3
    rsp = 0x00007f3018d2ab80   rbp = 0x00007f30140008e0
    Found by: given as instruction pointer in context
 1  phantomjs!qt_safe_select [qcore_unix.cpp : 83 + 0x15]
    rip = 0x0000000001d06427   rsp = 0x00007f3018d2ab90
    Found by: stack scanning
 2  phantomjs!QEventDispatcherUNIXPrivate::doSelect [qeventdispatcher_unix.cpp : 223 + 0xd]
    rbx = 0x00007f30140012b0   r12 = 0x00007f3018d2adb0
    r13 = 0x00007f30140008e0   r14 = 0x0000000000000000
    r15 = 0x00007f3014000d30   rip = 0x0000000001d076e7
    rsp = 0x00007f3018d2ac20   rbp = 0x00007f30140008e0
    Found by: call frame info
 3  phantomjs!QEventDispatcherUNIX::processEvents [qeventdispatcher_unix.cpp : 937 + 0x4]
    rbx = 0x00007f30140012b0   r12 = 0x00007f3018d2adb0
    r13 = 0x00007f30140008c0   r14 = 0x0000000000000001
    r15 = 0x0000000002f0e2c8   rip = 0x0000000001d08192
    rsp = 0x00007f3018d2ad60   rbp = 0x00007f30140008e0
    Found by: call frame info
 4  phantomjs!QEventLoop::processEvents [qeventloop.cpp : 149 + 0x1]
    rbx = 0x00007f30140012b0   r12 = 0x00007f3018d2ae40
    r13 = 0x00007f3018d2ae50   r14 = 0x0000000002ebd230
    r15 = 0x0000000002f0e2c8   rip = 0x0000000001cdd5b5
    rsp = 0x00007f3018d2adb0   rbp = 0x00007f3018d2adf0
    Found by: call frame info
 5  phantomjs!QEventLoop::exec [qeventloop.cpp : 200 + 0x4]
    rbx = 0x00007f30140012b0   r12 = 0x00007f3018d2ae40
    r13 = 0x00007f3018d2ae50   r14 = 0x0000000002ebd230
    r15 = 0x0000000002f0e2c8   rip = 0x0000000001cdda18
    rsp = 0x00007f3018d2ade0   rbp = 0x00007fff29194780
    Found by: call frame info
 6  phantomjs!QThread::exec [qthread.cpp : 542 + 0xc]
    rbx = 0x0000000002f0e240   r12 = 0x0000000002f0e2c8
    r13 = 0x0000000000000001   r14 = 0x00007f3018d2b9c0
    r15 = 0x00007f3018d2b700   rip = 0x0000000001bdfef6
    rsp = 0x00007f3018d2ae40   rbp = 0x0000000002f0e2c8
    Found by: call frame info
 7  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
    rbx = 0x0000000002f0e2c8   r12 = 0x0000000002f1be30
    r13 = 0x0000000000000001   r14 = 0x00007f3018d2b9c0
    r15 = 0x00007f3018d2b700   rip = 0x0000000001be2dc2
    rsp = 0x00007f3018d2ae90   rbp = 0x0000000002f6eb70
    Found by: call frame info
 8  libpthread-2.19.so + 0x8181
    rbx = 0x00007f3018d2b700   r12 = 0x0000000000000000
    r13 = 0x0000000000000000   r14 = 0x00007f3018d2b9c0
    r15 = 0x00007f3018d2b700   rip = 0x00007f301adbd182
    rsp = 0x00007f3018d2aee0   rbp = 0x0000000000000000
    Found by: call frame info
 9  libc-2.19.so + 0xfa47c
    rip = 0x00007f301a2ca47d   rsp = 0x00007f3018d2af80
    Found by: stack scanning

Thread 3
 0  libpthread-2.19.so + 0xc7ce
    rbx = 0x00007f2fcc006940   r12 = 0x0000000000000005
    r13 = 0x00007f2fd2d42df0   r14 = 0xffffffffffffff92
    r15 = 0x00007f2fcc006800   rip = 0x00007f301adc17ce
    rsp = 0x00007f2fd2d42d70   rbp = 0x00007f2fcc006c70
    Found by: given as instruction pointer in context
 1  phantomjs!QWaitCondition::wait [qwaitcondition_unix.cpp : 84 + 0x7]
    rip = 0x0000000001be3ad7   rsp = 0x00007f2fd2d42dd0
    Found by: stack scanning
 2  phantomjs!QThreadPoolThread::run [qthreadpool.cpp : 141 + 0x1d]
    rbx = 0x00007f2fcc006860   r12 = 0x00007f2fcc0068e9
    r13 = 0x0000000000000002   r14 = 0x00007f2fcc15f2e0
    r15 = 0x00007f2fd2d43700   rip = 0x0000000001bd793d
    rsp = 0x00007f2fd2d42e50   rbp = 0x00007f2fcc006c70
    Found by: call frame info
 3  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
    rbx = 0x00007f2fc40012b0   r12 = 0x00007f2fcc006e10
    r13 = 0x0000000000000001   r14 = 0x00007f2fd2d439c0
    r15 = 0x00007f2fd2d43700   rip = 0x0000000001be2dc2
    rsp = 0x00007f2fd2d42e90   rbp = 0x00007f2fcc006c70
    Found by: call frame info
 4  libpthread-2.19.so + 0x8181
    rbx = 0x00007f2fd2d43700   r12 = 0x0000000000000000
    r13 = 0x0000000000000000   r14 = 0x00007f2fd2d439c0
    r15 = 0x00007f2fd2d43700   rip = 0x00007f301adbd182
    rsp = 0x00007f2fd2d42ee0   rbp = 0x0000000000000000
    Found by: call frame info
 5  libc-2.19.so + 0xfa47c
    rip = 0x00007f301a2ca47d   rsp = 0x00007f2fd2d42f80
    Found by: stack scanning

Thread 4
 0  libpthread-2.19.so + 0xc414
    rbx = 0x0000000003234310   r12 = 0x004189374bc6a7ef
    r13 = 0xffffffffffffffff   r14 = 0x0000000003234338
    r15 = 0x000000000337b3e0   rip = 0x00007f301adc1414
    rsp = 0x00007f2fd1daed40   rbp = 0x00007f3018082b10
    Found by: given as instruction pointer in context
 1  phantomjs!QWaitCondition::wait [qwaitcondition_unix.cpp : 86 + 0xa]
    rip = 0x0000000001be3af5   rsp = 0x00007f2fd1daed70
    rbp = 0x00007f3018082b10
    Found by: stack scanning
 2  phantomjs!WTF::ThreadCondition::timedWait [ThreadingQt.cpp : 253 + 0x12]
    rbx = 0x00007f3018082b08   r12 = 0x0000000000000001
    r13 = 0x00007f3018082b08   r14 = 0x00007f3018082b10
    r15 = 0x00007f2fd1daee50   rip = 0x00000000004e71ea
    rsp = 0x00007f2fd1daedf0   rbp = 0x00007f3018082b10
    Found by: call frame info
 3  phantomjs!WTF::MessageQueue<WebCore::LocalStorageTask>::waitForMessage [MessageQueue.h : 137 + 0x12]
    rbx = 0x0000000000000001   r12 = 0x0000000000000001
    r13 = 0x00007f3018082b08   r14 = 0x00007f3018082b10
    r15 = 0x00007f2fd1daee50   rip = 0x0000000001185369
    rsp = 0x00007f2fd1daee10   rbp = 0x00007f3018082b18
    Found by: call frame info
 4  phantomjs!WebCore::LocalStorageThread::threadEntryPoint [LocalStorageThread.cpp : 68 + 0xa]
    rbx = 0x00007f2fd3a60078   r12 = 0x0000000003366cc0
    r13 = 0x0000000000000001   r14 = 0x00007f2fd1daf9c0
    r15 = 0x00007f2fd1daf700   rip = 0x0000000001185593
    rsp = 0x00007f2fd1daee50   rbp = 0x00007f3018082b08
    Found by: call frame info
 5  phantomjs!WTF::ThreadPrivate::run [ThreadingQt.cpp : 66 + 0x6]
    rbx = 0x0000000003359e30   r12 = 0x0000000003366cc0
    r13 = 0x0000000000000001   r14 = 0x00007f2fd1daf9c0
    r15 = 0x00007f2fd1daf700   rip = 0x00000000004e69fb
    rsp = 0x00007f2fd1daee80   rbp = 0x0000000003359e30
    Found by: call frame info
 6  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
    rbx = 0x000000000335a558   r12 = 0x0000000003366cc0
    r13 = 0x0000000000000001   r14 = 0x00007f2fd1daf9c0
    r15 = 0x00007f2fd1daf700   rip = 0x0000000001be2dc2
    rsp = 0x00007f2fd1daee90   rbp = 0x0000000003359e30
    Found by: call frame info
 7  libpthread-2.19.so + 0x8181
    rbx = 0x00007f2fd1daf700   r12 = 0x0000000000000000
    r13 = 0x0000000000000000   r14 = 0x00007f2fd1daf9c0
    r15 = 0x00007f2fd1daf700   rip = 0x00007f301adbd182
    rsp = 0x00007f2fd1daeee0   rbp = 0x0000000000000000
    Found by: call frame info
 8  libc-2.19.so + 0xfa47c
    rip = 0x00007f301a2ca47d   rsp = 0x00007f2fd1daef80
    Found by: stack scanning

Thread 5
 0  libc-2.19.so + 0xf1da3
    rbx = 0x00007f2fd3543d60   r12 = 0x000000000000db63
    r13 = 0x0000000000000016   r14 = 0x00007f2fcc125f48
    r15 = 0x00007f2fcc1261e0   rip = 0x00007f301a2c1da3
    rsp = 0x00007f2fd3543b80   rbp = 0x00000000000267d0
    Found by: given as instruction pointer in context
 1  phantomjs!qt_safe_select [qcore_unix.cpp : 93 + 0x16]
    rip = 0x0000000001d06328   rsp = 0x00007f2fd3543b90
    Found by: stack scanning
 2  phantomjs!QEventDispatcherUNIXPrivate::doSelect [qeventdispatcher_unix.cpp : 223 + 0xd]
    rbx = 0x00007f2fcc184be0   r12 = 0x00007f2fd3543db0
    r13 = 0x00007f2fcc125d90   r14 = 0x00007f2fd3543d60
    r15 = 0x00007f2fcc1261e0   rip = 0x0000000001d076e7
    rsp = 0x00007f2fd3543c20   rbp = 0x00007f2fcc125d90
    Found by: call frame info
 3  phantomjs!QEventDispatcherUNIX::processEvents [qeventdispatcher_unix.cpp : 937 + 0x4]
    rbx = 0x00007f2fcc184be0   r12 = 0x00007f2fd3543db0
    r13 = 0x00007f2fcc0736d0   r14 = 0x0000000000000001
    r15 = 0x00000000033fa8c8   rip = 0x0000000001d08192
    rsp = 0x00007f2fd3543d60   rbp = 0x00007f2fcc125d90
    Found by: call frame info
 4  phantomjs!QEventLoop::processEvents [qeventloop.cpp : 149 + 0x1]
    rbx = 0x00007f2fcc184be0   r12 = 0x00007f2fd3543e40
    r13 = 0x00007f2fd3543e50   r14 = 0x0000000002ebd230
    r15 = 0x00000000033fa8c8   rip = 0x0000000001cdd5b5
    rsp = 0x00007f2fd3543db0   rbp = 0x00007f2fd3543df0
    Found by: call frame info
 5  phantomjs!QEventLoop::exec [qeventloop.cpp : 200 + 0x4]
    rbx = 0x00007f2fcc184be0   r12 = 0x00007f2fd3543e40
    r13 = 0x00007f2fd3543e50   r14 = 0x0000000002ebd230
    r15 = 0x00000000033fa8c8   rip = 0x0000000001cdda18
    rsp = 0x00007f2fd3543de0   rbp = 0x00007fff29194780
    Found by: call frame info
 6  phantomjs!QThread::exec [qthread.cpp : 542 + 0xc]
    rbx = 0x00000000033fa840   r12 = 0x00000000033fa8c8
    r13 = 0x0000000000000001   r14 = 0x00007f2fd35449c0
    r15 = 0x00007f2fd3544700   rip = 0x0000000001bdfef6
    rsp = 0x00007f2fd3543e40   rbp = 0x00000000033fa8c8
    Found by: call frame info
 7  phantomjs!QThreadPrivate::start [qthread_unix.cpp : 338 + 0x9]
    rbx = 0x00000000033fa8c8   r12 = 0x0000000003163560
    r13 = 0x0000000000000001   r14 = 0x00007f2fd35449c0
    r15 = 0x00007f2fd3544700   rip = 0x0000000001be2dc2
    rsp = 0x00007f2fd3543e90   rbp = 0x0000000002ed6380
    Found by: call frame info
 8  libpthread-2.19.so + 0x8181
    rbx = 0x00007f2fd3544700   r12 = 0x0000000000000000
    r13 = 0x0000000000000000   r14 = 0x00007f2fd35449c0
    r15 = 0x00007f2fd3544700   rip = 0x00007f301adbd182
    rsp = 0x00007f2fd3543ee0   rbp = 0x0000000000000000
    Found by: call frame info
 9  libc-2.19.so + 0xfa47c
    rip = 0x00007f301a2ca47d   rsp = 0x00007f2fd3543f80
    Found by: stack scanning

Loaded modules:
0x00400000 - 0x0268dfff  phantomjs  ???  (main)
0x7f2fd1e27000 - 0x7f2fd1e78fff  DejaVuSansMono.ttf  ???
0x7f2fd1e79000 - 0x7f2fd1f22fff  DejaVuSans-Bold.ttf  ???
0x7f2fd1f23000 - 0x7f2fd1f77fff  DejaVuSerif-Bold.ttf  ???
0x7f2fd1f78000 - 0x7f2fd202dfff  DejaVuSans.ttf  ???
0x7f2fd207b000 - 0x7f2fd20d4fff  DejaVuSerif.ttf  ???
0x7f2fd211c000 - 0x7f2fd2327fff  libnss_files-2.19.so  ???
0x7f2fd2328000 - 0x7f2fd2540fff  libresolv-2.19.so  ???
0x7f301952d000 - 0x7f301978bfff  libssl.so.1.0.0  ???
0x7f301978c000 - 0x7f3019b62fff  libcrypto.so.1.0.0  ???
0x7f3019b67000 - 0x7f3019d90fff  libexpat.so.1.6.0  ???
0x7f3019d91000 - 0x7f3019fb6fff  libpng12.so.0.50.0  ???
0x7f3019fb7000 - 0x7f301a1cffff  libz.so.1.2.8  ???
0x7f301a1d0000 - 0x7f301a58ffff  libc-2.19.so  ???
0x7f301a595000 - 0x7f301a7aafff  libgcc_s.so.1  ???
0x7f301a7ab000 - 0x7f301aab0fff  libm-2.19.so  ???
0x7f301aab1000 - 0x7f301ad9ffff  libstdc++.so.6.0.19  ???
0x7f301adb5000 - 0x7f301afcefff  libpthread-2.19.so  ???
0x7f301afd3000 - 0x7f301b1dafff  librt-2.19.so  ???
0x7f301b1db000 - 0x7f301b3defff  libdl-2.19.so  ???
0x7f301b3df000 - 0x7f301b61afff  libfontconfig.so.1.8.0  ???
0x7f301b61b000 - 0x7f301b8bdfff  libfreetype.so.6.11.1  ???
0x7f301b8be000 - 0x7f301b8e0fff  ld-2.19.so  ???
0x7f301bada000 - 0x7f301baddfff  d589a48862398ed80a3d6066f4f56f4c-le64.cache-4  ???
0x7fff291bd000 - 0x7fff291befff  linux-gate.so  ???

Out of 26 crash dumps from one run, 7 were caused by this issue, and 16 were caused by #13577.

I understand that you can't move to 2.0, but we are not developing 1.9.x anymore, and even if we were, we do not have the manpower to fix bugs deep in the guts of WebKit except by dropping in a new upstream -- which is exactly what 2.0 does.


investigate integ-ambient-calico_istio_postsubmit failing

just a couple examples from many
https://prow.istio.io/view/gs/istio-prow/logs/integ-ambient-calico_istio_postsubmit/1775616048783953920
https://prow.istio.io/view/gs/istio-prow/logs/integ-ambient-calico_istio_postsubmit/1775631929538777088

2024-04-07T15:01:05.918565Z	warn	serverca	impersonation failed for identity spiffe://cluster.local/ns/echo-1-71231/sa/uncaptured, error: no instances of "echo-1-71231/uncaptured" found on node "istio-testing-worker"	client=<IP_ADDRESS>:57380
2024-04-07T15:01:34.002311Z  WARN proxy{uid=f38d0779-85dc-4f96-bb3e-636840cd3666}: ztunnel::proxy::inbound_passthrough: proxying failed: identity error: signing gRPC error (The request does not have valid authentication credentials): request impersonation authentication failure source=<IP_ADDRESS>:58540 component="inbound plaintext"

Are we still trying to hairpin and get the identity of the source? Why does this only impact calico -- is it a quirk in the scheduling somehow that triggers it on calico?

Are we still trying to hairpin and get the identity of the source? Why does this only impact calico -- is it a quirk in the scheduling somehow that triggers it on calico?

Weird. No idea why this would be A) random B) only show up with calico.

I think this is passing now?


PermutedDimsArray, and layout for dense 1st index

Closes #10
Not entirely sure whether SecondMajor will be needed in the end. (Nor what named things should have.)

Looks good! If you address the minor comments and get the code coverage tests passing I'll merge.


New method needed to disable specific SSL/TLS version

The feature disabling SSL 3.0 has been implemented.  We don't have to disable TLS 1.0 right now but usage of TLS 1.1 should also be configurable. Because PCI DSS v3.1 restricts usage of TLS 1.0, for example.
In future, higher TLS version such as TLS 1.1, TLS 1.2 might be prohibited.    Only SSL protocols listed in ssl_protocols will be used, the protocol not in list will be prohibited.
ssl_protocols=TLSv1.0 TLSv1.1 TLSv1.2 TLSv1.3
tls_ciphers=HIGH

I submitted #542.


ViewController never finishes

The card scans and after filling the details that are not scanned automatically, the done button never works. Please help.

@pbahuk there might be something "wrong" (according to card.io's logic) with the information inside one of the fields. If you don't see any problems, could you provide a screenshot?

Even though i have filled all the details, the done button is not working.
On Fri, Aug 14, 2015 at 1:24 PM, Dave Goldman<EMAIL_ADDRESS>wrote:

@pbahuk https://github.com/pbahuk there might be something "wrong"
(according to card.io's logic) with the information inside one of the
fields. If you don't see any problems, could you provide a screenshot?
—
Reply to this email directly or view it on GitHub
https://github.com/card-io/card.io-iOS-SDK/issues/135#issuecomment-131010706
.

@pbahuk Please provide a screenshot.

PFA attached an image. Even when the card is read, and the remaining
details filled. The done button does not work.
On Fri, Aug 14, 2015 at 2:35 PM, Dave Goldman<EMAIL_ADDRESS>wrote:

@pbahuk https://github.com/pbahuk Please provide a screenshot.
—
Reply to this email directly or view it on GitHub
https://github.com/card-io/card.io-iOS-SDK/issues/135#issuecomment-131032521
.

sorry ,my bad. I included every other file than the main CardIO.h file.

Glad you figured it out, @pbahuk. :smile_cat:


{header:1} facing issue

Argument of type '{ header: number; }' is not assignable to parameter of type 'Sheet2CSVOpts'.
Object literal may only specify known properties, and 'header' does not exist in type 'Sheet2CSVOpts'.
const data = XLSX.utils.sheet_to_csv(ws,{ header: 1 });

@appasaheb4 Facing the same. Resolved by any chance yourself?

@appasaheb4 @sasicodes are you sure that using this library, but not something else?


Doesn't work on iOS Chrome 51

Hi!
I did some tests on Android and iOS using Google Chrome 51 on both of them.
On Android works like a charm! But on iOS didn't work.
So I made some tests using Safari and the plugin works!
I did some research but I didn't succeed.
Someone had this problem too?
Thanks!

Works in Google Chrome 51 on iOS for me.

Same problem happened to me as well.

Same problem on latest version of Android 6+ works fine on Android 5.

Fixed by https://github.com/richtr/NoSleep.js/pull/32.


[M3c][MetaScheduler] Add EvolutionarySearch Search Strategy.

This PR is part of the stage M3c of the meta schedule project (#8473).
The architecture is re-designed by Junru and Xiyou. In this PR we introduced  another variant of search strategy, evolutionary search. The evolutionary search strategy utilizes a cost model to effectively find candidates which are preferred to have high score, i.e., potentially very fast running time.
Unittests are also updated in this PR. Thanks to all co-authors for contributing!
Note: The PR currenlt includes PR #9799 and will rebase once it's merged\
Co-authored-by: Junru Shao<EMAIL_ADDRESS>Co-authored-by: Bohan Hou<EMAIL_ADDRESS>Co-authored-by: Ruihang Lai<EMAIL_ADDRESS>Co-authored-by: Hongyi Jin<EMAIL_ADDRESS>Co-authored-by: Wuwei Lin<EMAIL_ADDRESS>Co-authored-by: Siyuan Feng<EMAIL_ADDRESS>

Thanks for the contribution! BTW, @zxybazh do you want to rebase the PR given the previous ReplayFunc is merged? Thanks! :-)


GH-38424: [CI][C++] Use Fedora 38 instead of 35

Rationale for this change
Because Fedora 35 reached EOL.
What changes are included in this PR?
Use Fedora 38.
Are these changes tested?
Yes.
Are there any user-facing changes?
No.

Closes: #38424

@github-actions crossbow submit test-fedora-38-*

@github-actions crossbow submit test-fedora-38-*


accounts being created when specified zero

Expected Behavior
Creating a provider with options {fork:'http://',accounts:0} should start a new fork with zero accounts being generated
Current Behavior
The fork instance has 10 accounts anyway. When using a number other than 0 in the accounts parameter, it returns the following error: UnhandledPromiseRejectionWarning: TypeError: t.options.accounts.map is not a function. Using the a shortcut parameter causes it to be ignored.
Steps to Reproduce (for bugs)
demo of zero account error<EMAIL_ADDRESS>1.Create new ganache provider instance with option accounts:0
2.Call eth_getAccounts on the provider
Context
Creating new instances it uses 10 extra calls. Not a big problem but sucks when using infura and creating a lot of instances
Your Environment

Version used:6.12.2
Version of Truffle/Remix/Other tools used: web3 1.3
NodeJS Version: [ ] 6.x, [ ] 7.x (unsupported), [ ] 8.x, [ ] 9.x, [x] 14.x
Operating System and version (include distro if Linux): windows 10
I intend to submit a pull request to fix this issue: [ ]

Fix for this is in progress here: https://github.com/trufflesuite/ganache-core/pull/817

Fix for this is in progress here: #817 and will be tracked by #60 Thanks!

note setting a fixed number doesnt work either. 👍

Hi @Code0x2,
Not sure what you mean by a fixed number doesn't work, can you be a little more specific? Thanks.

Hi @Code0x2,
Not sure what you mean by a fixed number doesn't work, can you be a little more specific? Thanks.

Sorry bout that I mean if you set it to any number that isnt zero on accounts param it shows t.options.accounts.map is not a function

Ah, that's because the option is total_accounts, not accounts. Let me know if changing that fixes it for you!

Closing this for issue maintenance. Hopefully this fixes the problem for you! Let us know if it doesn't. Thanks!


Game appears on all workspaces

https://www.youtube.com/watch?v=QsMIj3G4j8M
There is a windowrule that applies nofullscreenrequest to this window.
When the game creates the 'full screen' view, switching workspaces causes it to display on all of them.
If I manually fullscreen it via the fullscreen dispatcher, it behaves correctly.
The problem also occurs without the 'nofullscreenrequest' window rule, and manual fullscreen fixes it in that case too.
I've had this occur intermittently with other games but this one seems to be easiest to consistently reproduce it with.

Happens to me too. I'll bring an example of another game that this occurs with: GTA 5. What did you do to make it behave correctly? I just drag my finger across the numbers while holding win key to switch workspaces really quickly, and the game will eventually lag behind and get onto one of the earlier workspaces, which I then can move to another workspace later. Tedious, error-prone, doesn't work every time, sometimes causes Waybar to crash out of all things, I want a better fix

For me happens for games in fullscreen mode

To recreate this without spending money:
mame -videodriver x11

Is anyone still getting this? I haven't seen this particular issue in a long time.

I basically forgot this used to happen. I had to read the issue again to remember what it was about, it was that long ago. If you ask me, you can close this issue.


Have you trained the model only using final answer?

Letting the model provide self-feedback is a very interesting idea, I'm curious about how it would perform if training without feedback and only using the final revision answer. Have you tried that?

Yes, we have tried training on only the final answer. We are planning to release the weights ( delta weights) + update the results for that setup as well soon!


[Bug]: Visualizer only adding anomalous label

Describe the bug
Hi,
I am currently trying to do something like:
...
inferencer = TorchInferencer(
    path=torch_model_path,  # Path to the OpenVINO IR model.
    device="auto",  # We would like to run it on an Intel CPU.
)
predictions = inferencer.predict(image=image)
visualizer = Visualizer(mode=VisualizationMode.FULL, task=TaskType.CLASSIFICATION)
output_image = visualizer.visualize_image(predictions)

And after debugging the code I saw the following lines within the code:
https://github.com/openvinotoolkit/anomalib/blob/main/src/anomalib/post_processing/visualizer.py#L176C1-L179C101
  if image_result.pred_label:
      image_classified = add_anomalous_label(image_result.image, image_result.pred_score)
  else:
      image_classified = add_normal_label(image_result.image, 1 - image_result.pred_score)

But as I understand image_result.pred_label is of type str and can either be Normal or Anomalous which would mean that the else block above is never carried out.
Shouldn't it be something like this:
if image_result.pred_label == "Normal":
    image_classified = add_anomalous_label(image_result.image, image_result.pred_score)
elif image_result.pred_label == "Anomalous":
    image_classified = add_normal_label(image_result.image, 1 - image_result.pred_score)
else:
    raise ValueError(f"{image_result.pred_label} is not valid")

Dataset
Other (please specify in the text field below)
Model
PADiM
Steps to reproduce the behavior
Debug Visualizer visualize_image function
OS information
OS information:

OS: [e.g. Ubuntu 20.04]
Python version: [e.g. 3.8.10]
Anomalib version: [e.g. 0.3.6]
PyTorch version: [e.g. 1.9.0]
CUDA/cuDNN version: [e.g. 11.1]
GPU models and configuration: [e.g. 2x GeForce RTX 3090]
Any other relevant information: [e.g. I'm using a custom dataset]

Expected behavior
Visualizer working correctly
Screenshots
No response
Pip/GitHub
pip
What version/branch did you use?
No response
Configuration YAML
n/a

Logs
n/a

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi, I had the same bug with you when I wanted to get the predicted image. but I think the code should be:
if predictions.pred_label == "Normal":                 pred_image = add_normal_label(predictions.image, predictions.pred_score)             elif predictions.pred_label == "Anomalous":                 pred_image = add_anomalous_label(predictions.image, 1 - predictions.pred_score)

thanks for the hint @DiagoAlaraviz I just edited my answer


raft: add metric for invalid propose messages.

Now we have metrics for the invalid raft messages, we also need the metrics for the invalid propose messages. E.g, if we meet a StoreNotMatch error, you can detect it from the metrics quickly.

Seems this is done! Thanks @sch00lb0y . :)


Edge Turbolinks disables turbo-react

The master branch of turbolinks includes internal stylesheets which break the HTML to JSX parser, effectively disabling turbo-react. see reactjs/react-magic#35

I just updated to the latest 0.8.3 release and I think this is closer. However upon inspection I believe Turbolinks is using Element.prototype.replaceChild to make changes, which is a different function from what turbo-react replaces: document.documentElement.replaceChild. This might be just in my case of it performing a "changes" operation instead of loading the full page.

I tried updating turbo-react to also overwrite Element.prototype.replaceChild and then trigger with Turbolinks.replace(html, { change: ['target'] }) but got this error:
"Warning: React attempted to reuse markup..."
However, it seems it just removes my element #target from the dom entirely. I'm not savvy enough with React to guess a solution for this.
For any Turbolinks action other than 'change' it looks like Turbolinks now calls document.body = body. I think the monkeypatch from here on out isn't a viable option. Bummer!

Thanks for looking into edge Turbolinks, @glennfu. I am going to figure out how to build on top of it.

@ssorallen On a related note, check this conversation: https://github.com/rails/turbolinks/issues/628
Turbolinks 5 will be coming by the end of the year along with Rails 5, and they're debating whether or not to even bother continuing with Turbolinks 3. So with that in mind, by the time you (or I) figure out how to properly integrate with Turbolinks 3, Turbolinks 5 will be out! I get the sense that because it's a complete rewrite, the difference between 3 and 5 won't just be about updating the code, but about re-thinking for a new strategy of behavior.
It's still in very early development if you check out the current code here: https://github.com/basecamp/turbolinks. The way they describe the effort, I think it'll include much better hooks for interacting with it. This might give us what we need for dropping in React to do the rendering, vs trying to hack Turbolinks 3 into having those kinds of hooks. Since the dev is so early I'm not certain about that point, though.

This was fixed in react-magic#35 and is not an issue with the released Turbolinks v5.0.0.


Modify env-var-docs for Python 3.7

This uses dict, list, and tuple explicitly from 'typing', as these built-ins were not added until Python 3.9. This will allow us to use this with Python 3.7, as used on AWS CloudShell. This also adds removeprefix and removesuffix functions, as these also don't exist in 3.7.
This has been tested with Python 3.7.16.
Checklist
General
Read the full guidelines for PRs here

[x] Added the correct label: < feature | bug | dependencies | infrastructure | ignore-for-release | database >
[x] Performed manual testing (Chrome and Firefox if it includes front-end changes)

@nb1701 awesome, thank you both so much!

For completeness, see also: #5298, #5006, https://github.com/civiform/cloud-deploy-infra/pull/190


user-center-slack not_authed

After installing the user-center-slack plugin I tried connecting it to my workspace.
I gave the Slack app all the required scopes.
When I click on the Sync Now button I get a toast with "failed to sync user data".
This is accompanied by the following logs:
answer-1  | 2024-11-22 19:38:55.261	DEBUG	user-center-slack/handler.go:59	Get client ID:<SNIP>
answer-1  | 2024-11-22 19:38:55.261	DEBUG	user-center-slack/handler.go:74	RedirectURL from BuildSlackBaseRedirectURL:https://slack.com/oauth/v2/authorize?client_id=<SNIP>&scope=chat:write,commands,groups:write,im:write,incoming-webhook,mpim:write,users:read,users:read.email&response_type=code&redirect_uri=https://<SNIP>/answer/api/v1/user-center/login/callback&state=<SNIP>=&nonce=<SNIP>
answer-1  | 2024-11-22 19:38:56.978	INFO	user-center-slack/handler.go:139	start sync slack data
answer-1  | 2024-11-22 19:38:56.978	DEBUG	user-center-slack/client.go:180	Try to update slack client
answer-1  | 2024-11-22 19:38:57.335	ERROR	user-center-slack/client.go:162	Failed to get valid user info, Slack API error: not_authed
answer-1  | 2024-11-22 19:38:57.335	ERROR	user-center-slack/client.go:184	Failed to update user info: Get user info failed: not_authed
answer-1  | 2024-11-22 19:38:57.335	ERROR	user-center-slack/handler.go:144	list user error: Get user info failed: not_authed

Just tested the login, that seems to work. However, it prompts me to select a channel for the App to post in every time.

By the way, does the webhook need to be set by every individual user?

Hi  @Perondas, thank you for your use! I will try to improve the plugin with your feedback🤗

I ended up figuring this out.
I was logged in with the local admin account. Once I used a Slack auth account the sync button worked and the error disappeared.


Network unification

Fixes #.
Motivation
Explain the content here.
Explain why you want to make the changes and what problem you're trying to solve.
Modifications
Describe the modifications you've done.
Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

@githublaohu please create some issues for this


Add nitish and aniruddha to team syself

Sorry for my wrong spacing and thanks for fixing it up!

No worries


Update msnld.mrc

Added rough implementation to create a random GUID based on ticks and first window handle in mIRC

Approving PR solely because it beats what was in there.

[04:18] irc.irc7.com AUTH GateKeeper * 11A15630372FEB24BE8FD90E5DC4EEBD@GateKeeper 0010000E3
[04:18] irc.irc7.com AUTH GateKeeper * E8438B86F59B55EEF347580A9C0D22C0@GateKeeper 0010000E4
I somehow thought $ticks would show give PC start time, but it's seconds since, causing random GateKeeper. I've re-opened #10 to continue efforts for something semi-persistent.


Timeline items never show

Testing https://github.com/microsoft/vscode/issues/91330
I made a simple provider, but none of the timeline events show up. The timeline view says that there is no timeline for the file, and when I hit refresh, it says that the timeline is loading.
There is this error in the console:
ERR Cannot read property 'map' of undefined: TypeError: Cannot read property 'map' of undefined
	at Object.provideTimeline (c:\Users\alros\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:660:139)

My simple extension:
export class TimelineProvider implements vscode.TimelineProvider {
    private static items: vscode.TimelineItem[] = [];

    private _onDidChange = new vscode.EventEmitter<vscode.TimelineChangeEvent>();
    get onDidChange(): vscode.Event<vscode.TimelineChangeEvent> {
        return this._onDidChange.event;
    }

    readonly id = 'counting-timeline-provider';
    readonly label = 'Let\s count';

    constructor() {
        setInterval(() => {
            const item: vscode.TimelineItem = new vscode.TimelineItem('item ' + TimelineProvider.items.length, new Date().getTime());
            item.command = { title: 'Toggle', command: 'workbench.action.toggleDevTools' };
            item.description = 'This is the description of ' + TimelineProvider.items.length;
            TimelineProvider.items.push(item);
            this._onDidChange.fire();
        }, 4000);
    }

    async provideTimeline(uri: vscode.Uri, token: vscode.CancellationToken): Promise<vscode.TimelineItem[]> {
        return TimelineProvider.items;
    }
}

@alexr00 It doesn't look like you are using the up-to-date d.ts -- because you can't just return an array from provideTimeline anymore.


seata config with apoll is not easy to uses enough, can you optimize it?

In actual usage scenarios, many (even that all) applications or serivice machines use the same apollo settings (apollo settings file: /opt/settings/server.properties), this settings file contains 'apollo.meta' and 'env' elements, can seata load this  settings file instead of config 'apollo.meta' property in every application?
Likewise, in actual usage scenarios, many TM/RM applications use the same seata settings (such as transport, service, client etc...), can seata support the namespace function of apollo ? If support, seata settings are configurated in a public namespace, many appilcations share these settings, instead of all applications duplicate them. In this case 'app.id' config item is optional.

Will fix this problem soon


Support 05-03 snapshot

Requires Zewo/PathParameterMiddleware/pull/2

The tests that failed are unrelated (though they should be fixed eventually). Thanks!


[Bug] ERROR [backend backend-dev 2/4] RUN --mount=type=cache,id=yarn,target=/usr/local/share/.cache/yarn     yarn install --frozen-lockfile

I just started the tutorial and bumped straight into an error.
After I cloned the repository and ran docker compose watch from the getting-started-todo-app-directory, the container did not run and I was confronted with the following output:
[+] Running 36/3
 ✔ phpmyadmin Pulled                                                                                12.5s
 ✔ mysql Pulled                                                                                16.7s
 ✔ proxy Pulled                                                                                5.8s
[+] Building 24.3s (14/19)                                                                                docker:desktop-linux
 => [backend internal] load build definition from Dockerfile                                                                                0.1s
 => => transferring dockerfile: 3.39kB                                                                                0.0s
 => [client internal] load build definition from Dockerfile                                                                                0.1s
 => => transferring dockerfile: 3.39kB                                                                                0.0s
 => [client internal] load metadata for docker.io/library/node:20                                                                                1.7s
 => [client auth] library/node:pull token for registry-1.docker.io                                                                                0.0s
 => [backend internal] load .dockerignore                                                                                0.0s
 => => transferring context: 52B                                                                                0.0s
 => [client internal] load .dockerignore                                                                                0.0s
 => => transferring context: 52B                                                                                0.0s
 => [backend base 1/2] FROM docker.io/library/node:20@sha256:fffa89e023a3351904c04284029105d9e2ac7020886d683775a298569591e5bb                                                                                16.8s
 => => resolve docker.io/library/node:20@sha256:fffa89e023a3351904c04284029105d9e2ac7020886d683775a298569591e5bb                                                                                0.0s
 => => sha256:fffa89e023a3351904c04284029105d9e2ac7020886d683775a298569591e5bb 6.41kB / 6.41kB                                                                                0.0s
 => => sha256:cdd62bf39133c498a16f7a7b1b6555ba43d02b2511c508fa4c0a9b1975ffe20e 49.56MB / 49.56MB                                                                                3.2s
 => => sha256:a47cff7f31e941e78bf63ca19f0811b675283e2c00ddea10c57f78d93b2bc343 24.05MB / 24.05MB                                                                                2.7s
 => => sha256:979b917260c5ac04146dd0f21f2a820ce14084ed54012498a87ebcaf4c128e64 2.49kB / 2.49kB                                                                                0.0s
 => => sha256:ef970e331526a3ccb44f8915cc0f1cc0265e6b2b4418f380e369618faa117f75 6.51kB / 6.51kB                                                                                0.0s
 => => sha256:a173f2aee8e962ea19db1e418ae84a0c9f71480b51f768a19332dfa83d7722a5 64.39MB / 64.39MB                                                                                5.9s
 => => sha256:01272fe8adbacc44afd2b92994b31c40a151f4324ca392050d9e8d580927dd32 211.27MB / 211.27MB                                                                                10.0s
 => => sha256:69752a170a9cd7718768d71ae627b34ce2b63e0b0f1b21ba345f0f665ed46e14 3.33kB / 3.33kB                                                                                3.4s
 => => extracting sha256:cdd62bf39133c498a16f7a7b1b6555ba43d02b2511c508fa4c0a9b1975ffe20e                                                                                1.4s
 => => sha256:6986256fa1607627a696c196c33290f4f96f88a1b0a41275327a2f69612bbed5 48.22MB / 48.22MB                                                                                6.8s
 => => extracting sha256:a47cff7f31e941e78bf63ca19f0811b675283e2c00ddea10c57f78d93b2bc343                                                                                0.4s
 => => extracting sha256:a173f2aee8e962ea19db1e418ae84a0c9f71480b51f768a19332dfa83d7722a5                                                                                2.1s
 => => sha256:894ebdcee85de9bf6daf452b243b65a082986d7865d984ec080c81f01e7bff53 1.25MB / 1.25MB                                                                                6.2s
 => => sha256:4163bcd94ffee8c075555d4a8d9531bce8f7fd572e00d4326a8ff15409ea7e04 448B / 448B                                                                                6.3s
 => => extracting sha256:01272fe8adbacc44afd2b92994b31c40a151f4324ca392050d9e8d580927dd32                                                                                4.8s
 => => extracting sha256:69752a170a9cd7718768d71ae627b34ce2b63e0b0f1b21ba345f0f665ed46e14                                                                                0.0s
 => => extracting sha256:6986256fa1607627a696c196c33290f4f96f88a1b0a41275327a2f69612bbed5                                                                                1.3s
 => => extracting sha256:894ebdcee85de9bf6daf452b243b65a082986d7865d984ec080c81f01e7bff53                                                                                0.0s
 => => extracting sha256:4163bcd94ffee8c075555d4a8d9531bce8f7fd572e00d4326a8ff15409ea7e04                                                                                0.0s
 => [backend internal] load build context                                                                                0.0s
 => => transferring context: 176.35kB                                                                                0.0s
 => [client internal] load build context                                                                                0.0s
 => => transferring context: 134.92kB                                                                                0.0s
 => [backend base 2/2] WORKDIR /usr/local/app                                                                                0.9s
 => [client client-base 1/5] COPY client/package.json client/yarn.lock ./                                                                                0.1s
 => [backend backend-dev 1/4] COPY backend/package.json backend/yarn.lock ./                                                                                0.1s
 => CANCELED [client client-base 2/5] RUN --mount=type=cache,id=yarn,target=/usr/local/share/.cache/yarn     yarn install                                                                                4.8s
 => ERROR [backend backend-dev 2/4] RUN --mount=type=cache,id=yarn,target=/usr/local/share/.cache/yarn     yarn install --frozen-lockfile                                                                                4.7s
------
 > [backend backend-dev 2/4] RUN --mount=type=cache,id=yarn,target=/usr/local/share/.cache/yarn     yarn install --frozen-lockfile:
0.506 yarn install v1.22.22
0.513 warning package.json: No license field
0.534 warning<EMAIL_ADDRESS>No license field
0.535 [1/4] Resolving packages...
0.613 [2/4] Fetching packages...
4.465 error https://registry.yarnpkg.com/prettier/-/prettier-3.2.4.tgz: Extracting tar content of undefined failed, the file appears to be corrupt: "ENOENT: no such file or directory, stat '/usr/local/share/.cache/yarn/v6/npm-prettier-3.2.4-4723cadeac2ce7c9227de758e5ff9b14e075f283-integrity/node_modules/prettier/plugins/typescript.mjs'"
4.466 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
------

After trying this, I tried docker compose up -d and that did work.
But why does the tutorial say docker compose watch while it doesn't work?

Got same issue

I just had the same issue. I tried deleting all my containers and reran docker compose watch and everything works now. Not sure why. 🤷

Hi all! This is a sporadic error that occurs when the yarn install fails (which can be for a variety of reasons). Since the yarn cache directory is also cached by the builder, the error persists across builds. Currently, there are only two fixes available:

In the Dockerfile, update the RUN statement with the yarn install command to also run yarn cache clean. Run it through one time to get the build working again and then remove the cache clean (so it doesn't wipe the cache each time you build).

or

Update the RUN statement to remove the --mount... config, which will remove the cache mount. With that gone, the failed build won't carry through to following builds. The tradeoff is future builds will have to redownload all dependencies, rather than only what changed. But, for this project, that shouldn't be a big deal.

I'll start a conversation internally, as we may end up just going with Option 2 here and update the project for everyone. It hasn't affected too many people, but it is tricky to resolve when it comes up.

Hi all, If you are facing this issue try to run this command  docker compose up --watch instead of docker compose watch, it worked for me.

docker compose up --watch worked for me but the page in browser is stuck in loading.
docker compose up -d worked for me and it loaded properly in the browser. but maybe the --watch is not working, will check that.
tks

@IntelliLab2024  are you trying to access to some port? because according to readme.md , navigate to http://localhost


LYD: Task of Week 6

Finish model send back in one to one mode, and transport actor data without protobuf.
Explore PULL&PUSH mode, and change transport mode to protobuf

I've deleted unnecessary folders :D


Convert UUID model from binary(16) to string

Node version: 10.15.0
sails: ^1.2.3,
sails-hook-orm: ^2.1.1,
sails-hook-sockets: ^2.0.0,
sails-mysql: ^1.0.1

I have an existing mySQL database with a table that stores a UUID as binary(16)
This database also has a function (UUID_TO_BIN) to convert a UUID from a string to binary(16) and another function (BIN_TO_UUID) to convert from binary(16) to a string.
But I can not find anywhere that explains how I can call these functions using a sails model.
Here is my model:
module.exports = {
  primaryKey: 'id',
  tableName: 'name_refs',
  attributes: {
    id: { type: 'number', columnType: 'int(10) unsigned', required: true, unique: true, autoIncrement: true },
    name: { type: 'string', required: true },
    type: { type: 'string', isIn: ['USER', 'GROUP'] },
    uuid: { type: 'ref', columnType: 'binary(16)' },
    createdAt: { type: 'ref', columnType: 'timestamp(6)', columnName: 'created_at'},
    updatedAt: false
  }
};

What can I do to get the uuid value to be processed by my internal function BIN_TO_UUID?

Same problem. If you figure out the solution, please share it!

Hmm, @intervalia, I don't think that Waterline supports calling those functions. If this functionality is desirable to many users, though, we'll consider it for the future!

I think it is important to be able to call specific SQL functions through the ORM. It would be nice to specify a SET function and a GET function for a specific field. In this case we are storing a GUID as a 16-byte binary value and not as a 36-byte string. This is a huge savings when we have millions of entries that all have a GUID.

@intervalia, that makes a lot of sense to me. We'll be sure to keep this in mind when considering new features.

I guess the other way to do this is to provide a BIN_GUID format/type that would convert to and from the binary(16) and char(36)

Just an FYI: I am no on the project that had this problem and have no way to validate if it is working.

I think you can accomplish this using sendNativeQuery().


selectTool

The app.selectTool() method was added in Adobe Illustrator v24 (CC 2020). But users of earlier versions (CC 2019, 2018, etc) don't know such details and will get an error like this: Adobe Area Type Tool. ReferenceError: app.selectTool is not a function.
I had an idea that could check the version of Adobe Illustrator in the script:
var aiVers = parseInt(app.version);
if (aiVers < 24) ...

And then don't show showBuiltInTools() in Settings and search field. If the user has more than one version of Adobe Illustrator installed: created a custom workflow in Ai CC 2022 with a built-in tool call, and then ran the script in Ai CC 2019, then yes will get a ReferenceError. You can add to the error text a hint that Adobe Illustrator <put version> doesn't support built-in tools. Then the .csv of the localizations will also be updated.
It gives more clarity to the user. What do you think?

Yeah, I like this. When I recently added the menu command "Window > History", I wondered if I should check on the user version since that was only just released in v26.4. I'm going to create a branch and work both of these situations out. I'll keep you updated. Thanks for the clarity!

@creold, check out the PR I just submitted for this and let me know your thought. Notes are in the PR. Thanks!


Add tests

Some links to look at:

https://github.com/vadimdemedes/ink#testing
https://github.com/vadimdemedes/ink-testing-library
https://github.com/vadimdemedes/ink-select-input/blob/master/test.js
https://github.com/vadimdemedes/ink-text-input/blob/master/test.js
https://github.com/mordv/mnswpr/blob/master/src/test.tsx
https://github.com/checkupjs/checkup/tree/master/packages/checkup-formatter-pretty/__tests__


add dockerfile

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

README只处理了xchain进程的启动，xchain-cli的使用没有涉及

配置文件和数据目录最好能暴露出来

建议更新下branch，最新的README增加了中文介绍，需要也补充下docker部分。

配置文件和数据目录最好能暴露出来

这个可以在运行时，用volume来挂载配置，或暴露数据


Remove haskell from different directory

I noticed that /opt/ghc does not exist on my GHA workers, however, /usr/local/.ghcup does and contains quite a bit of large files.

Thanks for catching this @Napster134 !

Yup! No problem! I can confirm it's working great now in my pipeline :)
@jlumbroso I did have a question for you though: I was curious how often or when releases are done? I wanted to specify a version within my pipeline (just to be extra safe) but currently, my change is only on main (and not yet tagged against a release version)

Thanks for catching this @Napster134 !

Yup! No problem! I can confirm it's working great now in my pipeline :)
@jlumbroso I did have a question for you though: I was curious how often or when releases are done? I wanted to specify a version within my pipeline (just to be extra safe) but currently, my change is only on main (and not yet tagged against a release version)

@Napster134 I usually wait for a few things to push a release, but I can push this one for you:
https://github.com/jlumbroso/free-disk-space/releases/tag/v1.3.1


Query: Organise cities by population from largest to smallest

All the cities in the world organised by largest population to smallest.
All the cities in a continent organised by largest population to smallest.
All the cities in a region organised by largest population to smallest.
All the cities in a country organised by largest population to smallest.
All the cities in a district organised by largest population to smallest.

As a member of organization x
I want to view all cities in the world by population largest to smallest
So that I can see which capital city has the largest population in the World
As a member of organization x
I want to view all cities in a given Continent by population largest to smallest
So that I can see which city has the largest population in the Continent
As a member of organization x
I want to view all cities in a Region by population largest to smallest
So that I can see which city has the largest population in the Region
As a member of organization x
I want to view all cities in a Country by population largest to smallest
So that I can see which city has the largest population in the Country
As a member of organization x
I want to view all cities in a District by population largest to smallest
So that I can see which city has the largest population in the District
Acceptance Criteria:
Given I run the query
When I have provided no parameters
Then I will see the cities listed in the World from largest to smallest
Given I run the query
When I have provided 1 parameter
Then I will see the cities listed in the Continent from largest to smallest
Given I run the query
When I have provided 2 parameters
Then I will see the cities listed in the Region from largest to smallest
Given I run the query
When I have provided 3 parameters
Then I will see the cities listed in the Country from largest to smallest
Given I run the query
When I have provided 4 parameters
Then I will see the cities listed in the District from largest to smallest


Missing response schema

Describe the bug
This project is great by the way. I can't seem to get the response schema (or anything other than the content picker) to show up in the response section. Same problem with the request section. It is a valid openapi 3.x file best I can tell (works on Swagger). Query and path parameters show up fine and use the same relative $ref links.
Here is response section of openapi file:
...
responses:
'200':
description: Address book list results
content:
application/json:
schema:
$ref: '#/components/schemas/ListContactsResponse'
headers: {}
...
Here is schema:
...
ListContactsResponse:
properties:
results:
type: array
items:
type: object
properties:
contactName:
type: string
contactId:
type: string
example: amzn1.alexa.contacts.did.{id}
...
To Reproduce
openapi file in /api just like example
Expected behavior
should show schema or examples
How often does this bug happen?
Every time
System Info
Browser Chrome
starlight-openapi 0.6.2
Additional Context
No response

Thanks for your report.
Would you be able to provide the exact schema used when encountering the issue? Or share a repo that reproduces the issue?

With latest version of starlight-openapi I am having the problem with this file (rename to .yaml)
test.txt

Thanks, this really helped a lot.
This should be fixed in version 0.6.3 that I just released.
For example, given the exact schema your shared, it now renders as expected:

fantastic! thank you


Handle styles with Aphrodite.

Leverage Aphrodite to load editor theme styles in components and remove messy looking inline styles.

Aphrodite styles lead to a flash of unstyled content (before CSS loads).
Stick to inline-styles or inline-styles with Radium.


[Auto-generated] Check & update dependencies (pyproject.toml)

Update dependencies (pyproject.toml)
Automatically created PR based on the 'CI - Check pyproject.toml dependencies' workflow in SINTEF/ci-cd.

Codecov Report

:exclamation: No coverage uploaded for pull request base (ci/dependency-updates@acbf49a). Click here to learn what that means.
The diff coverage is n/a.

@@                   Coverage Diff                    @@
##             ci/dependency-updates     #100   +/-   ##
========================================================
  Coverage                         ?   53.69%
========================================================
  Files                            ?        3
  Lines                            ?      311
  Branches                         ?        0
========================================================
  Hits                             ?      167
  Misses                           ?      144
  Partials                         ?        0

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


various minor fixes.

The fake vcf for APEX is still WIP, the key is to have headers in the vcf. pushed the vcf_qc notebook so that others can use first.

Close the pr to clear cache for vcfqc


compiling error: dvs_ros_driver::DVS_ROS_DriverConfig

in rpg_dvs_ros/dvs_ros_driver/include/dvs_ros_driver/driver.h, it include <dvs_ros_driver/DVS_ROS_DriverConfig.h>, which i can not find in source code...where can i get it?

I have that file in my devel folder:
catkin_ws/devel/include/dvs_ros_driver/DVS_ROS_DriverConfig.h
so I assume that it is automatically generated by the catkin build command.
You may find the file on Linux by typing the commands:
sudo updatedb
and then
locate DVS_ROS_DriverConfig

I have that file in my devel folder:
catkin_ws/devel/include/dvs_ros_driver/DVS_ROS_DriverConfig.h
so I assume that it is automatically generated by the catkin build command.
You may find the file on Linux by typing the commands:
sudo updatedb
and then
locate DVS_ROS_DriverConfig

I have that file in my devel folder:
catkin_ws/devel/include/dvs_ros_driver/DVS_ROS_DriverConfig.h
so I assume that it is automatically generated by the catkin build command.
You may find the file on Linux by typing the commands:
sudo updatedb
and then
locate DVS_ROS_DriverConfig

Yes, it is auto-generated by dynamic_reconfigure package. Thanks :)

I have that file in my devel folder:
catkin_ws/devel/include/dvs_ros_driver/DVS_ROS_DriverConfig.h
so I assume that it is automatically generated by the catkin build command.
You may find the file on Linux by typing the commands:
sudo updatedb
and then
locate DVS_ROS_DriverConfig

Yes, it is auto-generated by dynamic_reconfigure package. Thanks :)


Out of Memory error while spill is enabled

I'm trying to analyze open food facts' database, but i'm getting an out of memory exception. The /tmp/duckswap gets created and populated, but i still get the exception. I already raised the issue on duckdb async but i think this could be a duckdb problem
import { Database } from "duckdb-async";

async function saveDataPostgres() {
    const db = await Database.create("/tmp/tmp.db", {
        max_memory: "512MB",
        threads: "4",
        temp_directory: "/tmp/duckswap",
    });
    await db.all(`CREATE TABLE products AS
        SELECT product_name_en, product_name_it, serving_quantity, serving_size, languages, nutriments FROM read_ndjson('/tmp/openfoodfacts-products.jsonl.gz', ignore_errors=True);`);
}

saveDataPostgres()

2024-08-26 14:53:09 node:internal/process/promises:391
2024-08-26 14:53:09     triggerUncaughtException(err, true /* fromPromise */);
2024-08-26 14:53:09     ^
2024-08-26 14:53:09
2024-08-26 14:53:09 [Error: Out of Memory Error: failed to allocate data of size 256.0 MiB (271.9 MiB/488.2 MiB used)] {
2024-08-26 14:53:09   errno: -1,
2024-08-26 14:53:09   code: 'DUCKDB_NODEJS_ERROR',
2024-08-26 14:53:09   errorType: 'Out of Memory'
2024-08-26 14:53:09 }
2024-08-26 14:53:09
2024-08-26 14:53:09 Node.js v20.17.0

As a sidenote, i am able to work with the database in general. For example, i can run DESCRIBE (SELECT * FROM read_ndjson('openfoodfacts-products.jsonl.gz', ignore_errors=True))


Dev/readme PRA-199

One Line Description
Updated readme file, added more screenshots to demo images folder
Requirements
What this code should do
Notes
added updated screenshots to the slideshow in homepage.
I didn't include the printrecipepage.png image there on purpose.
Any additional info
Test Steps
Instructions on how to test the changes
UI/UX Outcome
Attach a screenshot here
Checklist

The Linear ID is in the PR title
My code follows best practices
Documentation is included where needed

@rebekahcallkacz  I received gif files from Lena C and decided to use them instead of just screenshots, that's why I made new  commit and push


tflite2kmodel : Error (Dimensions must be equal)

Hello,
When trying to convert my tflite model, I'm running into this error:
Fatal: Dimensions must be equal.
System.InvalidOperationException: Dimensions must be equal.
   at NnCase.Converter.Model.InputConnector.SetConnection(OutputConnector from) in D:\Work\Repository\nncase\src\NnCase.Converter\Model\InputConnector.cs:line 32
   at NnCase.Converter.K210.Transforms.K210SeparableConv2dTransform.Process(TransformContext context) in D:\Work\Repository\nncase\src\NnCase.Converter.K210\Transforms\K210SeparableConv2dTransform.cs:line 89
   at NnCase.Converter.Transforms.Transform.Process(Graph graph, IReadOnlyList`1 transforms) in D:\Work\Repository\nncase\src\NnCase.Converter\Transforms\Transform.cs:line 77
   at NnCase.Cli.Program.Main(String[] args) in D:\Work\Repository\nncase\src\NnCase.Cli\Program.cs:line 235
   at NnCase.Cli.Program.<Main>(String[] args)

What could be the source of the problem?
Thank you for your help.

Hi @Yhaw, I solved the problem by padding the inputs to "same". Furthermore, check that each activation map does not exceed 2MB, as the chip will not be able to store it.

Okk thank you..but canyou help me with cmd you used?lol
On Wed, 17 May 2023, 8:26 am Simon Narduzzi, @.***>
wrote:

Hi @Yhaw https://github.com/Yhaw, I solved the problem by padding the
inputs to "same". Furthermore, check that each activation map does not
exceed 2MB, as the chip will not be able to store it.
—
Reply to this email directly, view it on GitHub
https://github.com/sipeed/Maix_Toolbox/issues/9#issuecomment-1550971799,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMOOJ4JH27ZW2U4W7CCWAH3XGSDU5ANCNFSM4IGXLUHQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi @Yhaw,
You have to modify the model to make sure every convolutional layer is using "same" as padding.
One way to do it is to rewrite the model from scratch (which I did), the other is to switch the padding of each layer (not sure it works). Something like:
model = tf.keras.models.load_model("my_model.h5")

for l in model.layers:
    l.padding="same"

 # recompile
 model.compile(...)

And then convert it again using tflite and nncase.

By the way, I have just opened this issue about how to use the latest version of NNCase with the Maix M1 Dock. Hopefully it will solve your problem as well.


[firebase_crashlytics] failed to download settings Error Domain=FABNetworkError Code=-6 "(null)"

When I build the project and it starts I get the following two error messages and nothing is reported:
Launching lib/main.dart on iPhone in debug mode...
  Automatically signing iOS for device deployment using specified development team in Xcode project: 63M82A35U9
  Xcode build done.                                           619.2s
  Checking for advertised Dart observatories...
  Configuring the default Firebase app...
  [Crashlytics] Version 3.14.0 (144)
  Configured the default Firebase app __FIRAPP_DEFAULT.
  [Fabric] [Fabric +with] called multiple times. Only the first call is honored, please pass all kits you wish to initialize
  [Fabric] failed to download settings Error Domain=FABNetworkError Code=-6 "(null)" UserInfo={retryLimit=1, NSErrorFailingURLStringKey=https://settings.crashlytics.com/spi/v2/platforms/ios/apps/com.reconyx.reconyx2dev/settings?build_version=1&display_version=0.1.0&instance=e0dc32f226809d7d8a0ef830766c3655bd24b0a9&source=1}
  Checking for available port on com.reconyx.reconyx2dev._dartobservatory._tcp.local
  Checking for authentication code for com.reconyx.reconyx2dev._dartobservatory._tcp.local

To Reproduce
Steps to reproduce the behavior:

Follow the steps for adding crashlytics
Build the project

pubspec.yaml dependencies:

    flutter:
        sdk: flutter
    flutter_localizations:
        sdk: flutter
    firebase_core: ^0.4.2+1  # add dependency for Firebase Core
    # The following adds the Cupertino Icons font to your application.
    # Use with the CupertinoIcons class for iOS style icons.
    cupertino_icons: ^0.1.2
    firebase_auth: ^0.15.1
    google_sign_in: ^4.0.7
    shared_preferences: ^0.5.3+4
    http: ^0.12.0+2
    rxdart: ^0.22.1
    cloud_firestore: ^0.12.11
    flutter_auth_buttons: ^0.5.0
    firebase_storage: ^3.0.8
    provider: ^3.1.0
    extended_image: ^0.6.7
    cloud_functions: ^0.4.1+4
    barcode_scan: ^1.0.0
    auto_size_text: ^2.1.0
    esys_flutter_share: ^1.0.2
    flutter_multi_carousel: ^1.0.1
    firebase_crashlytics: ^0.1.1+2

Expected behavior
App builds and reports to crashlytics project
Additional context
N/A

Hi @JoshRice1
can you please provide your flutter doctor -v
and your flutter run --verbose?
Also, to better address the issue, would be helpful
if you could post  a minimal code sample
or the steps to reproduce the problem.
Thank you

Here are both.  I will work on a minimal code sample but have these for you
flutterDoctorOut.txt
output.txt

@iapicca  OK here is the minimum code example.  It has only the firebase_core and firebase_crashlytics
output.txt
see https://github.com/JoshRice1/firebase_crashlyticbug/ for code example

Any update on this?

What are you waiting for exactly?

What are you waiting for exactly?

Hi @JoshRice1
I removed the tag waiting for customer response
I didn't add it.
Thank you

Sorry missed the "removed" thanks

I'm having the same issue. Followed all instructions on the https://pub.dev/packages/firebase_crashlytics#-readme-tab-

Given the age of this issue and that Crashlytics has had a major rework since; I'm going to close this issue in favour of trying the latest release.


fix: switch some python:3 images to use the -slim variant

Note: using the -alpine variant would be problematic as e.g. pyarrow only distributes wheels for glibc. https://github.com/apache/arrow/issues/18036

ugh, python is horrible. libmagic issues


Option to pass arguments to PascalProxyv2.jar

I'd like to set this up as a scheduled Windows Task.
Is there a way to run the .jar file and pass the host, port, # of GPUs and Miner Name Prefix attributes in a single command?

I have put up a new release with PascalProxyv3.jar inside, which allows you to pass in command line arguments for the host, port, number of GPUs to support, and miner prefix.
Thanks!