ImportError: No module named Tkinter

The Tkinter is needed when import the matplotlib module. If the following error is returned, pls check whether the tkinter package is installed.  On Linux platform, users can install this package using follow command:
apt-get install python-tk
or
yum install python-tk

Traceback (most recent call last):
File "/usr/bin/metaplots", line 7, in
from RiboCode.metaplots import main
File "/usr/lib64/python2.7/site-packages/RiboCode/metaplots.py", line 7, in
import matplotlib.pyplot as plt
File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py", line 115, in
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/usr/lib64/python2.7/site-packages/matplotlib/backends/init.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 6, in
from six.moves import tkinter as Tk
File "/usr/lib/python2.7/site-packages/six.py", line 203, in load_module
mod = mod._resolve()
File "/usr/lib/python2.7/site-packages/six.py", line 115, in _resolve
return _import_module(self.mod)
File "/usr/lib/python2.7/site-packages/six.py", line 82, in _import_module
import(name)
ImportError: No module named Tkinter

Hi @xzt41
For python2:
apt-get install python-tk
For python3:
apt-get install python3-tk

Thanks @appi147


RESET PASSWORD

Hi, good day. I'd like to take on this issue. @JoseMiracle

Hi, good day. I'd like to take on this issue. @JoseMiracle

Good day, you can ahead @Ifihan.


Description of the correction algos?

[possible values: one, two, graph, greedy, gap-size]

Can you talk a little about each one? Any experience? My data is R9 so wanting to know which could be best. Cheers

If you work on R9 read br haven't a good result.
You can find more detail about br algorithm in this slides Check slide 13-17 and appendix.


Add Silvally type form names

An issue occured with Silvally not displaying its French name due to type form being absent from the translation files.
https://discord.com/channels/450412847017754644/698525560640503878/1077515907783458816

@Aegyo it seems like this issue has gone unnoticed :)

Fixed by #77


Error reported when sensors not ready

It looks like the integration does not handle the situation where one sensor has updated and the other has not at startup.
It needs to wait until HA reports it has finished setting up.
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/event.py", line 273, in _async_state_change_dispatcher
    hass.async_run_hass_job(job, event)
  File "/usr/src/homeassistant/homeassistant/core.py", line 526, in async_run_hass_job
    cast(Callable[..., _R], hassjob.target)(*args)
  File "/config/custom_components/bodymiscale/__init__.py", line 170, in _state_changed_event
    self.state_changed(event.data.get("entity_id"), event.data.get("new_state"))
  File "/config/custom_components/bodymiscale/__init__.py", line 195, in state_changed
    self._update_state()
  File "/config/custom_components/bodymiscale/__init__.py", line 221, in _update_state
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 539, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 574, in _async_write_ha_state
    attr.update(self.state_attributes or {})
  File "/config/custom_components/bodymiscale/__init__.py", line 300, in state_attributes
    lib = body_metrics.bodyMetrics(weight, height, age, gender, 0)
  File "/config/custom_components/bodymiscale/body_metrics.py", line 17, in __init__
    raise Exception("Weight is either too low or too high (limits: <10kg and >200kg)")
Exception: Weight is either too low or too high (limits: <10kg and >200kg)
2022-03-04 11:20:50 ERROR (MainThread) [homeassistant.helpers.event] Error while processing state change for sensor.impedance_karen
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/event.py", line 273, in _async_state_change_dispatcher
    hass.async_run_hass_job(job, event)
  File "/usr/src/homeassistant/homeassistant/core.py", line 526, in async_run_hass_job
    cast(Callable[..., _R], hassjob.target)(*args)
  File "/config/custom_components/bodymiscale/__init__.py", line 170, in _state_changed_event
    self.state_changed(event.data.get("entity_id"), event.data.get("new_state"))
  File "/config/custom_components/bodymiscale/__init__.py", line 189, in state_changed
    value = int(float(value))
ValueError: could not convert string to float: ''

On startup, it needs to wait until it processes data and handle this smoothly.

Is this still happening with v2.1.1?
I can't reproduce it

Closing as author was not responding


The links should be discoverable by accessibility software

Currently they look just like text to screen readers.

I think one solution may be "focus" event.
When screen reader focus on the exponder, the exponded should appear.
But what if the human "reader" does not want the expounded explanation?
How to control that for every instance of epounded element?

Sorry, yes. I don't really know much about how accessibility works on the frontend here, so I can't really say :/

Perhaps, we can set a shortcut key combination.
When is pressed, the expounded will open, then screen reader can read the text.
I am not sure if it's working, but I will try to achieve this.
The steps:

reader focus on a word that have explanation
the user can be notified by a beep (?) that he can get an explanation (and the reader will wait 2-4 seconds)
the user press keys combination
the reader parse the explanation and continuing with the text after

Hm, isn't there some ARIA attribute that can do the right thing here?

I know that. I will try something in that direction first. I though that can't be achieve by that apriori.

But, as I notice above, what can be done if a user ro not want to "read" explanantion?

Yeah, it sounds very tricky... What does the screen reader read when something is a link?

Here are some links regarding certain ARIA roles, states and properties worth reading that might help with the issue here:

https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Tooltip_Role
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded

The aria-expanded one looks promising 🤔


How to just get the code embedding of entire code_snippet, without having to predict any function name

Hi,
I want to get code embedding of entire code_snippet. How to get it?
As per Code Snippet embedding section in interactive_prediction.ipynb,  it gives the embedding of only masked method. I don't have any masked method or func name to predict. I just want the embedding of entire code. How can we do it?

Hi,
thanks for your interest in the Code Transformer.
What is your input? If it is not a code snippet containing a single method, our trained models most likely won't give meaningful embeddings. If it is a single method, you can just mask the method name to make it match our training setting.
Regarding the embeddings themselves:

encoder_output.all_emb[-1][1] gives you the query stream embedding (1) in the last layer (-1) which should encapsulate the whole snippet.
You can also try using encoder_output.all_emb[-1][1], which gives you the content stream embeddings (0) of the last layer (-1). These are defined per input token and averaging them over the sequence length might give you meaningful embeddings as well.

Hope this helps.
Best,
Tobias

Hi @tobias-kirschstein ,
Thank you for your reply.
My input is the code containing more than one method (multiple methods).
Thankyou!


CSE: Add tests with Exasol DB V8

Integration tests with Exasol v8 were added in https://github.com/exasol/cloud-storage-extension/commit/aec80bf09edcb3fb4b85b346787afbbfc0b736ae#diff-68ba9d12f6f2601fe3c9f7f9d0d02aaea52384559d6d08fae7afc941663fdfcd


Almost no world generation

Just spawns a square mushroom island with a small forest in the middle and infinite ocean on Planet Earth setting.
Using 1.12.2 version of mod with 1.12.2 Minecraft Java and CurseForge.
CubicChunks, CubicWorldGen, Journeymap and MalisisCore installed.

That's intentional, you spawn at 0, 0. Use /tpll lat long


pull request for e2e test at 12/14/2016 17:56:10

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Foreman indefinitely buffers output to a pipe

Simple example:
% echo '(i=0; while true; do echo "log $i"; i=`expr "$i" + 1`; sleep 1; done)' > fakelog
% sh fakelog | cat
log 0
log 1
^C

A log line will be output every second.  Now add Foreman:
% echo 'fakelog: sh fakelog' > Procfile
% foreman start fakelog
17:00:00 fakelog.1  | started with pid 30742
17:00:01 fakelog.1  | log 0
17:00:02 fakelog.1  | log 1
^C

A log line will still be output every second.  Now pipe that output:
% foreman start fakelog | cat
^C

Nothing is output

It isn't working in 0.77.0 :(
I have this script:
$ cat script/taillog.sh
#/bin/sh
tail -f log/development.log | grep -v Moped

I add it to my procfile:
log: bash script/taillog.sh

When I run foreman start, my terminal title changes to "grep" but there is no output:
 $  foreman start
17:32:31 log.1  | started with pid 15740
^CSIGINT received
17:32:32 system | sending SIGTERM to all processes
17:32:32 log.1  | terminated by SIGINT

$ bash script/taillog.sh
2015-01-26 17:26:11.746688 D [14400:70297512649220] TimelineMessaging::RabbitController -- Running: ["sudo", "rabbitmqctl", "-q", "list_users"] - Try number: 1
...

Any ideas?


Telemetry failure in private VNet with Private DNS for analytics workspaces

This describes the issue and the root cause: https://stackoverflow.com/questions/76155690/applicationinsightstelemetrysender-failed-to-track-events-with-name-or-service

How is this related to the self-hosted agent? looks like it's a DNS issue

Good question - this is something to be aware of when deploying the self-hosted agent into VNets with particular configurations. As per the linked SO post, if you have privatelink.monitor.azure.com configured in your VNet you will have this issue. Perhaps it's not a problem with the agent directly, but it should be captured as a potential known issue in case any one runs into it. It hopefully avoids bugs being raised on the repository in future.


Delete duplicated explanation for 'restartPolicy ExitCode' in tfJob

This explanation is duplicated with previous previous line.

This change is

@xauthulei  Can you  help review this code changes?

@QxiaoQ ,Thanks for you debugig, Meanwhile, Do we have the this condition "For the restartPolicy ExitCode the behavior is exit code independent. " ?
@jinchihe ,What 's your comments ?

I think that should be "dependent" always. Thanks. @xauthulei
/lgtm

/assign
/approve
Thanks!


Upgrade to Galactic/Humble

Hi
this works fine in foxy but not in galactic would it be possible to upgrade it to galactic

Hi Peter, as galactic is EOL, my current plan is to update it to humble, and if that happens to be backward compatible with galactic then great, if not I probably won't worry.
I don't have a plan for when I will be doing that just yet, probably some time early next year.
In the meantime if someone wants to submit a PR I'd be happy to accept it. I doubt it would take more than a couple of hours, I just haven't had the time to sit down and do it.
I'll leave this issue up and change the title to reflect that.
Thanks for flagging it!

hi Josh, is this hardware interface (diffdrive_arduino) now updated and compatible with humble? I get errors when I attempted to build it. Please let me know. Thanks

Hi Josh, this is the error I got in case there is something I'm doing wrong:

--- stderr: diffdrive_arduino
In file included from /home/winicon/smilebot_ws/src/diffdrive_arduino/src/fake_robot.cpp:1:
/home/winicon/smilebot_ws/src/diffdrive_arduino/include/diffdrive_arduino/fake_robot.h:7:10: fatal error: hardware_interface/base_interface.hpp: No such file or directory
7 | #include "hardware_interface/base_interface.hpp"
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /home/winicon/smilebot_ws/src/diffdrive_arduino/src/diffdrive_arduino.cpp:1:
/home/winicon/smilebot_ws/src/diffdrive_arduino/include/diffdrive_arduino/diffdrive_arduino.h:7:10: fatal error: hardware_interface/base_interface.hpp: No such file or directory
7 | #include "hardware_interface/base_interface.hpp"
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/fake_robot.dir/build.make:76: CMakeFiles/fake_robot.dir/src/fake_robot.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:165: CMakeFiles/fake_robot.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
gmake[2]: *** [CMakeFiles/diffdrive_arduino.dir/build.make:76: CMakeFiles/diffdrive_arduino.dir/src/diffdrive_arduino.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[1]: *** [CMakeFiles/Makefile2:139: CMakeFiles/diffdrive_arduino.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
Failed   <<< diffdrive_arduino [36.0s, exited with code 2]

@winicon001 are you using the humble branch?
I should probably close this now that this branch exists, but it should work fine (although you need to change your xacro a little).

Hi Josh. Thanks a lot. I've been using the main branch. I changed to the humble branch and built. Although I had the error on the serial driver at first:

Finished <<< my-test-package [9.13s]
--- stderr: diffdrive_arduino
In file included from /home/winicon/smilebot_ws/src/diffdrive_arduino/hardware/include/diffdrive_arduino/diffbot_system.hpp:34,
from /home/winicon/smilebot_ws/src/diffdrive_arduino/hardware/diffbot_system.cpp:15:
/home/winicon/smilebot_ws/src/diffdrive_arduino/hardware/include/diffdrive_arduino/arduino_comms.hpp:7:10: fatal error: libserial/SerialPort.h: No such file or directory
7 | #include <libserial/SerialPort.h>
|          ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/diffdrive_arduino.dir/build.make:76: CMakeFiles/diffdrive_arduino.dir/hardware/diffbot_system.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/diffdrive_arduino.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
Failed   <<< diffdrive_arduino [9.99s, exited with code 2]
Aborted  <<< serial_motor_demo [4.01s]

then I went through your instructions where you mentioned the need to install libserial-dev. Then built afterwards and no fatal error;

@winicon001 are you using the humble branch? I should probably close this now that this branch exists, but it should work fine (although you need to change your xacro a little).

besides, which part of the xacro I'm I to change

Here is the example xacro from the humble branch https://github.com/joshnewans/diffdrive_arduino/blob/humble/description/ros2_control/diffbot.ros2_control.xacro

Thanks Josh....I'll give it a go shortly and let you know.....much appreciated.

Hi Josh, Please were you able to assist to have a look? I'll really appreciate if you could assist to point me where I might be missing a detail. The controller manager seems not running. At this point I seem clueless about how to navigate the files further. Any help would be  highly appreciated.. Thank you.

Hi I think it might be a problem I have seen before myself and not worked out a solution for.
I've got a bit going on at the moment and probably won't get a chance to look into it for a couple of months, but if you do manage to figure it out please share here so we can all learn :)

Thanks Josh. Thats very kind of you.
I'll see what I could do.
Thanks once again.
Semiu, ADEBAYO
From: Josh Newans @.>
Sent: 08 August 2024 23:52
To: joshnewans/diffdrive_arduino @.>
Cc: winicon001 @.>; Mention @.>
Subject: Re: [joshnewans/diffdrive_arduino] Upgrade to Galactic/Humble (Issue #1)
Hi I think it might be a problem I have seen before myself and not worked out a solution for.
I've got a bit going on at the moment and probably won't get a chance to look into it for a couple of months, but if you do manage to figure it out please share here so we can all learn :)

Reply to this email directly, view it on GitHubhttps://github.com/joshnewans/diffdrive_arduino/issues/1#issuecomment-2276811207, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOZYUYKC5LAPZGZO62GLSZLZQPZBDAVCNFSM6AAAAABL5JW7E6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZWHAYTCMRQG4.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Actually it looks like a slightly different issue to what I thought.
One thing to check - your serial port https://github.com/winicon001/my_bot/blob/9284445cd9cb8ede0d8bf035cf527784451058ce/description/ros2_control.xacro#L11 looks awfully similar to my one - make sure you change it to point to whatever is correct for your arduino.

Hi Josh,
That the exact port my Arduino connects to. I was able to run it from that port using the serial_demo example and the robot responded very well to all command s. I was also able to run my lidar at the same time which all seem to work fine as at then. But now, I dont even know how to revert back to the one that works. I’m stuck with getting the diffdrive_arduino work. Now my project is stuck 😊.
Semiu, ADEBAYO
From: Josh Newans @.>
Sent: 09 August 2024 00:07
To: joshnewans/diffdrive_arduino @.>
Cc: winicon001 @.>; Mention @.>
Subject: Re: [joshnewans/diffdrive_arduino] Upgrade to Galactic/Humble (Issue #1)
Actually it looks like a slightly different issue to what I thought.
One thing to check - your serial port https://github.com/winicon001/my_bot/blob/9284445cd9cb8ede0d8bf035cf527784451058ce/description/ros2_control.xacro#L11 looks awfully similar to my one - make sure you change it to point to whatever is correct for your arduino.
—
Reply to this email directly, view it on GitHubhttps://github.com/joshnewans/diffdrive_arduino/issues/1#issuecomment-2276854076, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOZYUYO4COK67SOBNC7LNUDZQP2Z3AVCNFSM6AAAAABL5JW7E6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZWHA2TIMBXGY.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

My only suggestion would be to try and get the diffdrive_arduino example working again (without the rest of my_bot) because that error looks easier to chase down. It seems to be the serial failing to open the port (rather than the other one which is the controller_manager not starting).
The error I have been seeing lately is the controller manager not starting when it's in simulation but working fine for the real robot (and in that case you can get around it by swapping to the old Gazebo controller).

In fact Josh, something strange happened.... when I tried something differet....Please see below for the steps

I ran this On Dev machine
ros2 launch my_bot launch_sim.launch.py world:=/robot_ws/src/my_bot/worlds/cafe.world
I ran this on the Robot Raspi
ros2 launch diffdrive_arduino diffbot.launch.py # Ran the I stopped it
Then ran this on the Robot
ros2 launch my_bot launch_smilebot.launch.py
#####Response from Robot Terminal#############
[INFO] [launch]: All log files can be found below /home/winicon/.ros/log/2024-08-04-14-54-23-513554-iconrobot2-342004
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [robot_state_publisher-1]: process started with pid [342064]
[robot_state_publisher-1] [INFO] [1722779664.426200618] [robot_state_publisher]: got segment base_link
[robot_state_publisher-1] [INFO] [1722779664.426534227] [robot_state_publisher]: got segment camera_link
[robot_state_publisher-1] [INFO] [1722779664.426607486] [robot_state_publisher]: got segment camera_link_optical
[robot_state_publisher-1] [INFO] [1722779664.426642005] [robot_state_publisher]: got segment caster_wheel
[robot_state_publisher-1] [INFO] [1722779664.426668875] [robot_state_publisher]: got segment chassis
[robot_state_publisher-1] [INFO] [1722779664.426695615] [robot_state_publisher]: got segment laser_frame
[robot_state_publisher-1] [INFO] [1722779664.426721115] [robot_state_publisher]: got segment left_wheel
[robot_state_publisher-1] [INFO] [1722779664.426746134] [robot_state_publisher]: got segment right_wheel
[INFO] [ros2_control_node-2]: process started with pid [342392]
[INFO] [spawner-3]: process started with pid [342394]
[INFO] [spawner-4]: process started with pid [342396]
[ros2_control_node-2] [INFO] [1722779676.844041828] [controller_manager]: Subscribing to '~/robot_description' topic for robot description file.
[ros2_control_node-2] [INFO] [1722779676.850475868] [controller_manager]: update rate is 30 Hz
[ros2_control_node-2] [INFO] [1722779676.853035133] [controller_manager]: RT kernel is recommended for better performance
[spawner-3] [INFO] [1722779680.109189150] [spawner_joint_broad]: Waiting for '/controller_manager' node to exist
[spawner-4] [INFO] [1722779680.428972774] [spawner_diff_cont]: Waiting for '/controller_manager' services to be available
[spawner-3] [INFO] [1722779682.159329284] [spawner_joint_broad]: Waiting for '/controller_manager' services to be available
[spawner-4] [INFO] [1722779682.482359373] [spawner_diff_cont]: Waiting for '/controller_manager' services to be available
[spawner-4] [INFO] [1722779686.270153660] [spawner_diff_cont]: Loaded diff_cont
[spawner-3] [INFO] [1722779688.746071416] [spawner_joint_broad]: Loaded joint_broad
[spawner-4] [INFO] [1722779690.210305203] [spawner_diff_cont]: Configured and activated diff_cont
[spawner-3] [INFO] [1722779690.427956009] [spawner_joint_broad]: Configured and activated joint_broad
[INFO] [spawner-4]: process has finished cleanly [pid 342396]
[INFO] [spawner-3]: process has finished cleanly [pid 342394]

This proves to me that I havent mapped the files correctly for the controller manager to run, but I dont just have a clue where I'm missing it out....
How I wish I could have an online call with you so I could show you. All I need is 30minutes and my life will never be the same again.... :)

Yes so I am interested in that second one (diffdrive_arduino diffbot.launch.py) and what its output is.
And yes you and a hundred other people! Unfortunately I don't have the time for one-on-one support (as I only do this YouTube stuff in my spare time outside my engineering day job) so I try to spend that limited time doing things that can reach the most people - like videos.

Thanks Josh. I can understand.
Concerning the second script output:
@.***:~/smilebot_ws$ ros2 launch diffdrive_arduino diffbot.launch.py
[INFO] [launch]: All log files can be found below /home/winicon/.ros/log/2024-08-09-00-32-33-136277-iconrobot2-13857
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [ros2_control_node-1]: process started with pid [13878]
[INFO] [robot_state_publisher-2]: process started with pid [13880]
[INFO] [spawner-3]: process started with pid [13882]
[robot_state_publisher-2] [WARN] [1723159955.017686242] [kdl_parser]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia.  As a workaround, you can add an extra dummy link to your URDF.
[robot_state_publisher-2] [INFO] [1723159955.019803664] [robot_state_publisher]: got segment base_link
[robot_state_publisher-2] [INFO] [1723159955.022031678] [robot_state_publisher]: got segment caster_frontal_wheel
[robot_state_publisher-2] [INFO] [1723159955.023058990] [robot_state_publisher]: got segment caster_rear_wheel
[robot_state_publisher-2] [INFO] [1723159955.023116250] [robot_state_publisher]: got segment left_wheel
[robot_state_publisher-2] [INFO] [1723159955.023147731] [robot_state_publisher]: got segment right_wheel
[ros2_control_node-1] [WARN] [1723159955.086214284] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '~/robot_description' topic from 'robot_state_publisher' instead.
[ros2_control_node-1] [INFO] [1723159955.087942540] [resource_manager]: Loading hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723159955.094261601] [resource_manager]: Initialize hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723159955.095182321] [resource_manager]: Successful initialization of hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723159955.095730912] [resource_manager]: 'configure' hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723159955.095919875] [DiffDriveArduinoHardware]: Configuring ...please wait...
[ros2_control_node-1] terminate called after throwing an instance of 'LibSerial::OpenFailed'
[ros2_control_node-1]   what():  Bad file descriptor
[ros2_control_node-1] Stack trace (most recent call last):
[ros2_control_node-1] #21   Object "/usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1", at 0xffffffffffffffff, in
[ros2_control_node-1] #20   Object "/opt/ros/humble/lib/controller_manager/ros2_control_node", at 0xaaaaca512c6f, in
[ros2_control_node-1] #19   Source "../csu/libc-start.c", line 392, in __libc_start_main_impl [0xffffaf3d74cb]
[ros2_control_node-1] #18   Source "../sysdeps/nptl/libc_start_call_main.h", line 58, in __aarch64_ldadd4_acq [0xffffaf3d73fb]
[ros2_control_node-1] #17   Object "/opt/ros/humble/lib/controller_manager/ros2_control_node", at 0xaaaaca512767, in
[ros2_control_node-1] #16   Object "/opt/ros/humble/lib/libcontroller_manager.so", at 0xffffafa824cb, in controller_manager::ControllerManager::ControllerManager(std::shared_ptrrclcpp::Executor, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, rclcpp::NodeOptions const&)
[ros2_control_node-1] #15   Object "/opt/ros/humble/lib/libcontroller_manager.so", at 0xffffafa7eab7, in controller_manager::ControllerManager::init_resource_manager(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)
[ros2_control_node-1] #14   Object "/opt/ros/humble/lib/libhardware_interface.so", at 0xffffaf24bc0b, in hardware_interface::ResourceManager::set_component_state(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, rclcpp_lifecycle::State&)
[ros2_control_node-1] #13   Object "/opt/ros/humble/lib/libhardware_interface.so", at 0xffffaf2492cb, in bool hardware_interface::ResourceStorage::set_component_state<hardware_interface::System>(hardware_interface::System&, rclcpp_lifecycle::State const&)
[ros2_control_node-1] #12   Object "/opt/ros/humble/lib/libhardware_interface.so", at 0xffffaf2584fb, in
[ros2_control_node-1] #11   Object "/opt/ros/humble/lib/libhardware_interface.so", at 0xffffaf26a5cf, in
[ros2_control_node-1] #10   Object "/opt/ros/humble/lib/libhardware_interface.so", at 0xffffaf269adf, in hardware_interface::System::configure()
[ros2_control_node-1] #9    Object "/home/winicon/smilebot_ws/install/diffdrive_arduino/lib/libdiffdrive_arduino.so", at 0xffffa85770bf, in diffdrive_arduino::DiffDriveArduinoHardware::on_configure(rclcpp_lifecycle::State const&)
[ros2_control_node-1] #8    Object "/home/winicon/smilebot_ws/install/diffdrive_arduino/lib/libdiffdrive_arduino.so", at 0xffffa857952f, in ArduinoComms::connect(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, int, int)
[ros2_control_node-1] #7    Object "/usr/lib/aarch64-linux-gnu/libserial.so.1.0.0", at 0xffffa84f842b, in
[ros2_control_node-1] #6    Object "/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30", at 0xffffaf632e03, in __cxa_throw
[ros2_control_node-1] #5    Object "/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30", at 0xffffaf632b1f, in std::terminate()
[ros2_control_node-1] #4    Object "/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30", at 0xffffaf632abb, in
[ros2_control_node-1] #3    Object "/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30", at 0xffffaf6362db, in __gnu_cxx::__verbose_terminate_handler()
[ros2_control_node-1] #2    Source "./stdlib/abort.c", line 79, in abort [0xffffaf3d712f]
[ros2_control_node-1] #1    Source "../sysdeps/posix/raise.c", line 26, in raise [0xffffaf3ea67b]
[ros2_control_node-1] #0    Source "./nptl/pthread_kill.c", line 44, in __pthread_kill_implementation [0xffffaf42f200]
[ros2_control_node-1] Aborted (Signal sent by tkill() 13878 1000)
[ERROR] [ros2_control_node-1]: process has died [pid 13878, exit code -6, cmd '/opt/ros/humble/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_r572i36b --params-file /home/winicon/smilebot_ws/install/diffdrive_arduino/share/diffdrive_arduino/config/diffbot_controllers.yaml'].
[spawner-3] [INFO] [1723159958.311614138] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-3] [INFO] [1723159960.362184985] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-3] [INFO] [1723159962.404674826] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-3] [INFO] [1723159964.446730053] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-3] [ERROR] [1723159966.273239443] [spawner_joint_state_broadcaster]: Controller manager not available
[ERROR] [spawner-3]: process has died [pid 13882, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner joint_state_broadcaster --controller-manager /controller_manager --ros-args'].
[INFO] [spawner-4]: process started with pid [13964]
[INFO] [rviz2-5]: process started with pid [13966]
[rviz2-5] qt.qpa.xcb: could not connect to display
[rviz2-5] qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
[rviz2-5] This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
[rviz2-5]
[rviz2-5] Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
[rviz2-5]
[ERROR] [rviz2-5]: process has died [pid 13966, exit code -6, cmd '/opt/ros/humble/lib/rviz2/rviz2 -d /home/winicon/smilebot_ws/install/diffdrive_arduino/share/diffdrive_arduino/rviz/diffbot.rviz --ros-args -r __node:=rviz2'].
[spawner-4] [INFO] [1723159970.319333053] [spawner_diffbot_base_controller]: Waiting for '/controller_manager' node to exist
[spawner-4] [INFO] [1723159972.354465261] [spawner_diffbot_base_controller]: Waiting for '/controller_manager' node to exist
[spawner-4] [INFO] [1723159974.392465589] [spawner_diffbot_base_controller]: Waiting for '/controller_manager' node to exist
[spawner-4] [INFO] [1723159976.424274982] [spawner_diffbot_base_controller]: Waiting for '/controller_manager' node to exist
[spawner-4] [ERROR] [1723159978.255996093] [spawner_diffbot_base_controller]: Controller manager not available
[ERROR] [spawner-4]: process has died [pid 13964, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner diffbot_base_controller --controller-manager /controller_manager --ros-args'].

It was the same output
Semiu, ADEBAYO
From: Josh Newans @.>
Sent: 09 August 2024 00:29
To: joshnewans/diffdrive_arduino @.>
Cc: winicon001 @.>; Mention @.>
Subject: Re: [joshnewans/diffdrive_arduino] Upgrade to Galactic/Humble (Issue #1)
Yes so I am interested in that second one (diffdrive_arduino diffbot.launch.py) and what its output is.
And yes you and a hundred other people! Unfortunately I don't have the time for one-on-one support (as I only do this YouTube stuff in my spare time outside my engineering day job) so I try to spend that limited time doing things that can reach the most people - like videos.

Reply to this email directly, view it on GitHubhttps://github.com/joshnewans/diffdrive_arduino/issues/1#issuecomment-2276877436, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOZYUYNW6H7P4L7RYE3AIN3ZQP5NJAVCNFSM6AAAAABL5JW7E6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZWHA3TONBTGY.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Hi Josh!!!
No I changed the serial to tty/USB0 and it gave a different output!!. Please see below:

winicon@iconrobot2:~/smilebot_ws$ ros2 launch diffdrive_arduino diffbot.launch.py
[INFO] [launch]: All log files can be found below /home/winicon/.ros/log/2024-08-09-00-37-42-843622-iconrobot2-15804
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [ros2_control_node-1]: process started with pid [15834]
[INFO] [robot_state_publisher-2]: process started with pid [15836]
[INFO] [spawner-3]: process started with pid [15838]
[robot_state_publisher-2] [WARN] [1723160265.748359935] [kdl_parser]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia.  As a workaround, you can add an extra dummy link to your URDF.
[robot_state_publisher-2] [INFO] [1723160265.748692008] [robot_state_publisher]: got segment base_link
[robot_state_publisher-2] [INFO] [1723160265.748923118] [robot_state_publisher]: got segment caster_frontal_wheel
[robot_state_publisher-2] [INFO] [1723160265.748973210] [robot_state_publisher]: got segment caster_rear_wheel
[robot_state_publisher-2] [INFO] [1723160265.749006247] [robot_state_publisher]: got segment left_wheel
[robot_state_publisher-2] [INFO] [1723160265.749034340] [robot_state_publisher]: got segment right_wheel
[ros2_control_node-1] [WARN] [1723160265.824727897] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '~/robot_description' topic from 'robot_state_publisher' instead.
[ros2_control_node-1] [INFO] [1723160265.830672284] [resource_manager]: Loading hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723160265.835891507] [resource_manager]: Initialize hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723160265.837289780] [resource_manager]: Successful initialization of hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723160265.838398573] [resource_manager]: 'configure' hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723160265.838716572] [DiffDriveArduinoHardware]: Configuring ...please wait...
[ros2_control_node-1] [INFO] [1723160265.884267454] [DiffDriveArduinoHardware]: Successfully configured!
[ros2_control_node-1] [INFO] [1723160265.884393750] [resource_manager]: Successful 'configure' of hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723160265.884429601] [resource_manager]: 'activate' hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723160265.884453712] [DiffDriveArduinoHardware]: Activating ...please wait...
[ros2_control_node-1] The ReadByte() call has timed out.
[ros2_control_node-1] [INFO] [1723160266.885945951] [DiffDriveArduinoHardware]: Successfully activated!
[ros2_control_node-1] [INFO] [1723160266.886056932] [resource_manager]: Successful 'activate' of hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723160266.966657287] [controller_manager]: update rate is 10 Hz
[ros2_control_node-1] [INFO] [1723160266.969639277] [controller_manager]: RT kernel is recommended for better performance
[ros2_control_node-1] The ReadByte() call has timed out.
[ros2_control_node-1] [INFO] [1723160269.403292866] [controller_manager]: Loading controller 'joint_state_broadcaster'
[spawner-3] [INFO] [1723160269.482179319] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster
[ros2_control_node-1] [INFO] [1723160269.487084154] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[ros2_control_node-1] [INFO] [1723160269.487546449] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[spawner-3] [INFO] [1723160269.778851566] [spawner_joint_state_broadcaster]: Configured and activated joint_state_broadcaster
[INFO] [spawner-3]: process has finished cleanly [pid 15838]
[INFO] [spawner-4]: process started with pid [15900]
[INFO] [rviz2-5]: process started with pid [15902]
[rviz2-5] qt.qpa.xcb: could not connect to display
[rviz2-5] qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
[rviz2-5] This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
[rviz2-5]
[rviz2-5] Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
[rviz2-5]
[ERROR] [rviz2-5]: process has died [pid 15902, exit code -6, cmd '/opt/ros/humble/lib/rviz2/rviz2 -d /home/winicon/smilebot_ws/install/diffdrive_arduino/share/diffdrive_arduino/rviz/diffbot.rviz --ros-args -r __node:=rviz2'].
[ros2_control_node-1] [INFO] [1723160272.353330430] [controller_manager]: Loading controller 'diffbot_base_controller'
[spawner-4] [INFO] [1723160272.479275536] [spawner_diffbot_base_controller]: Loaded diffbot_base_controller
[ros2_control_node-1] [INFO] [1723160272.488464949] [controller_manager]: Configuring controller 'diffbot_base_controller'
[spawner-4] [INFO] [1723160272.778690233] [spawner_diffbot_base_controller]: Configured and activated diffbot_base_controller
[INFO] [spawner-4]: process has finished cleanly [pid 15900]

Script I used: ros2 launch diffdrive_arduino diffbot.launch.py
Hardware Interface:

<xacro:macro name="diffbot_ros2_control" params="name prefix">
<ros2_control name="${name}" type="system">
  <hardware>
    <plugin>diffdrive_arduino/DiffDriveArduinoHardware</plugin>
    <param name="left_wheel_name">left_wheel_joint</param>
    <param name="right_wheel_name">right_wheel_joint</param>
    <param name="loop_rate">30</param>
    <param name="device">/dev/ttyUSB0</param>
    <param name="baud_rate">57600</param>
    <param name="timeout_ms">1000</param>
    <param name="enc_counts_per_rev">3436</param>
    <param name="pid_p">20</param>
    <param name="pid_d">12</param>
    <param name="pid_i">0</param>
    <param name="pid_o">50</param>
  </hardware>
  <joint name="${prefix}left_wheel_joint">
    <command_interface name="velocity"/>
    <state_interface name="position"/>
    <state_interface name="velocity"/>
  </joint>
  <joint name="${prefix}right_wheel_joint">
    <command_interface name="velocity"/>
    <state_interface name="position"/>
    <state_interface name="velocity"/>
  </joint>
</ros2_control>

</xacro:macro>

Hopefully this sorts it.....
I'll keep you posted on my trials and errors :)
Thanks Prof*


fix(adaptor): Unable to modify headers in lambda@edge

The callback was not handling cloned responses. This has been fixed, and the operation is now possible.
https://zenn.dev/yusukebe/articles/647aa9ba8c1550#1.レスポンスヘッダの追加

There are many similar header modifications, so we are standardizing them.

It is now possible that these simple renovations may not be enough.

the following code you were referring to deals with event.Records[0].cf.response instead of event.Records[0].cf.request
https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/lambda-examples.html#lambda-examples-overriding-response- header
there is a case like this where both event.Records[0].cf.request and event.Records[0].cf.response are handled. In the case of viewer-response and origin-response
https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/lambda-examples.html#lambda-examples-update-error-status- examples


test(CreateTearsheetNarrow): fix the modal animation issue

Closes #4664
What did you change?
    const modalElement = page.locator(`.${carbon.prefix}--modal.is-visible`);
    await expect(modalElement).toBeVisible();
    await modalElement.evaluate((element) =>
      Promise.all(
        element.getAnimations().map((animation) => animation.finished)
      )
    );

How did you test and verify your work?
yarn avt

This is covered in this PR: https://github.com/carbon-design-system/ibm-products/pull/5247/files#diff-ed8f72d7cb523939c6e555f1429d7e13b2ac10f0adf60675cd21600f55431cce
so we can probably close this once the above PR is merged in!

Closing this PR as the fix is now merged from another PR!


Update find name feature

Find will lists all Students in address book whose name contains all the argument keywords.

Codecov Report

Merging #77 (6e2115b) into master (265767f) will increase coverage by 0.63%.
The diff coverage is 20.00%.

@@             Coverage Diff              @@
##             master      #77      +/-   ##
============================================
+ Coverage     71.73%   72.37%   +0.63%
- Complexity      472      487      +15
============================================
  Files            77       79       +2
  Lines          1454     1502      +48
  Branches        167      173       +6
============================================
+ Hits           1043     1087      +44
- Misses          360      362       +2
- Partials         51       53       +2

Impacted Files
Coverage Δ

...ddress/logic/commands/AddTutorialGroupCommand.java
48.07% <0.00%> (-0.95%)
:arrow_down:

...java/seedu/address/logic/commands/FindCommand.java
100.00% <ø> (ø)

...s/model/student/NameContainsKeywordsPredicate.java
100.00% <100.00%> (ø)

.../seedu/address/logic/parser/AddressBookParser.java
85.71% <0.00%> (-4.29%)
:arrow_down:

...parser/DeleteTutorialGroupsFromStudentsParser.java
100.00% <0.00%> (ø)

...mands/DeleteTutorialGroupsFromStudentsCommand.java
93.93% <0.00%> (ø)

.../seedu/address/logic/parser/EditCommandParser.java
93.54% <0.00%> (+0.95%)
:arrow_up:

Continue to review full report at Codecov.

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


Use Fetch for url-exists, if available

Fixes #1423
Additional description
When checking to see if an icon exists, url-exists is using the standard xmlHttpRequest, which is synchronous, and is deprecated.  I added a check to see if fetch is available to the browser, in which case it will use fetch, which is async and standard in modern browsers.
Pull Request Review checklist (do not remove)

[ ] npm run lint:fix has been run and linting passes.
[ ] Mocha, Jest (Storyshots), and components/component-docs.json CI tests pass (npm test).
[ ] Tests have been added for new props to prevent regressions in the future. See readme.
[ ] Review the appropriate Storybook stories. Open http://localhost:9001/.
[ ] The Accessibility panel of each Storybook story has 0 violations (aXe). Open http://localhost:9001/.
[ ] Review tests are passing in the browser. Open http://localhost:8001/.
[ ] Review markup conforms to SLDS by looking at DOM snapshot strings.
[ ] Add year-first date and commit SHA to last-slds-markup-review in package.json and push.
[ ] Request a review of the deployed Heroku app by the Salesforce UX Accessibility Team.
[ ] Add year-first review date, and commit SHA, last-accessibility-review, to package.json and push.
[ ] While the contributor's branch is checked out, run npm run local-update within locally cloned site repo to confirm the site will function correctly at the next release.

Thanks, @celador !


Port GWP-ASan from internal TCMalloc.

GWP-ASan is a low-overhead sampling-based utility for finding
heap-use-after-frees and heap-buffer-overflows.
This implementation supports up to 64 allocations at a time with sizes
in the range [1, kPageSize]. The sampling rate is controlled by the
environment variable TCMALLOC_GUARDED_SAMPLE_PARAMETER, which defaults
to never doing a guarded allocation.
When a memory error (segfault) is detected, stack traces are printed for
point of allocation, point of deallocation (if applicable), and point of
error.  This implementation crashes on segfault.

Installing segfault handler all the time is a problem. We cannot afford installing signals in a library in general case. Doing this if user explicitly asked for it is fine, but not silently.
go/gwp-asan link is irrelevant externally.
We'll also need to ifdef new code to gcc (because of builtin_ctzll) and some kind of unix or just Linux for now due to usage of mmap/mprotect/segfault signal etc.
I'll deal with map_noreserve and spinlock thingy internally first.

Please also add guarded_page_allocator_test and guarded_page_allocator_test.sh to .gitignore

Test is not ifdefed. But I am wondering if we can get cleaner ifdefing if include file isn't used when not supported. Same could be done to makefile. Perhaps even even via configure flag, but I am thinking perhaps asking you to do autoconf is too much. So lets just do something that works and I'll clean up as necessary.
Also travis tests are timing out. I fixed c++11 so it should be something else now.

Much thanks for your work, again. Test is not passing on my box (fairly regular up-to-date debian sid x86-64 machine). http://paste.debian.net/1037862/
And when I manually run test number 392 (one that fails), I see that it crashes without printing gwp-asan stuff.

On Tue, Aug 14, 2018 at 9:21 AM, Matt Morehouse<EMAIL_ADDRESS>wrote:

Hmm. The failing tests are the ones that test for guarded sampling.
Any way I can reproduce to debug? Have you disabled sampling in your
configuration?

This is just standard ./autogen.sh && ./configure && make check.
And I just tested on work glinux machine and I get same results. So you
should be able to reproduce on yours.

On Tue, Aug 14, 2018 at 12:28 PM, Aliaksey Kandratsenka <
<EMAIL_ADDRESS>wrote:

On Tue, Aug 14, 2018 at 9:21 AM, Matt Morehouse<EMAIL_ADDRESS>wrote:

Hmm. The failing tests are the ones that test for guarded sampling.
Any way I can reproduce to debug? Have you disabled sampling in your
configuration?

This is just standard ./autogen.sh && ./configure && make check.
And I just tested on work glinux machine and I get same results. So you
should be able to reproduce on yours.

Actually, that was wrong. It passes with make check. Fails when running .sh
manually, but only due to lack of sampling environment variable.
So pastebin above is likely invalid. I'll double check on my home box later
today.

Looks like a bug in GCC:  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83428

Could be bug, but has to be a lot more subtle than one you linked. That ticket looks invalid to me.

Here is godbolt: https://godbolt.org/g/EWH1nY
Again, I am not sure I am able to read legaleze of standard but constexpr constructor for SlotMetadata "fixes" it.

Thanks for looking into this.  After looking through the standard, I have a theory about what's going on.
According to 7.1.5/4, constexpr constructors must initialize all data members, and any constructors called from the constexpr constructor must also be constexpr.
Now SlotMetadata doesn't technically have a constexpr constructor, but there's no reason its contents can't be initialized statically.  Some compilers will detect this and essentially insert the constexpr specifier on the SlotMetadata constructor, but compilers are not required to do this.
Now compilers are not required to emit errors if a constexpr constructor is not actually constexpr, and can instead silently remove the constexpr specifier.  However, if we try to instantiate an object as constexpr and there's no valid constexpr constructor, then the compiler must emit a compile error.  I will add a test for this to prevent future regressions.
To fix the issue, we can either add constexpr constructors to SlotMetadata and StackTrace as you suggested, or we can use aggregate initialization for SlotMetadata.  Aggregate initialization will not technically call a constructor, so we don't need to worry about constructors being constexpr.

Matt, looks like we should be ready for another round? Can you please update this to very latest internal code and post? Alternatively, we wait for tagged address sampling, but I think there is value shipping current version.

Any idea what the timeline is for re-open-sourcing TCMalloc?
Also, mitchp@ is starting to work on a version of GWP-ASan that lives in llvm/compiler-rt.  Short-term plan is to integrate that version with Scudo.  Long-term, we'd like to converge implementations between Google3, Chrome, and compiler-rt and just use the compiler-rt one for everything.
Maybe we can hold off on this PR for now?

Matt, you probably don't care about this anymore?

No plans to work on this.  We'll get GWP-ASan for free when the new TCMalloc is open sourced.

And it already has. But gperftools will stay. Which means it won't get
gwp-asan yet. But inho no big deal. Thanks for response.
On Mon, Feb 10, 2020, 08:25 Matt Morehouse<EMAIL_ADDRESS>wrote:

No plans to work on this. We'll get GWP-ASan for free when the new
TCMalloc is open sourced.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/gperftools/gperftools/pull/1028?email_source=notifications&email_token=AAADUAVNUIIN5SBBY4VI2KDRCF5V3A5CNFSM4FNUERY2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELJEUNI#issuecomment-584206901,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAADUAXU2XS5Y7EHEXK2XK3RCF5V3ANCNFSM4FNUERYQ
.


#63 cast players in TrackerEvent.str

This addressed issue #63.
Looking into the issue, it appears that python3 handles format strings differently from python2. In this case, both None and not None values were failing because neither had properly implemented __format__ necessary for the alignment formatting provided. The easy fix is to cast to a string first, and that can be properly formatted.
I considered adding __format__ to Entity, but I saw there was already something in there and got scared.
https://github.com/ggtracker/sc2reader/blob/cc364ffa7ed675cf907e1d62b1bb6e9497007401/sc2reader/objects.py#L157
Maybe someone else will get around to it if this same issue comes up in a another place. At least this fix appears to work for now

@StoicLoofah I think I have updated and tested this change in: https://github.com/StoicLoofah/sc2reader/pull/3 which if you accept you can then update this pull request I think?
There was a rebase involved to bring it up to date with upstream to avoid a merge commit, which I haven't had to do before and might not work.


[ALLUXIO-2922] Simplified Ceph Config Language

https://alluxio.atlassian.net/browse/ALLUXIO-2922

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/20395/
Test PASSed.


[BUG] Running PyTest in a low version of PyTest may lead to errors “AttributeError: module 'pytest' has no attribute 'FixtureRequest'“

@pytest.fixture
def context(
    browser: Browser,
    browser_context_args: Dict,
    pytestconfig: Any,
    request: pytest.FixtureRequest,
) -> Generator[BrowserContext, None, None]:
    pages: List[Page] = []
    context = browser.new_context(**browser_context_args)
    context.on("page", lambda page: pages.append(page))

    tracing_option = pytestconfig.getoption("--tracing")
    capture_trace = tracing_option in ["on", "retain-on-failure"]
    if capture_trace:
        context.tracing.start(
            name=slugify(request.node.nodeid),
            screenshots=True,
            snapshots=True,
        )
def _build_artifact_test_folder(
    pytestconfig: Any, request: pytest.FixtureRequest, folder_or_file_name: str
) -> str:
    output_dir = pytestconfig.getoption("--output")
    return os.path.join(output_dir, slugify(request.node.nodeid), folder_or_file_name)

In python3.9+,pytest no longer exists ‘FixtureRequest’
If the ‘FixtureRequest’ is changed to ‘fixture’, it is used normally

Which pytest version are you using?

您使用的是哪个 pytest 版本？
Sorry, it's the lower version of Pytest
5.4.2

Fixtures, rather than FixtureRequest, are used to accommodate problems caused by lower versions of PyTest

Yes, there are still more 6.0+ now, but I still use the 5.x version due to the historical project, maybe it is just me?

是的，我更喜欢只支持pytest 6+，因为5.4.2也快2岁了。我们可以在setup.py中将其设置为最低版本，但到目前为止没有人抱怨。是什么阻止您升级？
Yes, it can be done, but if there is a low version, it can not be used well, maybe it would be a good choice to solve it, THE PR I submitted did not pass, I do not have a MAC, so I can not debug, I think the reason is the prompt connect TimeOut

Closing since pytest 6+ is required. There were no other reports in the past years.


Passive joints are broken

As a consequence of #177 , passive joints don't work any more (try #172).
The joint is now fixed, even if no command interface is defined.

That PR was fairly old I think when we merged it, it's not too surprising something wasn't fully aligned.

I'll make myself a reminder note to never merge wildly unscoped PRs in the future ;)

fixed with #237


UI/link: after successful tx

Currently after send a successful tx the nearest visible link is:

Seems like Repeat a transaction is an infrequently used and not-to-be-encouraged action... would rather have a link to View Transaction History, with, if necessary, a button for repeating a transaction possibly within the transaction history UI.

Can I attempt to fix?

Repeat functionality should be fixed according to https://github.com/ethereumproject/emerald-wallet/issues/343


Eel with ability to make push notifications within js

I've played around with Eel a little bit and it is amazing!
I'm building a personal app and I wanted the ability to create custom push notifications in javascript. I have the whole system built but I think this feature would be very beneficial for the broader Eel community
I am willing to personally work on the PR for this feature. Can I get some guidance or advice on how to proceed? Appreciate it!

Hi, modern browsers support desktop notifications using Javascript. Keep in mind that user must explicitly agree to these notifications. Here is a good example script:
https://developer.mozilla.org/en-US/docs/Web/API/notification#Examples
Alternatively you could search for a Python library:
https://www.devdungeon.com/content/windows-desktop-notifications-python


[BUG] etc/scripts/pre-commit does not fail when linter fails

Not sure when this changed, but etc/scripts/pre-commit runs make check, which runs npm run lint, which runs npm run lint-client && npm run lint-server, each of which passes --fix to eslint.
This behavior makes sense for make check, since it will automatically fix trivial issues.
It does not make sense for the pre-commit script, since if it fixes all the trivial issues it will exit with status 0, the commit is not aborted, but the fixes don't make it into the commit.
The pre-commit script should probably npm run ci-lint.

I never realised make check had --fix ! I think it's probably my fault a ways back...sorry!


5.3 | Remove 'UPDATE' operation from validation hook

As the 'UPDATE' not necessary and creating un-usual duplicate logs,
removing it from validationwebhookconfig operations list.

@xB-2048 @rshmiel


ReferenceError: document is not defined

I'm trying to use Next.js to render part of my app, but I keep getting
ReferenceError: document is not defined
    at Object.<anonymous> (/Users/patricklu/Q5/lunyr/Lunyr-Frontend/node_modules/domkit/builtinStyle.js:3:18)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Module.require (module.js:513:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/patricklu/Q5/lunyr/Lunyr-Frontend/node_modules/domkit/getVendorPropertyName.js:3:20)
    at Module._compile (module.js:569:30)

There's no instance in my app where I reference domkit, but somehow it keeps showing up. I only have one page in my app, and I've gone so far as to change my render method to this:
render() {
    return (
      <div>
      </div>
    );
  }
}

But it's still not rendering properly.

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior

Renders fine.
Current Behavior

Render error
Your Environment

Tech
Version

next
5

node
8.1.2

OS
macOs

browser
Chrome

etc

You're importing something that uses document, or referencing it somewhere. It's unrelated to Next.js.


Add option for storage class for the postgresql fragment

We should prompt for storage class name since that could vary by cluster and apply it to the postgres.yaml file
  storageClassName: standard

We should also set the monitorStorageClassName property to the same storage class since "standard" is not always a configured storage class.

Linked PR will contain, along with the service binding, this improvement.


MailIntervalAction is crashing

Gotten some crash reports for MailIntervalAction double freeing memory

hasn't happened in awhile...


We lack an overall context (e.g., ontology) for MusicBrain database.

For NLQ2SPARQL, the current experiment is only based on creating context (ontology) for each isolated Natural language question.
See:
https://github.com/DDMAL/linkedmusic-queries/blob/main/LLM2SPARQL_TheSession_WikiData_MusicBrainz/Leveraging ChatGpt for Natural Language Query to SPARQL on Virtuoso.pptx
We need an overall context for further experiment.
Ideally, the context should be referential to converting any natural language question to SPARQL

I refer to the solution for this https://github.com/DDMAL/linkedmusic-queries/issues/23

As of 2024 Dec 10, we read about that, for NLQ2SPARQL against an RDF database, the Schema rendered by ShEx is more effective than that by OWL (or RDFS). The former serves as a more appropriate context to train LLMs. So, the solution for this issue can be deferred.


Remove trailing function comma in class transform

This trailing comma was causing the class transform to fail on my environment even when called with the --babel flag.
Environment info:

macOS 10.12.2
jscodeshift: v0.3.30
babel and friends: v6.24.1

@jsnmoon I have the same problem. Do you think this will get merged or did you find a workaround? Other people don't seem to be having this problem.

Hi @nickdima, this issue occurs for me intermittently and I'm still in the middle of investigating why it occurs - no workarounds yet. My guess is that somewhere in our dependency chain, babel-register is loading a version of babylon that doesn't have trailing-function-commas plugin enabled by default.
No word on if/when this will be merged, unfortunately.

Hi @bvaughn, would it be possible to get this PR looked over? This, along with #132, #156, and #157 have been instrumental at leveraging this codemod over at @automattic.
Please let me know if you see anything amiss. I would be more than happy to address any outstanding issues on this PR as well as the other PRs mentioned above.
Thanks!

Thanks for pinging me about these PRs! I'll take a quick look at the others.


Extension to validate?

Would there be an easy way to add validations to certain declared properties or hash keys?
For example:
class Mine < ::Hashie::Dash
    include ::Hashie::Extensions::MethodAccess
    include ::Hashie::Extensions::MethodValidation

    property :title, required: true, validated: true

    def title_valid?(value)
      ...
    end
end

Perhaps even:
class Mine < ::Hashie::Dash
    include ::Hashie::Extensions::MethodAccess
    include ::Hashie::Extensions::MethodValidation

    property :title, required: true, validated_common: true

    def property_valid?(name, value)
      ...
    end
end

What types of things would you want to validate? Type "validations" can be done using the property translation mixin (i.e. the behavior that Trash adds to Dash).

Specifically, I'd like the hash classes to provide a mechanism for validating semantics (values). Using the above example:
def title_valid?(value)
    value.length < 16
end

def property_valid?(name, value)
      false if value.nil?
      value =~ /email_regex/ if name.start_with?('email-')
      ...
end

I'd be great to know that (e.g.) Dash refuses to accept entries that have a value of nil :).

I have been doing this to get validations:
      include ActiveModel::Validations

I think @martinstreicher is onto something, ActiveModel is the "golden standard" and just works out of the box. Any reason why we would still want this here?

This is a code snippet from a class derived from Hashie.
require 'hashie/dash'

module DSL
  module Keywords
    class Base < Hashie::Dash
      include ActiveModel::Validations

I can then do things like validate :method and valid?  There is some overlap with things like Hashie::Dash require and validates_presence_of, but I can use all the rest of the common validators, plus write any of my own.

I wonder whether we should add this to the docs, what do you think @martinstreicher ?

I think it worthwhile. In my recent use cases, I am using Hashie::Dash as a stand-in for ActiveModel where I don’t require persistence. I use the other features of Hashie like coercion and dot access and mix in ActiveModel components to do validation, etc.
On Aug 22, 2015, at 3:43 PM, Daniel Doubrovkine (dB.) @dblockdotorg<EMAIL_ADDRESS>wrote:

I wonder whether we should add this to the docs, what do you think @martinstreicher ?
—
Reply to this email directly or view it on GitHub.

I'm looking forward to a PR from @martinstreicher  :)


CMAKE Build

Adds CMAKE files used for compiling.
Tested on Pelrmutter and SCOREC.

@nferraro as discussed, we put together this pull request for converting the fusion-io build to cmake to make it easier to link/integrate with other packages and as a starting point for integrating with PCMS.
Please let us know if there are additional things that are needed for this.

Thanks!  I'm not very familiar with cmake.  When I try to build this PR using cmake on perlmutter,
I'm getting the following error:
nvfortran-Error-Unknown switch: -fdefault-real-8
nvfortran-Error-Unknown switch: -fimplicit-none

Here are the commands that you need to compile on perlmutter. (Note that you have to run them from outside the fusion-io directory):
module load cray-hdf5

cmake -S fusion-io -B build-fusion-io \
    -DCMAKE_INSTALL_PREFIX=build-fusion-io/install \
    -DBUILD_TESTING=on

cmake --build build-fusion-io --target install -j8

@nferraro what compiler are you using?

@jacobmerson This is Chang Liu from PPPL. I developed the CMake build files for M3D-C1 and I am also working on Fusion-IO build file. The purpose is to make it work with Spack. I have pushed my build files to a new branch "cmake_changliu". I think your pull request provides better implementation and is almost ready to merge. I just have a few requests,

Instead of writing presets files for different machines (which is hard as we need to support many machines), can you write different Fortran options for different compilers? We need to support GNU, Intel, NVHPC and Cray (mostly for Frontier). You can check my CMakeLists.txt.
I noticed that you have Python module compiled, but there is no installation instruction for that. The Python module should be installed into a different library path determined by the Python version used. In addition, the fpy.py file also needs to be installed.
Can you add some CMake switches? like ENABLE_PYTHON, ENABLE_TRACE? This can make developing Spack package file much easier.

@jacobmerson @Angelyr Thank you for the answers.

I was not familiar with CMakePresets.json before and after reading your comments I think it is indeed a good idea to use it. We can set a hierarchical structure in it, different presets for different compilers or machines. For new machines the user can create a new preset inheriting settings from a previous one. My only concern is that whether this can work well with Spack, as we want to make Spack package.py as general as possible and not depending on any machine-dependent settings.
I think it is OK to ask the user to set the PYTHONPATH variable. For Spack we want user to be able to use the python library just after installing it. Spack only sets PYTHONPATH to the site-packages directory of the current installed python, so it is better to install the python library (.so file) and other python scripts to this directory. This can be done by passing "python_platlib" to the CMake install script in package.py. You can find an example at https://github.com/spack/spack/blob/6a6c2959384b8242acf63e9f3f7ed6a2f38b6e1d/var/spack/repos/builtin/packages/damaris/package.py#L10

That's a good point about spack integration. It could potentially cause a need for duplication in the flags if we had to include them both in the CMakePresents.json file as well as in the spack package.py as CMAKE_CXX_FLAGS

I asked about this on the slack channel and I'm sharing the screenshots below. Ryan Krattiger suggests that we can pas the --preset argument to cmake_args. This seems like it might be a reasonable way to handle this. But, it's a new modality for me, so I think we should try it out and see if we think it's a scalable solution.

@changliu777 I've made the changes that you requested. Feel free to take a look and let me know if there are any other changes.
I've removed the CMakePresets.json since the flags I was testing were required for compiling. In the future I believe it will be better to reserve CMakePresets.json for optional flags.

@changliu777 I think this is ready for your review.

@Angelyr @jacobmerson
Thank you. I got the following error in the make install stage
CMake Error at fusion_io/cmake_install.cmake:114 (file):
  file INSTALL cannot find
  "/home/liuchang/fusion-io4/fusion_io/fusionio-config.cmake": No such file
  or directory.
Call Stack (most recent call first):
  cmake_install.cmake:52 (include)

I think CMake is looking for fusionio-config.cmake but it is not available in the directory.

@jacobmerson @Angelyr Thank you for the answers.
The CMake files can build and install. However, the Fortran module file in fusion_io directory, through generated, are not installed to the INCLUDE directory.
These module files are necessary to build Fortran code depending on FusionIO.

@Angelyr Right now the fio_py.so and fpy.py files are not installed to the installation path, but to the compilation directory. This might be OK to use if we ask the user to set the PYTHONPATH manually, but it will not work for installation in Spack. I suggest to the following
  if(DEFINED PYTHON_MODULE_INSTALL_PATH)
    install(FILES fpy.py
          DESTINATION ${PYTHON_MODULE_INSTALL_PATH})
    install(TARGETS fio_py
          DESTINATION ${PYTHON_MODULE_INSTALL_PATH})
 endif()

I didn't know about that PYTHON_MODULE_INSTALL_PATH. That's super useful.

@jacobmerson FYI, PYTHON_MODULE_INSTALL_PATH is not an official name from CMake or Python, but it is used by some Spack package maintainers (and some use a different variable name).

@Angelyr Can you please add the installation of excutables trace and plot_dr to the bin directory? Like this
install(TARGETS trace plot_dr
   RUNTIME DESTINATION "bin"
)

@changliu777 Ok, I have made that change.

@Angelyr you should use BINDIR from GNUInstallDirs rather than hardcoding bin

@changliu777
I made the change, but I haven't tested it. Were you planning on testing it?

@changliu777 Ok done.


Linux Mint: Atom not reopening files

On Linux Mint 18.1 Serena, Atom does not reopen the files I last had open, causing an inconvenience that is quite annoying. On my Windows partition, it does reopen the files I was last editing. My application.json seems to always be
[{"initialPaths":["/home/ethan/VEX-709S-2018"]}]

and my icon on the dock runs the command
/usr/share/atom/atom

This is reproducible in safe mode, and I quit by hitting the 'X' in the corner

If you open your project with "Open Recent Project" and it opens in a new window. Then close the old window first then the new one. Does the path change (Just trying to find out if this is a duplicate issue)

When I reopen a recent project, it's this:
[{"initialPaths":["/home/ethan/VEX-709S-2018","/home/ethan/VEX-709S-2018/cpls"]},{"initialPaths":["/home/ethan"]}]

Then is
[{"initialPaths":["/home/ethan"]}]

After I close the first window and after the second

A reinstall fixed it...


Explain the security issue?

It seems that the dropbox link which disclosed the security vulnerability is a dead link. Would you mind explaining it so that other developers can learn from it?

The dropbox link doesn't explain the vulnerability. It is only an "icon". See http://web.archive.org/web/20160304140911/https://dl.dropboxusercontent.com/u/402325/dontdelete/magpie.jpg
I have never seen the demo while it was still live and I can only guess what the vulnerability might be. I hope this helps anyway.
The author says that users were able to see the whole filesystem (see https://github.com/charlesthomas/magpie/issues/73#issuecomment-190828371). I think this is related to the setting for the repository path. The setting is available via the web interface so an attacker is able to view any git repository (if permissions for the magpie user allow that). I have never tried setting this to a non-git directory but that may yield interesting results. I'm not sure whether this functionality was disabled in the demo.
If magpie is running from a clone of this repository and the magpie user can write to that directory, you have remote code execution (if you can guess or find out the path to the repo).
In addition, the code that handles settings doesn't handle special characters. This is not required for normal operation. However, I think this may also allow remote code execution.
I'm using magpie with external access controls (in a VPN) and I trust all the users (only me) so I'm not too woried about the vulnerability. Nonetheless, I would also like to know whether charlesthomas knows any additional vulnerabilities. They are probably not too hard to fix once we know where to look.

thanks! closing this for now as that satisfies my curiosity


How to connect to RabbitMQ cluster?

Hello,
I have three nodes of RabbitMQ in cluster and want use them properly according to docs but I cannot find any mentions of how to specify their FQDNs properly, it there a way to use clustered RabbitMQ at all?
Thanks in advance.

Did you look at the example code?
Your application will have to choose a node in your cluster and connect to it with this library. If an un-recoverable connection error or other error occurs, your application will have to choose another node and connect to it. streadway/amqp does not provide that for you.

@lukebakken huh, so streadway/amqp doesn't handle clustered RabbitMQ backends, thanks!

Some AMQP clients support that (like the RabbitMQ Java client), but most don't and leave "higher level" operations like that up to the application developer or to another library (like EasyNetQ for .NET).
With enough demand and volunteer time, this library could support that as well. Another option is to use haproxy to round-robin connections.

@teran
Try this extension with reconnect and cluster supported:
https://github.com/sirius1024/go-amqp-reconnect


Add callback for fail-rs

Signed-off-by: Little-Wallace<EMAIL_ADDRESS>I want to add a new kind of action for fail-rs, which can help TiKV be able to stop at some statement and call one callback function that set by tests. This feature will help use more convenient to deal with some tests which need to wait for a while, because we can pass a callback to fail_point to notify test-thread to avoid waiting.

Awesome!


Fix: pre-version parsing

Currently, parsing of the pre-version part (which comes at the very end) is implemented using a crude conversion of a string to number. It is necessary to rework the algorithm and make it compliant with PEP standards in order to avoid potential issues with package traversal (e.g.: pytz, tensorflow)

Referring to the phrase in PEP 440:

Tools SHOULD ignore any versions which cannot be parsed by the rules in this PEP

the decision has been made to ignore packages published as post and dev versions. Such versions are rarely used and will not affect the user experience.
If someone really needs this functionality, they can open an issue and describe an elegant and optimized algorithm for parsing and comparing such versions.


Deploy to heroku on merge to master

Lets automate the deploy process here so we don't need to do manual steps to rollout

Did this


Update Known Issues docs with Model Explanation section

Added a section for Model Explanations

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

@gregorybchris Please add any suggestions or edits here!

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

Hi @minthigpen - This pull request was opened in the public repo. PMs should work in the private repo, per the Microsoft Docs contributor guide. We'll merge this PR when it's signed off, but would you make future content updates in the private repo? In a pull request in the private repo, you can request review and approval from colleagues before you sign off. Thank you!

@ktoliver Sorry about that! Yes, will do that next time, just slipped my mind.  Thanks for the reminder :)

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

Hi @ktoliver - for some reason I'm not seeing the docs update with the changes I made? https://docs.microsoft.com/en-us/azure/machine-learning/resource-known-issues#automated-machine-learning
Do you know when the changes will go through?

Hi @ktoliver Kristine Toliver (Aquent LLC) Vendor - for some reason I'm not seeing the docs update with the changes I made? https://docs.microsoft.com/en-us/azure/machine-learning/resource-known-issues#automated-machine-learning
Do you know when the changes will go through?

Hi @minthigpen - Changes made in the public repo are synced to the private repo/master before they are pushed to live. I don't know the sync schedule (I'm not involved in publishing). @MicrosoftDocs/pubdesk Can you help with the question of when an update merged in the public repo might be reflected in the live article?

@ktoliver and @minthigpen: The sync PR from the public to the private repo will be merged before scheduled publish (10AM and 3PM) and the changes in public repo then will go live along with the publish. The next publish is 3PM of today, so your changeS should be live after 3PM publish.

Ah I see, thank you so much!


Feature request: reliable framed transport

Currently with transports such as the serial transport, we can't be sure whether a message has been correctly received or not. In fact, the other side might even not be listening. OTOH sometimes the serial transport is the only choice, when tiny MCUs are involved.
It would be cool to have a reliable connection-based framed transport.

Hi @chenlijun99 , serial transport allows framed transport, hope you are aware of this. As for the "reliable connection-based framed transport" it is up to the application now to ensure the server is running before an erpc request is issued on the client side ... but yes we could think of implementing this connection-establishing mechanism into the erpc lib. Thank you.

Hi @MichalPrincNXP ! Thank you for your reply. I'm aware that serial transport is a framed transport (in fact it inherits from FramedTransport). What I meant with "reliable framed transport" was to add connection establishment and other things like ARQ upon the current "framed transport".

Shameless plug. For anybody working with Espressif MCUs and that is interested in this, in https://github.com/Kerr-srl/erpc-esp I have implemented a reliable transport based on Tinyproto.


Feature Request: Prolong token lifetime through Refresh tokens (request for comments)

Hi,
I'm not sure if this is the plan behind PR #29 but I wanted to propose a mechanism to be able to prolong  the lifetime of a token.
Use case
Normally, you're probably going to use the auth server not directly but transparently through your docker client when you pull (or push) an image from a docker image registry. The docker client is smart enough to actually store a copy of your username and password so you only have to login once to every registry you interact with. Docker stores this on Linux in the file ~/.docker/config.json.
~/.docker/config.json
{
    "auths": {
        "<IP_ADDRESS>:443": {
            "auth": "c2VjcmV0Cg==",
            "email"<EMAIL_ADDRESS>        },
        "<IP_ADDRESS>:5000": {
            "auth": "c2VjcmV0Cg==",
            "email"<EMAIL_ADDRESS>        },
        "https://index.docker.io/v1/": {
            "auth": "c2VjcmV0Cg==",
            "email"<EMAIL_ADDRESS>        }
    }
}

Let's suppose you want to write an application that let's you browse your docker image registry which is protected with JWT tokens. Below I discuss some of the implications this has.
How the auth server fits in
Since your docker image registry is configured to require a JWT token, you need to login to the auth server with your username and password and query if you have the required permissions to access the resource in the docker registry. The auth server then creates a token and signs it and you must hand it over to the docker image registry together with you actual request.
Token lifetime and cached credentials
Each token has an expiration or lifetime of some sort. To get a new token, one has to provide a username and a password to the auth server again. What if you want to go: hey, my token is about to expire in a minute, let's contact the auth server and prolong the token? Of course, the auth server currently requires as username and password and you won't actually prolong a token but instead get a completely new one. To achieve this however, you would have to cache the username and password used when making the first request to the auth server. In practice this is a no go!
Proposal
What if the auth server sends back not only the actual token we're going to hand over to the docker registry but also send us a (the client) a refresh token (https://auth0.com/blog/2015/10/07/refresh-tokens-what-are-they-and-when-to-use-them/ or https://auth0.com/docs/refresh-token) of some sort? Given such a refresh token, a client can request a new prolonged token without asking the user for a password on each request and without caching the credentials.
Storing refresh tokens on server side for invalidation/revocation of "sessions"
Through refresh tokens it is possible for an application to always have an unexpired token. This can be dangerous because no matter how short you set the expiration time of your normal JWT-token, the client will probably be able to artificially keep the lifetime as long as it wants.
If the auth server can keep track of the refresh tokens it has authored (maybe see #29 for this), then one can also implement a form of invalidation or revocation of refresh tokens. Just suppose that every refresh token being sent to the server is checked against a database and if it finds a match, the refresh token is considered okay; otherwise the refresh token has been effectively made unusable. (This can be compared to application specific passwords you authored in your Google or Facebook account.)
Final thoughts
What do you think of this idea? Do you see a use for this? I wrote the docker-registry-frontend and this is the use for myself. All in all the workflow won't break the communication between the docker client and the docker registry because the refresh token can be transmitted by the auth server in some X-header that is ignored by the docker client.
If you think this idea is good then I ask you to discuss whether a refresh token lets you query for a different repository or namespace than you originally asked for. In my opinion this should be possible; otherwise you'd need credentials again. Also, you might want to ask the auth server for access to more than one repository/namespace at a time. The problem right now is that the auth server doesn't support this kind of list-requests. But it is not required and an application probably can keep a token for each individual resource and refresh those individually as well.

yes. frankly, the idea of storing plain text u/p on the client horrifies me.
this is why i went for a temporary passwords for google auth - no way i'm going to store google account password in the clear. it basically already acts as such a token - despite being called a password.
it has not expiration itself, just as oauth refresh token.
maybe we can generalize that mechanism?

Hi,
I see there is an option for offline_token=true to get access_token in spec[1], I do not see this is being supported by docker_auth. I guess it was added to the spec after?
Thanks!
[1] https://github.com/docker/distribution/blob/master/docs/spec/auth/token.md


Error handler for JSON:API specs

I just started to implement JSON:API server with Spiral framework. JSON:API requires use of application/vnd.api+json media type usage for HTTP requests/responses.
For now I found some small problem with error handling for Accept: application/vnd.api+json as current implementation of ErrorHandleMiddleware checks only for specific application/json content type. And I want to receive JSON formated error for such request.
https://github.com/spiral/framework/blob/95deaee7eb403364d0b82acf3fc337fda7c094f0/src/Http/Middleware/ErrorHandlerMiddleware.php#L112
As well for JSON:API the response type must be set to: application/vnd.api+json.
https://github.com/spiral/framework/blob/95deaee7eb403364d0b82acf3fc337fda7c094f0/src/Http/Middleware/ErrorHandlerMiddleware.php#L113
As a fix for that I want just extend ErrorHandleMiddleware with my own implementation, just override the ErrorHandleMiddleware::renderError method.
But ErrorHandleMiddleware is a final class so I can't do that.
https://github.com/spiral/framework/blob/95deaee7eb403364d0b82acf3fc337fda7c094f0/src/Http/Middleware/ErrorHandlerMiddleware.php#L33
As well similar problem exists in JsonPayloadMiddleware::isJsonPayload method:
https://github.com/spiral/framework/blob/95deaee7eb403364d0b82acf3fc337fda7c094f0/src/Http/Middleware/JsonPayloadMiddleware.php#L50
Can contribute some code to fix this issues, but first would like to hear your suggestions how you guys want this to be fixed if you want this to be fixed at all on framework level or should I write my own error handling and json payload middleware?

Feel free to update both middlewares with the new content type (ideally abstract it a bit). The finals are only to make sure that we have proper damage control (i.e. freedom to change internal API without affecting your projects).
I would avoid extending such classes, but rather inject new functionality via composition or directly (as it seems like a simple content-type header).
Thank you for your help!

Can this one be closed?


cmake: Generate and install a pkg-config file

I'm trying to build mtxclient, which expects a nlohmann_json pkg-config
file to exist in the system.  The meson builds install a pkg-config
file, but the cmake builds don't.  This adds a pkg-config file to the
cmake builds that is functionally equivalent to the one generated from
meson.
Signed-off-by: Palmer Dabbelt<EMAIL_ADDRESS>

Coverage remained the same at 100.0% when pulling b8b189dcb2f56d4c3179063f457a72aea5b1f64b on palmer-dabbelt:cmake-pc into a015b78e81c859b88840cb0cd4001ce1fe5e7865 on nlohmann:develop.

@nlohmann is this the right place to send pull requests of this sort?

Thanks for the PR! The code looks good, but could you please also add a note to the README how to use the library with pkgconfig?


Dev version not published for @azure/arm-compute preventing daily docs

Build error -- https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1002747&view=logs&j=b1e79959-24d8-5aa9-2799-72d40c3e051b&t=616ae03f-d350-5ea1-2948-454bf182d472
Write-Error: Found non alpha version artifact to publish as dev version. Failing publish step. VersionPolicy should be client or core in rush.json to get alpha version build.

Closing in favor of #16457


Feature: Sync version

Hi!
Would a PR that adds a sync variant of spawn-command be accepted?
This could be done in mainly two ways as I see it.
A.
Provide an alternative sync version and export both of them.
var spawnCommand = require('spawn-command');

spawnCommand(); // As before
spawnCommand.sync(); // A new sync variant

B.
Support an optional third argument that takes the function that should be used as spawn.
var spawnSync = require('child_process').spawnSync;
var spawnCommand = require('spawn-command');

spawnCommand(command, options, spawnSync);

yess


Coveralls (coverage analysis) feedback

Hi folks,
I was browsing your repo and noticed two things about your implementation with Coveralls.io that I thought I should flag to you.
Pytest files are being included in your coverage analysis.
Typically, we don't want to include these in the coverage analysis, as they should all execute and are not part of the core software. Coverage analysis (and thus %) is typically only done on the core software.

When clicking on files in the Coveralls.io browser, an error of "Source is not available" is show
See below:

When functioning correctly, Coveralls.io should show the content of the files as well as which lines are/aren't "hit" by the test. See example for AxonDeepSeg below:

Possible solution(s)
I noticed that how you're calling pytest's coverage options is different than our implementation in AxonDeepSeg. Maybe copying our command options would provide better results for you.
Ivadomed:
https://github.com/ivadomed/ivadomed/blob/5579c71e8c93dfdb0ca72952bdde604b84bc645e/.github/workflows/run_tests.yml#L49
AxonDeepSeg:
https://github.com/neuropoly/axondeepseg/blob/f0a00067a5aa4477c5a05eabe796a2e5f212145d/.github/workflows/run_tests.yaml#L102
Cheers,
Mathieu

Not sure if it is an issue on the Coverall display side of things?
I see the content file without issue. Maybe it was a permission issue? I wonder if anyone else can see it.

I tried it in incognito without logging in and I see that the source is not displayed.

So I suspect Coverall is probably checking some sort of permission? Odd for sure and worth a closer look in depth.
Adding acceptance criteria for successful issue resolution:

Exclude testing folder from Coverall submission process in CI
Investigate and report on Coverall policy on source code visibility related settings.

I just tried again and still can't access it - very odd that you can.

I just tried to look at one of  our AxonDeepSeg files in Coveralls.io using incognito mode with my browser, and can access it just fine:

If you get stuck debugging this, let me know if you'd like screenshots of our settings so that you can compare both our repo's settings.

@cakester I was reviewing this issue and noticed that while IvadoMed has the .coverage.rc excluding setup.py, ADS does not have similar coverage configuration file. Could you investigate whether removal of that file would allow source to be visible in Coverall?


[BUG] Azure.Identity.CredentialUnavailableException: ManagedIdentityCredential authentication unavailable. No Managed Identity endpoint found.

Describe the bug
When we enable Managed Identity in AKS, some pods can't get auth token, the SDK throw exception
Azure.Identity.CredentialUnavailableException: ManagedIdentityCredential authentication unavailable. No Managed Identity endpoint found.
   at Azure.Identity.ManagedIdentityClient.AuthenticateAsync(Boolean async, TokenRequestContext context, CancellationToken cancellationToken)
   at Azure.Identity.ManagedIdentityCredential.GetTokenImplAsync(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)
   at Azure.Identity.CredentialDiagnosticScope.FailWrapAndThrow(Exception ex)
   at Azure.Identity.ManagedIdentityCredential.GetTokenImplAsync(Boolean async, TokenRequestContext requestContext, CancellationToken cancellationToken)
   at Azure.Identity.ManagedIdentityCredential.GetTokenAsync(TokenRequestContext requestContext, CancellationToken cancellationToken)
   at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AccessTokenCache.GetHeaderValueFromCredentialAsync(TokenRequestContext context, Boolean async, CancellationToken cancellationToken)
   at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AccessTokenCache.GetHeaderValueAsync(HttpMessage message, TokenRequestContext context, Boolean async)
   at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AccessTokenCache.GetHeaderValueAsync(HttpMessage message, TokenRequestContext context, Boolean async)
   at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AuthenticateAndAuthorizeRequestAsync(HttpMessage message, TokenRequestContext context)
   at Azure.Security.KeyVault.ChallengeBasedAuthenticationPolicy.AuthorizeRequestInternal(HttpMessage message, Boolean async)
   at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RedirectPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.HttpPipeline.SendRequestAsync(Request request, CancellationToken cancellationToken)
   at Azure.Security.KeyVault.KeyVaultPipeline.SendRequestAsync(Request request, CancellationToken cancellationToken)
   at Azure.Security.KeyVault.KeyVaultPipeline.SendRequestAsync[TContent,TResult](RequestMethod method, TContent content, Func`1 resultFactory, CancellationToken cancellationToken, String[] path)
   at Azure.Security.KeyVault.Secrets.SecretClient.SetSecretAsync(KeyVaultSecret secret, CancellationToken cancellationToken)

But the error not always occurs. Our AKS cluster have 3 nodes, when a new pod is created, it may have the error. If we delete the error pod, the newly created pod would not have the error. According to our test, it is not always happened on a specific node. And we check the nmi log, it also have not special error log for the CredentialUnavailableException.
It seems that the AKS node and NMI pod is healthy, we wonder why SDK can't find the MI endpoint.
Expected behavior
What is the expected behavior?
SDK can access the MI endpoint successful.
Actual behavior (include Exception or Stack Trace)
What is the actual behavior?
SDK throw exception although NMI pod is healthy.
To Reproduce
Steps to reproduce the behavior (include a code snippet, screenshot, or any additional information that might help us reproduce the issue)

Create a AKS cluster

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration((hostingContext, config) =>
                {
                    // use Managed Identity
                    azureServiceTokenProvider = new AzureServiceTokenProvider();
                    KeyVaultClient  keyVaultClient = new KeyVaultClient(
                            new KeyVaultClient.AuthenticationCallback(
                                azureServiceTokenProvider.KeyVaultTokenCallback));
                    config.AddAzureKeyVault(
                        existingConfig.GetValue<string>("KeyVault:Uri"),
                        keyVaultClient,
                        new DefaultKeyVaultSecretManager());
                })
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }

Environment:

Name and version of the Library package used: [e.g. Azure.Storage.Blobs 12.2.0]
Azure.Identity 1.4.1
Hosting platform or OS and .NET runtime version (dotnet --info output for .NET Core projects): [e.g. Azure AppService or Windows 10 .NET Framework 4.8]
AKS
IDE and version : [e.g. Visual Studio 16.3]

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

Hi @xfz11
Would you mind providing the logging output after reproducing this with logging enabled?

Hello. We had exactly the same problem today. In one of our 3 VM with Managed Identity Service, we started receiving exceptions about managed identity not available:
Azure.Identity.CredentialUnavailableException: DefaultAzureCredential failed to retrieve a token from the included credentials.
- EnvironmentCredential authentication unavailable. Environment variables are not fully configured.
- ManagedIdentityCredential authentication unavailable. No Managed Identity endpoint found.
- Visual Studio Token provider can't be accessed at .IdentityService\AzureServiceAuth\tokenprovider.json
- Stored credentials not found. Need to authenticate user in VSCode Azure Account.
- Azure CLI not installed
- PowerShell is not installed. ---> System.AggregateException: Multiple exceptions were encountered while attempting to authenticate. ---> Azure.Identity.CredentialUnavailableException: EnvironmentCredential authentication unavailable. Environment variables are not fully configured.
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Azure.Identity.CredentialDiagnosticScope.FailWrapAndThrow(Exception ex)
   at Azure.Identity.EnvironmentCredential.<GetTokenImplAsync>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Azure.Identity.EnvironmentCredential.GetToken(TokenRequestContext requestContext, CancellationToken cancellationToken)
   at Azure.Identity.DefaultAzureCredential.<GetTokenFromSourcesAsync>d__14.MoveNext()
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at Azure.Identity.DefaultAzureCredential.<GetTokenFromSourcesAsync>d__14.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Azure.Identity.DefaultAzureCredential.<GetTokenImplAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Azure.Identity.CredentialDiagnosticScope.FailWrapAndThrow(Exception ex)
   at Azure.Identity.DefaultAzureCredential.<GetTokenImplAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Azure.Identity.DefaultAzureCredential.GetToken(TokenRequestContext requestContext, CancellationToken cancellationToken)
   at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AccessTokenCache.<GetHeaderValueFromCredentialAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AccessTokenCache.<GetHeaderValueAsync>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AccessTokenCache.<GetHeaderValueAsync>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.AuthenticateAndAuthorizeRequest(HttpMessage message, TokenRequestContext context)
   at Azure.Security.KeyVault.ChallengeBasedAuthenticationPolicy.<AuthorizeRequestInternal>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Azure.Security.KeyVault.ChallengeBasedAuthenticationPolicy.AuthorizeRequest(HttpMessage message)
   at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.<ProcessAsync>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Azure.Core.Pipeline.BearerTokenAuthenticationPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.RetryPolicy.<ProcessAsync>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Azure.Core.Pipeline.RetryPolicy.<ProcessAsync>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Azure.Core.Pipeline.RetryPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipeline.Send(HttpMessage message, CancellationToken cancellationToken)
   at Azure.Core.Pipeline.HttpPipeline.SendRequest(Request request, CancellationToken cancellationToken)
   at Azure.Security.KeyVault.KeyVaultPipeline.SendRequest(Request request, CancellationToken cancellationToken)
   at Azure.Security.KeyVault.KeyVaultPipeline.SendRequest[TResult](RequestMethod method, Func`1 resultFactory, CancellationToken cancellationToken, String[] path)
   at Azure.Security.KeyVault.Secrets.SecretClient.GetSecret(String name, String version, CancellationToken cancellationToken)

We moved the front out of the load balancer and I was able to obtain a token using the powershell commandline.
We decided to restart the VM before I found this issue opened. so I don't have any additional detail to share.

Sorry for no response. I have added log listener, but can't reproduce the error now. It is ok to close the issue. I would reopen it when we meet the error again.