txnbuild: add muxed account & memo support to SEP-10 utility functions

PR Checklist
PR Structure

[x] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[x] This PR's title starts with name of package that is most changed in the PR, ex.
services/friendbot, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[x] This PR adds tests for the most critical parts of the new functionality or fixes.
[x] I've updated any docs (developer docs, .md
files, etc... affected by this change). Take a look in the docs folder for a given service,
like this one.

Release planning

[x] I've updated the relevant CHANGELOG (here for Horizon) if
needed with deprecations, added features, breaking changes, and DB schema changes.
[x] I've decided if this PR requires a new major/minor version according to
semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.

What
resolves #3937
Adds support for muxed accounts to be specified as client account IDs and memos to be added to challenge transactions. This is a breaking change.
Why
SEP-10 was modified to support users of shared Stellar accounts. The two approaches to identifying users of a shared account, in the context of SEP-10, is by assigning each user a muxed account address or an integer memo.
Outstanding Questions
The Python SDK moved away from returning mutliple values from the BuildChallengeTx() and ReadChallengeTx() equivalent functions and instead introduced a ChallengeTransaction container object for all the relevant values. We could use this same approach in the Go SDK instead of adding an additional value to the existing set.

Thanks @tsachiherman,
Independently from your comments, what do you think about the approach described in the "Outstanding Questions" section of the description? Should we stick we adding another return value or use a ChallengeTransaction struct?

The Python SDK moved away from returning mutliple values from the BuildChallengeTx() and ReadChallengeTx() equivalent functions and instead introduced a ChallengeTransaction container object for all the relevant values. We could use this same approach in the Go SDK instead of adding an additional value to the existing set.

I think a refactor like that should take place as an independent change either ahead of or after this change. I'd avoid making the change in the same pull request because it's really easy for the complexity of the diff to expand to the point where we miss subtle changes in the logic of these sensitive functions.
That aside, there are pros and cons.
I generally prefer a struct and I think it is more ergonomic. A side-effect of returning a struct is that each time we add a new field existing software will continue to work. This side-effect is usually a good thing because for most software consumers of values only need to be aware of a partial set of data contained in the value.
However, in the case of authentication it is usually important for the consumer of a value to be aware of the entire value. So for this code, while it is less ergonomic, I think the many return values actually play a beneficial role.

Ok, thanks Leigh. We'll keep the use of multiple return values here.

I noticed another couple spots without coverage that seem important:

I think this is an area that was previously untested, but given we're adding some more complexity to whether an account is valid or not, I think it's probably worth adding tests for both cases.

The 2nd check in first screenshot, where it errors if a memo and muxed account are provided, is tested. But I'll add tests for the 2 other checks.


aws lambda-edge

https://docs.aws.amazon.com/lambda/latest/dg/lambda-edge.html
https://github.com/nuxt/nuxt.js/issues/11700

Hi, I wonder if you have any ETA for this preset?

@tresko I created the PR exactly at the moment you commented. LOL!
The current escape hatch is to wrap an existing preset for Lambda@Edge.
An example of wrapping a aws-lambda preset is shown in the following code.
import { URLSearchParams } from "url";
import * as nitro from "./index.mjs";

export const handler = async (event) => {
  const request = event.Records[0].cf.request;
  const queryStringParameters = Object.fromEntries(
    new URLSearchParams(request.querystring).entries()
  );

  const response = await nitro.handler({
    path: request.uri,
    queryStringParameters,
    httpMethod: request.method,
    headers: normalizeIncomingHeaders(request.headers),
    body: request.body,
  });
  return {
    status: response.statusCode,
    headers: normalizeOutgoingHeaders(response.headers),
    body: response.body,
  };
};

function normalizeIncomingHeaders(headers) {
  return Object.fromEntries(
    Object.entries(headers).map(([key, keyValues]) => [
      key,
      keyValues.map((kv) => kv.value).join(","),
    ])
  );
}
function normalizeOutgoingHeaders(headers) {
  return Object.fromEntries(
    Object.entries(headers).map(([key, values]) => [
      key,
      values.split(",").map((value) => ({ value })),
    ])
  );
}

Saving this code as wrapper.mjs and setting the Lambda entry point as wrapper.handler should work.
NOTE: require nodejs_14_x or nodejs_16_x

@WinterYukky Wow, amazing! Thank you!
I saw on your PR that you are using Nuxt3 on lambda@edge. Am I correct?
Can you share a wrapper example for Nuxt 3?

@tresko Yes. I'm using Nuxt3 on lambda@edge.
I have created and published a simple project for you.
It is a site that when accessed via /<anime title> calls Free's API and SSRs the results.
The AWS configuration is written by AWS CDK in the cdk directory.
I have included a few comments as you may not be familiar with the AWS CDK, but if you have any questions please ask.
I have included the deployment procedure at the end of README.md so you can try it if you like.
ref: https://github.com/WinterYukky/nuxt3-lambda-edge-example

Thank you!

@pi0 any plan to support this feature in the near future?

Up, there are currently two PRs for this. It is very frustrating that @pi0 is not even explaining why/what was wrong with the first one/ what are the technical difficulties/ what are bigger priorities 😢

There's 2 PR Open for lambda-edge, but they are not the same.
We could create 2 different presets, lambda-edge and lambda-edge-cdk
https://github.com/unjs/nitro/pull/1075 => lambda-edge
https://github.com/unjs/nitro/pull/240 => lambda-edge-cdk
There's also the option to have a single preset and a config flag such as aws-lambda-edge.cdk = true
The non cdk version is useful to integrate with AWS deployment frameworks such as SST
Tracked in Nitro : https://github.com/unjs/nitro/issues/133
Tracked here in SST : https://github.com/serverless-stack/sst/issues/2314
Nuxt SST support PR : https://github.com/serverless-stack/sst/pull/2989
Working demo : https://github.com/serverless-stack/sst/issues/2314#issuecomment-1596223785

Hello, I can see that this development has been stopped for a while. Is there any intention to finish it? I wanted to submit a PR for this, but there are many of them already.
If anybody wants a working solution based on the current opened PRs, you can use it from my fork:
"nitropack": "git://github.com/AlbertSabate/nitro#df9eed697da2d7f09fa9a4a4f9d008fe11201df1" -> Updated to current v2.8.1
And then use the preset: preset: 'aws-lambda-edge',.
Let me know if I can help speed this up to have it on the official repo. But, for now, I won't submit anything as the credits should go for the already opened ones.

Hello, I can see that this development has been stopped for a while. Is there any intention to finish it? I wanted to submit a PR for this, but there are many of them already. If anybody wants a working solution based on the current opened PRs, you can use it from my fork:
"nitropack": "git://github.com/AlbertSabate/nitro#df9eed697da2d7f09fa9a4a4f9d008fe11201df1" -> Updated to current v2.8.1 And then use the preset: preset: 'aws-lambda-edge',.
Let me know if I can help speed this up to have it on the official repo. But, for now, I won't submit anything as the credits should go for the already opened ones.

I think this hasn't been reviewed yet because it's low on the priority list. I left comments for @pi0 in #1557 about the 2 possible approaches. However I'm pretty sure SST has evolved since, so we would need to pin the compatible versions.
An approach like #1075 would be easier to review and merged in, but that wouldn't be deployable by Nitro alone.

Hello @Hebilicious,
I have reviewed both PRs, and it will be very easy to get merged #1075; there are a few lines that need to be updated to make it work with the latest nitro version. After merging this, you can finish branch #1557, which seems way more complicated and, as you said, may need to be updated.
For example, in my case, I use it to build a Solidjs app. In the new version 0.4.2, they have implemented Vinxi, which uses nitropack to build a solidjs app. Then I have my own CDK deployment script. So, having #1075 will be plug-and-play, while #1557 is irrelevant for my use case. This is an example. I'd be very happy to share my CDK script with you if that helps you finish #1557, but from what I see, the bottleneck comes from SST.
My opinion on the matter:
Step 1: Prepare and merge #1075. I can help you if necessary
Step 2: Finish and merge the CDK as a separate preset since it is almost done. I can also give you a hand with this. This could make use of the previous handler.
Step 3: SST: I need help understanding this point, as SST already provides everything for deploying an app. But it can come from step 3 because it can make a gain of the handler of step 1 and base the resource creation based on step 2.
Having those three split may seem too much preset, but it will be clear, as my understanding.
Let me know if you want me to help with anything! :)


Add Dynamixel 2XL430-W250-T

Can robotis OP3 support with this dynamixel? because this dynamixel have similiar Spesification with XM430-W350. but the different is 2XL using 3P cable, and XM340 using 4P cable.
Thanks!

I'm sorry about the delayed response on this issue.
At this point we do not recommend to mix the TTL and RS-485 communication.
However, we are working on a project that allows to combine these on a single channel.
Thank you.


Integer overflow fixes

Deprecates PostgresData integer conversion methods that could lead to overflow errors (#120, fixes #119).
Using the following types in release-mode should no longer be susceptible to overflow (or underflow) crashes:

UInt
Int8
UInt16
UInt32
UInt64

⚠ However, these types will still be interpreted incorrectly by Postgres since it doesn't have native support for them. This could create problems with other clients connecting to the database. To prevent such issues, using these types will now result in a debug-mode only assertion.
To migrate away from these types, there are two options:
1: Use a wider integer (or type) that does not overflow or underflow.
For example:

Int8 -> Int16
UInt16 -> Int32
UInt32 -> Int (Int64)
UInt / UInt64 -> String

The caveats with this method are increased storage size and a database migration is required.
2: Do an explicit bitPattern conversion to the inversely signed type with same bit width.
For example, using Fluent:
// Store the value as `Int32` in Postgres
@Field(key: "foo")
var _foo: Int32

// Access the value as if it were a `UInt32`.
var foo: UInt32 {
    get {
        .init(bitPattern: self._foo)
    }
    set {
        self._foo = .init(bitPattern: newValue)
    }
}

The caveat with this method is that other clients may misinterpret the stored value.

Idea for making these APIs more obvious in the next major version: https://github.com/vapor/postgres-nio/issues/121

These changes are now available in 1.3.0


[RFC] Device: generalizing and improving control features (sync, lock and timeout)

Part of #22941
(This RFC is now presenting ideas, and is currently not the final implementation which will evolve through comments until it reaches a consensus)
Currently synchronizing calls on interrupt based devices is a feature implemented by each and every drivers. This becomes worse about concurrent access mitigation, where many drivers do not implement anything.
This RFC tries then to provide an approach on generalizing both synchronization and concurrent access mitigation to all devices. It also adds a new feature: setting a timeout on calls. (currently working only on interrupt based devices, adding it for polling based ones is entirely possible but to simplify this RFC was put aside)
All - but the sync part - is configurable through Kconfig:

concurrent access mitigation can be disabled (on targets where devices are not accessed by +2 threads for instance)
timeouts are by default disabled

Important notice: Many driver are by default always working synchronously and thus would not make any usage of the sync part of this RFC. I did not take this into account for now. It would be entirely possible to save memory by having a parameter on the device instance macros (thus why I did not try to play with this yet, due to the amount of macro call to be fixed) to tell about that requirement, and thus save a sensible amount of memory since struct k_sem is not tiny.
We could do the same about the lock on concurrent access, if relevant. Having a NULL pointer instead of struct k_sem pointer would be trivial to manage.
[Note] This RFC if built on top of #23407
Idea and use cases
Synchronization
All device driver synchronous API call that are implemented on interrupt basis in the driver would use is:

api_call()
-> configure and start the interrupt based work
-> k_sem_take(sync_semaphore) <--- it would wait until the interrupt based work is finished and runs a k_sem_give(sync_semaphore)

A large amount of device drivers already use that scheme. But they are currently implementing such synchronization on their own. Idea is to generalize it.  (See the important notice above, however)
Concurrent access
All device driver API calls, no exception (whether these calls are synchronous or not).
This is a basic yet effective way to protect the device driver resource.
(See the important notice above also)
Timeout
Currently, only a few device driver API provide a timeout and only on certain call. But this will be insufficient if we seek for robustness. A tiny hw issue could just lock the whole device and there would be no way for recovering it.
Idea is to simply add such generic timeout on every call. It could be using a default setting as well as a dedicated one.
Note however that the current RFC is simply setting such timeout on the sync semaphore. It would be easy to run it separately though.

Does it really generalize to all devices?

I could try to compile a list. Those who are of polling-based implementation will not use the sync semaphore for instance, all other ones will. Thus why the device macro should let the driver maintainer control if such sync semaphore should be allocated or not. The lock is a different story, so far I cannot see any driver that would not need it on a multi-thread build. Nothing prevents a thread to collide with another when accessing a device instance, the API calls are not atomic. Would be nice to track driver's users at built time, so it would open for some optimizations, but I don't see this really possible (not with current device_get_binding() at the very least)

I think I'd rather see this approach prototyped in one or two subsystems before being promoted to all devices.

drivers/spi/spi_context.h used by all spi drivers is basically doing that.
I could try to replace it with this current proposal.

In general API calls may not be atomic, but certainly for some drivers it's important that they be callable from ISRs (#6184, others from #18970).  GPIO in particular, probably COUNTER (#17014).  (At some point we need to go back and update all the API so that we can what's safe to call from interrupt context, not only by documentation but at runtime for when it differs between devices.)
I'm also skeptical of supporting timeouts for every operation (though if we do we might get isr-ok by using K_NO_WAIT).  That's a change with global impact, as it implies that it must always be possible for the application/driver to do something to recover if the timeout fires.  In some applications the appropriate approach may very well be the existing behavior: deadlock, allowing the watchdog to fire and hard-reset the system.

That's a change with global impact, as it implies that it must always be possible for the application/driver to do something to recover if the timeout fires. In some applications the appropriate approach may very well be the existing behavior: deadlock, allowing the watchdog to fire and hard-reset the system.

Wait, such timeout will not be enabled by default, and it never will. But at least zephyr will be able to propose both behaviors.
I don't see much trouble with this PR and #6184, it would be quite easy to no lock/release a device on *_isr type of API. That said, I fully agree: we need to solve #6184.

Reviewing this PR will be difficult because it's adding three features (concurrency control, internal synchronization, and timeouts), all of which could be discussed to death.
I'd like to focus some discussion on the method used to prevent current access, i.e. the device_lock{,_timeout}() API.  The proposal here is to use a semaphore.
Is this the right choice?
Somewhere in this project there's a comment to the effect of:

If you don't need recursion or priority inheritance, use a semaphore [instead of a mutex].

Why would we not want priority inheritance for generic driver access?
I think there was also some concern that a mutex requires more space than a semaphore.  I'm finding that a mutex on ARM32 is 20 bytes.  A semaphore is 24 bytes if CONFIG_POLL=y, otherwise it's 16 bytes.
Since signals are the only mechanism for implementing async operations from user mode, most async APIs that aren't restricted to privileged code will require CONFIG_POLL=y to receive notification when the operation completes, so I believe 24 bytes is a better estimate of the memory cost of a semaphore.
As mutexes take less memory and provide an important feature, such I'd like to understand why a semaphore is a better choice for generic driver concurrency control than a mutex.

Reviewing this PR will be difficult because it's adding three features (concurrency control, internal synchronization, and timeouts), all of which could be discussed to death.

As it is an RFC, it all about the idea it brings, not about proper atomic patches that we found in normal PR that are meant to be merged. Provided patches are quite short, I believe contributors can grasp the idea by looking at these. Then, and only then, if these ideas are judged worth to be properly implemented then it will be done via a proper PR. So far, it has not brought much interest, let's still wait.

Why would we not want priority inheritance for generic driver access?

On interrupt based drivers (which is the majority of drivers), that would be pretty much useless since the whole driver processing task would be done through the isr and thus via the interrupt's priority, not the thread.
The question is more like: do we need thread priority inheritance anywhere there?

As mutexes take less memory and provide an important feature, I'd like to understand why a semaphore is a better choice for generic driver concurrency control than a mutex.

How would you unlock a mutex in ISR context?
That said, about memory occupation, I always found it weird to have semaphore poll event type. It's been used in one place in the whole codebase (where it could be easily replaced by something else). Perhaps it is worth to take a look at that. 32 bits for count & limit is rather extremely large as well. Maybe some room for optimization there if required.

How would you unlock a mutex in ISR context?

Per #25676, clearly, you wouldn't.
However I don't recall a case where I could release the in-use lock for a driver from an ISR.  When whatever caused a suspend completes there's often some cleanup that the driver has to perform before it's safe to allow something else to use the driver.  And I would want that clean-up code to take priority over other things if there's a higher-priority task waiting to use the device.

However I don't recall a case where I could release the in-use lock for a driver from an ISR.

I was on both sync and lock, nevermind. The lock is always taken/released by the caller's thread.

I would want that clean-up code to take priority over other things if there's a higher-priority task waiting to use the device.

That's a confusing idea. I don't see how a mutex (or a semaphore actually) would do anything about it here.
Both work the same when dealing with their wait queue, a waiting thread is by default not ready to be scheduled until the unlock happens anyway, which one cannot be made before the clean-up. Which clean-up happens: in polling based driver it's in caller's thread context at all time, in interrupt based mode it's usually directly in isr context when final interrupt has been caught.
Clean-up is generally short (if not really short), I don't see the benefit to generalize a re-prioritization of the caller's thread to run asap in order for the next high prio thread in the wait queue (if any) to get the device afterwards (how likely this is going to happen vs how much processing time this strategy would require). Actually, it seems like a bad idea to re-prioritize a thread owning a mutex (see k_thread_priority_set() documentation).

Got some time to split patches so it gets one feature added per-patch. More commits, but if that can help people to get the idea.

I would want that clean-up code to take priority over other things if there's a higher-priority task waiting to use the device.
That's a confusing idea. I don't see how a mutex (or a semaphore actually) would do anything about it here.

Ok I see now. I missed the kernel/mutex.c line 160.
Which explains why k_thread_priority_set() should not be used on a thread owning a mutex (documentation could be much clearer there then).

@pabigot There is one issue with using mutexes as a lock object: SPI and ADC provide async calls (the result notification of those calls). With a semaphore, a caller cannot subsequently raise 2+  of these async call. With a mutex, since there is no limit it becomes a problem.

With a semaphore, a caller cannot subsequently raise 2+ of these async call. With a mutex, since there is no limit it becomes a problem.

That's a good point.  So the idiom if we use mutex should include a flag that's checked at all public entry-points and rejects with -EBUSY if the mutex was taken while there's already a task in progress.  There may be an alternative solution that involves a non-recursive mutex, but I think that would introduce new and worse problems.
#24781 is intended to support uses where there are multiple pending operations from the same or different threads, addressing a gap in the current async solution (any operation requested while the device is busy will block, which is not expected for async functions).  There it's the queued operation manager that would be preventing multiple operations from being invoked simultaneously.  (Of course you can't use the direct async API when a queued operation manager is controlling the device because it violates the expectation that one thing controls access.)

Related to implementing internal synchronization in the core driver rather than each driver: Several drivers (particularly flash drivers) need to work with CONFIG_MULTITHREADING=n so that use within a bootloader doesn't pull in a bunch of code that isn't needed.
See #26372 for example.
Similarly at least GPIO and UART, and some COUNTER, must have API that works from interrupt mode, so not every API function can require external synchronization through a mutex or semaphore.

See #26372 for example.

Good point, did not know about it.

Similarly at least GPIO and UART, and some COUNTER, must have API that works from interrupt mode, so not every API function can require external synchronization through a mutex or semaphore.

Yes we need to settle on #6184
About this and the  proposed API, I'll extend DEVICE_DEFINE() in order to tell whether a sync and/or lock are necessary. So drivers that do not require it will not get any (instead of blindly allocating for all)

Not sure why Github decided to remove so many people, I only wanted to remove myself.


how flutter map in for widget

my json=
{
  "result": {
    "name": "json1",
      "pages": [{
          "zones": [{
              "title": "title1"
           },
           {
              "title": "title2"
           }],
           "id": 4
       },
       {
          "zones": [{
            "title": "title3"
          },
          {
            "title": "title4"
          }],
          "id": 12
       }],
       "creatorUserName": "admin",
       "id": 2
    }
}

futurebuilder code
List post = snapshot.data["result"]["pages"];
return new Stack(
              children: post.where((val) => val["id"] == 4).map((post) {
                for (var item in post['zones']) {
                print("title "+ item['title']);
                  Container(
                    child: Text(item["title"]),
                  ); //Container
                }
              }).toList(),
); //Stack

Error code: Stack's children must not contain any null values, but a null value was found at index 0 enter image description here

help how can to build an algorithms
if get id = 4 zones -> Text(title1), Text(title2),
else id empty zones -> Text(title1), Text(title2), zones -> Text(title3), Text(title4),

Questions like these are better suited for Q&A sites like StackOverflow or on one of the flutter community sites at https://flutter.dev/community


ValueError: This converter can only convert a single ConcreteFunction. Converting multiple functions is under development.

when I convert pre-trained mobilenet model to tflite, there is a error:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/project/pyenv/lib/python3.5/site-packages/tensorflow_core/lite/python/lite.py", line 400, in convert
    raise ValueError("This converter can only convert a single "
ValueError: This converter can only convert a single ConcreteFunction. Converting multiple functions is under development.

my code is
import tensorflow as tf
from tensorflow.keras.applications.mobilenet import MobileNet
model = MobileNet(weights='imagenet')
saved_model_path = "./saved_models/{}".format(int(time.time()))
tf.keras.experimental.export_saved_model(model, saved_model_path)
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
tflite_model = converter.convert()

my os is
Ubuntu 16.04.6 LTS

Please provide details about what platform you are using (operating system, architecture). Also include your TensorFlow version. Also, did you compile from source or install a binary?
Make sure you also include the exact command if possible to produce the output included in your test case. If you are unclear what to include see the issue template displayed in the Github new issue template.
We ask for this in the issue submission template, because it is really difficult to help without that information. Thanks!

Please provide details about what platform you are using (operating system, architecture). Also include your TensorFlow version. Also, did you compile from source or install a binary?
Make sure you also include the exact command if possible to produce the output included in your test case. If you are unclear what to include see the issue template displayed in the Github new issue template.
We ask for this in the issue submission template, because it is really difficult to help without that information. Thanks!

I use both Ubuntu 16.04.6 LTS x_86 and macOS Mojave x_64, there is same error.
and I use python virtualenv and pip command to install tensorflow2.0

Can you use tf.keras.models.save_model instead. tf.keras.experimental.export_saved_model has been deprecated. I was able to get the following code working on tf-nightly (version: 2.1.0.dev20191118).
import tensorflow as tf
from tensorflow.keras.applications.mobilenet import MobileNet
model = MobileNet(weights='imagenet')
saved_model_path = "/tmp/saved_models/"
tf.keras.models.save_model(model, saved_model_path)
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_path)
tflite_model = converter.convert()

Can you use tf.keras.models.save_model instead. tf.keras.experimental.export_saved_model has been deprecated. I was able to get the following code working on tf-nightly (version: 2.1.0.dev20191118).
import tensorflow as tf
from tensorflow.keras.applications.mobilenet import MobileNet
model = MobileNet(weights='imagenet')
saved_model_path = "/tmp/saved_models/"
tf.keras.models.save_model(model, saved_model_path)
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_path)
tflite_model = converter.convert()

it works, thanks

Hi, I am getting the same error :
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/lite/python/lite.py", line 421
in convert
raise ValueError("This converter can only convert a single "
ValueError: This converter can only convert a single ConcreteFunction. Converting multiple functions is under development.
I am trying to convert SSD_ResNet50_fpn architecture with tf-nighty version.
Thanks in advance.

I'm having the same issue as @skulhare

the same issue when convert deeplab mobilenetv2 version.

having the same issue when trying to convert efficientnet_edge

Thank you @gargn! You helped a lot!
Maybe we can close the issue now?
My fight to run the model on an Android device continue! \m/

@gargn @trayanmomkov
I am getting the same error and I tried the code snippet provided above, however my KeysView(_SignatureMap({})) is empty and I get KeyError: 'serving_default¸.
How do I get around this ?
I am trying to quantize my .pb file obtained from my checkpoints using this script
https://blog.csdn.net/zmlovelx/article/details/100511406

@gargn @trayanmomkov
I am getting the same error and I tried the code snippet provided above, however my KeysView(_SignatureMap({})) is empty and I get KeyError: 'serving_default¸.
How do I get around this ?
I am trying to quantize my .pb file obtained from my checkpoints using this script
https://blog.csdn.net/zmlovelx/article/details/100511406

me too


I need you help!!!

Very thank you for your SDK. I got a problem that I need to page all  the weekView, it is just like google's tiny calendar,  it can scroll seven days when user scroll the screen, can you give me some tips to reach the same function? May you can provide a property set it ?  I am waiting for you message, thank you! this is the connect of google's tiny calendar https://itunes.apple.com/us/app/tiny-calendar-sync-google/id514917848?mt=8

any body here??

Hi,
I'm not sure I understand exactly what you're trying to achieve.
For paging, just set pagingEnabled to YES.

Thank you for your message! could I commumicate with you in Twitter? and my twitter number is "@1612498273New", thank you !!

I'd rather keep this on GitHub if you don't mind. Also the discussion can interest others...

ok,I mean that you may set a property to scroll all week (if set this property, user can not scroll calendar(weekview I mean) day by day ). for reach this I try to set the 'scrollView's pageEnable = Yes ', not you provide the  'pagingEnabled' , it is can achieve my goal, but it's always some bug in it. and now our project change this demand , so anyway , I just wanna say thank you guy!


Bind error

Hi. Thank you for your work. I've been looking for a library just like yours. It's great for implementing MVVM without having to add RxSwift and so.
I'm getting an error when I try to use the bind function. For instance, if I write:
bind(wsSuccess, to: model.wsFBSuccess) //both properties are Observable(false)

I get a Xcode error saying "Missing argument for parameter #3 in call". I don't know if you have changed the function signature from the one appearing in the readme but autocomplete is only offering me: bind(Int32, UnsafePointer!, socklen_t) which seems unrelated to your library.
What am I doing wrong?

Hi @rmvz3,
It looks like your code should compile just fine, the function signature hasn't changed. Did you use Carthage or Cocoapods to add Hanson to your project? And do you have an import Hanson statement at the top of your file?

I'm using Cocoapods. Hanson is imported and Observable properties works fine but the bind function is not accepted. It's weird but I've just realized that it works in other places. Take a look at this screenshot. It tries to bind the same properties from different classes.
http://imgur.com/a/72qJe

That's weird indeed! Have you tried rebuilding the project after cleaning, removing the derived data and reinstalling the pod?
If that doesn't work, can you discern any regularities in this error popping up in your project? The FacebookManagerDelegate is a protocol right? Could you check if binding works in other classes that are not a subclass?

I've already tried the cleaning with no success. I think I found the reason. It seems that the problem arises just in classes that are not inherited from UIKit or Foundation. I don't know if this is an intentional behavior but at least there's an easy workaround

Ah yes, that's true. Any class that is a subclass of NSObject conforms to Observer through this extension. The Observer protocol has been extended with the bind function, so on any subclass of NSObject you can simply call bind and it works out of the box. Sadly this is not the case for classes that do not inherit from NSObject.
You could use Hanson on your LoginFacebookVM class by making it conform to the Observer protocol. However, I've noticed a mistake on our end. We didn't make the init method of ObservationManager public and you need to be able to create an observation manager to conform to the Observer protocol. I'll create a PR to fix this. Apologies!

Thank you, Eric. I'm glad this has served to help to improve the code :)

You're more than welcome @rmvz3! Thank you for contributing!
I've published the updated podspec.


Why IOU is null

你好，请问当我在运行 python train.py  configs/pointcloud_crop/room_grid64.yaml时，为什么每次验证时IOU指标都为0？

Hi, you can check your dataloader.

@tangjiapeng Thank you very much for your reply. I checked my dataloader,but I didn't check what's wrong. Could you be specific about that.The name of the dataset is  synthetic_room_dataset. Looking forward to your reply again!

Hi, did you meet this issue during pretraining or test-time optimization ?

Hi, did you meet this issue during pretraining or test-time optimization ?

I meet this issue during running "python train.py configs/pointcloud_crop/room_grid64.yaml " on synthetic_room_dataset.

Hi, in our method, we directly the pretrained model from the conv_onet without re-training it.


Secondary click on mobile

Recently, context menus got added, but they can't be used on mobile because there is no way to perform a secondary click. For a live example try my graph_app project on mobile (context menu should be available on background panel).
Usually, a long tap is interpreted as a secondary click. The default context menu may not be suitable for mobile, because it is too small, but being able to trigger it with the same code as on desktop is a first step for bringing this feature.

This may collide with the long tap from #501 .. This is also a problem on desktop web, where the native context menu is overridden because egui catches the mouse events. But I am unsure if this is really circumventable, because not all platforms have a native context menu, so I guess the best egui can do is try to create a native context menu when asked to and if one exists. This could allow us to use native context menus on mobile.

It's unclear how to best implement this.
Should egui_web interpret any long-press touch as a secondary mouse click? Or should egui do so, using the touch events it receives? What happens when one wants to drag something?
Anyone wants to try experimenting with this?

I wanted to try to implement this some time, but I can't say when I want to start yet.. most probably a drag event will only be created when the pointer moves out of a fixed radius or something similar. Might do some research about how this is usually implemented.
Another thing is that the distinction between mouse click and touch screen touch seems to sometimes disappear in egui.. I am not sure but we might need to make that more clear to prevent secondary clicks being triggered when holding the left mouse button down. In other words, the long tap should not apply for left mouse button clicks.


support uploading via URL

now any of the following will work
imgur /some/pic.jpg
imgur https://example.com/pic.jpg /some/pic.jpg http://example.com/pic.png

I haven't looked at this properly yet, but the script does already support uploading from standard input. Did you try curl $YOUR_URL | imgur -? You can mix - and other file paths already if I recall correctly. You could also easily do this in a loop in any shell, though it might be tricky to get all the URLs on the clipboard this way.
Assuming the above works, do your changes improve things? What's your use case for uploading things to imgur from multiple URLs at a time? They are already available at URLs after all!

curl $URL | imgur works but you can't do more than one url at a time, also having the URLs as arguments convenient.
imgur supports uploading via URL and it's useful, sometimes you come across forums/websites that only allows pictures from an exclusive list of hosts and usually imgur is one of them, that's why I needed that actually, I had a decent amount of pictures to upload and imgur.sh was helpful, so thanks.

Oh, and one more thing -- start your commit message with a capital letter, please!

Thank you!


one error about alphafold，ask for help online

CE8eSpRY.fasta
报错：I0910 11:42:53.106589<PHONE_NUMBER>67104 hhsearch.py:76] Launching subprocess "hhsearch -i /tmp/tmpd42j2lo8/query.a3m -o /tmp/tmpd42j2lo8/output.hhr -maxseq 1000000 -d /mnt/pdb70/pdb70"
I0910 11:42:53.259523<PHONE_NUMBER>67104 utils.py:36] Started HHsearch query
I0910 11:42:53.617978<PHONE_NUMBER>67104 utils.py:40] Finished HHsearch query in 0.358 seconds
Traceback (most recent call last):
File "run_alphafold.py", line 338, in
app.run(main)
File "/home/alphafold/miniconda3/envs/alphafold/lib/python3.8/site-packages/absl/app.py", line 312, in run
_run_main(main, args)
File "/home/alphafold/miniconda3/envs/alphafold/lib/python3.8/site-packages/absl/app.py", line 258, in _run_main
sys.exit(main(argv))
File "run_alphafold.py", line 310, in main
predict_structure(
File "run_alphafold.py", line 170, in predict_structure
feature_dict = data_pipeline.process(
File "/home/alphafold/alphafold/alphafold/data/pipeline.py", line 166, in process
hhsearch_result = self.hhsearch_pdb70_runner.query(uniref90_msa_as_a3m)
File "/home/alphafold/alphafold/alphafold/data/tools/hhsearch.py", line 85, in query
raise RuntimeError(
RuntimeError: HHSearch failed:
stdout:
stderr:

11:42:53.447 INFO: /tmp/tmpd42j2lo8/query.a3m is in A2M, A3M or FASTA format

11:42:53.447 WARNING: Ignoring invalid symbol '*' at pos. 1623 in line 2 of /tmp/tmpd42j2lo8/query.a3m

11:42:53.610 ERROR: [subseq from] CRISPR-associated endonuclease Cas9/Csn1 n=212 Tax=root TaxID=1 RepID=CAS9_STRP1

11:42:53.610 ERROR: Error in /opt/conda/conda-bld/hhsuite_1616660820288/work/src/hhalignment.cpp:1244: Compress:

11:42:53.610 ERROR: 	sequences in /tmp/tmpd42j2lo8/query.a3m do not all have the same number of columns,

11:42:53.610 ERROR:
e.g. first sequence and sequence UniRef90_Q99ZW2/2-1048.

11:42:53.610 ERROR: Check input format for '-M a2m' option and consider using '-M first' or '-M 50'

I got the same error.

Don't you have '*' at the end of the query sequence?

No, there are no *.

Yes, I have this * at the end the protein, and I am facing identical error. I would run again without * this one

OK! Unbelievably, the so-called "WARNING" is what causing the error! By just removing the asterisk symbol from the end of my sequence, my problem was resolved.


Integrating this... oh boy

Pulling in to my branch because it could be messy.

doing it from main repo yolo


Fix race in delayed queue

Tested with 7397 runs so far, 0 failures (100.00% pass rate). 258.117472ms avg, 570.8326ms max, 35.770251ms min
Before fix, failed with:
==================
WARNING: DATA RACE
Read at 0x00c0000c20e0 by goroutine 34:
  istio.io/istio/pkg/queue.(*pq).Push()
      /home/howardjohn/go/src/istio.io/istio/pkg/queue/delay.go:54 +0x6db
  istio.io/istio/pkg/queue.(*delayQueue).Run()
      /home/howardjohn/go/src/istio.io/istio/pkg/queue/delay.go:220 +0x688

Previous write at 0x00c0000c20e0 by goroutine 33:
  istio.io/istio/pkg/queue.(*pq).Push()
      /home/howardjohn/go/src/istio.io/istio/pkg/queue/delay.go:54 +0xc6
  container/heap.Push()
      /usr/lib/go-1.15/src/container/heap/heap.go:53 +0x56
  istio.io/istio/pkg/queue.(*delayQueue).PushDelayed()
      /home/howardjohn/go/src/istio.io/istio/pkg/queue/delay.go:168 +0x1cb
  istio.io/istio/pkg/queue.(*delayQueue).Push()
      /home/howardjohn/go/src/istio.io/istio/pkg/queue/delay.go:175 +0x4b
  istio.io/istio/pkg/queue.TestRace.func1()
      /home/howardjohn/go/src/istio.io/istio/pkg/queue/delay_test.go:99 +0x4a

Goroutine 34 (running) created at:
  istio.io/istio/pkg/queue.TestRace()
      /home/howardjohn/go/src/istio.io/istio/pkg/queue/delay_test.go:104 +0x104
  testing.tRunner()
      /usr/lib/go-1.15/src/testing/testing.go:1123 +0x202

Goroutine 33 (running) created at:
  istio.io/istio/pkg/queue.TestRace()
      /home/howardjohn/go/src/istio.io/istio/pkg/queue/delay_test.go:97 +0xd1
  testing.tRunner()
      /usr/lib/go-1.15/src/testing/testing.go:1123 +0x202
==================

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
73d1ff63ebe4c66bc8b2e5a9304cf6c72fcf8379
link
/test integ-pilot-multicluster-tests_istio

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

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
73d1ff63ebe4c66bc8b2e5a9304cf6c72fcf8379
link
/test integ-pilot-multicluster-tests_istio

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

/retest

/retest

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
73d1ff63ebe4c66bc8b2e5a9304cf6c72fcf8379
link
/test integ-pilot-multicluster-tests_istio

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

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
73d1ff63ebe4c66bc8b2e5a9304cf6c72fcf8379
link
/test integ-pilot-multicluster-tests_istio

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

/retest

/retest


Pr1970 test

What this PR does / why we need it:
Try to reproduce CI issue in SR-IOV suit.

Should this be closed?


Assign 3 Finger Swipe to Button4/5

I would like to map the gestures 3 fingers swipe left and right to my mouse buttons button4 and button5. For me they work more reliable than assigning cmd + [ or cmd + ]. However I was unable to find a way to do so using Karabiner so I suspect it is not supported.

better try "Better Touch Tool" for all track pad related tweak :)


Add udev rule to increase read_ahead_kb when an NFS share is mounted

Description of changes:
Adding a udev rule to increase the read_ahead_kb value to an old kernel default value when an nfs share is mounted to remedy latency seen with efs.
Before Change:
$ uname -r;sudo mount -t nfs4 -o nfsvers=4.1,hard,timeo=600,retrans=2,noresvport fs-b36e9c87.efs.eu-west-1.amazonaws.com:/ efs;sudo ./nfs-readahead show /home/ec2-user/efs/; time rsync  efs/test .
5.4.0-1.132.64.amzn2.x86_64
/home/ec2-user/efs 0:40 /sys/class/bdi/0:40/read_ahead_kb = 128

real    0m14.428s
user    0m3.842s
sys    0m1.099s

After Change:
$ uname -r;sudo mount -t nfs4 -o nfsvers=4.1,hard,timeo=600,retrans=2,noresvport fs-b36e9c87.efs.eu-west-1.amazonaws.com:/ efs;sudo ./nfs-readahead show /home/ec2-user/efs/; time rsync  efs/test .
5.4.0-1.132.64.amzn2.x86_64
/home/ec2-user/efs 0:40 /sys/class/bdi/0:40/read_ahead_kb = 15360

real    0m3.579s
user    0m3.848s
sys    0m0.929s

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Committed as 9b1ff7d9d745818f82661288afe6489549c44063


Connectors and offloaders are not available in download pages

Expected behavior
Connectors and offloaders should be available to be downloaded in download page
Actual behavior
There is no simple way to find the connectors and offloaders packages.
http://pulsar.apache.org/en/download/
Steps to reproduce

I can help with this.
@sijie , do you mean the connector and offloader in the path: https://archive.apache.org/dist/pulsar/pulsar-2.2.0/ , ie apache-pulsar-io-connectors-2.2.0-bin.tar.gz   and apache-pulsar-offloaders-2.2.0-bin.tar.gz

This has been fixed.


allow ingress without host

There are cases where explicitly setting the host is not desired, multiplexing to different services can be done via path.
The console can be deployed with a basePath and ingress without an explicit host,

Also, please rebase. I think that'll fix CI.

If you'll check that allow changes box, we can bump the chart version for you as needed to get this merged. For now, it needs rebased and the chart version needs bumped again.

closing as abandoned. Work moved to #537


UIBarButton Popover

Support for a popover that originates from the location of a UIBarButton (the "Frame" property of a button does not exist with a UIBarButton).
Side-note: I'm having issues getting my content to pop down at the right location. Image: http://oi41.tinypic.com/2s9solv.jpg. I don't really have much of a graphics background at all, and I'm awful with the coordinates system. I was just wondering if there was some sort of method that could be added that would drop down automatically.
Also, my MT.D view controller is extending beyond the content size, and I don't know why.
If this is any easy fix, sorry for my stupidity!

Hi Pierce. I never got around to writing a custom UIBarButtonItem subclass that uses superview frame calculations to send off to the Popover. It should  be fairly easy if you feel like implementing them I'll gladly accept the pull request, it's just two methods as implemented here:
https://github.com/werner77/WEPopover/blob/master/Classes/Popover/UIBarButtonItem+WEPopover.m
Popover uses visible view hierarchy introspection to calculate where to position the Popover. I don't have it working 100% of the time for all layouts, but if you can provide a sample application where things dont quite look right, I'll be glad to take a look and adjust the calculations :-)
Thanks!
Anuj

Sure, I will send a pull request to fix that. The code is attached. Don't
make fun though ;) My first MT app ever as well as one of my first C#
projects.
Also, while I have you, I'm trying to query data from my VPS to load into
my table view. What you say is the best way to approach this? Sorry for the
bother on Christmas; I'm just eager to learn! If you see anything that
could use improvement, please let me know :)
On Mon, Dec 26, 2011 at 12:07 AM, Anuj <
<EMAIL_ADDRESS>
wrote:

Hi Pierce. I never got around to writing a custom UIBarButtonItem subclass
that uses superview frame calculations to send off to the Popover. It
should  be fairly easy if you feel like implementing them I'll gladly
accept the pull request, it's just two methods as implemented here:
https://github.com/werner77/WEPopover/blob/master/Classes/Popover/UIBarButtonItem+WEPopover.m
Popover uses visible view hierarchy introspection to calculate where to
position the Popover. I don't have it working 100% of the time for all
layouts, but if you can provide a sample application where things dont
quite look right, I'll be glad to take a look and adjust the calculations
:-)
Thanks!
Anuj

Reply to this email directly or view it on GitHub:
https://github.com/anujb/Devnos.Popover/issues/1#issuecomment-3272898

--
Thanks,
Pierce Boggan


Showing how good of an editor it is in one commit

:D

Thanks for your interest in contributing to this project! Please read through our contributing guide and take a look at our good first issue list to find an issue to work on.


Fix local search-index.json test (no hash fingerprint)

This PR fixes a bug that only affects local development builds
Consider the following:

When running locally using npm test we do add hash fingerprints to generated assets
When running locally using npm start we do not add hash fingerprints to generated assets

Since npm test overwrites a development build with a production build, we must run npx jest directly as shown
Steps to reproduce

In Terminal 1, run npm start
In Terminal 2, run npx jest --watch __tests__/search.test.js

Test output
You'll see two failures because requests to search-index.json (without a hash fingerprint) are not mocked:
  ● Site search › shows user a message that the index has failed to download

    expect(received).resolves.toBe(expected) // Object.is equality

    Expected: "Failed to load the search index"
    Received: "No results found"

Could you add more details on the error that led to the fix, please?
I've tried the following on main and didn't get any visible issue, so it's likely something else that needs running to see the original issue 😊:

npm start starts the server OK and the search works as expected (without error in the browser console)

npm run test also works OK (with or without npm start running in a separate tab, but tests run a build anyway by the look of the console output).

@romaricpascal Yeah course, don't forget npm test runs a build again
So your local development build will be overwritten and the bug won't show up
I've updated the description


Changing the number of panes on the left side

Is there a way to get the number of panes on the right side to change? I'm looking for something where I can change the default 4-pane display to 2 or 3.

Not in the current release, no.  I think it's hard-coded actually.


Multi Select Table sample does not work correctly

Describe the bug
Multi Select Table sample does not work correctly. When clicking multiple checkbox, the previously selected row becomes unselected.
To Reproduce
Steps to reproduce the behavior:

Create a new react app with create-react-app
Edit App.js and implement the Multi Select Table sample
Open the app and select the first row
Select the second row
Select the third row, then the second row becomes unselected

Expected behavior
The previously selected rows will remain selected.
Screenshots

Desktop (please complete the following information):

OS: macOS
Browser: Chrome
Version: 87.0.4280.141 (Official Build) (x86_64)

Additional context
It looks like an issue in react-table, as reported here: https://github.com/tannerlinsley/react-table/pull/2651
I expect upgrading react-table to newer than 7.6.0 will fix the problem. Could you consider upgrading the dependency?
https://github.com/aws/aws-northstar/blob/10c7b16b4bbddd60678e8827a8a53fd5beac3232/package.json#L146

Hi @mahayash315
Just checked the storybook example https://storybook.northstar.aws-prototyping.cloud/?path=/story/table--multi-select it is working as expected. Could you please double check whether the event handler is using useCallback?

Hi @mahayash315
Just checked the storybook example https://storybook.northstar.aws-prototyping.cloud/?path=/story/table--multi-select it is working as expected. Could you please double check whether the event handler is using useCallback?

Hi @jessieweiyi, thank you for the reply. It looks this issue only happens when I use react 17.0.0. Downgrading react to 16.12.0 fixed the issue. Thanks!

Hi @jessieweiyi, thank you for the reply. It looks this issue only happens when I use react 17.0.0. Downgrading react to 16.12.0 fixed the issue. Thanks!


Disabled items in ComboBox souldn't be selectable with arrow keys.

What is the current behavior?

What is expected behavior?

You can test this PR using the following package version. 0.10.999-cibuild0019971-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

You can test this PR using the following package version. 0.10.999-cibuild0019993-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

needs a backport PR ... too many conflicts in combobox.cs


Project specific configuration

For example, some annoying projects use 2 autoloaders - in which case we would need a chain autoloader to take advantage of both of them.
Other options might include choosing the file location strategies (simple, git, compoesr), etc.

Done


Support agent reset command

Please answer these questions before submitting pull request

Why submit this pull request?
[ ] Bug fix
[x] New feature provided
[ ] Improve performance

FAILURE

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/skywalking-e2e/17/

Relaced by https://github.com/apache/skywalking/issues/3072


LDAP authentication against AD ignores baseDn/userFilter and requires dnFormat

We are setting up CAS v5.0.2 running on embedded Tomcat.  We are setting up SPNEGO auth with LDAP form-based fallback (against Active Directory).  With both SPNEGO and LDAP we find that we cannot restrict authentication to users in a specific OU (the baseDn is completely ignored).
Our configuration:
cas.authn.spnego.kerberosConf=/etc/cas/krb5.conf
<EMAIL_ADDRESS>cas.authn.spnego.mixedModeAuthentication=true
cas.authn.spnego.send401OnAuthenticationFailure=false
cas.authn.spnego.ldap.baseDn=ou=MyDept,dc=mydomain,dc=com
cas.authn.spnego.ldap.userFilter=(memberOf=cn=MyGroup,ou=Groups,dc=mydomain,dc=com)

cas.authn.ldap[0].type=AD
cas.authn.ldap[0].ldapUrl=ldaps://mydomain.com
cas.authn.ldap[0].usePasswordPolicy=false
<EMAIL_ADDRESS>cas.authn.ldap[0].userFilter=(memberOf=cn=MyGroup,ou=Groups,dc=mydomain,dc=com)
cas.authn.ldap[0].baseDn=dc=ou=MyDept,dc=mydomain,dc=com

Since i've specifically targetted LDAP with the subject line, i'll focus on that, but the problem exists for both SPNEGO and LDAP.  Using credentials that are neither in MyDept OU or belonging to MyGroup group, authentication is successful.  Further, the userFilter can be set to 'x', and the baseDn to 'x' as well, and authentication still succeeds, with no errors in the logs.
If dnFormat were not required for LDAP type=AD, one would image the userFilter could be modified appropriately to accomodate this need, but even with dnFormat, we may not want to include all users in the directory as viable authentication candidates.

Switch to AUTHENTICATED

Switching to AUTHENTICATED causes LDAP "NO_OBJECT" errors, which is why i opted to try AD instead.  No matter how simple i make the userFilter, or how broad the baseDn, it will not locate users.  Additionally, 'baseDn' is required for AD, yet is completely unused.
ERROR [org.apereo.cas.authentication.PolicyBasedAuthenticationManager] - <LdapAuthenticationHandler: Unexpected LDAP error  (Details: javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-0315270B, problem 2001 (NO_OBJECT), data 0, best match of:
        'DC=mydomain,DC=com'
]; remaining name 'OU=MyDept,DC=mydomain,DC=com')>

Just for a bit of background, the AD authentication scheme is modeled after this guide:
https://apereo.github.io/cas/4.1.x/installation/LDAP-Authentication.html#active-directory-authentication
You may want to check this issue with @dfish3r, then post to ldaptive https://github.com/vt-middleware/ldaptive and then analyze the CAS configuration/source to see what improvements may be made, and accompany that with a pull request.


Mac Gpu Link not working?

Hello,
I was trying to install Tensorflow for Mac GPU Python 3 one from github and I found that it is a broken URL Giving me an HTTP 404 Error.
The URL is - https://ci.tensorflow.org/view/Nightly/job/nightly-matrix-mac-gpu/TF_BUILD_IS_OPT=OPT,TF_BUILD_IS_PIP=PIP,TF_BUILD_PYTHON_VERSION=PYTHON3,label=gpu-mac/lastSuccessfulBuild/artifact/pip_test/whl/tensorflow_gpu-1.1.0rc2-py3-none-any.whl
Please Fix the Url.
Best,
Daksh

Where did you copy that URL from?

From the readme of Tensorflow's Github.

I was wondering about this as well.
Looks like the build for nightly Mac GPU Python 3 is currently broken, and for this reason link to the last successful build of nightly Mac GPU Python 3 version 1.1.0 is broken. Same issue with nightly Mac GPU Python 2 1.1.0 link and build.


How to show time of message?

Hi Team,
Is there any option to show message of time in message cell? I tried to customize the cell but got a linker error. Any suggestion?
Thanks!

In the demo you modify the following code:
#pragma mark - Adjusting cell label heights
-(CGFloat)tableView:(ZHCMessagesTableView *)tableView heightForCellTopLabelAtIndexPath:(NSIndexPath *)indexPath
{
    /**
     *  Each label in a cell has a `height` delegate method that corresponds to its text dataSource method
     */

    /**
     *  This logic should be consistent with what you return from `attributedTextForCellTopLabelAtIndexPath:`
     *  The other label height delegate methods should follow similarly
     *
     *  Show a timestamp for every 3rd message
     */
    return kZHCMessagesTableViewCellLabelHeightDefault;

}

-(NSAttributedString *)tableView:(ZHCMessagesTableView *)tableView attributedTextForCellTopLabelAtIndexPath:(NSIndexPath *)indexPath
{
    /**
     *  This logic should be consistent with what you return from `heightForCellTopLabelAtIndexPath:`
     *  The other label text delegate methods should follow a similar pattern.
     *
     *  Show a timestamp for every 3rd message
     */
    ZHCMessage *message = [self.demoData.messages objectAtIndex:indexPath.row];
    return [[ZHCMessagesTimestampFormatter sharedFormatter]attributedTimestampForDate:message.date];

}

Ok Thanks! I need to show time inside bubble? I think we need to customize the cell, will do. Thanks again


How to proceed with Bytecoder

We have done some changes in the Bytecoder project. Therefore we are building our own SNAPSHOT project.
We would like to be based on a release, as this simplifies working with Bytecoder for us
Minimalistic approach
maintainer merges Bytecoder 474. This is really needed to continue without snapshot.
Non-minimalistic approach
We create PRs for all our other changes in Bytecoder as well. With that approach, we have to cope with SNAPSHOT build for longer period of time. And Bytecoder maintainer needs to have time to review and merge.
Advantage is that Bytecoder web APIs will be better, which is an advantage for non-libgdx Bytecoder users.
Actions:

Contact Bytecoder maintainer: is he available to review the PRs?
depending on outcome, continue with the minimalistic or non-minimalistic approach.

One thing to ask: can we make the wasm (without llvm) work with our project? That would be really beneficial for our users (easier to set up env).

@CoenRijsdijk  depends on #16 (assigned that issue to you)

Mail sent to maintainer, waiting for reaction.


Interested in Postgres support?

mLab MongoDB is discontinuing their Heroku add-on. Would you be interested in a PR adding Postgres support? Heroku has a free Postgres tier. I haven't looked at how much work this would require, but I'm happy to put some time into this if it's a PR you'd consider. I wouldn't remove MongoDB support, just add Postgres as an alternative.

(from https://devcenter.heroku.com/articles/mongolab)

@crcastle, I think adding support to Postgres would be great.
not sure if it will be easy to support both, be we could have 2 sperate branches for each?

Thanks @jamalx31. I've got a few projects taking up my time now, but I'll do some proof-of-concept-ing over the next month or so and let you know how it turns out.


RowFocusEvent should contain info for Header/Body/Footer

Hi,
As an enhancement, it would be useful if the RowFocusEvent could provide information as to whether the returned focused rowIndex is in the header, the body, or the footer.
Thanks.

At the moment row focus tracking happens only in the body.

Version 1.1.6 has been modified so that Row/CellFocusEvents return row index -1 when in Footer/Header (Vaadin 7). Same modification will be in Version 2.1.6 later (Vaadin 8)

That helps a lot, thanks!

Version 2.1.6 has been released as well.
@evanzel I would appreciate your feedback and rating of the add-on here: https://vaadin.com/directory/component/gridfastnavigation-add-on


runtime: crashes with "runtime: traceback stuck"

What version of Go are you using (go version)?

$ go version
go version go1.20.5 linux/arm64

Does this issue reproduce with the latest release?
We can't use 1.20.6 because of https://github.com/golang/go/issues/61431
What operating system and processor architecture are you using (go env)?
go env Output
$ go env

What did you do?
Our production environments runs tens of thousands of containers written in Go, most of them running only for a few minutes or hours. About once every day one of them crashes with runtime: traceback stuck. It is not always the same service, and has been happening for months and across multiple Go versions, going back to at least Go 1.18. We are not sure exactly when it started.
We did saw a common pattern, where the stack trace is always of the routine running our internal MemoryMonitor. It is a small library that runs in all our services, samples the cgroup memory parameters every second from procfs, and logs all the running operation if we use 90% of available memory. When we turn off this functionality the problem disappear, so we know it is related. All the containers that crashed didn't reach this limit during their run, so only the sampling occurred.
Another thing to note that we always see in the dump is an active runtime profiling running by the DataDog agent we are integrating with. It is running every 30 seconds and takes a CPU and memory profile using the standard pprof library. We are not sure if this is related.
What did you expect to see?
No crashes.
What did you see instead?
runtime: traceback stuck. pc=0xfdfcf0 sp=0x40097fbf90
stack: frame={sp:0x40097fbf90, fp:0x40097fbf90} stack=[0x40097fa000,0x40097fc000)
0x00000040097fbe90: 0x00000040075ae200 0x0000004003a53d00
0x00000040097fbea0: 0x0000004007587d40 0x0000000000000001
0x00000040097fbeb0: 0x0000000001b38580 <github.com/xxx/xxx/commonlib/memmonitor.(*memoryMonitor).run.func1.1+0x0000000000000000> 0x000000400771e500
0x00000040097fbec0: 0x0000004003a13e60 0x0000000000000000
0x00000040097fbed0: 0x0000000000000000 0x0000000000000000
0x00000040097fbee0: 0x00000040097fbeb0 0x0000004000507ef8
0x00000040097fbef0: 0x0000000000fe02c8 <github.com/xxx/xxx/commonlib/waitgroup.(*SafeErrorGroup).Go.func1+0x0000000000000088> 0x0000004000507f58
0x00000040097fbf00: 0x0000000000fdfbfc <golang.org/x/sync/errgroup.(*Group).Go.func1+0x000000000000005c> 0x0000004004eed080
0x00000040097fbf10: 0x0300000000000000 0x0000000000000000
0x00000040097fbf20: 0x0000000000000000 0x0000000000fe0330 <github.com/xxx/xxx/commonlib/waitgroup.(*SafeErrorGroup).Go.func1.1+0x0000000000000000>
0x00000040097fbf30: 0x0000000004324400 0x0000004007587d40
0x00000040097fbf40: 0x00000040097fbf18 0x00000000036f2020
0x00000040097fbf50: 0x00000040097fbf28 0x0000000000000000
0x00000040097fbf60: 0x000000000007fd44 <runtime.goexit+0x0000000000000004> 0x00000040076be780
0x00000040097fbf70: 0x0000004002347b60 0x0000000000000000
0x00000040097fbf80: 0x0100004004d079e0 0x0000004007585f00
0x00000040097fbf90: >0x0000000000fdfcf0 <golang.org/x/sync/errgroup.(*Group).Go.func1.2+0x0000000000000000> 0x0000004007585f00
0x00000040097fbfa0: 0x0000004000507f48 0x0000000000000000
0x00000040097fbfb0: 0x000000000007fd44 <runtime.goexit+0x0000000000000004> 0x000000400074f7a0
0x00000040097fbfc0: 0x00000040097fbf90 0x0000000000000000
0x00000040097fbfd0: 0x0000000000000000 0x0000000000000000
0x00000040097fbfe0: 0x0000000000000000 0x0000000000000000
0x00000040097fbff0: 0x0000000000000000 0x0000000000000000
fatal error: traceback stuck
runtime stack:
runtime.throw({0x30b0158?, 0x63afaa0?})
/usr/local/go/src/runtime/panic.go:1047 +0x40 fp=0x4000111bc0 sp=0x4000111b90 pc=0x49cd0
runtime.gentraceback(0x4000111f98?, 0x76480?, 0x50e55d58a9b8?, 0x4000102b60, 0x0, 0x4009100c00, 0x20, 0x0, 0x0?, 0x0)
/usr/local/go/src/runtime/traceback.go:487 +0xdd8 fp=0x4000111f30 sp=0x4000111bc0 pc=0x70658
runtime.saveg(0x0?, 0x7d92c?, 0x4005e36600?, 0x4009100c00)
/usr/local/go/src/runtime/mprof.go:1181 +0x44 fp=0x4000111f90 sp=0x4000111f30 pc=0x42154
runtime.doRecordGoroutineProfile.func1()
/usr/local/go/src/runtime/mprof.go:1093 +0x48 fp=0x4000111fc0 sp=0x4000111f90 pc=0x420e8
runtime.systemstack()
/usr/local/go/src/runtime/asm_arm64.s:243 +0x6c fp=0x4000111fd0 sp=0x4000111fc0 pc=0x7d92c

It looks like it is stuck when collecting a goroutine profile, which takes stack traces for all goroutines. The place it is stuck is at the entry of a deferred function. It should never unwind to there. It looks like a stack slot to save the defer record, instead of a return PC. So the unwinding already went off at this point. It could be due to failing to unwind a frame lower down the stack, or the stack being corrupted.
@aciduck is your program a pure-Go program or it uses cgo? Does it use any unsafe code? Is there a way we can reproduce the failure? Thanks.

This happens in multiple services, some are compiled with cgo and some don't.
We don't use unsafe code directly, but it might be called from some dependency we have.
Unfortunately we can't reproduce it consistently or in a simple program. The only pattern we found is that this only happens if our MemoryMonitor code is running, and we suspect it is related to the fact it executes frequent syscalls.

Could you show a more complete error message? There should be other goroutine  stack dumps below, and my have information about how the unwinder get to that point (It is okay to have symbol names redacted). Thanks.

Full dump is in the attached file:
extract-2023-08-16T12_49_41.656Z - Copy.txt

Hi @cherrymui , is there anything else we can provide to help investigating this? We have upgraded to 1.21.4 in the past weeks and the problem still persists.

Sorry the the delay. Thanks for the full stack trace.
Reading the stack trace, it seems to fail when unwinding the stack at memory address [0x40097fa000,0x40097fc000)
runtime: traceback stuck. pc=0xfdfcf0 sp=0x40097fbf90
stack: frame={sp:0x40097fbf90, fp:0x40097fbf90} stack=[0x40097fa000,0x40097fc000)

This matches goroutine 594:
goroutine 594 [select, 2 minutes]:
runtime.gopark(0x400941fec0?, 0x2?, 0x2?, 0x0?, 0x400941fe84?)
/usr/local/go/src/runtime/proc.go:381 +0xe0 fp=0x40097fbd10 sp=0x40097fbcf0 pc=0x4c740
runtime.selectgo(0x40097fbec0, 0x400941fe80, 0x4007587d40?, 0x0, 0x2?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x68c fp=0x40097fbe20 sp=0x40097fbd10 pc=0x5d1ac
github.com/xxx/xxx/commonlib/memmonitor.(*memoryMonitor).run.func1()
/home/circleci/project/commonlib/memmonitor/monitor.go:73 +0xb0 fp=0x40097fbef0 sp=0x40097fbe20 pc=0x1b383f0
github.com/xxx/xxx/commonlib/waitgroup.(*SafeWaitGroup).Go.func1()
/home/circleci/project/commonlib/waitgroup/waitgroup.go:83 +0x24 fp=0x40097fbf00 sp=0x40097fbef0 pc=0xfe0684
github.com/xxx/xxx/commonlib/waitgroup.(*SafeErrorGroup).Go.func1()
/home/circleci/project/commonlib/waitgroup/waitgroup.go:40 +0x88 fp=0x40097fbf60 sp=0x40097fbf00 pc=0xfe02c8
golang.org/x/sync/errgroup.(*Group).Go.func1()
/go/pkg/mod/golang.org/x/sync@v0.3.0/errgroup/errgroup.go:75 +0x5c fp=0x40097fbfd0 sp=0x40097fbf60 pc=0xfdfbfc

When the runtime crashes, it successfully unwound this stack. So it is weird that the first round of unwinding (for taking the goroutine profile) failed. It is possible that the goroutine has executed and changed its stack between the two unwinding. But given that it's been sitting there for 2 minutes, and the crash probably took much less time, it probably didn't change.
Besides, goroutine 105 is interesting:
goroutine 105 [select, 2 minutes]:
runtime.gopark(0x40097fbf48?, 0x3?, 0x80?, 0xd?, 0x40097fbefa?)
/usr/local/go/src/runtime/proc.go:381 +0xe0 fp=0x4004b92d70 sp=0x4004b92d50 pc=0x4c740
runtime.selectgo(0x4004b92f48, 0x40097fbef4, 0x40044f0a00?, 0x0, 0x3?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x68c fp=0x4004b92e80 sp=0x4004b92d70 pc=0x5d1ac
go.opentelemetry.io/otel/sdk/trace.(*batchSpanProcessor).processQueue(0x40005f5220)
/go/pkg/mod/go.opentelemetry.io/otel/sdk@v1.16.0/trace/batch_span_processor.go:293 +0xd4 fp=0x4004b92f90 sp=0x4004b92e80 pc=0x912a74
go.opentelemetry.io/otel/sdk/trace.NewBatchSpanProcessor.func1()
/go/pkg/mod/go.opentelemetry.io/otel/sdk@v1.16.0/trace/batch_span_processor.go:128 +0x58 fp=0x4004b92fd0 sp=0x4004b92f90 pc=0x911e68
runtime.goexit()

At the second frame, runtime.selectgo, the second argument (which is pointer-typed) points to goroutine 594's stack, which should not happen. Perhaps something weird is going on with that stack...
It seems this failure occurs while taking a goroutine profile. Could you try

running the program without enabling goroutine profiles, and see if the error still occurs?
with Go 1.20.x, changing go119ConcurrentGoroutineProfile to false, and see if the error still occurs? You'll need to use a Go 1.20.x source tree and modify the source code.  If the error still occurs, this will print some additional information.

Thanks.

We also continue to see even after fix to #54332, traceback stuck approximately once a month across our arm64 fleet under continuous profiling, including on most recent go1.21.6. Most recent dump here:
runtime: traceback stuck. pc=0x2c4670 sp=0x42091d9da0
stack: frame={sp:0x42091d9da0, fp:0x42091d9da0} stack=[0x420e72a000,0x420e72e000)

fatal error: traceback stuck

goroutine 0 [idle]:
runtime.throw({0x217a524?, 0x71700?})
        /usr/local/go/src/runtime/panic.go:1077 +0x40 fp=0x4000514620 sp=0x40005145f0 pc=0x4a8d0
runtime.(*unwinder).next(0x4000514888)
        /usr/local/go/src/runtime/traceback.go:486 +0x344 fp=0x40005146b0 sp=0x4000514620 pc=0x720a4
runtime.tracebackPCs(0x4000514888, 0x0?, {0x40005149e8, 0x40, 0x40})
        /usr/local/go/src/runtime/traceback.go:628 +0x58 fp=0x4000514840 sp=0x40005146b0 pc=0x723c8
runtime.sigprof(0x25f88, 0x4000514c48?, 0x4000514c58?, 0x4000502b60, 0x400050c000)
        /usr/local/go/src/runtime/proc.go:4969 +0x18c fp=0x4000514bf0 sp=0x4000514840 pc=0x5739c
runtime.sighandler(0x1b?, 0x400050c000?, 0x4000514c98?, 0x4000502b60?)
        /usr/local/go/src/runtime/signal_unix.go:642 +0xf4 fp=0x4000514c60 sp=0x4000514bf0 pc=0x61f94
runtime.sigtrampgo(0x1b, 0x4000514da0, 0x4000514e20)
        /usr/local/go/src/runtime/signal_unix.go:490 +0xd8 fp=0x4000514ce0 sp=0x4000514c60 pc=0x619f8
runtime.sigtramp()
        /usr/local/go/src/runtime/sys_linux_arm64.s:462 +0x54 fp=0x4000514da0 sp=0x4000514ce0 pc=0x832d4

I've symbolised 0x2c4670, it is:
go tool addr2line shepherd.full
0x2c4670
net/http.(*conn).serve.func1
/usr/local/go/src/net/http/server.go:1864

Thanks @lizthegrey for the information.

$ go tool addr2line shepherd.full
0x2c4670
net/http.(*conn).serve.func1
/usr/local/go/src/net/http/server.go:1864
https://github.com/golang/go/blob/go1.21.6/src/net/http/server.go#L1864-L1882

This looks like it is the entry address of a deferred function. Could you confirm that it is indeed the function entry, or it is somewhere in the function prologue, perhaps with go tool objdump?
What is PC 0x25f88 ? It is the first argument of runtime.sigprof, i.e. where the profiling signal lands, and where the unwinding starts. That would be helpful to see why it unwinds to a function entry (or prologue). It looks like it is pointing to a runtime function?
Thanks.

$ go tool addr2line shepherd.full
0x2c4670
net/http.(*conn).serve.func1
/usr/local/go/src/net/http/server.go:1864
go1.21.6/src/net/http/server.go#L1864-L1882

This looks like it is the entry address of a deferred function. Could you confirm that it is indeed the function entry, or it is somewhere in the function prologue, perhaps with go tool objdump?

Confirm, function entry.
 It is the first argument of runtime.sigprof, i.e. where the profiling signal lands, and where the unwinding starts. That would be helpful to see why it unwinds to a function entry (or prologue). It looks like it is pointing to a runtime function?

$ go tool addr2line shepherd.full
0x25f88
runtime.findObject
/usr/local/go/src/runtime/mbitmap.go:340

Hi, since upgrading to 1.21 the stack traces changed a bit, and it became obvious that the problem is triggered by the runtime profiling we are running every 30 seconds. We kept CPU and heap profile enabled and disabled goroutine profiling, and the problem almost disappeared.
Instead of a random container crashing almost daily, it happened only twice in the past 3 weeks. Both error dumps are attached.
extract-2024-02-18T09_43_34.174Z.txt
extract-2024-02-18T09_39_23.548Z.txt

@aciduck have you tried Go 1.22 ? Also, in your crash dumps it seems some lines are missing or reordered, like, frames from different stacks are mixed together. Could you paste an unfiltered stack dump? (It is fine to redact function names.)
Also,
runtime: traceback stuck. pc=0x266f680 sp=0x400369f160
stack: frame={sp:0x400369f160, fp:0x400369f160} stack=[0x40167fe000,0x4016802000)
fatal error: traceback stuck

the SP and the frame are not in the bounds of the stack. This might be that the G and the stack don't match? Are these crashes from a cgo program or pure Go? Thanks.

@cherrymui We haven't updated to 1.22 yet, will probably happen in the coming weeks.
This output is the best we have, we don't get the output directly from the executables but from a log collecting service, so some lines might have been swapped.
Those two components were compiled with CGO_ENABLED=0.

We've done our 1.22 upgrade, will report if we see any stuck tracebacks.

 Two such crashes are attached:
extract-2024-03-27T12_14_33.042Z.txt
extract-2024-03-27T12_12_46.194Z.txt

Another crash, let me know if you need me to symbolise it.
goroutine 4458 gp=0x401229b500 m=25 mp=0x400052e808 [running]:
	runtime/sys_linux_arm64.s:462 +0x54 fp=0x4000bfeda0 sp=0x4000bfece0 pc=0x8ac14
runtime.sigtramp()
	runtime/signal_unix.go:490 +0xd8 fp=0x4000bfece0 sp=0x4000bfec60 pc=0x661b8
runtime.sigtrampgo(0x1b, 0x4000bfeda0, 0x4000bfee20)
	runtime/signal_unix.go:642 +0x61c fp=0x4000bfec60 sp=0x4000bfebf0 pc=0x66c7c
runtime.sighandler(0x1b?, 0x400052e808?, 0x4000bfec98?, 0x4000ba0fc0?)
	runtime/proc.go:5375 +0x18c fp=0x4000bfebf0 sp=0x4000bfe940 pc=0x5b4dc
runtime.sigprof(0x8a620, 0x4000bfec48?, 0x4000bfec58?, 0x401229b500, 0x400052e808)
	runtime/traceback.go:622 +0x5c fp=0x4000bfe940 sp=0x4000bfe7c0 pc=0x79e9c
runtime.tracebackPCs(0x4000bfe978, 0x4018186f58?, {0x4000bfe9d8, 0x40, 0x40})
	runtime/traceback.go:480 +0x340 fp=0x4000bfe7c0 sp=0x4000bfe730 pc=0x79b70
runtime.(*unwinder).next(0x4000bfe978)
	runtime/panic.go:1023 +0x40 fp=0x4000bfe730 sp=0x4000bfe700 pc=0x4cd90
runtime.throw({0x21e954a?, 0xfffffff000000000?})
goroutine 0 gp=0x4000ba0e00 m=25 mp=0x400052e808 [idle]:
fatal error: traceback stuck
0x0000004399cc93c0:  0x00000044d6ca2000  0x0000004399cc9558
0x0000004399cc93b0:  0x000000452dcd0048  0x000000452dd10048
0x0000004399cc93a0:  0x00000000000002f3  0x000000452de12000
0x0000004399cc9390:  0x0000000000000da1  0x0000000000020000 <runtime.mallocgc+0x0000000000000400>
0x0000004399cc9380:  0x0000000000040000 <runtime.(*pageAlloc).update+0x0000000000000490>  0x0000000001000000 <github.com/honeycombio/hound/keys.KeyList.UserIDs+0x00000000000002c0>
0x0000004399cc9370:  0x00001c8f005c3568  0x0000000000000000
0x0000004399cc9360:  0x0000004400024e45  0x0000004399cc93c8
0x0000004399cc9350:  0x00001c8f0000868c  0x0000000500025047
0x0000004399cc9340:  0x0000000000000001  0x000250420003fff6
0x0000004399cc9330:  0x0000000000001c92  0x0000000100000010
0x0000004399cc9320:  0x00024e46000233b3  0x0000000200000006
0x0000004399cc9310:  0x0000000000000100  0x000000000000018f
0x0000004399cc9300:  0x00000044c3d15400  0x0000000000000100
0x0000004399cc92f0:  0x00000000005c369c <github.com/klauspost/compress/zstd.(*Encoder).EncodeAll+0x000000000000076c>  0x00000040b3d80e78
0x0000004399cc92e0:  0x00000044e848c000  0x0000000000020000 <runtime.mallocgc+0x0000000000000400>
0x0000004399cc92d0: >0x00000000005c35b8 <github.com/klauspost/compress/zstd.(*Encoder).EncodeAll+0x0000000000000688>  0x000000452dcd0000
0x0000004399cc92c0:  0x0000000000015900 <indexbody+0x0000000000000110>  0x0000004399cc93c8
0x0000004399cc92b0:  0x0605040702010003  0x0000004399cc92c8
0x0000004399cc92a0:  0x4ed8aa4a391c0cb3  0x000000007bdcb9b0
0x0000004399cc9290:  0xb22567d4b22567d4  0x1e376c0819a4c116
0x0000004399cc9280:  0xf5c2a259f5c2a259  0x8a78a8298a78a829
0x0000004399cc9270:  0x97263d2997263d29  0x3a9cc8fc3a9cc8fc
0x0000004399cc9260:  0x663d6a46663d6a46  0xd403e495d403e495
0x0000004399cc9250:  0x6ed9eba15a827999  0x0000000043b3cc49
0x0000004399cc9240:  0x8f1bbcdc8f1bbcdc  0xca62c1d6ca62c1d6
0x0000004399cc9230:  0xf2d710aef8f89c7e  0xf26b17cdac4d3039
0x0000004399cc9220:  0xbf363a3e9d7e0b9e  0x934a39ccb5589239
0x0000004399cc9210:  0x3c5b0fbb53a804d7  0x19f140fa74ab92f0
0x0000004399cc9200:  0xba6eb3e8ab4e6384  0xf54c2e3362ed086f
0x0000004399cc91f0:  0x37ba530109445563  0xe64d8eecc33e1c87
0x0000004399cc91e0:  0xd07788fc7b01bab7  0x50ebbb82c7975f4b
0x0000004399cc91d0:  0x73531f6ab7360646  0x645c308cfb8ce111
stack: frame={sp:0x4399cc92d0, fp:0x4399cc92d0} stack=[0x4399cc8000,0x4399cca000)
runtime: traceback stuck. pc=0x15900 sp=0x4399cc92d0

Can we please get an update here? I know the 1.23 window is soon, and it would be nice to get a fix or additional telemetry into that release.

@aciduck in extract-2024-03-27T12_12_46.194Z.txt

runtime.sigprof(0x8a2cc, 0x4000150c48?, 0x4000150c58?, 0x4000005180, 0x400012d008)

The signal PC (where the traceback starts) is 0x8a2cc, which is close to

runtime.systemstack_switch()
/usr/local/go/src/runtime/asm_arm64.s:200 +0x8 fp=0x4007620e60 sp=0x4007620e50 pc=0x8a218

So it may be something in the runtime, and probably assembly code. Is it possible to get what that PC is?
Also, from the SP,

runtime: traceback stuck. pc=0x170340 sp=0x4005a13ae0
stack: frame={sp:0x4005a13ae0, fp:0x4005a13ae0} stack=[0x4005a0e000,0x4005a16000)

it seems to be on this goroutine

goroutine 713 gp=0x4006610e00 m=7 mp=0x4000180808 [runnable]:
encoding/json.stateInString(0x4017495e00?, 0x6f?)
/usr/local/go/src/encoding/json/scanner.go:337 +0x1b4 fp=0x4005a13a10 sp=0x4005a13a10 pc=0x172544
encoding/json.appendCompact({0x40097dea80, 0x0, 0xa80}, {0x40097de000, 0x927, 0xa80}, 0x1)
/usr/local/go/src/encoding/json/indent.go:70 +0x44c fp=0x4005a13b00 sp=0x4005a13a10 pc=0x17002c
encoding/json.marshalerEncoder(0x4013aaaf00, {0x3572b20?, 0x4004ee0af0?, 0x35640a0?}, {0x20?, 0x2b?})
/usr/local/go/src/encoding/json/encode.go:444 +0x128 fp=0x4005a13bc0 sp=0x4005a13b00 pc=0x169f88

So apparently when it crashes, it actually can unwind the stack successfully. It starts with 0x4005a13a10, and the next frame is at 0x4005a13b00. Why is the profiling unwinding stuck in the middle of that frame at 0x4005a13ae0? Also, the first frame has FP=SP, which looks like it is in the prologue of calling morestack. Maybe it is related to profiling from morestack?
@lizthegrey 's cases are weird.

runtime: traceback stuck. pc=0x25d80 sp=0x402ec0f2d0
0x000000402ec0f2c0:  0x0000000000025d80 <runtime.mapaccess2_faststr+0x00000000000003f0>  0x000000402ec0f3c8
0x000000402ec0f2d0: >0x00000000005c4528 <github.com/klauspost/compress/zstd.(*Encoder).EncodeAll+0x0000000000000688>  0x000000414d184000

It stuck at SP=0x402ec0f2d0. The saved LR, or next PC, should be *SP=0x5c4528 (https://cs.opensource.google/go/go/+/master:src/runtime/traceback.go;l=373). But that is not the one reported on the first line, which is 0x25d80, which is actually *(SP-16). This is super weird. Unless these PC, SP, and LR are not from unwinding a frame, but something else? It is not the first frame where the traceback starts, as the argument of sigprof (the signal PC) is 0x8a620. A stack transition? In that case the PC, SP, and LR are from gp.sched that is populated in morestack. But I don't see how morestack could produce such PC and SP, either... Nevertheless, it seems also related to morestack...

It's clearly not a very frequent crash, so it's an edge case of an edge case of an edge case we suspect.

For unwinding for profiling, we are already a bit permissive -- in a number of cases if we can't find a valid frame, instead of throwing an error, we simply give up. Maybe we should do this here as well: if it is going to fall into an unwinding loop, just give up and leave a truncated stack trace.
On the other hand, the "traceback stuck" error did uncover a few real bugs. I'm not sure...

For unwinding for profiling, we are already a bit permissive -- in a number of cases if we can't find a valid frame, instead of throwing an error, we simply give up. Maybe we should do this here as well: if it is going to fall into an unwinding loop, just give up and leave a truncated stack trace.
On the other hand, the "traceback stuck" error did uncover a few real bugs. I'm not sure...

How about a compromise? Leave a truncated stack, but output the error message somewhere, so that we can pick it up and use it for debugging in the rare case where it does happen?

Can we get an update here? This is still happening from time to time. There are a few suggestions in this thread to add additional debug info if it is still a mystery.


Products not available via API issues

It seems that Lidl only promotes special offers via their API. I will refactor to delete old offers.

See comment on PR. Closing this out.


Please add possibility to hide the player but not switching off the audio.

I would like to play only audio from Youtube. It would be great if you could add a feature not to show video, but just to play audio.
I'm trying to hide it with Visibility() but in this case _controller.play() method doesn't work.
And it would be also nice if it could be played on a lock screen.

This is against Youtube's TOS, unlikely to get included in any library


Docker Exited due to missing log files

After successfully running deployment/init.sh, I get an error message for all containers that the log files cannot be found. Here exemplary for the attacker.
Traceback (most recent call last):
  File "/src/Attacker.py", line 128, in <module>
    attacker = Attacker()
  File "/src/Attacker.py", line 18, in __init__
    Runnable.__init__(self, 'Attacker', 100)
  File "/src/ics_sim/Device.py", line 84, in __init__
    self._initialize_logger()
  File "/src/ics_sim/Device.py", line 91, in _initialize_logger
    self._logger = self.setup_logger(
  File "/src/ics_sim/Device.py", line 112, in setup_logger
    handler = logging.FileHandler(file_path, mode=write_mode)
  File "/usr/lib/python3.10/logging/__init__.py", line 1169, in __init__
    StreamHandler.__init__(self, self._open())
  File "/usr/lib/python3.10/logging/__init__.py", line 1201, in _open
    return open_func(self.baseFilename, self.mode,
FileNotFoundError: [Errno 2] No such file or directory: '/src/logs/logs-Attacker.log'

System Info
System Version: macOS 13.0 (22A380)
Kernel Version: Darwin 22.1.0
Docker version 20.10.20, build 9fdeb9c

After manually adding the folder + files it seems to work

Yes, in some version this bug exists. You did right Solution. Let me know if you had further questions.


Personal Development Folder

Create a GitHub Repository:
Go to GitHub and log in.
Click on the "+" sign in the top right corner and choose "New repository."
Name your repository (e.g., Personal-Development).
Add a brief description if needed.
Initialize this repository with a README file.
Click "Create repository."

Commit:  87e9914

Fixed with commit 87e9914


Get rid of default models on some tools

The models I hardcoded were outdated for certain tools so I removed them. Now the tools will use the model suggestions from the API instead so we're always up to date.
I left the hardcoded model on textToSpeech since the suggested models in the API don't work for now. (See this pr)

cool, nice! make sure they're pinned on the API side then


Quota tariff events

Description
While creating, updating or removing a quota tariff there are no events for any of these actions.
To address that, every time a quota tariff is created, updated or removed, a new event is created containing some details of these operations.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[X] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[X] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?
I created, updated and removed a quota tariff. Then I accessed the Events tab and all the operations were there.

@blueorangutan package

@blueorangutan package

@DaanHoogland a [SF] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan test

@DaanHoogland a [SF] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan package

@vishesh92 a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 8245

@blueorangutan package

@hsato03 are we targeting 20 with this PR (cc @JoaoJandre )?

@DaanHoogland @JoaoJandre Maybe we can target it to the 4.18.2. What do you think?

@blueorangutan package

@vishesh92 a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 8555

@blueorangutan test

@DaanHoogland @JoaoJandre Maybe we can target it to the 4.18.2. What do you think?

@hsato03 sure

@DaanHoogland @JoaoJandre Maybe we can target it to the 4.18.2. What do you think?

You'll have to rebase - force push for that @hsato03 otherwise we are pulling the whole 4.19 release in.

@DaanHoogland I changed the base branch to 4.18.
Some unrelated labels to the PR were added. Could you remove them please?

@blueorangutan package

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 8632

@blueorangutan test

@DaanHoogland a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-9189)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 40247 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8030-t9189-kvm-centos7.zip
Smoke tests completed. 110 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

@hsato03 I think this needs testing but as you guys are the only heavy users of quota, can you find one of your colleagues to verify this, please?

@hsato03, the events are being created correctly and the filter in the UI is working. However, the resource column is empty; it should present the tariff's name.

@hsato03, the events are being created correctly and the filter in the UI is working. However, the resource column is empty; it should present the tariff's name.

Thanks.
I addressed this in the last commit. Could you take a look again?

@blueorangutan package

@GutoVeronezi a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@DaanHoogland @JoaoJandre
I think one more round of tests is needed (just for sanity); aside that, I think this one is good to go.

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 8838

@blueorangutan test

@DaanHoogland a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-9378)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 43386 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8030-t9378-kvm-centos7.zip
Smoke tests completed. 109 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_08_migrate_vm
Error
0.06
test_vm_life_cycle.py


Fix compilation errors with -dip1000

Some are simple - scope on some parameters, etc.
Others are not. Something weird is going on with -dip1000 and dyaml.emitter - the delegates created there appear to gain random attributes (const delegates? nothrow delegates that call enforce() without issue? what...?) and require explicit casting to their real type to work as expected.
RedBlackTree is also unusable @safely when -dip1000 is specified.

Update - the entire batch of emitter errors go away if const is removed from dyaml.emitter.Emitter.expectNothing. what...?


Load unknown location for each county

A list of locations for every county ( 1 per county) has been developed and needs loading

Added to database


[BugFix] support rewrite element_at function

Fixes #issue
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.1
[x] 3.0
[x] 2.5
[ ] 2.4

[FE PR Coverage Check]
:disappointed: fail : 2 / 4 (50.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/EquationRewriter.java
2
4
50.00%
[186, 187]

[FE PR Coverage Check]
:disappointed: fail : 2 / 4 (50.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/EquationRewriter.java
2
4
50.00%
[186, 187]

@Mergifyio backport branch-3.1

@Mergifyio backport branch-3.0

@Mergifyio backport branch-2.5


Issue with 0.13.0

After upgrading to 0.13.0 I'm getting these errors on startup

ts=2023-02-17T06:23:32.653Z caller=apache_exporter.go:68 level=info msg="Starting apache_exporter" version="(version=0.13.0, branch=HEAD, revision=da7af963624c7495c77ed451d095bbeae2c3c5b8)"
ts=2023-02-17T06:23:32.653Z caller=apache_exporter.go:69 level=info msg="Build context" build="(go=go1.19.6, platform=linux/amd64, user=root@356287e981e1, date=20230217-04:05:35)"
ts=2023-02-17T06:23:32.653Z caller=apache_exporter.go:70 level=info msg="Starting Server: " listen_address=<IP_ADDRESS>:9117
ts=2023-02-17T06:23:32.653Z caller=apache_exporter.go:71 level=info msg="Collect from: " scrape_uri=http://localhost/server-status/?auto
ts=2023-02-17T06:23:32.653Z caller=apache_exporter.go:75 level=info msg="listening and wait for graceful stop"
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x8b82b5]
goroutine 1 [running]:
github.com/prometheus/exporter-toolkit/web.ListenAndServe(0xe06100?, 0xc000011050, {0xa8f400, 0xc00010f780})
/go/pkg/mod/github.com/prometheus/exporter-toolkit@v0.8.2/web/tls_config.go:206 +0x55
main.main()
/app/apache_exporter.go:97 +0xb05

Apologies, looks like we need more automated testing!
I'll set the release back to pre release

no worries - looking for the next version then. thanks!

Another report, just to give you some variety of platforms:
    Virtualization: vmware
  Operating System: CentOS Stream 8
       CPE OS Name: cpe:/o:centos:centos:8
            Kernel: Linux 4.18.0-448.el8.x86_64
      Architecture: x86-64

Found the issue, this PR upstream should resolve it https://github.com/prometheus/exporter-toolkit/pull/127
It can be locally fixed as well by specifying the new parameters.

@Lusitaniae, We opened a PR https://github.com/Lusitaniae/apache_exporter/pull/149 feel free to add changes. We will still need a follow up PR to improve tests.

The real issue is that the newer exporter-toolkit version is not really being used in an optimal way.
A kingpinflag.AddFlags helper function adds the web.listen-address, web.config.file and web.systemd-socket (if GOOS = linux), and will populate a web.FlagConfig struct to be passed to web.ListenAndServe.
Admittedly, this would mean breaking / renaming the existing telemetry.address and web.config flags which are explicitly added by apache_exporter.

Re released 0.13.0 if you'd like to try it @swiffer @corporate-gadfly
Any suggestions for the proper fix @dswarbrick ?

@Lusitaniae thanks - for now working fine!

@Lusitaniae Take a look at how node_exporter uses it - but as I say, beware that some flag names will change. I can submit a PR if you're ok with that.

@dswarbrick A PR would be great. Thanks!

Released 0.13.1 with https://github.com/Lusitaniae/apache_exporter/pull/149
if anyone would like to test would be appreciated

We tested and released this to prod. It's working. 🎉


ISPN-8936 Parameterized Branding

JavaDoc
Documentation
ZIP Artifacts
CLI/Server banners
Include SCM info in MANIFEST.MF

https://issues.jboss.org/browse/ISPN-8936

Still some chinks to iron out

Closing this for now as I'll be including this in the build automation stuff


squad-list-metrics: list metrics for a build

This script lists all of the metrics (sorted by metric name) for a
given build, with the 'build' suite name.
Signed-off-by: Justin Cook<EMAIL_ADDRESS>

@chaws @roxell review please!

looks good, please add some examples how to use it in the README.md file

LGTM too! An example in README would be nice indeed.


Background image is no more loaded

I have rebased on develop branch and with my last pull request, background no more show up (whereas it's a gif or jpg).
I'm fixing it.

Ok it's not linked to my pull request, one commit ahead I have the same problem.
I'm searching for the regression commit.

@gliechtenstein Here is the problem,
You removed transparent background in this commit: https://github.com/Jasonette/JASONETTE-Android/commit/6c7feb244e9f29d22d55fcf15170da7bc154a1cd#diff-0fc016fcc32589180bd1c088216105edL1440
Is there a good reason to do that?


message_header: Build message_header.css from zulip.css header styles.

This PR introduces a new message_header.css file, with contents shifted over from zulip.css. This prepares as-needed work to make message-oriented CSS better organized.
Screenshots and screen captures:

Before
After (no change)

Merged, thanks @karlstolley!

These elements in the recipient bar probably can move to the new file too:
.always_visible_topic_edit,
.on_hover_topic_read,
.stream_unmuted.on_hover_topic_unmute,
.stream_muted.on_hover_topic_mute {
    opacity: 0.7;

    &:hover {
        cursor: pointer;
        opacity: 1;
    }
}

.on_hover_topic_edit,
.on_hover_topic_unresolve,
.on_hover_topic_resolve,
.stream_unmuted.on_hover_topic_mute,
.stream_muted.on_hover_topic_unmute {
    opacity: 0.2;

    &:hover {
        cursor: pointer;
        opacity: 0.7;
    }
}

Another file I noticed while reviewing that could be an easy extraction is a message_view_header.css to parallel web/src/message_view_header.ts; that's for the center-top section of the app; .message_view_header looks to be ~150LOC.

#29939 and #29940 are up with these suggestions, respectively. Thanks, Tim!


Syslog destination

I would like to have the audit logs and access logs (HTTP/HTTPS access combined) to be sent to my SIEM for graphing and other access.
If I am missing this somewhere, I am sorry.
I am using the docker version, with unraid.
I should also note, you have a made a great item. Thank you.

Hi,
To achieve this you have to edit the Host, go to the "Advanced" tab and in "Custom Nginx Configuration" add the following configuration:
access_log syslog:server=<IP_ADDRESS>:514,tag=nginx,severity=info combined;
error_log syslog:server=<IP_ADDRESS>:514,tag=nginx,severity=debug;

Hi,
To achieve this you have to edit the Host, go to the "Advanced" tab and in "Custom Nginx Configuration" add the following configuration:
access_log syslog:server=<IP_ADDRESS>:514,tag=nginx,severity=info combined;
error_log syslog:server=<IP_ADDRESS>:514,tag=nginx,severity=debug;

The good thing would be to be able to configure it in some general nginx configuration so you don't have to add it on each host.
More Info:
https://docs.nginx.com/nginx/admin-guide/monitoring/logging/

So I never noticed that you replied to this, but I want to make sure I understand. Do I have to do this for each host that I created? Or is it a universal configuration?

Hi @odin-bb,
You have 2 options:
Option 1: Add it on all vhost.
Option 2: Add it to a custom file (this is the one I use).
If in any vhost you want to use another configuration such as another server, you only have to add said configuration in "Advanced" of the vhost.
With the following example we configure in all the vhosts that "error_log" only sends the error messages to the syslog00 server, and that the debug.domain.local vhost sends all the messages to the syslog01 server.
vi %path docker%/data/nginx/custom/server_proxy.conf
error_log syslog:server=syslog00.domain.local:514,tag=nginx,severity=error;
access_log syslog:server=syslog00.domain.local:514,tag=nginx,severity=info combined;

Advanced config vhost "debug.domain.local":
error_log syslog:server=syslog01.domain.local:514,tag=nginx,severity=debug;