PGPainless.getPolicy().setSignatureHashAlgorithmPolicy not available anymore

Describe the bug
We integrate with an old system that uses SHA-1 still, before version 1.7 we could overwrite the policy like this:
PGPainless.getPolicy().setSignatureHashAlgorithmPolicy(
    Policy.HashAlgorithmPolicy.static2022RevocationSignatureHashAlgorithmPolicy()
);

Version

pgpainless-core:1.7.1
pgpainless-sop:1.7.1

To Reproduce
Bump from v1.6 to v1.7 and the setter is not available anymore. Was never deprecated or anything with a reference for how to solve it in another way. We tried to replace it with:
PGPainless.getPolicy().setCertificationSignatureHashAlgorithmPolicy(
    Policy.HashAlgorithmPolicy.static2022RevocationSignatureHashAlgorithmPolicy()
);
PGPainless.getPolicy().setDataSignatureHashAlgorithmPolicy(
    Policy.HashAlgorithmPolicy.static2022RevocationSignatureHashAlgorithmPolicy()
);

But it can't verify the same signature that worked with the earlier version, we get the following error:
sop.exception.SOPGPException$NoSignature: No verifiable signature found.

	at org.pgpainless.sop.InlineVerifyImpl$data$1.writeTo(InlineVerifyImpl.kt:51)
	at org.pgpainless.sop.InlineVerifyImpl$data$1.writeTo(InlineVerifyImpl.kt:31)
	at sop.ReadyWithResult.toByteArrayAndResult(ReadyWithResult.kt:38)

Expected behavior
We needs to be able to override the hash algorithm on the policy to support SHA-1 signatures.

You are right, there hasn't been any guidance on how to deal with that sudden API change, sorry about that!
Basically, signatureHashAlgorithmPolicy has been split up into certificationSignatureHashAlgorithmPolicy for all signatures on keys (self-signatures, binding signatures...) and into dataSignatureHashAlgorithmPolicy for signatures over data (binary, text).
In the same commit (de9a16125218d8404aaa8e44563026b7ad407499) I also introduced a smartCertificationSignatureHashAlgorithmPolicy() factory method, which returns a hash algorithm policy that takes into account not only the hash algorithm itself, but also the date on which the signature was generated. That way, SHA-1 would for example be accepted, if the signature was generated before 2023-02-01 00:00:00 UTC, which deals with a lot of legacy keys out there. Those keys would keep "functioning", although new signatures created with SHA-1 would still be rejected (SHA-1 really should not be used anymore!).
Your attempt of adapting to the API change looks solid in my eyes. The static2022RevocationSignatureHashAlgorithmPolicy allows SHA1, regardless of signature creation time, so it should work.
In order to dig deeper into the issue I need some more information:

In what places is SHA-1 being used? Only the data signature itself, or also on self-signatures of the signing key?
When were those keys and signatures (self-signatures on the key + data signature you are trying to verify) being created?

Ideally, could you provide a test key of similar form which can be used to reproduce the issue?
If not, could you provide a (pseudonymized if you feel more comfortable with that) dump of the public key structure (e.g. by passing the public key through Sequoia-PGP's packet dumper locally cat public-key.asc | sq toolbox packet dump or through the web app https://dump.sequoia-pgp.org, redacting sensitive information like user-ids values, key-ids/fingerprints manually?
Alternatively, could you replace the SOP verification logic with PGPainless itself, to see what the debug output of PGPainless is?
// Adjust policy
PGPainless.getPolicy().setCertificationSignatureHashAlgorithmPolicy(
    Policy.HashAlgorithmPolicy.static2022RevocationSignatureHashAlgorithmPolicy()
);
PGPainless.getPolicy().setDataSignatureHashAlgorithmPolicy(
    Policy.HashAlgorithmPolicy.static2022RevocationSignatureHashAlgorithmPolicy()
);

ConsumerOptions options = ConsumerOptions.get().addVerificationCert(publicKey);
// e.g. PGPPublicKeyRing publicKey = PGPainless.readKeyRing().publicKeyRing(certBytes);

InputStream signedDataIn = ...; // the signed message
ByteArrayOutputStream bOut = new ByteArrayOutputStream(); // the message content will end up here

DecryptionStream verifier = PGPainless.decryptAndOrVerify().onInputStream(signedDataIn).withOptions(options);
Streams.pipeAll(verifier, bOut);
verifier.close();

MessageMetadata metadata = verifier.getMetadata();
assertTrue(metadata.isVerifiedSigned());

I did some testing, generating a key with only SHA1 signatures, and I'm not able to reproduce this issue.
Therefore my guess would be that something else is wrong with the key and 1.7's stricter checks are hitting on that.
E.g. 1.7 now rejects signatures made by primary keys that do not carry the SIGN_DATA keyflag on its self-signature.

Thanks for looking into this. I will try the things you posted above and see how it plays out.
This is our full usage of painless:
@Component
public class PgpService {

    private final SOP sop;

    public PgpService() {
        PGPainless.getPolicy().setCertificationSignatureHashAlgorithmPolicy(
            Policy.HashAlgorithmPolicy.static2022RevocationSignatureHashAlgorithmPolicy()
        );
        PGPainless.getPolicy().setDataSignatureHashAlgorithmPolicy(
            Policy.HashAlgorithmPolicy.static2022RevocationSignatureHashAlgorithmPolicy()
        );

        this.sop = new SOPImpl();
    }

    @SneakyThrows
    public byte[] verify(byte[] payload, String publicKey) {
        var data = sop.inlineVerify()
            .cert(publicKey.getBytes(StandardCharsets.UTF_8))
            .data(payload);
        return data.toByteArrayAndResult().getBytes();
    }

    @SneakyThrows
    public byte[] sign(byte[] payload, String privateKey, String passphrase) {
        return sop.inlineSign()
            .mode(InlineSignAs.text) // or 'Binary'
            .key(privateKey.getBytes(StandardCharsets.UTF_8))
            .withKeyPassword(passphrase)
            .data(payload)
            .getBytes();
    }
}

And we have a few IT tests which fails on the verify logic with the exception above. The sign test works tho. I'll see if I can fix some testdata and keys which I can share to reproduce the error.
The actual data and keys are from our third party and we have tried to get them to improve their security  and not use SHA-1 without success 😅

E.g. 1.7 now rejects signatures made by primary keys that do not carry the SIGN_DATA keyflag on its self-signature.

How can I verify if this is the issue?


HashSet.remove not working correctly for non-present values

The transpiler outputs following code for the HashSet.remove function:
 /* remove */ (function (a) { return a.splice(a.indexOf(sy), 1); })(canditates);
When trying to remove a non-present value it will result in the array being spliced at index -1.
The resulting operation will remove the last entry from the array.
In java the HashSet stays unmodified when trying to remove non-present values.
A simple workaround on the java side is of course checking for existence of values before attempted removal.

That's a bad one. But actually it's not a J4TS issue. If you were using J4TS, you would have the HashSet class at runtime and the generated code would be candidates.remove(sy). Here since JSweet substitutes the remove invocation with pure JavaScript code, it means that you don't have the J4TS runtime in your classpath (you should check this because if you have it, then it is another type of issue that we also want to fix).
So, I am moving this issue to JSweet: https://github.com/cincheo/jsweet/issues/373. Thanks.

You are right, I don't have J4TS in my classpath.


Feature/table implementation

Hi, I've added the store for getting data for the device status and the tooltip for it in the patient cohort table.
I have a few issues and questions:

There are duplicate sources for subjects so it is difficult to get the entities in the store to have the id:entity format.
Currently, it's just getting the status data. Should I get more data such as the data for the data types and compliance chart (in the table)? Should I create an interface for the data taken from the API for the table?
Currently, I am dispatching an action for each source of each subject (in the device status component). Will I have to dispatch a different action for other data (in a separate component) or merge them into one dispatch the action from the parent subject table component for each patient instead?
I've added some tests but they're failing. It says I should consider moving the components to a higher module, should I create modules for the device tooltip components I created?

Let me know what I should change or if I did things incorrectly.
Thank you!


Angular-Velocity and mobile performances

Hello everybody,
I'm planning to use angular-velocity on a mobile version of a website and I was wondering if any of you already used it for this kind of project and if the animations are as fluid as on desktop.
Thank you by advance.

Angular-Velocity makes use of the VelocityJS framework, which improves performance of mobile platform animations over using JQuery or standard CSS3 transitions, and is the best animation library in those terms..

Thank you for your answer!


[BitSail][Connector]add oss source connector

Prepare a Pull Request

Title: [BitSail][Connector]add oss source connector
https://github.com/bytedance/bitsail/issues/369

Motivation
add new source connector
Documentation

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

The resource folder and associated files are missing

OssConf and HadoopConf can be merged into one file, just OssConf

The resource folder and associated files are missing
resource files already added  and OssConf and HadoopConf was merged


Implement User Profile Section

Description
Implement a user profile section in the second theme. So that user details can be showed in the web site.
Reference: https://www.figma.com/file/rX1jl4pa04VD9itnzneeih/Webiu?node-id=0%3A2
Changes proposed in the pull request

Implement user profile component
Implement the story for the component
Create documentation for the component

Screenshots (In case of UI changes):

Types of changes

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] All new and existing tests have passed and it does not give any unexpected error for the same.

Steps to test

npm i
npm run storybook (story will be displayed in CustomerService/ProfileDetails )

Resolves https://github.com/scorelab/Webiu/issues/275

@charithccmc @dinithminura can you review the PR please :)


HybridSearch yields no results when the Skip parameter exceeds 1010.

Description:
I have encountered a bug in Azure Hybrid Search where the index no longer returns results when specific parameter values are used together. When the Skip parameter is set to at least 1010, the Top parameter is set to 10, and K from vector search is also set to 10, no search results are returned back, even if I can see that, the total count is 14053.
The total number of items in this index is ~15k.
Note: I'm using the latest API version (2023-10-01-Preview)
Steps to Reproduce:
Configure an Azure Hybrid Search instance.
Perform a search operation with the following parameters:
Skip parameter: 1010 or greater
Top parameter: 10
K parameter for vector search: 10
Observe that no search results are returned, and the system fails to provide any relevant data.
Expected Behavior:
The system should return search results based on the provided parameters, even when the Skip, Top, and K parameters are set as described.
Actual Behavior:
No search results are returned.
Attachement:

Hi @gugema, thanks for flagging this issue. We are actively working on this and will roll out a fix soon!


Support long projects name in Issue sidebar

Description
I didn't check the others in sidebar. It is necessary to check all of them.

Gitea Version
latest
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
No response
How are you running Gitea?
build
Database
None

It looks like it only happens with /

@yardenshoham

I'm not sure whether this string can be splitted.
It is tested in version https://github.com/go-gitea/gitea/commit/e7ef94e00f1319e5fb876f47fee28728bd671f07

word-break, or overflow hidden


Fixed #25019 -- Added UUID support in DjangoJSONEncoder

Backport of https://code.djangoproject.com/ticket/25019 to the 1.8.x branch as per discussion with @freakboy3742 in mailing list.

Backport done in ebcfedb0e54.


Typo in flow diagram

peer0.org1 and peer0.org2 are duplicated. On the second column they should be peer1.org, peer1.org2

@marcelloromani Thanks - wil change this

solved. thanks.


Add autosync(and --sync/--no-sync ) to rye run

These have already been added for rye add/rye remove when using uv as a backend.
It's really useful to be able to install all the dependencies when running python via rye run python or rye run ipython/an app/etc. And thanks to uv it will be super fast.
Basically I'd like for it to be possible for everyone working on the project to git pull/git checkout $branch and then
rye run python script.py/ rye run uvicorn main:app --reload/etc and have everything install from the latest/appropriate checked in lock files(probably no need to regenerate the lock file cause you're not modifying them with the run command).
I'm also not quite certain how the python shim at $HOME/.rye/shims/python works. It's not the python binary right? I think it calls
shims.rs
execute_shim/get_shim_target right? If so it would be even nicer to add autosync to the shim so that before running a script "directly"/ as python script.py you'd still get the automatically sync-ed environment.
I maintain the python "environment" for our team at work and this would be really helpful.

Possibly it could be a second autosync_run setting if people prefer to have it for add/remove but not run (or vice versa).

It's worth mentioning that rye test already integrates autosync, but it does regenerate the lock, which is not the desirable behaviour.

it does regenerate the lock, which is not the desirable behaviour

After some research, I found that autosync invokes sync with update_all == false, which prompts both pip-sync and uv to avoid updating the locked dependencies.

@mitsuhiko @charliermarsh Let me know if you want me to rebase my PR(s) so we can close this?


Vector implementation refactoring

Vector API more easy with basics management of a resizable array (only : size, get, set, resize)

As explain in issue #2, impossible now to set an element over size. Set is for update, use add element for adding an element (inside or at the end)

Refacto linked_list and queue > like vector approach

Purpose of this commit :
https://github.com/epatrizio/cds/commit/c2b519c833089096134d324908fb3db955f0009e
Add a specific test for custom struct type vector (How init the structure and associated functions)
Important : for this, i had to move vector functions macros from vector.c to vector.h
I don't know if it's a good way : concept of abstraction and encapsulation ... : view issue #4


[path_provider] path_provider_android 2.0.12 throws MissingPluginException

Steps to Reproduce

Run flutter clean && flutter pub get && flutter run
In app, invoke await getTemporaryDirectory()
Observe the following error

E/flutter (32553): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: MissingPluginException(No implementation found for method getTemporaryDirectory on channel plugins.flutter.io/path_provider)
E/flutter (32553): #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:175:7)
E/flutter (32553): <asynchronous suspension>
E/flutter (32553): #1      getTemporaryDirectory (package:path_provider/path_provider.dart:55:24)
E/flutter (32553): <asynchronous suspension>

Revert path_provider_android in pubspec.lock to 2.0.11
Run flutter clean && flutter pub get && flutter run
In app, invoke await getTemporaryDirectory()
Observe the app works normally.

Expected results:
The call should succeed and return the director path.
Actual results:
Plugin throws error as shown above. Given the plugin changelog mentions changing platform channel implementation, it seems like there may be a mismatch between the plugin and platform implementation.

Code sample

Logs

path_provider:
    dependency: "direct main"
    description:
      name: path_provider
      url: "https://pub.dartlang.org"
    source: hosted
    version: "2.0.9"
path_provider_android:
    dependency: transitive
    description:
      name: path_provider_android
      url: "https://pub.dartlang.org"
    source: hosted
    version: "2.0.12"

[✓] Flutter (Channel stable, 2.10.4, on macOS 11.6 20G165 darwin-x64, locale en-CA)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    ✗ Android SDK file not found: /....Android/sdk/platforms/android-32/android.jar.

The Dart plugin registration hasn't run. Is this in an isolate?

@zmoshansky
Please check above comment and provide your feedback on it so that we can properly address this issue.

Nope. This code is being run on the main isolate, after
widget.ensureInitialized(). When I revert to the previous version of the
path_provider_android 2.0.11, everything works fine without any changes.
On Tue., Mar. 29, 2022, 01:49 darshankawar, @.***>
wrote:

@zmoshansky https://github.com/zmoshansky
Please check above comment and provide your feedback on it so that we can
properly address this issue.
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/100844#issuecomment-1081602349,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYISB54TOIYC7KTLN7UNS3VCK72ZANCNFSM5RYG3JLQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

When I revert to the previous version of the path_provider_android 2.0.11, everything works fine without any changes.

That's not surprising, since 2.0.11 will work even if the Dart plugin initialization doesn't run. But it should be run automatically if this isn't an isolate.

Is there anything unusual about this project's setup? E.g., are you setting up your engine manually, using a non-standard entry point, using add-to-app, etc.?
Do you have a public project that reproduces this?
What is the contents of .dart_tool/flutter_build/dart_plugin_registrant.dart after building the configuration that's not working?

Yes, I make use of multiple flutter engines, I've followed the example for multiple entry points using multiple flutter engines. See here for more information: https://github.com/flutter/flutter/issues/91841#issuecomment-1062502564
I don't have public code, but the code below contains the majority of the code involved with setup.
See Flutter code  for info about: .dart_tool/flutter_build/dart_plugin_registrant.dart

Android Code

class App : Application() {
    lateinit var engines: FlutterEngineGroup

    override fun onCreate() {
        super.onCreate()
        engines = FlutterEngineGroup(this)
    }
}

class EngineBindings(activity: Activity, entrypoint: String) {
    // val channel: MethodChannel
    val engine: FlutterEngine
    // val delegate: EngineBindingsDelegate

    init {
        val app = activity.applicationContext as App
        // This has to be lazy to avoid creation before the FlutterEngineGroup.
        val dartEntrypoint =
            DartExecutor.DartEntrypoint(
                FlutterInjector.instance().flutterLoader().findAppBundlePath(), "package:....../main.dart", entrypoint
            )
        engine = app.engines.createAndRunEngine(activity, dartEntrypoint)
        // this.delegate = delegate
        // channel = MethodChannel(engine.dartExecutor.binaryMessenger, "multiple-flutters")
    }

abstract class FlutterEngineActivity : FlutterActivity() {
    protected abstract val engineBindings: EngineBindings;

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        engineBindings.attach()
    }

    override fun onDestroy() {
        super.onDestroy()
        engineBindings.detach()
    }

    override fun provideFlutterEngine(context: Context): FlutterEngine? {
        return engineBindings.engine
    }
}

class MainActivity : FlutterEngineActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // Omitted custom channel binding
    }

    override val engineBindings: EngineBindings by lazy {
        EngineBindings(activity = this, entrypoint = "main")
    }
}

Flutter Code

lib/generated_plugin_registrant.dart
Identical in both v2.0.11 and  v2.0.12
// ignore: public_member_api_docs
void registerPlugins(Registrar registrar) {
  FirebaseAnalyticsWeb.registerWith(registrar);
  FirebaseCoreWeb.registerWith(registrar);
  FirebasePerformanceWeb.registerWith(registrar);
  ImagePickerPlugin.registerWith(registrar);
  PackageInfoPlugin.registerWith(registrar);
  registrar.registerMessageHandler();
}

There is no .dart_tool/flutter_build/dart_plugin_registrant.dart.
Here is the 2.0.11 build .dart_tool/flutter_build/generated_main.dart

@pragma('vm:entry-point')
class _PluginRegistrant {

  @pragma('vm:entry-point')
  static void register() {
    if (Platform.isAndroid) {
      try {
        PathProviderAndroid.registerWith();
      } catch (err) {
        print(
          '`path_provider_android` threw an error: $err. '
          'The app may not function as expected until you remove this plugin from pubspec.yaml'
        );
        rethrow;
      }

    } else if (Platform.isIOS) {
      try {
        PathProviderIOS.registerWith();
      } catch (err) {
        print(
          '`path_provider_ios` threw an error: $err. '
          'The app may not function as expected until you remove this plugin from pubspec.yaml'
        );
        rethrow;
      }

    } else if (Platform.isLinux) {
      try {
        PathProviderLinux.registerWith();
      } catch (err) {
        print(
          '`path_provider_linux` threw an error: $err. '
          'The app may not function as expected until you remove this plugin from pubspec.yaml'
        );
        rethrow;
      }

    } else if (Platform.isMacOS) {
      try {
        PathProviderMacOS.registerWith();
      } catch (err) {
        print(
          '`path_provider_macos` threw an error: $err. '
          'The app may not function as expected until you remove this plugin from pubspec.yaml'
        );
        rethrow;
      }

    } else if (Platform.isWindows) {
      try {
        PathProviderWindows.registerWith();
      } catch (err) {
        print(
          '`path_provider_windows` threw an error: $err. '
          'The app may not function as expected until you remove this plugin from pubspec.yaml'
        );
        rethrow;
      }

    }
  }

}

typedef _UnaryFunction = dynamic Function(List<String> args);
typedef _NullaryFunction = dynamic Function();

void main(List<String> args) {
  if (entrypoint.main is _UnaryFunction) {
    (entrypoint.main as _UnaryFunction)(args);
  } else {
    (entrypoint.main as _NullaryFunction)();
  }
}

lib/main.dart
@pragma('vm:entry-point')
Future<void> display() async {
  await _initialize(const DisplayPage());
}

@pragma('vm:entry-point')
Future<void> main() async {
  await _initialize(const Bar());
}

Future<void> _initialize(Widget home) async {
  WidgetsFlutterBinding.ensureInitialized();
  // Workaround for crashing when displaying; This would be a second android activity with a different flutter engine.
  if (home is DisplayPage) {
    sleep(const Duration(seconds: 2));
  } else {
    initGoogleMobileAds();
  }

  // This is the call that invokes path_provider
  var storage = await initStorage();
  debugPrint('${home.toString()} storage initialized');

  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  firebaseCubitSingleton.setInitialized();

  HydratedBlocOverrides.runZoned(
    () => runApp(App(
      home: home,
    )),
    storage: storage,
  );
}

storage.dart
import 'package:flutter/foundation.dart' show kIsWeb, debugPrint;

import 'package:hydrated_bloc/hydrated_bloc.dart';
import 'package:path_provider/path_provider.dart';

Future<HydratedStorage> initStorage() async {
  debugPrint('[${DateTime.now()}] bloc storage: initializing');

  return HydratedStorage.build(
    storageDirectory: kIsWeb
        ? HydratedStorage.webStorageDirectory
        : await getTemporaryDirectory(),
  );
}

i am having same issue while using audio player in background

@gaaclarke What's the expected behavior for Dart plugin registration with custom engine instances? I'm not clear if they should behave like isolates (and need manual calls) or if the main isolate in each engine should run them automatically. The former seems like the preferred behavior, but I'm not sure if that's actually the case.

dart_isolate.cc runs the dart plugin registrant when the root isolate is started.  This should be executed for every instance of FlutterEngine that is created.  That would be the expected behavior.
The only case where you shouldn't get the dart plugin registrant is when you spawn an isolate from inside of dart, then you have to manually call call it with DartPluginRegistrant.ensureInitialized().
@zmoshansky Minimal reproduction code would be very helpful to figuring out what is happening.  You might try the master channel since some of the logic for the registrant has changed since stable.

It looks like the changes on master have fixed the issue with plugin registration not running properly in each FlutterEngine.

It looks like the changes on master have fixed the issue with plugin registration not running properly in each FlutterEngine.

Nice, glad to hear it.  🖖


运行 docker-compose up -d 报错：ERROR: The Compose file './docker-compose.yml' is invalid because: Unsupported config option for services: 'llamafactory'

Reminder

[X] I have read the README and searched the existing issues.

System Info

llamafactory version: 0.8.3.dev0
Platform: Linux-5.4.0-155-generic-x86_64-with-glibc2.35
Python version: 3.10.0
PyTorch version: 2.3.0+cu121 (GPU)
Transformers version: 4.41.2
Datasets version: 2.20.0
Accelerate version: 0.32.1
PEFT version: 0.11.1
TRL version: 0.9.4
GPU type: NVIDIA GeForce RTX 4090
DeepSpeed version: 0.14.0
vLLM version: 0.4.3

Reproduction
运行命令：docker-compose up -d
程序报错：ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services: 'llamafactory'
Expected behavior
正常运行
Others
No response

升级 docker compose


Training with fc and multi-gpu is much slower than single gpu

Note: Providing complete information in the most concise form is the best way to get help. This issue template serves as the checklist for essential information to most of the technical issues and bug reports. For non-technical issues and feature requests, feel free to present the information in what you believe is the best form.
For Q & A and discussion, please start a discussion thread at https://discuss.mxnet.io
Description
trainning with multi-gpu is much slower than single gpu
Environment info (Required)
Ubuntu16.04
python2.7
latest mxnet
I use symbol not gloun
8 * V100
Details:
Actually I need train fm for Recommender Systems，and I don't follow the sparse example in mxnet
I use the embedding layer to do this
But I find if I use one V100 with batch_size=8192  The speed is 40w+ sample
and if I change to use 8*V100 with batch_size=8192 which means every V100 got batch_size=1024 then I get 1.8W+sample per second
It shows with 8 * V100 is much slower than one V100
I don't think the limit is data io because I can get 40w+ sample per second with one V100
Also the there is a gpu whose used memory is larger than other 7 gpu's used memory
And its utilize is also higher
I think it's because my kvstore is set to device and this gpu need to collect gradient and update
I  also use 40 fc layers to fit data generated by y=ax+b
2-gpu is also slower than 1-gpu with the same batch_size
So what's the reason about this？I would appreciate it if anyone can give any advice!
Below is my symbol
    self.feat_index = mx.symbol.Variable(name="feat_index") #batch * F
    self.feat_value = mx.symbol.Variable(name="feat_value") #batch * F
    self.label = mx.symbol.Variable(name="label")

    self.weights = self._initialize_weights()

    self.embeddings = mx.symbol.Embedding(self.feat_index,
                                          input_dim = self.feature_size,
                                          output_dim = self.embedding_size, name="embed1")

    feat_value = mx.symbol.reshape(self.feat_value, [-1, self.field_size, 1]) #batch * F * 1
    self.embeddings = mx.symbol.broadcast_mul(self.embeddings, feat_value)

    # ---------- first order term ----------

    self.y_first_order = mx.symbol.Embedding(self.feat_index,
                                             input_dim = self.feature_size,
                                             output_dim = 1, name="embed2")
    self.y_first_order = mx.symbol.sum(mx.symbol.elemwise_mul(self.y_first_order, feat_value), 2)  # None * F

    # ---------- second order term ---------------

    self.summed_features_emb = mx.symbol.sum(self.embeddings, 1)  # None * K
    self.summed_features_emb_square = mx.symbol.square(self.summed_features_emb)  # None * K

    # square_sum part
    self.squared_features_emb = mx.symbol.square(self.embeddings)
    self.squared_sum_features_emb = mx.symbol.sum(self.squared_features_emb, 1)  # None * K

    self.y_second_order = 0.5 * mx.symbol.elemwise_sub(self.summed_features_emb_square,
                                                       self.squared_sum_features_emb)  # None * K

    self.concat_input = mx.symbol.concat(self.y_first_order, self.y_second_order, dim=1)
    self.out = mx.symbol.sum(mx.symbol.broadcast_add(mx.symbol.dot(self.concat_input,
                                                                       self.weights["concat_projection"]),
                                                         self.weights["concat_bias"]),1)

    self.model = mx.symbol.LogisticRegressionOutput(self.out, self.label)

Thanks for submitting the issue
@mxnet-label-bot[Performance, Question]

Did you scale the batch size linearly with the number of GPUs?

@eric-haibin-lin
Yes，
1 V100 batch 8192 40w+ samples/s
8 V100 batch 8192  1.8w samples/s
8 V100 batch 65536 8w+ samples/s

Hi @liu6381810,
Seems like there's an overhead to using multiple GPUs, and one possible source is the transfer of gradients between GPUs. Are you using an AWS EC2 p3.16xlarge instance for this, or do you have your own server here? Check nvidia-smi topo --matrix to confirm that you have fast GPU to GPU communications. You could also take a look at gradient compression to reduce the amount of data being transferred: see this tutorial for more information.

@liu6381810 Did the previous suggestions help you in this case ?

@liu6381810 - Waiting for you updates.


Tutorial: cant load file

i am using conda and installed all package from conda per the instructions.   I am using windows 10 and when I run 'prep.py'
I get this error.   from other bugs on Stack, I saw that it might be an issue with skil-learn or pillow.
IS there any way to fix this?
Traceback (most recent call last):
File "prep.py", line 89, in
create_weather()
File "prep.py", line 69, in create_weather
from scipy.misc import imresize
ImportError: cannot import name 'imresize'

Hi, also a newbie here.
I ran into the same error and found this page. I have fixed it in my local copy of the code. Is it ok if I make the pull request, or is that considered bad etiquette since effath offered to make it?

Alls fair in love, war, and contributing to the common good
On Mon, Feb 12, 2018 at 8:28 AM, N Hameleers<EMAIL_ADDRESS>wrote:

Hi, also a newbie here.
I ran into the same error and found this page. I have fixed it in my local
copy of the code. Is it ok if I make the pull request, or is that
considered bad etiquette since effath offered to make it?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/3095#issuecomment-364922176, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AASszLQSNQD6AFnbAz0Fte7Kemn0lYcNks5tUDyDgaJpZM4Rqi7g
.


Claim list by channel sorting with new releaseTime

The Issue
Claim list by channel grabs data by transaction height from lbryum server. With the releaseTime attribute, this sorting will need to be adjusted. On the desktop size, we may also want to allow sorting by latest update vs release time, so we should consider an additional parameter when calling claim list by channel.
System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

Internal Use
Acceptance Criteria

Definition of Done

[ ]  Tested against acceptance criteria
[ ] Tested against the assumptions of user story
[ ] The project builds without errors
[ ] Unit tests are written and passing
[ ] Tests on devices/browsers listed in the issue have passed
[ ] QA performed & issues resolved
[ ] Refactoring completed
[ ] Any configuration or build changes documented
[ ] Documentation updated
[ ] Peer Code Review performed

Closing, will be tracked in https://github.com/lbryio/lbry/issues/2072


Discriminate generics inside lists

Still WIP, should fix #3432, but right now it only fixes
the union part 😊

Apollo Federation Subgraph Compatibility Results

Federation 1 Support
Federation 2 Support

_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🔲

@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢

Learn more:

Apollo Federation Subgraph Specification
Compatibility Tests

Random thought we might want to add support for something like this:
return BlockRowType[str](total=3, items=[]),

because when we have 0 items when don't know which type we should use, so for now we fallback to the first

/pre-release

Pre-release
:wave:
Releasing commit [cddafaea921ef41ca03207080679ed9487712cc5] to PyPi as pre-release! :package:

Pre-release
:wave:
Pre-release 0.228.0.dev.1713643365 [cddafaea921ef41ca03207080679ed9487712cc5] has been released on PyPi! :rocket:
You can try it by doing:
poetry add strawberry-graphql==0.228.0.dev.1713643365

Thanks for adding the RELEASE.md file!

Here's a preview of the changelog:

This release improves our support for generic types, now using the same the same
generic multiple times with a list inside an interface or union is supported,
for example the following will work:
import strawberry

@strawberry.type
class BlockRowType[T]:
    items: list[T]

@strawberry.type
class Query:
    @strawberry.field
    def blocks(self) -> list[BlockRowType[str] | BlockRowType[int]]:
        return [
            BlockRowType(id=strawberry.ID("3"), items=["a", "b", "c"]),
            BlockRowType(id=strawberry.ID("1"), items=[1, 2, 3, 4]),
        ]

schema = strawberry.Schema(query=Query)

Here's the tweet text:
🆕 Release (next) is out! Thanks to @patrick91 for the PR 👏

Get it here 👉 https://strawberry.rocks/release/(next)

@Speedy1991 let me know if you have time to try this!

I'm not 100% sure that my code is correct, but this example fails
https://play.strawberry.rocks/?gist=d7d4da4f8b8fe245e645736ba5708b83

Random thought we might want to add support for something like this:
return BlockRowType[str](total=3, items=[]),

Could this lead to problems on the client site? E.g. Apollo uses cache normalization (not sure about relay - didn't used it for years).  I guess this should be ok as long as the return type matches the possible types for this field - just to make sure :)


kl divergence loss of GumbelQuantize

Hi Andrej!
I have a hard time understanding the loss of kl divergence to the prior. Where does it come from? Does it mean we assume the prior is a uniform distribution with prob = 1/self.n_embed ?
https://github.com/karpathy/deep-vector-quantization/blob/53ef953d1d853f776d4455432ce3ca05e30805ae/model.py#L99
Thanks for any hints!

Hi, yes the natural prior to use over a categorical is simply uniform. I skipped a step or two on this line but basically we are evaluating the second term of the ELBO in the VAE objective (the first is just the reconstruction), which is just the KL divergence between the posterior (qy) and the prior. However, because the prior is just a uniform with probability 1/self.n_embed, dividing by it in the KL divergence equation is simply equal to multiplying by self.n_embed. I'd search for tutorials on VAE, ELBO, and refer to the KL divergence formula on Wikipedia.


Update kerberos-authentication-portal.md

Is the placement of the Bastion in the same vnet still needed? From my testing i can confirm that a vnet peered to the vnet with bastion is also fine.
Maybee rephrasing to DC must be located in vnet, connected Bation vNet

@cherylmc
Can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@cherylmc
Can you review the proposed changes and resolve the merge conflict?
IMPORTANT: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.


API Access

Please provide API access for SynthID.
Ease of implementation: Providing access via API facilitates the integration of the technology into various systems and platforms, making it accessible to a wider audience.

Hi @EliasPereirah!
This repo is a static reference implementation of SynthID Text to enable reproducibility of the research paper published in Nature by the community. It is not meant for production use or consumption via APIs.
For production use with open weights models, please look at the APIs available in Hugging Face Transformers staring in v4.46.0. See our blog post and Space for more on how to use this implementation.
For production use Google's proprietary models, please look at Google Cloud's offerings, which also support multi-modal outputs such as images.


Invalid date on certificate display?

This may be our fault with ProofMode and cert generation, but trying to figure out why your extension shows "Invalid Date" under the certificate here. Can you point me to the code that is trying to parse the date from the cert? Thanks!

Thanks a lot for reporting this @n8fr8!
Could you please share the image link where you are encountering the "Invalid Date" issue with the certificate? This will help in investigating the problem

Hi @n8fr8,
We identified the issue on another instance caused by an empty date in the signature. To ensure this is not the problem, please verify that the date format in your signature is 2024-04-09T14:54:49+00:00.
This specific format includes the date and time along with the timezone offset. An incorrect or missing date can lead to errors, so this might help resolve the issue.


docs(infra): Add include shortcode and includes directory.

Copied the include shortcode from the k8s website.
Create an includes directory and move files from jekyll includes to new directory.
Update pages to use the new include syntax.
Added deprecation-warning and announcement shortcodes

Should we leave this until the submodule fix?


[ml] Rename MLException back to MlException

Description
This pull request reverts the rename MlException->MLException which was introduced in #27718, in response to an API review which flagged this as a breaking change.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-ml


[3.2.2] New gravity scale on rigid body not taken into account after a duplicate (Works fine in 3.2.1)

Godot version:

3.2.2
OS/device including version:

Windows 10
Issue description:

New gravity scale on RigidBody2D not taken into account. Works fine in 3.2.1
Steps to reproduce:

Duplicate a RigidBody2D which has a gravity scale to 0.
Set gravity scale of the clone to 1
Add the clone to the scene
Clone should fall but it does not

Minimal reproduction project:

BugGodot.zip

Removing the regression label, because it doesn't appear to work in v3.2.1, v3.1.2 or even in v3.0.6 either.

This is not a bug. It's a simple case of the Rigidbody going to sleep when it's not moving, and the sleep state being duplicated too.
Add clone.sleeping = false to the _on_Timer_timeout() function to wake up the cloned body, and it will behave as expected.

Weird in 3.2.1, I do not have to set the sleepping value to false...
https://www.twitch.tv/videos/665837417


chore/version: Version change to v0.9.1

Coverage increased (+0.1%) to 95.665% when pulling 86af6271d7e70c25e49c03bb3bac6118dc74ef0f on bochaco:version-change-to-0.9.1 into 43ce3a26757ece783f710095dd3e507e62069f2d on maidsafe:master.


Problem since new commits ?

Hi,
I just copy paste your example code (hacker_news). Yesterday, it worked. Today with the new sources, it doesn't work anymore :(
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x40 pc=0x45cdb6]

goroutine 1 [running]:
panic(0x65db60, 0xc42000c190)
        /opt/go/src/runtime/panic.go:500 +0x1a1
github.com/wspl/creeper.(*Node).Value(0x0, 0x0, 0xc42001acd0, 0x0, 0xc4200340b8)
        /home/ubuntu/workspace/src/github.com/wspl/creeper/node.go:118 +0x26
github.com/wspl/creeper.(*Creeper).Each(0xc42001acd0, 0x6cc428)
        /home/ubuntu/workspace/src/github.com/wspl/creeper/creeper.go:74 +0x8b
main.main()
        /home/ubuntu/workspace/main.go:12 +0x73
exit status 2

(A simple println alone works :) )

It is a bug caused by new feature primary key. Now I fixed it.
Thanks for your report.


Add version bump script to make releases easier

/kind feature
I added a placeholder here to implement make bump-version that will be part of the release process: https://github.com/kserve/kserve/blob/master/Makefile#L193

/assign @spolti


fluid.kdtree~ help file indicates wrong type of analysis

The text in the file says that the plot is spectral centroid and loudness, but it seems to me like it's the output of a dimensionality reduction algorithm probably UMAP, so I think the text should be changed to reflect that.

Good catch. This is because the text was grandfathered in from a time where it actually was that analysis but is, as you suspect, DR analysis.

And can you have some pointsizescale mercy on this humungous dots.

😆

Solved in 764fea3 and 1b8e1da


Avoid caching a component because of a prop

So, imagine I've a component that changes his behaviour for logged users. I think that's not worth it to cache that component as it will literally fill the cache with components that are not used as some general ones. Is there any way to avoid caching by a prop? For example, returning false?
If not, is it something that you consider? Is something that if you get a PR will be glad to merge?
Thanks!

Hi @miduga, if your cacheKey generator function starts returning null for the component for logged users, then this library will avoid caching it.  Please see:
Code: https://github.com/walmartlabs/react-ssr-optimization/blob/master/lib/index.js#L159
Test: https://github.com/walmartlabs/react-ssr-optimization/blob/master/test/spec/index.spec.js#L126
You can also look at templatization to cache part of the rendered component that doesn't contain any user specific data, please see: https://github.com/walmartlabs/react-ssr-optimization#how-you-use-component-templatization

Awesome! Thanks!


josm: 17428 → 17560

Motivation for this change
Changelog (2021-03-14: Stable release 17560)
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 116500 at c55fc614 run on aarch64-linux 1

1 package built successfully:

josm

1 suggestion:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/applications/misc/josm/default.nix:29:3:
   |
29 |   installPhase =
   |   ^


Missing PAN_BUNDLE_TYPE in file pan-cn-mgmt-configmap.yaml

Describe the bug
Missing PAN_BUNDLE_TYPE in file pan-cn-mgmt-configmap.yaml
Current behavior
Bundle type is missing from template.
Possible solution
Set PAN_BUNDLE_TYPE like so with a CN-X-BND1 or CN-X-BND2 style license:
(look at last line)
apiVersion: v1
kind: ConfigMap
metadata:
  name: pan-mgmt-config
  namespace: kube-system
data:
  PAN_SERVICE_NAME: pan-mgmt-svc
  PAN_MGMT_SECRET: pan-mgmt-secret

  # Panorama settings
  PAN_PANORAMA_IP: "<IP_ADDRESS>6"
  PAN_DEVICE_GROUP: "gke-cluster-device group"
  PAN_TEMPLATE_STACK: "gke-cluster-franklin"
  PAN_CGNAME: "gke-cluster-cg"
  PAN_BUNDLE_TYPE: "CN-X-BND2"

Context
You will have an issue connecting to cluster from Kubernetes plug in in Panorama.
Your Environment
I am using:

Panorama 10.0.7

Kubernetes plug in 1.0.2

CN series images: https://console.cloud.google.com/gcr/images/gcp-gcs-pso/us/paloaltonetworks?authuser=1&project=gcp-gcs-pso

Link to your project: https://github.com/devsecfranklin/gke-cluster/

@devsecfranklin  There is no bundle type from PanOS 10.1.0


RA is now highlighting / analyzing code with async-trait incorrectly...

rust-analyzer version: d6ed146a1 2022-02-22 stable
rustc version: (eg. output of rustc -V) rustc 1.56.0 (09c42c458 2021-10-18)
relevant settings: Default, not modified
A few weeks ago, RA started incorrectly labeling syntax that is wrapped in #[async_trait]
For example, hovering on a trait function:

Hovering on function brackets (which are now the wrong color):

Just doing:
#[async_trait]
pub trait Test {
    async fn test(&mut self) {
        panic!("");
    }
}

this used to work properly

This is kind of expected, due to the attribute re-using the spans for its expansion pervasively.
Here is an example of it using the brace tokens span for unreachable_code https://github.com/dtolnay/async-trait/blob/master/src/expand.rs#L369
Now this is not that ideal here for hover, but I don't think we are able to do much here as resolving these tokens down to the expansion is intentional.

In the interm however, you can tell rust-analyzer to not expand async-trait via the following config:
{
  "rust-analyzer.procMacro.ignored": {
    "async-trait": ["async_trait"]
  }
}

For some reason in VSCode, async_trait does not result in the suppression of "no async trait" errors atm. Is this something people have dealt with in the past? I do not remember this being an issue before.

We now prefer similar kinded tokens on highlighting and hovering. The async token is still shown wrong as async-trait attaches almost the entire expansion to the async keyword except for the one async keyword usage it has. So that's not an issue on our side.


mumble: Fixed hash for version 1.3.2

The hash present in the manifest does not match the correct hash of the mumble-1.3.2.msi file as verified by GPG.
This PR updates the hash to its correct value for that version.

Do not post hash fix PRs. Open issue instead


Support settings for Skaffold default image repo

Skaffold now supports concept of default image repository, the one that is used for all Skaffold deployments regardless of what is configured in skaffold configuration for build stage. This allows users to try out other developer pipelines without having to worry about changing build step and image/repo name.
We can add this to individual run configuration or as a global setting.
See https://github.com/GoogleContainerTools/skaffold/pull/1057 for more details.

+1. was just testing out a non-trivial project and this would be useful. I'm in favor of adding it to the individual run configs


How to merge identified hqSNVs to construct a multiple sequence alignment?

Hi,
I am using the SNVphy pipeline. In the step 4 in its workflow, it has mentioned "Merging the identified hqSNVs to construct a multiple sequence alignment." Please let me know which software or script are used for merging the identified hqSNVs.
Thank you,

Hello @sekhwal, are you running this via Galaxy? This should all be handled by the Galaxy workflow https://snvphyl.readthedocs.io/en/latest/user/usage/#running-the-workflow

Hi Petkau,
Thank you for your reply.
I am using Galaxy with the login credentials<EMAIL_ADDRESS>and admin. Please let me know, the analysis of my 70 samples would be faster using the Galaxy server or using the command line.
I used Galaxy but it stopped once the computer got logged off.

I think, I am getting some issue installing Galaxy. Once I am uploading the data, it shows the following error.

Hello @sekhwal ,
Just to make sure, you don't have a separate Galaxy server running someplace outside of your local computer am I correct? If that's the case, then the command-line (or Galaxy) would both be equivalent since the command-line tool simply runs Galaxy as a Docker container.

Also, once I run the following command, it shows "Bind for <IP_ADDRESS>:48888 failed: port is already allocated."

You likely still have a previous version of Galaxy/Docker running. You can check for it using docker ps.  Please see https://github.com/bgruening/docker-galaxy-stable for more information on Galaxy and Docker.
Unfortunately I don't think there is any way to speed things up if you are running everything on your local computer. Processing 70 genomes is going to take a lot of resources and time. You could try other software (like snippy: https://github.com/tseemann/snippy) too, but even still, the main issue is the amount of data you are trying to process.

Thank you for the information. However, my major concern is that when I
upload the data using Galaxy it fills up my computer space very quickly and
I am not getting how to delete previously uploaded and generated data using
Galaxy docker and which location the uploading data are stored using the
galaxy docker?
Sorry, I am not very familiar with docker. if you could give quick guidance
on how to delete the previous data at Galaxy docker and get the space back
and on which location data is stored, it would be much appreciated.
Manoj
-
On Mon, Jan 31, 2022 at 4:28 PM Aaron Petkau @.***>
wrote:

Hello @sekhwal https://github.com/sekhwal ,
Just to make sure, you don't have a separate Galaxy server running
someplace outside of your local computer am I correct? If that's the case,
then the command-line (or Galaxy) would both be equivalent since the
command-line tool simply runs Galaxy as a Docker container.
Also, once I run the following command, it shows "Bind for <IP_ADDRESS>:48888
failed: port is already allocated."
You likely still have a previous version of Galaxy/Docker running. You can
check for it using docker ps.  Please see
https://github.com/bgruening/docker-galaxy-stable for more information on
Galaxy and Docker.
Unfortunately I don't think there is any way to speed things up if you are
running everything on your local computer. Processing 70 genomes is going
to take a lot of resources and time. You could try other software (like
snippy: https://github.com/tseemann/snippy) too, but even still, the main
issue is the amount of data you are trying to process.
—
Reply to this email directly, view it on GitHub
https://github.com/phac-nml/snvphyl-galaxy/issues/39#issuecomment-1026229198,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGHR4LQU6S3GGCIQK7TNAN3UY35IZANCNFSM5NBZKQGQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>


USB composite device

The device now appears as a composite device on USB. One subdevice is still a CDC device (virtual COM port), the other subdevice is a vendor specific class. This should resolve several issues that were caused by conflicting kernel drivers or OS services.
Add WinUSB descriptors. This will tell Windows >= 8 to automatically load winusb.sys for the ODrive (only for the vendor specific subdevice). This makes it possible to use the ODrive from userspace via WinUSB with zero configuration. The Python tool currently still uses libusb so Zadig is still required.
Add a configuration to enable the ASCII protocol on USB at runtime. This will only enable the ASCII protocol on the USB CDC subdevice, not the vendor specific subdevice so the python tools will still be able to talk to the ODrive.

addresses #131 and #97

I will test this on MacOS this weekend.


Swagger doesn't recognize x-www-urleconded parameters.

Q&A (please complete the following information)

OS: Ubuntu 18.04 x64
Swagger/OpenAPI version: Swagger 2.0

Describe the bug you're encountering
I had a swagger documentation on version 2.0 where i put the path consumes as application/x-www-urlencoded but when i try to request i receive the following error.
{     "message": "Request validation failed: Parameter (username) is required",     "code": "REQUIRED",     "failedValidation": true,     "path": [         "paths",         "/auth/login",         "post",         "parameters",         "0"     ],     "paramName": "username" }
The Request
But i already passed the parameter as we can see on this curl
curl -X POST \
http://localhost:10010/v1/auth/login \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'username=LOGIN&password=MYPASS&userType=employee'

Content & configuration
I've used the following Swagger.yaml
Swagger/OpenAPI definition:
swagger: "2.0"
info:
  version: "1.0"
  title: Authentication
  description: Here you can find all specs of ours APIs.
externalDocs:
  description: "Find out more about our developer's portal"
basePath: /v1
schemes:
  - http
consumes:
  - application/json
produces:
  - application/json
x-a127-config: {}
x-a127-services: {}
#security:
#  - apiKeyHeader: []
definitions:
  AuthResponse:
    type: object
    properties:
      userType:
          $ref: "#/definitions/UserType"
      username: #uid
        type: string
        description: LDAP of the employee
      employeeID: #employeeNumber
        type: string
        description: ID of the employee
      employeeType: #employeeType
        $ref: "#/definitions/EmployeeType"
      fullName: #cn
        type: string
        description:  Full Name of the user
      givenName: #givenName
        type: string
        description: Given Name of the user
      surname: #sn
        type: string
        description: Surname of the user
      title: #title
        type: string
        description: Mission designated to the user
      titleCode: #titleCode
        type: string
        description: Code of mission designated to the user
      locationName: #businesCategory
        type: string
        description: Site where the user works
      locationCode: #privBusinessCategoryCode
         type: string
         description: Code from site where the user works
      department: #departmentNumber
        type: string
        description: Department of the user
      contractStartDate: #privContractStartDate
        type: string
        format: date
        description: Contract start date of the user
      email: #mail
        type: string
        description: Email of the user
      telephoneNumber: #telephoneNumber
        type: string
        description: Telephone number of the user´s department
      mobile: #mobile
        type: string
        description: Mobile phone number of the user
      manager: #manager
        type: string
        description: Manager´s distinguish name from LDAP
      o: #o
        type: string
        description: Brands abbreviation. E.g. LM for Leroy Merlin
      ou: #ou
        type: string
        description: Organization unit
      birthdate: #birthdate
        type: string
        format: date
        description: Birthdate from user
      createdBy: #privCreatedBy
        type: string
        description: Distinguish name from user that created the registry in LDAP
      modifiedBy: #privModifiedBy
        type: string
        description: Distinguish name from user that modified the registry in LDAP
      jpegPhoto: #jpegPhoto
        type: string
        format: byte
        description: Binary Base64 represeting JPEG photo.
  ErrorResponse:
    type: string
  DefaultResponse:
    type: string

paths:
  /auth/login:
    # binds a127 app logic to a route
    x-swagger-router-controller: "authentication"
    x-a127-apply: {}
    post:
      summary: Try to login
      description: Try to login with credencials based on username/password. This API will return all "habitant" information if login were successful.
      # used as the method name of the controller
      operationId: login
      consumes:
        - "application/x-www-form-urlencoded"
      tags:
      - Auth
      parameters:
        - name: username
          in: formData
          description: Username to login.
          required: true
          type: string
        - name: password
          in: formData
          description: Password to login.
          required: true
          type: string
          format: password
        - name: userType
          in: formData
          required: true
          default: customer
          <<: *UserType
      responses:
        "200":
          description: Success. If there are attributes with empty values they won´t be returned
          schema:
            # a pointer to a definition
            $ref: "#/definitions/AuthResponse"
        "401":
          description: Unauthorized
          schema:
            $ref: "#/definitions/ErrorResponse"
        "500":
          description: Internal Server Error
          schema:
            $ref: "#/definitions/ErrorResponse"
        "501":
          description: Not Implemented
          schema:
            $ref: "#/definitions/ErrorResponse"

tags:
  - name: Auth
    description: Authentication and authorization related APIs.

Screenshots

How can we help?
There is anyone that's passed for this problem ?  When i use application/json format it's works normally.

I found a solution on this Link
https://stackoverflow.com/questions/51274721/swagger-doesnt-recognize-x-www-urleconded-parameters/51401543#51401543


Cannot create a new instance of MemberAddressProvider 'class

Getting this error with swarm discovery SPI.  DNSRR mode works.  Any ideas as to why we see this error?
Mar 01, 2018 2:14:37 PM com.hazelcast.config.XmlConfigLocator
INFO: Loading configuration /usr/local/hazelcast/conf/hazelcast.xml from System property 'hazelcast.config'
Mar 01, 2018 2:14:37 PM com.hazelcast.config.XmlConfigLocator
INFO: Using configuration file at /usr/local/hazelcast/conf/hazelcast.xml
Exception in thread "main" com.hazelcast.config.ConfigurationException: Cannot create a new instance of MemberAddressProvider 'class org.bitsofinfo.hazelcast.discovery.docker.swarm.SwarmMemberAddressProvider'
at com.hazelcast.instance.DefaultNodeContext.newMemberAddressProviderInstance(DefaultNodeContext.java:101)
at com.hazelcast.instance.DefaultNodeContext.createAddressPicker(DefaultNodeContext.java:71)
at com.hazelcast.instance.Node.(Node.java:182)
at com.hazelcast.instance.HazelcastInstanceImpl.createNode(HazelcastInstanceImpl.java:160)
at com.hazelcast.instance.HazelcastInstanceImpl.(HazelcastInstanceImpl.java:128)
at com.hazelcast.instance.HazelcastInstanceFactory.constructHazelcastInstance(HazelcastInstanceFactory.java:195)
at com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:174)
at com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:124)
at com.hazelcast.core.Hazelcast.newHazelcastInstance(Hazelcast.java:58)
at com.hazelcast.core.server.StartServer.main(StartServer.java:46)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.hazelcast.instance.DefaultNodeContext.newMemberAddressProviderInstance(DefaultNodeContext.java:89)
... 9 more
Caused by: java.lang.NoClassDefFoundError: com/spotify/docker/client/DockerCertificatesStore
at org.bitsofinfo.hazelcast.discovery.docker.swarm.SwarmMemberAddressProvider.initialize(SwarmMemberAddressProvider.java:101)
at org.bitsofinfo.hazelcast.discovery.docker.swarm.SwarmMemberAddressProvider.(SwarmMemberAddressProvider.java:70)
... 14 more
Caused by: java.lang.ClassNotFoundException: com.spotify.docker.client.DockerCertificatesStore
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 16 more
This is our compose file.
what should this value be?  - HZ_SWARM_MGR_URI=http://<IP_ADDRESS>:80  Do we need a cert imported into the hazelcast container?  should it be a different port?
version: '3.2'
services:
devhazelcast:
image: fx-docker-dev.ppe.mdrxdev.com/nanthealth/alpine-java8-hazelcast:1.3.0-SNAPSHOT-20180222.100929-496
deploy:
replicas: 2
resources:
limits:
cpus: '1'
memory: 2G
restart_policy:
condition: on-failure
ports:
- '5790:5790'
networks:
  - xppe_dev_default
volumes:
  - vol_hzdevnfs:/usr/local/hazelcast/conf

environment:
   - DOCKER_HOST=http://<IP_ADDRESS>:80
   - HZ_HOME=/usr/local/hazelcast
   - HZ_GROUP_NAME=dev
   - HZ_GROUP_PASSWORD=dev-pass
   - HZ_INTERFACE=foo
   - HZ_PEER_PORT=5790
   - HZ_SKIP_VERIFY_SSL=true
   - HZ_SWARM_MGR_URI=http://<IP_ADDRESS>:80
   - HZ_DOCKER_SERVICE_LABELS=foo
   - HZ_DOCKER_SERVICE_NAMES=hz_devhazelcast
   - HZ_DOCKER_NETWORK_NAMES=ppe_dev_default
   - JAVA_OPTS=-Dhazelcast.config=/usr/local/hazelcast/conf/hazelcast.xml

networks:
xppe_dev_default:
external:
name: ppe_dev_default
volumes:
vol_hzdevnfs:
external: true

Caused by: java.lang.NoClassDefFoundError: com/spotify/docker/client/DockerCertificatesStore
This is caused when there is a class file that your code depends on and it is present at compile time but not found at runtime. Look for differences in your build time and runtime classpaths.
What version of java are you running? Do you have another version of the spotify docker lib on your class path or something?

we are running openjdk 1.8 and the path is  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/bin:/usr/local/hazelcast
i no longer see the errors about the docker client.  we previously didnt include the docker client.  we have rebuilt and deployed and still see this error.
were we have all jars in /usr/local/hazelcast
INFO: Using configuration file at /usr/local/hazelcast/conf/hazelcast.xml
Exception in thread "main" com.hazelcast.config.ConfigurationException: Cannot create a new instance of MemberAddressProvider 'class org.bitsofinfo.hazelcast.discovery.docker.swarm.SwarmMemberAddressProvider'
at com.hazelcast.instance.DefaultNodeContext.newMemberAddressProviderInstance(DefaultNodeContext.java:101)

Are you using gradle or maven in your application that includes this library?
if so please provide a dependencies dump from gradle/maven
Also your stack trace above is incomplete, need to see the full trace

first, thank you for the help!!  we are using maven.  ill need to get our developer to get more info if this isnt enough.

com.hazelcast
hazelcast-all
${hazelcast.version}

org.bitsofinfo
hazelcast-docker-swarm-discovery-spi
${swarm.spi.version}

com.spotify
docker-client
${docker-client.version}

com.google.guava
guava
${guava.version}

here is the full stack trace.
Mar 06, 2018 2:30:33 PM com.hazelcast.config.XmlConfigLocator
INFO: Loading configuration /usr/local/hazelcast/conf/hazelcast.xml from System property 'hazelcast.config'
Mar 06, 2018 2:30:33 PM com.hazelcast.config.XmlConfigLocator
INFO: Using configuration file at /usr/local/hazelcast/conf/hazelcast.xml
Exception in thread "main" com.hazelcast.config.ConfigurationException: Cannot create a new instance of MemberAddressProvider 'class org.bitsofinfo.hazelcast.discovery.docker.swarm.SwarmMemberAddressProvider'
at com.hazelcast.instance.DefaultNodeContext.newMemberAddressProviderInstance(DefaultNodeContext.java:101)
at com.hazelcast.instance.DefaultNodeContext.createAddressPicker(DefaultNodeContext.java:71)
at com.hazelcast.instance.Node.(Node.java:182)
at com.hazelcast.instance.HazelcastInstanceImpl.createNode(HazelcastInstanceImpl.java:160)
at com.hazelcast.instance.HazelcastInstanceImpl.(HazelcastInstanceImpl.java:128)
at com.hazelcast.instance.HazelcastInstanceFactory.constructHazelcastInstance(HazelcastInstanceFactory.java:195)
at com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:174)
at com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:124)
at com.hazelcast.core.Hazelcast.newHazelcastInstance(Hazelcast.java:58)
at com.hazelcast.core.server.StartServer.main(StartServer.java:46)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.hazelcast.instance.DefaultNodeContext.newMemberAddressProviderInstance(DefaultNodeContext.java:89)
... 9 more
Caused by: java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:542)
at java.lang.Integer.valueOf(Integer.java:766)
at org.bitsofinfo.hazelcast.discovery.docker.swarm.SwarmMemberAddressProvider.(SwarmMemberAddressProvider.java:58)
... 14 more

Yes, please have your developer interact directly on here, the exception you posted above is now a different one.
You should try including the shaded version of the docker-client library such as
compile group: 'com.spotify', name: 'docker-client', version: '8.+', classifier: 'shaded'
Please provide a sample project that demonstrates the error

We are using Maven and are including the following dependencies

com.hazelcast
hazelcast-all
${hazelcast.version}

org.bitsofinfo
hazelcast-docker-swarm-discovery-spi
${swarm.spi.version}

com.spotify
docker-client
${docker-client.version}

We can try using the shaded version and let you know.  We are just trying to run hazelcast version 3.9.1 using its own start cmd inside the container.
java $JAVA_OPTS -Dhz.public.host=getent hosts $HOST | awk '{print $1}' -cp "hazelcast-all.jar:hazelcast-docker-swarm-discovery-spi.jar:docker-client.jar:guava.jar" com.hazelcast.core.server.StartServer
We are not creating a new instance of hazelcast, maybe thats the problem and we need to do that?

Also these are the versions of the dependencies.
<swarm.spi.version>1.0-RC6</swarm.spi.version>
<hazelcast.version>3.9.1</hazelcast.version>
<docker-client.version>8.11.1</docker-client.version>
Thanks again for your help!

Please provide a sample project that demonstrates the error

No response


After adding lights, the sensors cannot properly scan objects after packaging.

from @stone778
Hello, after adding lights, the sensors cannot properly scan objects after packaging , What went wrong and do you have any good suggestions。

Originally posted by @stone778 in https://github.com/Field-Robotics-Japan/UnitySensors/issues/110#issuecomment-1926182263

@stone778
Please describe the conditions under which the bug occurs or publish a branch that reproduces the environment.
Example of conditions

Environment: [Editor or Build] on [Windows or Linux]
Unity Version: 2021.3
Unity Project: [UnitySensors or others]
UnitySensors Version: [git tag or branch name]

Environment: Windows (Project environment) + Linux (ROS environment)
Unity Version: 2021.3.32f1c1
Unity Project: UnitySensors
UnitySensors Version: UnitySensors-2.0.0b
I have already tried the solutions provided by other contributors on GitHub, such as setting shaders, adding lights, configuring soft shadows, etc. However, even after packaging, the sensors are still not functioning. Please help me identify the issue.


0.6.1 SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xd23b47]

while doing some testing
sudo /root/headscale -n optim nodes list
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xd23b47]
goroutine 1 [running]:
github.com/juanfont/headscale/cmd/headscale/cli.nodesToPtables(0xc0003d6000, 0xb, 0x14, 0xc0000ab560, 0x0, 0x0, 0x0, 0xc0000aacf0)
/home/runner/work/headscale/headscale/cmd/headscale/cli/nodes.go:167 +0x2c7
github.com/juanfont/headscale/cmd/headscale/cli.glob..func8(0x179eee0, 0xc0004da1e0, 0x0, 0x2)
/home/runner/work/headscale/headscale/cmd/headscale/cli/nodes.go:92 +0x2a5
github.com/spf13/cobra.(*Command).execute(0x179eee0, 0xc0004da1a0, 0x2, 0x2, 0x179eee0, 0xc0004da1a0)
/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:856 +0x2c2
github.com/spf13/cobra.(*Command).ExecuteC(0x179d5e0, 0x0, 0xc00031fd28, 0xd1e937)
/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:960 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:897
github.com/juanfont/headscale/cmd/headscale/cli.Execute()
/home/runner/work/headscale/headscale/cmd/headscale/cli/root.go:24 +0x31
main.main()
/home/runner/work/headscale/headscale/cmd/headscale/headscale.go:64 +0x287

Hi, could you describe the setup process before this? or is this the first command issued with a completely fresh headscale?

well heres another... seems cannot list nodes in "plain text"
root@portaladmin:~# ./headscale nodes list -n optim
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xd27747]
goroutine 1 [running]:
github.com/juanfont/headscale/cmd/headscale/cli.nodesToPtables(0xc00059a000, 0x11, 0x14, 0xc000560c78, 0x0, 0x0, 0x0, 0xc0000b7488)
/home/runner/work/headscale/headscale/cmd/headscale/cli/nodes.go:167 +0x2c7
github.com/juanfont/headscale/cmd/headscale/cli.glob..func8(0x17a5ee0, 0xc000544820, 0x0, 0x2)
/home/runner/work/headscale/headscale/cmd/headscale/cli/nodes.go:92 +0x2a5
github.com/spf13/cobra.(*Command).execute(0x17a5ee0, 0xc0005447e0, 0x2, 0x2, 0x17a5ee0, 0xc0005447e0)
/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:856 +0x2c2
github.com/spf13/cobra.(*Command).ExecuteC(0x17a45e0, 0x0, 0xc00029fd28, 0xd22417)
/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:960 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:897
github.com/juanfont/headscale/cmd/headscale/cli.Execute()
/home/runner/work/headscale/headscale/cmd/headscale/cli/root.go:24 +0x31
main.main()
/home/runner/work/headscale/headscale/cmd/headscale/headscale.go:64 +0x287

@outbackdingo This should have been fixed in the main branch's build. SIGSEGV was caused since a node has never been seen before.


need more control over packet_count of a flow

FYI, I have not tested this in snappi, issue found with tgen, assuming implementation is the same.
If you have a traffic item with 16 flow groups and configure the tgen.flow to run until 10k packets are sent ( duration=Duration(FixedPackets(packets=packet_count) ) the traffic item is actually set to have 'Fixed Packet Count' 625 (10k/16 flow groups). This is fine for the scenario where the user wants a total of 10k packets sent no matter the flows/ports.
But we need to consider the scenario where the user actually wants to know how many packets it will be sending per port (which I believe will be more common). This user would expect that when setting packet_count=10k, he will see 10k per traffic item (and from that he could determine per port distribution). Right now this user would have to do the reverse math: if I want to send 10k per flow group, then I need to configure tgen to send 10K x flow groups...
So to overcome this, instead of having tgen silently doing the math, it should take the packet_count as is, and expose a setting for frame count distribution (and let the user decide how to split this count among flow groups).

The intent of the models is that a user specifies a packet count per flow. This means if there is one flow and a packet count of 100 packets that is exactly what will be sent out - it is an aggregate.
There is no concept of traffic items, flow groups etc as those are implementation specific.


client receives No operation named \"\" when calling triggers

When I tried to trigger an event, my client kept getting {"errors":[{"message":"No operation named \"\""}]}.

My code:
class Types::SubscriptionType < GraphQL::Schema::Object
  # field :intercity_ride_was_updated, subscription: Subscriptions::IntercityRide
  field :intercity_ride_was_updated, Types::IntercityRideType, null: false

  def intercity_ride_was_updated
    intercity_ride = ::IntercityRide.take
  end
end

# This is how I trigger the event
RelaySchema.subscriptions.trigger("intercityRideWasUpdated", {}, IntercityRide.take)

The backtrace:
[0] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/query.rb:26:in `backtrace'"
[1] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/query.rb:26:in `initialize'"
[2] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/2.4.0/delegate.rb:85:in `eval'"
[3] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/2.4.0/delegate.rb:85:in `call'"
[4] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/2.4.0/delegate.rb:85:in `method_missing'"
[5] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ruby-debug-ide-0.7.0.beta7/lib/ruby-debug-ide/command.rb:138:in `block in debug_eval'"
[6] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ruby-debug-ide-0.7.0.beta7/lib/ruby-debug-ide/command.rb:119:in `timeout'"
[7] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ruby-debug-ide-0.7.0.beta7/lib/ruby-debug-ide/command.rb:137:in `debug_eval'"
[8] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ruby-debug-ide-0.7.0.beta7/lib/ruby-debug-ide/commands/inspect.rb:19:in `execute'"
[9] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ruby-debug-ide-0.7.0.beta7/lib/ruby-debug-ide/ide_processor.rb:41:in `block (2 levels) in process_commands'"
[10] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ruby-debug-ide-0.7.0.beta7/lib/ruby-debug-ide/ide_processor.rb:34:in `each'"
[11] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ruby-debug-ide-0.7.0.beta7/lib/ruby-debug-ide/ide_processor.rb:34:in `block in process_commands'"
[12] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ruby-debug-ide-0.7.0.beta7/lib/ruby-debug-ide/ide_processor.rb:33:in `catch'"
[13] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ruby-debug-ide-0.7.0.beta7/lib/ruby-debug-ide/ide_processor.rb:33:in `process_commands'"
[14] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ruby-debug-ide-0.7.0.beta7/lib/ruby-debug-ide/event_processor.rb:58:in `line_event'"
[15] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ruby-debug-ide-0.7.0.beta7/lib/ruby-debug-ide/event_processor.rb:34:in `at_line'"
[16] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/debase-0.2.3.beta5/lib/debase/context.rb:35:in `at_line'"
[17] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/query.rb:26:in `initialize'"
[18] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/query.rb:348:in `new'"
[19] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/query.rb:348:in `prepare_ast'"
[20] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/query.rb:374:in `with_prepared_ast'"
[21] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/query.rb:291:in `subscription?'"
[22] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/subscriptions/instrumentation.rb:25:in `before_query'"
[23] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/execution/instrumentation.rb:58:in `public_send'"
[24] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/execution/instrumentation.rb:58:in `block in call_hooks'"
[25] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/execution/instrumentation.rb:57:in `each'"
[26] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/execution/instrumentation.rb:57:in `call_hooks'"
[27] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/execution/instrumentation.rb:44:in `each_query_call_hooks'"
[28] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/execution/instrumentation.rb:27:in `block in apply_instrumenters'"
[29] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/execution/instrumentation.rb:72:in `call_hooks'"
[30] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/execution/instrumentation.rb:26:in `apply_instrumenters'"
[31] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/execution/multiplex.rb:174:in `instrument_and_analyze'"
[32] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/execution/multiplex.rb:61:in `block in run_queries'"
[33] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/tracing.rb:62:in `block in trace'"
[34] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/tracing.rb:76:in `call_tracers'"
[35] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/tracing.rb:62:in `trace'"
[36] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/execution/multiplex.rb:59:in `run_queries'"
[37] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/execution/multiplex.rb:49:in `run_all'"
[38] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/schema.rb:376:in `block in multiplex'"
[39] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/schema.rb:1205:in `with_definition_error_check'"
[40] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/schema.rb:375:in `multiplex'"
[41] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/schema.rb:352:in `execute'"
[42] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/subscriptions.rb:92:in `execute'"
[43] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-anycable-0.3.0/lib/graphql/subscriptions/anycable_subscriptions.rb:75:in `block in execute_all'"
[44] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-anycable-0.3.0/lib/graphql/subscriptions/anycable_subscriptions.rb:73:in `each'"
[45] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-anycable-0.3.0/lib/graphql/subscriptions/anycable_subscriptions.rb:73:in `execute_all'"
[46] = "/Users/haofuxin/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/graphql-1.9.6/lib/graphql/subscriptions.rb:69:in `trigger'"

but I'm not sure if it's the bug of graphql-ruby or this gem. graphql version is 1.9.6.

I've not personally checked it with graphql-ruby 1.9.x yet, so it may be a version incompatibility.
Thank you for reporting I will check it in one of the following days.

I took a deeper look and found what the problem was.
https://github.com/rmosolgo/graphql-ruby/blob/bcf0eb1c7a51dad6957460c80b5d32291ef1b9b7/lib/graphql/subscriptions.rb#L90
    def execute(subscription_id, event, object)
      # Lookup the saved data for this subscription
      query_data = read_subscription(subscription_id)
      # Fetch the required keys from the saved data
      query_string = query_data.fetch(:query_string)
      variables = query_data.fetch(:variables)
      context = query_data.fetch(:context)
      operation_name = query_data.fetch(:operation_name) # this should be `nil` instead of `""`

It seems like hmset sets a nil and hmget gets an empty string "" :( I'll fix it.


benovermyer.com

Less than 5kb total on most requests.
Javascript is less than 1kb, and about to go away anyway.

Added!


ERROR: AcceptBlock: bad-cb-type, coinbase is not a CbTx (code 16)

Good day, installed the nomp pool, installed the last v<IP_ADDRESS>-rc11 (release candidate), enabled testnet=1 in the coin daemon, no errors. But when finding a block I get:
Pool console
2019-01-01 14:36:40 [Pool]      [dash] (Thread 1) Share accepted at diff 32/1177.86740013 by yacG5xxBLyvxx57VgNwFNNA5K7AevcNs2j [::ffff:<IP_ADDRESS>]
2019-01-01 14:36:41 [Pool]      [dash] (Thread 1) Submitted Block using submitblock successfully to daemon instance(s)
2019-01-01 14:36:41 [Pool]      [dash] (Thread 1) We thought a block was found but it was rejected by the daemon, share data: {"job":"a","ip":"::ffff:<IP_ADDRESS>","port":3032,"worker":"yacG5xxBLyvxx57VgNwFNNA5K7AevcNs2j","height":16290,"blockReward":8820000000,"difficulty":32,"shareDiff":"155.49622680","blockDiff":13.049642742,"blockDiffActual":13.049642742,"blockHash":"0000000001a57509392ddfff698f9b4217915e9fe54649fbe312311e714d3f9c"}
2019-01-01 14:36:41 [Pool]      [dash] (Thread 1) Share accepted at diff 32/155.49622680 by yacG5xxBLyvxx57VgNwFNNA5K7AevcNs2j [::ffff:<IP_ADDRESS>]
Daemoon Dash
2019-01-01 13:35:45 ERROR: AcceptBlock: bad-cb-type, coinbase is not a CbTx (code 16)
2019-01-01 13:35:45 ERROR: ProcessNewBlock: AcceptBlock FAILED: bad-cb-type, coinbase is not a CbTx (code 16)
2019-01-01 13:35:45 ERROR: ReadBlockFromDisk: OpenBlockFile failed for CBlockDiskPos(nFile=-1, nPos=0)
How to fix?

v0.13 introduced a couple of changes and you have to patch node-merged-pool lib to make it work. We already have fixes prepared https://github.com/UdjinM6/node-merged-pool/tree/dash013 but we are still testing, so these changes were not submitted to upstream yet. Meanwhile, you can patch UNOMP's package.json this way:
diff --git a/package.json b/package.json
index aba8844..cdb0cb1 100644
--- a/package.json
+++ b/package.json
@@ -39,7 +39,7 @@
         "url": "https://github.com/UNOMP/unified-node-open-mining-portal.git"
     },
     "dependencies": {
-        "merged-pooler": "git://github.com/UNOMP/node-merged-pool",
+        "merged-pooler": "git://github.com/UdjinM6/node-merged-pool#dash013",
         "dateformat": "1.0.12",
        "log4js": "0.6.31",
        "bitcoin": "3.0.1",

Make sure to run nmp install again to fetch the patched lib.


Add ESP32-C2 support

Hello, I've added support for ESP32-C2, please take a look at it and let me know what do you think.
Related issue: #34

@MabezDev Could you trigger pipeline gain?

Docker check is failing for ESP32-C2. It looks like script install-rust-toolchain.sh from https://github.com/esp-rs/rust-build repository does not support this MCU.
I think repo rust-build have to be updated before this PR is is merged. Do you agree?

Hi! Thanks for your contribution, at the moment we are evaluating a big update on the template, see https://github.com/esp-rs/esp-template/issues/45. Currently, I've done some work to migrate the Dockerfile from the rust-build script (which is feature frozen) to espup, see https://github.com/esp-rs/esp-template/compare/main...SergioGasquez:esp-template:feature/architectore-refactor. This changes also include esp32c2 support but we might go for the approach suggested in #55 as it simplifies things and keeps the template in a single folder.
Adding esp32c2 to rust-build is probably something we would need to handle too, as even if its feature frozen I guess we need to support all our chips.

@SergioGasquez Thanks for clarification!

Thanks for the PR, but this was also added in #55.