Update Pyyaml to match chatterbot

I just started using chatterbot,
It does not install chatterbot-corpus as a dependency after running pipenv install chatterbot.
In [1]: from chatterbot import ChatBot
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-22d2a9e85e25> in <module>
----> 1 from chatterbot import ChatBot

~/.local/share/virtualenvs/chatterbot-test-H1-ATVUx/lib/python3.7/site-packages/chatterbot/__init__.py in <module>
      2 ChatterBot is a machine learning, conversational dialog engine.
      3 """
----> 4 from .chatterbot import ChatBot
      5
      6 __version__ = '1.0.5'

~/.local/share/virtualenvs/chatterbot-test-H1-ATVUx/lib/python3.7/site-packages/chatterbot/chatterbot.py in <module>
      1 import logging
----> 2 from chatterbot.storage import StorageAdapter
      3 from chatterbot.logic import LogicAdapter
      4 from chatterbot.search import IndexedTextSearch
      5 from chatterbot import utils

~/.local/share/virtualenvs/chatterbot-test-H1-ATVUx/lib/python3.7/site-packages/chatterbot/storage/__init__.py in <module>
----> 1 from chatterbot.storage.storage_adapter import StorageAdapter
      2 from chatterbot.storage.django_storage import DjangoStorageAdapter
      3 from chatterbot.storage.mongodb import MongoDatabaseAdapter
      4 from chatterbot.storage.sql_storage import SQLStorageAdapter
      5

~/.local/share/virtualenvs/chatterbot-test-H1-ATVUx/lib/python3.7/site-packages/chatterbot/storage/storage_adapter.py in <module>
      1 import logging
      2 from chatterbot import languages
----> 3 from chatterbot.tagging import PosHypernymTagger
      4
      5

~/.local/share/virtualenvs/chatterbot-test-H1-ATVUx/lib/python3.7/site-packages/chatterbot/tagging.py in <module>
      2 from chatterbot import languages
      3 from chatterbot import utils
----> 4 from chatterbot.tokenizers import get_sentence_tokenizer
      5 from nltk import pos_tag
      6 from nltk.corpus import wordnet, stopwords

~/.local/share/virtualenvs/chatterbot-test-H1-ATVUx/lib/python3.7/site-packages/chatterbot/tokenizers.py in <module>
      2 from nltk.tokenize.punkt import PunktSentenceTokenizer, PunktTrainer
      3 from nltk.tokenize import _treebank_word_tokenizer
----> 4 from chatterbot.corpus import load_corpus, list_corpus_files
      5 from chatterbot import languages
      6

~/.local/share/virtualenvs/chatterbot-test-H1-ATVUx/lib/python3.7/site-packages/chatterbot/corpus.py in <module>
      3 import glob
      4 import yaml
----> 5 from chatterbot_corpus.corpus import DATA_DIRECTORY
      6
      7

ModuleNotFoundError: No module named 'chatterbot_corpus'

(which should probably an issue in Chatterbot)
Then when I try to install chatterbot-corpus I get the following error:
Installing chatterbot_corpus…
Collecting chatterbot-corpus
  Using cached https://files.pythonhosted.org/packages/ed/19/f8b41daf36fe4b0f43e283a820362ffdb2c1128600ab4ee187e84262fa4d/chatterbot_corpus-1.2.0-py2.py3-none-any.whl
Collecting PyYAML<4.0,>=3.12 (from chatterbot-corpus)
  Using cached https://files.pythonhosted.org/packages/9e/a3/1d13970c3f36777c583f136c136f804d70f500168edc1edea6daa7200769/PyYAML-3.13.tar.gz
Building wheels for collected packages: PyYAML
  Building wheel for PyYAML (setup.py): started
  Building wheel for PyYAML (setup.py): finished with status 'done'
  Stored in directory: /home/jonas/.cache/pipenv/wheels/ad/da/0c/74eb680767247273e2cf2723482cb9c924fe70af57c334513f
Successfully built PyYAML
Installing collected packages: PyYAML, chatterbot-corpus
  Found existing installation: PyYAML 5.1
    Uninstalling PyYAML-5.1:
      Successfully uninstalled PyYAML-5.1
Successfully installed PyYAML-3.13 chatterbot-corpus-1.2.0

Adding chatterbot_corpus to Pipfile's [packages]…
Pipfile.lock (6f58d5) out of date, updating to (2ccbda)…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  First try clearing your dependency cache with $ pipenv lock --clear, then try the original command again.
 Alternatively, you can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
  Hint: try $ pipenv lock --pre if it is a pre-release dependency.
Could not find a version that matches pyyaml<4.0,<5.2,>=3.12,>=5.1
Tried: 3.10, 3.10, 3.11, 3.11, 3.12, 3.12, 3.12, 3.12, 3.12, 3.12, 3.12, 3.12, 3.13, 3.13, 3.13, 3.13, 3.13, 3.13, 3.13, 3.13, 3.13, 3.13, 3.13, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1
Skipped pre-versions: 3.13b1, 3.13b1, 3.13b1, 3.13b1, 3.13b1, 3.13b1, 3.13b1, 3.13b1, 3.13b1, 3.13b1, 3.13rc1, 3.13rc1, 3.13rc1, 3.13rc1, 3.13rc1, 3.13rc1, 3.13rc1, 3.13rc1, 3.13rc1, 3.13rc1, 3.13rc1, 4.2b1, 4.2b2, 4.2b4, 4.2b4, 4.2b4, 4.2b4, 4.2b4, 5.1b1, 5.1b3, 5.1b5, 5.1b5, 5.1b5, 5.1b5, 5.1b5, 5.1b5, 5.1b5, 5.1b5, 5.1b5, 5.1b5, 5.1b5, 5.1b7
There are incompatible versions in the resolved dependencies.

Notice how installing uninstalled the pyyaml version for chatterbot.
Running pipenv graph show there's a conflict in dependencies:
ChatterBot==1.0.5
  ...
  - pyyaml [required: >=5.1,<5.2, installed: 3.13]
  ...
chatterbot-corpus==1.2.0
  - PyYAML [required: >=3.12,<4.0, installed: 3.13]

Momentarily gets fixed by installing from source:
pipenv install git+https://github.com/gunthercox/chatterbot-corpus.git#egg=chatterbot-corpus
I guess all that would be needed is a version bump and pypi release.

How did you solve it ?? I ge the same error descrption-....

First I uninstalled chatterbot-corpus then installed from source using: pipenv install git+https://github.com/gunthercox/chatterbot-corpus.git#egg=chatterbot-corpus

Installing from source is not working. Help

@PrinceChukz What commands did you use?

pip install git source

pip install install git+https://github.com/gunthercox/chatterbot-corpus.git#egg=chatterbot-corpus
That's the command i used

You have to install chatterbot_corpus and not chatterbot_corpus
pip install chatterbot_corpus
or
pip3 install chatterbot_corpus

not working

the message clearly suggesting you have pyyaml 3.13 which is incompatible for chatterbot which requires 1.0.5
Either you have to ignore this error or you need to manually uninstall PyYaml for your machine.
pip3 uninstall PyYAML

if not you could simply delete PyYAML folder from site-packages directory.

please advise how to install

Came here looking for a solution, found myself experiencing similar problem.
python --version
Python 3.7.3 (anaconda install)
conda --version
conda 4.7.10
windows 10 ver 1803 (up to date Sept 2019)
pip uninstall PyYAML
ERROR: Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
I don't recall having any problems installing chatterbot approx 12 months ago, but do recall similar problems earlier this year.

pip install --ignore-installed PyYAML
this worked after you have done that pip install chatterbox

Momentarily gets fixed by installing from source:
pipenv install git+https://github.com/gunthercox/chatterbot-corpus.git#egg=chatterbot-corpus
I guess all that would be needed is a version bump and pypi release.

this worked for me Thq

pipenv install git+https://github.com/gunthercox/chatterbot-corpus.git#egg=chatterbot-corpus
really worked.Try it guys

Guys, Sorry but that nota Works. Any solutions?

pipenv install git+https://github.com/gunthercox/chatterbot-corpus.git#egg=chatterbot-corpus
really worked.Try it guys

It really worked for me, thanq

If these 2 projects are meant to work with each other than they need to have a PyYAML version they both can use. Most people use a dependency manager (pipenv, poetry, etc) and this is an issue.  Here is poetry's error when trying to install both chatterbot and chatterbot-corpus in the same project.
[SolverProblemError]
Because no versions of chatterbot-corpus match >1.2,<2.0
 and chatterbot-corpus (1.2.0) depends on PyYAML (>=3.12,<4.0), chatterbot-corpus (>=1.2,<2.0) requires PyYAML (>=3.12,<4.0).
And because chatterbot (1.1.0) depends on pyyaml (>=5.3,<5.4)
 and no versions of chatterbot match >1.1,<2.0, chatterbot-corpus (>=1.2,<2.0) is incompatible with chatterbot (>=1.1,<2.0).
So, because the-promoter depends on both chatterbot (^1.1) and chatterbot-corpus (^1.2), version solving failed.

Hi, I tried to install chatterbot_corpus and got below error
can somebody please help me to get chatterbot_corpus installed in my PC

hi, what I did was following this instructions to install pyenv and pipenv, https://hackernoon.com/reaching-python-development-nirvana-bb5692adf30c once I got it all in place and with the right python --version I installed directly from the source. good luck

Are there any updates on this? Tried to install chatterbot_corpus with poetry and still getting error for pyyaml versions mistmatch.


bower ECONFLICT Unable to find suitable version for jquery

$ bower install bootstrap
bower bootstrap#*               cached https://github.com/twbs/bootstrap.git#3.3              .6
bower bootstrap#*             validate 3.3.6 against https://github.com/twbs/boo              tstrap.git#*
bower jquery#1.9.1 - 2          cached https://github.com/jquery/jquery-dist.git#2.2.4
bower jquery#1.9.1 - 2        validate 2.2.4 against https://github.com/jquery/jquery-dist.git#1.9.1 - 2
bower                        ECONFLICT Unable to find suitable version for jquery
How Can i Solve this

Unable to reproduce:
dummy $ npm install bower
/Users/chris/code/dummy
└──<EMAIL_ADDRESS>dummy $ ./node_modules/.bin/bower install bootstrap
bower bootstrap#*           not-cached https://github.com/twbs/bootstrap.git#*
bower bootstrap#*              resolve https://github.com/twbs/bootstrap.git#*
bower bootstrap#*             checkout v3.3.6
bower bootstrap#*             progress Receiving objects:  64% (264/411), 3.23 MiB | 782.00 KiB/s
bower bootstrap#*             resolved https://github.com/twbs/bootstrap.git#3.3.6
bower jquery#1.9.1 - 2      not-cached https://github.com/jquery/jquery-dist.git#1.9.1 - 2
bower jquery#1.9.1 - 2         resolve https://github.com/jquery/jquery-dist.git#1.9.1 - 2
bower jquery#1.9.1 - 2        checkout 2.2.4
bower jquery#1.9.1 - 2        resolved https://github.com/jquery/jquery-dist.git#2.2.4
bower bootstrap#^3.3.6         install bootstrap#3.3.6
bower jquery#1.9.1 - 2         install jquery#2.2.4

bootstrap#3.3.6 bower_components/bootstrap
└── jquery#2.2.4

jquery#2.2.4 bower_components/jquery

For help with personal troubleshooting, please ask on one of the community forums listed on https://github.com/twbs/bootstrap/blob/master/README.md#community

I had an issue like this due to running MinTTY on Windows 10. This article explains why, and gives two different solutions: https://willi.am/blog/2016/08/08/docker-for-windows-interactive-sessions-in-mintty-git-bash/


Can't execute downloaded binary on MacOS Big Sur

A security protection disallow executing unsigned code downloaded from internet.
Is there a way around this protection or do I have to recompile the program ?

Answering my self since I found the solution. To remove the security protection,  we must use the finder and ctrl-click on the program. We then must click on open to execute the program. This opens a shell window showing the output of the executed program. It won't automatically close when done. We have to close the window manually. Once this has been done, we can execute the program from the command line.


Bump aiobotocore

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

I believe the version of aiobotocore for aioboto3 12.0 feedstock (2.4.0) doesn't match the pinned version of aiobotocore on aioboto3 GitHub repo (2.7.0). This PR fixes this.

@conda-forge-admin, please rerender


fix: DEV-4085: Fix error during submit

It leads to duplicated annotations as submit button is not blocked. The reason is still unclear.

@hlomzik what's the status on this one? Our annotation team is running into this right now? How long until it makes it to a stable docker image release version?

@csaroff what the problem exactly? Just annoying error or you have duplicated annotations after this as well? What steps do you use for this?

Codecov Report
Base: 9.41% // Head: 9.41% // No change to project coverage :thumbsup:

Coverage data is based on head (339ed42) compared to base (cfd2ccb).
Patch has no changes to coverable lines.

Additional details and impacted files
@@          Coverage Diff           @@
##           master   #1124   +/-   ##
======================================
  Coverage    9.41%   9.41%
======================================
  Files         109     109
  Lines        7786    7786
  Branches     1953    1953
======================================
  Hits          733     733
  Misses       5908    5908
  Partials     1145    1145

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Crash when quitting GDB in termdebug

I see somewhat frequent crashes when using a slightly modified version of termdebug. The crash is somewhat sporadic, but mostly always happens when I am quitting the GDB session. I tried building the latest Vim with the sanitize address flag by uncommenting the line
SANITIZER_CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer
in src/Makefile. At the time of the crash, I get the following text printed by address sanitizer.
I also tried to attach gdb to Vim and got a similar stack:
Thread 1 "vim" received signal SIGSEGV, Segmentation fault.
0x000055555574dabe` in update_screen (type_arg=5) at drawscreen.c:265
265		if (wp->w_buffer->b_mod_set)
(gdb) bt
#0  0x000055555574dabe in update_screen (type_arg=5) at drawscreen.c:265
#1  0x00005555557605a2 in redraw_after_callback (call_update_screen=1) at drawscreen.c:2957
#2  0x0000555555dbf48b in channel_parse_messages () at channel.c:4661
#3  0x000055555589e5b7 in parse_queued_messages () at getchar.c:2194
#4  0x0000555555d355f0 in channel_poll_cb (data=0x0) at gui_gtk_x11.c:6171
#5  0x00007ffff6982863 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007ffff6981dd8 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007ffff69821c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007ffff698225c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x0000555555d3555f in gui_mch_update () at gui_gtk_x11.c:6150
#10 0x0000555555d193f8 in gui_mch_destroy_scrollbar (sb=0x625000f25350) at gui_gtk.c:1134
#11 0x0000555555cedcb6 in win_free (wp=0x625000f23100, tp=0x0) at window.c:5055
#12 0x0000555555ce336f in win_free_mem (win=0x625000f23100, dirp=0x7fffffffcfd0, tp=0x0) at window.c:2752
#13 0x0000555555ce24da in win_close (win=0x625000f23100, free_buf=0) at window.c:2576
#14 0x00005555556af08a in do_buffer (action=4, start=1, dir=1, count=12, forceit=0) at buffer.c:1500
#15 0x00005555556adfef in do_bufdel (command=4, arg=0x555555eac9a0 "", addr_count=1, start_bnr=12, end_bnr=12, forceit=0) at buffer.c:1247
#16 0x0000555555bfa49f in term_after_channel_closed (term=0x613000002340) at terminal.c:3432
#17 0x0000555555bfabd8 in term_channel_closed (ch=0x61a000016880) at terminal.c:3523
#18 0x0000555555dba53b in channel_close (channel=0x61a000016880, invoke_close_cb=1) at channel.c:3210
#19 0x0000555555dbb51e in channel_close_now (channel=0x61a000016880) at channel.c:3531
#20 0x0000555555dbf07c in channel_parse_messages () at channel.c:4599
#21 0x000055555589e5b7 in parse_queued_messages () at getchar.c:2194
#22 0x0000555555d3578e in gui_mch_wait_for_chars (wtime=100) at gui_gtk_x11.c:6232
#23 0x0000555555d0a6bd in gui_wait_for_chars_3 (wtime=100, interrupted=0x7fffffffd800, ignore_input=0) at gui.c:2922
#24 0x0000555555c3a138 in ui_wait_for_chars_or_timer (wtime=100, wait_func=0x555555d0a69e <gui_wait_for_chars_3>, interrupted=0x7fffffffd800, ignore_input=0) at ui.c:480
#25 0x0000555555d0a6ec in gui_wait_for_chars_or_timer (wtime=100, interrupted=0x7fffffffd800, ignore_input=0) at gui.c:2937
#26 0x0000555555c39e2a in inchar_loop (buf=0x55555604aa63 <typebuf_init+67> "", maxlen=65, wtime=-1, tb_change_cnt=409, wait_func=0x555555d0a6bf <gui_wait_for_chars_or_timer>, resize_func=0x0) at ui.c:376
#27 0x0000555555d0a791 in gui_wait_for_chars_buf (buf=0x55555604aa63 <typebuf_init+67> "", maxlen=65, wtime=-1, tb_change_cnt=409) at gui.c:2988
#28 0x0000555555d0a7fb in gui_inchar (buf=0x55555604aa63 <typebuf_init+67> "", maxlen=65, wtime=-1, tb_change_cnt=409) at gui.c:3021
#29 0x0000555555c39858 in ui_inchar (buf=0x55555604aa63 <typebuf_init+67> "", maxlen=65, wtime=-1, tb_change_cnt=409) at ui.c:218
#30 0x00005555558a6130 in inchar (buf=0x55555604aa63 <typebuf_init+67> "", maxlen=197, wait_time=-1) at getchar.c:3521
#31 0x00005555558a5129 in vgetorpeek (advance=1) at getchar.c:3300
#32 0x000055555589c456 in vgetc () at getchar.c:1689
#33 0x0000555555bf2e17 in term_vgetc () at terminal.c:2088
#34 0x0000555555bf50c2 in terminal_loop (blocking=1) at terminal.c:2536
#35 0x0000555555de5156 in main_loop (cmdwin=0, noexmode=0) at main.c:1469
#36 0x0000555555de3d61 in vim_main2 () at main.c:868
#37 0x0000555555de31d0 in main (argc=4, argv=0x7fffffffe0f8) at main.c:412

Examining the value of wp->w_buffer is NULL at the time of the crash. I am hoping that the stack and the address sanitizer output is able to help nail the issue.
FWIW, the modified version of termdebug.vim is attached: termdebug.txt. Please note I had to use a .txt extension because github doesn't allow me to attach files with a .vim extension. It adds a :Stack command to show the stack in a new window. I've mostly been playing around with debugging a simple toy example:
int fibo(int n) {
    if (n <= 2) {
        return 1;
    } else {
        return fibo(n-1) + fibo(n-2);
    }
}

int main() {
    fibo(12);
}

I doubt that the crash has anything to do with my changes though because I can sometimes reproduce the issue even without exercising the stack command.
My Vim version information is below:
:ver
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Nov  3 2020 22:18:42)
Included patches: 1-1941
Compiled by savadhan@ah-savadhan-l
Huge version with GTK2 GUI.  Features included (+) or not (-):
+acl               +clientserver      +diff              +folding           +langmap           +mouse_dec         +num64             +reltime           +tag_binary        +toolbar           +writebackup
+arabic            +clipboard         +digraphs          -footer            +libcall           -mouse_gpm         +packages          +rightleft         -tag_old_static    +user_commands     +X11
+autocmd           +cmdline_compl     +dnd               +fork()            +linebreak         -mouse_jsbterm     +path_extra        -ruby              -tag_any_white     +vartabs           -xfontset
+autochdir         +cmdline_hist      -ebcdic            +gettext           +lispindent        +mouse_netterm     -perl              +scrollbind        -tcl               +vertsplit         +xim
-autoservername    +cmdline_info      +emacs_tags        -hangul_input      +listcmds          +mouse_sgr         +persistent_undo   +signs             +termguicolors     +virtualedit       +xpm
+balloon_eval      +comments          +eval              +iconv             +localmap          -mouse_sysmouse    +popupwin          +smartindent       +terminal          +visual            +xsmp_interact
+balloon_eval_term +conceal           +ex_extra          +insert_expand     -lua               +mouse_urxvt       +postscript        -sound             +terminfo          +visualextra       +xterm_clipboard
+browse            +cryptv            +extra_search      +ipv6              +menu              +mouse_xterm       +printer           +spell             +termresponse      +viminfo           -xterm_save
++builtin_terms    +cscope            -farsi             +job               +mksession         +multi_byte        +profile           +startuptime       +textobjects       +vreplace
+byte_offset       +cursorbind        +file_in_path      +jumplist          +modify_fname      +multi_lang        -python            +statusline        +textprop          +wildignore
+channel           +cursorshape       +find_in_path      +keymap            +mouse             -mzscheme          +python3           -sun_workshop      +timers            +wildmenu
+cindent           +dialog_con_gui    +float             +lambda            +mouseshape        +netbeans_intg     +quickfix          +syntax            +title             +windows
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/local/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1
.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/p
ango-1.0 -I/usr/include/fribidi -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16   -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOU
RCE=1  -g -O0 -fsanitize=address -fno-omit-frame-pointer
Linking: gcc   -L/usr/local/lib -Wl,--as-needed -o vim   -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig
 -lfreetype -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo  -lselinux  -ldl     -L/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu -lpython3.7m -lcrypt -lpthread -ldl -lutil -lm    -g -O0 -fsanitize=
address -fno-omit-frame-pointer

Srinath Avadhanula wrote:

I see somewhat frequent crashes when using a slightly modified version
of termdebug. The crash is somewhat sporadic, but mostly always
happens when I am quitting the GDB session. I tried building the
latest Vim with the sanitize address flag by uncommenting the line
SANITIZER_CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer
in src/Makefile. At the time of the crash, I get the following text printed by address sanitizer.
I also tried to attach gdb to Vim and got a similar stack:
Thread 1 "vim" received signal SIGSEGV, Segmentation fault.
0x000055555574dabe` in update_screen (type_arg=5) at drawscreen.c:265
265		if (wp->w_buffer->b_mod_set)
(gdb) bt
#0  0x000055555574dabe in update_screen (type_arg=5) at drawscreen.c:265
#1  0x00005555557605a2 in redraw_after_callback (call_update_screen=1) at drawscreen.c:2957
#2  0x0000555555dbf48b in channel_parse_messages () at channel.c:4661
#3  0x000055555589e5b7 in parse_queued_messages () at getchar.c:2194
#4  0x0000555555d355f0 in channel_poll_cb (data=0x0) at gui_gtk_x11.c:6171
#5  0x00007ffff6982863 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007ffff6981dd8 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007ffff69821c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007ffff698225c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x0000555555d3555f in gui_mch_update () at gui_gtk_x11.c:6150
#10 0x0000555555d193f8 in gui_mch_destroy_scrollbar (sb=0x625000f25350) at gui_gtk.c:1134
#11 0x0000555555cedcb6 in win_free (wp=0x625000f23100, tp=0x0) at window.c:5055
#12 0x0000555555ce336f in win_free_mem (win=0x625000f23100, dirp=0x7fffffffcfd0, tp=0x0) at window.c:2752
#13 0x0000555555ce24da in win_close (win=0x625000f23100, free_buf=0) at window.c:2576
#14 0x00005555556af08a in do_buffer (action=4, start=1, dir=1, count=12, forceit=0) at buffer.c:1500

Calling parse_queued_messages() while busy freeing a window, which might
be the current window, isn't really expected.  It looks like this can
only happen in the GUI.
Hmm, when I do this by setting "updating_screen" it actually makes the
GUI init test crash.  Adding a flag specifically for
parse_queued_messages() will work better.
--
A computer program does what you tell it to do, not what you want it to do.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


Update garbage.dd

fix broken link
was outputting
< a href="http://en.wikipedia.org/wiki/Garbage_collection_<!--UNDEFINED MACRO: " percent"--="">28computer_science29">Wikipedia
before. Maybe undefined macros should trigger a build failure(or warning?)

Wait, I think this might be the wrong way to fix it. Percent signs apparently need to be escaped in LaTeX, so the correct fix is to define PERCENT in html.ddoc.

#974


Alter detect-dirty-tile node script to execute query and write detected tiles to file

Alter detect-dirty-tile node script to execute query and write detected tiles to file

Roll back to commit https://github.com/osm2vectortiles/osm2vectortiles/commit/3e249cd81b7a92092c64bcfb72e9c3978a0f0404
Also keep in mind to fix timing again https://github.com/osm2vectortiles/osm2vectortiles/commit/d4be86456a3920ec277fac1792784eed06d942a5
Query for detecting dirty tiles (sufficiently fast for world, 3minutes for all landusages and 45seconds for all POIs). Query only works if #172  is done first.
WITH changed_geometries AS (
	SELECT geometry FROM poi_label_zoom_level_changes
	WHERE timestamp = '2016-03-09 14:15:02'
), changed_tiles AS (
	SELECT DISTINCT t.tile_x AS x, t.tile_y AS y, t.tile_z AS z
	FROM changed_geometries AS c
	INNER JOIN LATERAL overlapping_tiles(c.geometry) AS t ON true
)
SELECT COUNT(*) FROM changed_tiles

Query for detecting dirty tiles (sufficiently fast for world, 3minutes for all landusages and 45seconds for all POIs). Query only works if #172 is done first.

Uuups bad thought error. Of course this does not work.
We need to use the approach defined in How to detect Changes More Efficiently in SQL #155.

We now have functions in src/import-sql/views for each layer to find out the dirty tiles . They look ~ like this. They would have no chance running on the entire planet directly but thanks that the timestamp constraint makes the data set so much smaller they actually complete reasonably fast (All dirty tiles of all layers in < 1h).
CREATE OR REPLACE FUNCTION changed_tiles_road(ts timestamp)
RETURNS TABLE (x INTEGER, y INTEGER, z INTEGER) AS $$
BEGIN
	RETURN QUERY (
		WITH changed_geometries AS (
		    SELECT osm_id, geometry FROM layer_road
		    WHERE timestamp = ts
		), changed_tiles AS (
		    SELECT DISTINCT c.osm_id, t.tile_x AS x, t.tile_y AS y, t.tile_z AS z
		    FROM changed_geometries AS c
		    INNER JOIN LATERAL overlapping_tiles(c.geometry, 14) AS t ON true
		)

		SELECT c.x, c.y, c.z FROM road_z14 AS l
		INNER JOIN changed_tiles AS c ON c.osm_id = l.osm_id AND c.z = 14
		UNION

		SELECT c.x, c.y, c.z FROM road_z13 AS l
		INNER JOIN changed_tiles AS c ON c.osm_id = l.osm_id AND c.z = 13
		UNION

		SELECT c.x, c.y, c.z FROM road_z12 AS l
		INNER JOIN changed_tiles AS c ON c.osm_id = l.osm_id AND c.z = 12
		UNION

		SELECT c.x, c.y, c.z FROM road_z11 AS l
		INNER JOIN changed_tiles AS c ON c.osm_id = l.osm_id AND c.z = 11
		UNION

		SELECT c.x, c.y, c.z FROM road_z8toz10 AS l
		INNER JOIN changed_tiles AS c ON c.osm_id = l.osm_id AND c.z BETWEEN 8 AND 10
		UNION

		SELECT c.x, c.y, c.z FROM road_z7 AS l
		INNER JOIN changed_tiles AS c ON c.osm_id = l.osm_id AND c.z = 7
		UNION

		SELECT c.x, c.y, c.z FROM road_z5toz6 AS l
		INNER JOIN changed_tiles AS c ON c.osm_id = l.osm_id AND c.z BETWEEN 5 AND 6
	);
END;
$$ LANGUAGE plpgsql;


double click an entry to autoselect

there's issue with the behavior of various Tree/List models where each model supports only something (dragging, clicking, doubleclicking, actions, icons)

I can't do this now to go into a directory you have to double click on the item
but if you want I can add a shortcut to do what you want
maybe Ctrl + Enter ?


Author names listed on PDF version inconsistent with authors defined on plan

when I added Susan and Farzad as "co-owners" of my DMP document, it actually removed my name from the document - the PDF would be saved as "created by Susan Handy, Susan Handy and Farzad Alemi". It is a strange bug that also affected the DMP I created this year for the new proposal for the annual project. It seems everytime I add Susan as a co-owner, it lists twice her name and never my name! So, I had to remove Susan and at that point I removed also Farzad (they are both listed in the "team" with their ORCID IDs, but the document is saved as "created by Giovanni Circella" only). I thought you might be interested in knowing this issue on the platform. Not sure if other reported a similar issue.

a lot of changes have been made to the PDF generation code over the past 6 months, so see if this is still an issue


Suggested improvement to syntax of .unpack()

I tend to face quite often the need to convert a list of dictionaries to an SFrame...
It's actually quite easy - just do
 tc.SFrame([dict1,dict2]).unpack("X1",column_name_prefix="")
The first part will create a single column SFrame with a column name "X1" and the second will unpack "X1" into separate columns. The column_name_prefix="" means that I do not want any "X1" prefix anywhere.
Now - imagine an unexperienced person looking at this line out of context --- guaranteed "WTF effect"!!!   The "X1" seems to come from nowhere!
The following would much clearer to read, and faster to write:
 tc.SFrame([dict1,dict2]).unpack()
The assumption there being that if an SFrame has only one column, unpack that one without prefix. Otherwise, throw an error!
I don't think that it is currently possible to use .unpack() without a column name argument --- so, such an alteration of the default behaviour should not break any code (?).

Fixed with #1456.


fix: path to arch image

Description
Fix architecture diagram path in README
Release required?

[x] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

run pipeline

/run pipeline

:tada: This issue has been resolved in version 1.0.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


support gml/3.2 namespace, nested elements in metadata

Solve #2977 - addresses several issues with the service mentioned:

Namespace http://www.opengis.net/gml/3.2 as alternative to http://www.opengis.net/gml supported in all GML3 and relevant base classes.
Detect GML geometry element by confirming that its child elements actually are known geometries
support boundedBy on FeatureCollections
parse nested metadata into an object structure, return flat text if the structure is not nested to maintain backwards compatibility.

@bartvde, do you think you could give this a review?

@relet any chance you can rebase this PR and add some tests? That will make the review a lot easier.

I did a rebase just now, I'll have to look a bit into what your tests look like.

I added tests in branch 2977_test at https://github.com/kartverket/ol3/commit/c0d9c54ea2c836cb0fa4ad1be0c50f18f020f43b - one of them fails because of namespace issues(?) that I'm failing to track down. To be continued.

If the conflicts here can be resolved and this work is resurrected before the upcoming 4.6 release, please reopen this pull request.  After 4.6, we will be transforming the sources to ES modules, and if we want to pick up this effort, it may be easier to create the changes from scratch.


[EN Number] Add support for Indian numbering system entities (#2112)

fix to issue #2112
Added support for lakh and crore in English Number (and relevant test cases in Number and NumberWithUnit).
There are other larger numbers in the Indian numbering system (arab, kharab, nil,...), but we did not implement them for the following reasons:

"these are not commonly used and are unfamiliar to most speakers" (wikipedia)
they could give ambiguity issues (arab, nil)

@tellarin,

removed "NotSupportedByDesign": "javascript,python,java" from new test cases (a part for "I count 6 crore and two hundred", since all cases like "3 hundred and one" are also unsupported)

Added test case for "lakh crore"

Note that while "three lakh crore" works correctly, "3 lakh crore" only returns "3 lakh".
The same happens with the other RoundNumbers,
e.g. "three hundred thousand" works fine, but "3 hundred thousand" returns "3 hundred".

...3 hundred thousand...

Can you take a look at potentially fixing this in a new PR (estimate the effort/impact)?
Thanks.


Correct ubuntu-20.04 platform image

Changed image of platform ubuntu-20.04 from dokken/ubuntu-18.04 (the wrong one) to dokken/ubuntu-20.04 (the right one).
Description
Corrected a typo in platform ubuntu-20.04 in the kitchen.dokken.yml file. The typo is dokken/ubuntu-18.04. Changed it to the correct value dokken/ubuntu-20.04.
Obvious fix.

Released as: 5.0.3

Thanks for the PR! 👍🏼


cgo: regression: go command does not recompile changed packages

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

$ go version
go version go1.20 linux/amd64

Does this issue reproduce with the latest release?
yes (just tested with 1.20.1)
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/me/.cache/go-build"
GOENV="/home/me/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/me/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/me/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.20.1"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
GOWORK=""
CGO_CFLAGS="-O2 -g"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-O2 -g"
CGO_FFLAGS="-O2 -g"
CGO_LDFLAGS="-O2 -g"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build106840752=/tmp/go-build -gno-record-gcc-switches"

What did you do?

Hi!
I've started working on a go project using CGO.
I've realised that changing C code does not trigger it re-building so that faulty code still seems to be compilable (but isn't in fact). Using -a compiler flag "fixes" the issue.
It is a regression from the previous version (go 1.19.*) sinc it worked fine there.
What did you expect to see?
code should re-compile automatically if something within cgo code has changed
What did you see instead?
it does not re-compile.
how to reproduce
consider the following two files:
main.go:
package main

/*
#include "./file.h"
*/
import "C"

func main() {
	C.foo()
}

and file.h
#include <stdio.h>

void foo() {
        printf("hi!\n")
}

there is an intentionally-made mistake in h file - missing ; at the end of printf line. Now take the following actions:

try to compile main.go - it will fail
add the missing ; and try again - it will compile fine
now remove ; again and try to compile - it will work although it should fail now

@gucio321  you have this down as a regression, however when I try this with Go 1.19 I see the same behavior you are citing.    So I'm closing this.

(for this to happen, the Go tools would have to implement a complete C preprocessor).
@thanm btw is there any discussion on such a feature?

any discussion on such a feature?
Not that I am aware of.


pass without exception if jinja parameter isn't found

If a jinja parameter doesn't exist as an input parameter then do not throw an exception and leave the value as a string parameter.
We have some input paramters like:
{ "test": "{{some_text_here}}"}

These cause stackstorm to attempt to resolve some_text_here as a variable since it has matching {{ and }}.
This pr would allow those through as normal strings if they cannot be resolved.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.aj seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Hey @guzzijones, please check Slack as your participation is needed here:
https://stackstorm-community.slack.com/archives/C020U70RZRR/p1702583037270339

I don't understand:

collect a list of nodes (vars) that aren't valid as template vars

Most, if not all, my actions already have a jinja template parameter for {{config_context.var}}.  So I don't think check if ALL are parameters would work in my case.
We have a log of log files with {{...}} in the json as a string.  These are unable to be processed by Stackstorm currently.
I actually don't understand the use case for putting {{...}} templating parameter evaluation inside stackstorm except for the case of config context or secrets from the KV store.
One can always just utilize a parameter in their python script.

I'd rather see a more deterministic method to processing (or not) template strings.  For example, adding a new data type raw_string, which will not apply attempt to process the input variable and treat it at as raw string until it is handed off to the workflow/action.  string would remain unchanged and process strings against template detection.

It would be nice to get this merged in.  We have a lot of logs with {{ strings in them that we feed into st2.

Can we get some eyes on this?

I can follow the logic in this PR, and it seems like it would be functional. So, I give a technical approval of the implementation.
I'm still hesitant on this change. I'm worried about backwards incompatibility and silently ignoring actual errors. I also see how st2 is currently raising false positive errors for strings that are not Jinja.
If other members of the TSC agree with this change, then I'll approve it.

I'd still prefer a deterministic solution to applying expression rendering to a parameter because I think this change is going to produce more confusion and loss of time for the general use case of typos or missing variables that silently pass through the input validation process.
Feeding raw logs into an action seems like an edge use case and comes with less control than human input.  My initial thought was to suggest log entries are sanitised before calling the action but this suffers from altering logs which would prevent or hinder further processing.
Since a new data type raw_string is an insufficient solution, I suggest we should add a new parameter flag that enables/disables the expression renderer for all data types.  The renderer flag would control input processing behaviour in a similar way to immutable or secret and gives users explicit control of rendering for any input variable data type.  The flag would be of type boolean and default to true to maintain backward compatibility.
This would allow ingest of raw logs without matching jinja expressions and still provide correct input validation processing with jinja expression rendering for the general use case.  The only use case that would not be handled by this would be when someone attempts to send a mixture of rendered and non-rendered jinja expressions in the same input.  In the case of mixed expression patterns, post-input processing would be required to tease out the parts needed to be rendered verses non-rendered.
Thoughts?

I actually like the idea of the render flag.
On Wed, Nov 20, 2024 at 03:35 Carlos @.***> wrote:

I'd still prefer a deterministic solution to applying expression rendering
to a parameter because I think this change is going to produce more
confusion and loss of time for the general use case of typos or missing
variables that silently pass through the input validation process.
Feeding raw logs into an action seems like an edge use case and comes with
less control than human input. My initial thought was to suggest log
entries are sanitised before calling the action but this suffers from
altering logs which would prevent or hinder further processing.
Since a new data type raw_string is an insufficient solution, I suggest
we should add a new parameter flag that enables/disables the expression
renderer for all data types. The renderer flag would control input
processing behaviour in a similar way to immutable or secret and gives
users explicit control of rendering for any input variable data type. The
flag would be of type boolean and default to true to maintain backward
compatibility.
This would allow ingest of raw logs without matching jinja expressions and
still provide correct input validation processing with jinja expression
rendering for the general use case. The only use case that would not be
handled by this would be when someone attempts to send a mixture of
rendered and non-rendered jinja expressions in the same input. In the case
of mixed expression patterns, post-input processing would be required to
tease out the parts needed to be rendered verses non-rendered.
Thoughts?
—
Reply to this email directly, view it on GitHub
https://github.com/StackStorm/st2/pull/6101#issuecomment-2487889818, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACZ5TIITTNKHLST4RCQM3JL2BRCWVAVCNFSM6AAAAABA62FCUSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBXHA4DSOBRHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

This PR is basically dead.  I am going to close this and do a 'render flag' PR.  @nzlosh @cognifloyd sound good?


Request method downgraded with 301 redirect in nginx, use 308 redirect instead.

Description

Related issue and scope

[x] I opened an issue to propose and discuss this change (https://github.com/apache/incubator-openwhisk/issues/4359)

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[x] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[ ] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Can one of the admins verify this patch?

Codecov Report

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

@@            Coverage Diff             @@
##           master    #4385      +/-   ##
==========================================
- Coverage   84.12%   80.92%   -3.21%
==========================================
  Files         169      169
  Lines        7873     7873
  Branches      543      543
==========================================
- Hits         6623     6371     -252
- Misses       1250     1502     +252

Impacted Files
Coverage Δ

...core/database/cosmosdb/RxObservableImplicits.scala
0% <0%> (-100%)
:arrow_down:

...core/database/cosmosdb/CosmosDBArtifactStore.scala
0% <0%> (-95.46%)
:arrow_down:

...sk/core/database/cosmosdb/CosmosDBViewMapper.scala
0% <0%> (-92.67%)
:arrow_down:

...whisk/core/database/cosmosdb/CosmosDBSupport.scala
0% <0%> (-84.62%)
:arrow_down:

...abase/cosmosdb/CosmosDBArtifactStoreProvider.scala
4% <0%> (-52%)
:arrow_down:

...in/scala/org/apache/openwhisk/common/Counter.scala
40% <0%> (-20%)
:arrow_down:

...penwhisk/core/database/cosmosdb/CosmosDBUtil.scala
81.81% <0%> (-15.16%)
:arrow_down:

...nwhisk/core/database/cosmosdb/CosmosDBConfig.scala
94.11% <0%> (-5.89%)
:arrow_down:

...rg/apache/openwhisk/common/ForcibleSemaphore.scala
88.46% <0%> (-3.85%)
:arrow_down:

...in/scala/org/apache/openwhisk/common/Logging.scala
76.05% <0%> (-0.71%)
:arrow_down:

... and 25 more

Continue to review full report at Codecov.

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


Suggestion: a new postfix type annotation

The native javascript syntax have extensively used a lot of punctuation , colon : comma , and semicolon ; . so if typescript used also them,  in destructuring data type, in object literal,  typescript will get confused very often. and hardly to transpile.
i suggest that use postfix new exclusive annotation [<>] replace colon :.  for example:
list 1
Actual behavior:
let { a, b }: { a: string, b: number } = o;

Expected behavior:
let { a[<string>], b [<number >]}= o;

//rename
let { a: newName1[<string>], b: newName2[<number>] } = o;

list 2
Actual behavior:
let o = {a:(<number[]>[]),b:3,}

Expected behavior:
let o = {a:[][<number[]>],b:3,}

I don't think we want to just add duplicative syntax - there should be ideally one way to write any given type declaration. "Using up" syntax also removes our future options if want to add additional features to the type system later (which is basically a given).


az aks enable-addons failed

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az aks enable-addons
Errors:
'azure-keyvault-secrets-provider'
Traceback (most recent call last):
python3/dist-packages/knack/cli.py, ln 206, in invoke
    cmd_result = self.invocation.execute(args)
cli/core/commands/__init__.py, ln 608, in execute
    raise ex
cli/core/commands/__init__.py, ln 666, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
cli/core/commands/__init__.py, ln 659, in _run_job
    six.reraise(*sys.exc_info())
...
cli/command_modules/acs/custom.py, ln 1842, in aks_enable_addons
    instance = _update_addons(cmd, instance, subscription_id, resource_group_name, addons, enable=True,
cli/command_modules/acs/custom.py, ln 2197, in _update_addons
    addon = ADDONS[addon_arg]
KeyError: 'azure-keyvault-secrets-provider'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az aks enable-addons --addons {} --name {} --resource-group {}

Expected Behavior
Environment Summary
Linux-5.15.0-1020-azure-x86_64-with-glibc2.29
Python 3.8.10
Shell: bash

azure-cli 2.0.81

Extensions:
azure-devops 0.17.0

Additional Context

route to CXP team


Divide Input option is skipping files

As reported in #65. @shawngraham writes:

I went and tried it again, armed with my new knowledge of how it works. In the results, when I opened the metadata.csv, a number of my documents were no longer present; that is to say, no results recorded for them. I had n set for 1000, so I thought perhaps the missing ones were smaller and somehow got folded into the previous 1000-chunk, but no, the missing ones should have been split into three or four chunks at least. So I'm not sure what's going on there... I can't seem to see the commonality between the documents that get dropped.

@shawngraham, it also occurs to me that odd characters in filenames can sometimes cause problematic behavior. If possible, could you upload just the topic-metadata.csv file here?

Hi, I'm sorry - this fell off the radar because I got swamped with other things. I'll try to return to it later this month once the smoke settles!

No problem! And thanks!


from TCP.model import TCP ModuleNotFoundError: No module named 'TCP'

Traceback (most recent call last):
File "/home/cybersec/TCP-main/TCP/train.py", line 15, in
from TCP.model import TCP
ModuleNotFoundError: No module named 'TCP'*
Encountering this issue while running train.py

Have you added the TCP path to PYTHONPATH like this export PYTHONPATH=$PYTHONPATH:PATH_TO_TCP?

yes.
export CARLA_ROOT=/home/cybersec/Work/Docker/carla/share/PythonAPI/carla

The error is:
Traceback (most recent call last):
File "/home/cybersec/TCP-main/leaderboard/leaderboard/leaderboard_evaluator.py", line 34, in
from leaderboard.scenarios.scenario_manager import ScenarioManager
File "/home/cybersec/TCP-main/leaderboard/leaderboard/scenarios/scenario_manager.py", line 25, in
from leaderboard.autoagents.agent_wrapper import AgentWrapper, AgentError
File "/home/cybersec/TCP-main/leaderboard/leaderboard/autoagents/agent_wrapper.py", line 21, in
from leaderboard.autoagents.autonomous_agent import Track
File "/home/cybersec/TCP-main/leaderboard/leaderboard/autoagents/autonomous_agent.py", line 17, in
from leaderboard.utils.route_manipulation import downsample_route
File "/home/cybersec/TCP-main/leaderboard/leaderboard/utils/route_manipulation.py", line 22, in
from agents.navigation.global_route_planner import GlobalRoutePlanner
ModuleNotFoundError: No module named 'agents.navigation'

How to change the perspective of the car during verification


No audio sample frequency detected in a RealAudio Lossless stream

Here is the sample:
luckynight.rmvb.txt
Identified as 44100 Hz and 16-bit by PotPlayer.

RealAudio Lossless is not analyzed, and such piece of metadata is not available in the container, need to analyze the stream.
As RM is nearly dead, I don't see any interest in working on a workaround, I close the issue but anyone do not hesitate to open again the issue if there is any interested in it.


Removed submodule for HAP-NodeJS and moved to NPM

It seemed to be easier all around to use NPM to manage the dependancy on HAP-NodeJS.
This PR removes the submodule, and adjusts the paths of all checked in shims to reference the NPM module instead.
I also updated the documentation to reflect the simpler install ;)

Please give this a quick test before merging - I've tested fairly throughly, but it's a big change, so a code review would be appreciated ;)

This is awesome! Tested and it works great for me.
One question - do you think the HAP-NodeJS dependency should be pinned to a particular commit? I worry that since it's pulling from master, someone could end up getting breaking changes.

Done!
I fixed it to the current commit (handily the one I was waiting for, that added a few more characteristic types! ;p)
I also took the liberty of adding a license to your package.json, mostly to silence npm. I assumed you'd want the ISC license, but that's easily changed if wrong....

Note that this also closes #51

Perfect!

:dancer: this is great.

:+1: nice


ByteArrayAssert should provide the specific implementation for isEquals/containsExactly

Summary
ByteArrayAssert currently simply calls StandardComparisonStrategy.areEqual where it can be very slow to compare large byte array.
Example
The slowest part is Array.get call.
	at java.lang.reflect.Array.get(Native Method)
	at org.assertj.core.util.Objects.areEqualArrays(Objects.java:59)
	at org.assertj.core.util.Objects.areEqual(Objects.java:44)
	at org.assertj.core.internal.StandardComparisonStrategy.areEqual(StandardComparisonStrategy.java:75)
	at org.assertj.core.internal.Objects.areEqual(Objects.java:348)
	at org.assertj.core.internal.Objects.assertEqual(Objects.java:319)
	at org.assertj.core.api.AbstractByteArrayAssert.containsExactly(AbstractByteArrayAssert.java:662)

Hello @luengnat . I think it works same as containsExactly for int array or same as calling to arrays. assertContainsExactly() . Have you any proposals ? :)

@ardmn it's just a performance issue where Array.get() is a reflection call into native call which can be quite slow as it involves boxing

@luengnat if performance is critical for you can override assertion's methods . It is not nice but it works. Unfortunately, current assertj's api  does not provide the possibility to change/put/insert custom implementation for asserting . I mean that user can't use org.assertj.core.api.Assertions with custom org.assertj.core.api.ByteArrayAssert.
import org.assertj.core.api.AbstractByteArrayAssert;
import org.assertj.core.api.ByteArrayAssert;
import org.assertj.core.internal.AbstractComparisonStrategy;
import org.assertj.core.internal.Failures;
import org.assertj.core.internal.StandardComparisonStrategy;
import org.junit.Test;

import java.util.Arrays;

import static org.assertj.core.error.ShouldBeEqual.shouldBeEqual;

public class MyByteArrayAssertTest {

    @Test
    public void test_isEqualTo_true() {
        MyByteArrayAssert.assertThat(new byte[]{1, 2, 3})
                .isEqualTo(new byte[]{1, 2, 3});
    }

    @Test
    public void test_isEqualTo_false() {
        MyByteArrayAssert.assertThat(new byte[]{1, 2, 3})
                .isEqualTo(new byte[]{1, 2, 3, 5, 6, 7, 8});
    }

    public static class MyByteArrayAssert extends ByteArrayAssert {

        private final Failures failures = Failures.instance();
        private final AbstractComparisonStrategy comparisonStrategy = StandardComparisonStrategy.instance();

        public MyByteArrayAssert(byte[] actual) {
            super(actual);
        }

        @Override
        public ByteArrayAssert isEqualTo(Object expected) {
            if (expected instanceof byte[]) {
                if (Arrays.equals(actual, (byte[]) expected)) {
                    return myself;
                }
                throw failures.failure(info, shouldBeEqual(actual, expected, comparisonStrategy, info.representation()));
            } else {
                return super.isEqualTo(expected);
            }
        }

        public static AbstractByteArrayAssert<?> assertThat(final byte[] actual) {
            return new MyByteArrayAssert(actual);
        }
    }
}

@joel-costigliola do we need to preserve the binary compatibility down in the stack? Otherwise, I would prefer that we have a strongly typed org.assertj.core.util.Objects for each primitive and it will eliminate this performance problem.

The reason why there is no specific primitive array implementation was to avoid code duplication and reduce maintenance burden.
If someone wants to contribute a specific primitive array implementation, I think I'll be ok with that but I don't have the time to do it.
AssertJ tries to be as backward compatible as possible but if we need to break for good reasons, we do as long as it is relatively minor and adds more value than trouble.

Implementing a new array/iterable assertion already requires massive effort. If we also add primitive array implementations this will increase the effort significantly. Therefore I think we should not do it.
For reference here is what it took to add containsExactlyInAnyOrder:
https://github.com/joel-costigliola/assertj-core/commit/bdd84ea99f78ab98528bdbd9078ea694f8d63c67
https://github.com/joel-costigliola/assertj-core/commit/9ad596a4ba7883d2caf8d0bc8baa172ef86b653a
(Note that nowadays more effort would be required because AtomicReferenceArray support was added in the meantime.)

@joel-costigliola I think it can be done without much change. All you need is a type specific implementation of Objects class and we can make it into a singleton instance for each type of Abstract*ArrayAssert. The interface should stay the same I think.

@luengnat I agree the production code change is not to big but you are forgetting the tests, it is massive to duplicate the tests done in the generic arrays implementation to validate the now specific one.

I don't think you need to duplicate the test. We just need to inherit from https://github.com/joel-costigliola/assertj-core/blob/7ec117dd4083c83926ae3d5caa9a2c28d2cfb4b0/src/main/java/org/assertj/core/internal/ObjectArrays.java for each primitive type.

@luengnat not sure what you mean but happy to be proven wrong, keen for a PR?

Many of my test cases use imagery (large byte arrays), so I've encountered this issues as well. I took at stab at fixing this. Turns out this is more complicated than it looks. There are a number of performance issues. For example, in the Arrays class you linked:

Extensive use of ArrayList + IterableDiff results in massive performance problems due to Iterator.remove() causing a resize on large arrays.
Arrays.get() is inefficient for large arrays due to memory generation (internally, it does not use Integer.valueOf, for instance).

I agree with Joel; I don't see a way to implement this without custom installation for each method. That said, most of the implementations would be identical per primitive type.
Ideally, we should use code generation to reduce writing multiple implementations. A library like JavaPoet would be useful here.

Sorry for the late reply, I agree the implementation can be made more performant, thanks for looking into it.


refactor(learn): use graphQL filter for Map

Rather than get everything and then filter.

I was wondering for the front page if we could only filter for unique superblocks right in the graphql query.

@ahmadabdolsaheb apparently you can, via the 'distinct' graphQL query (a Gatsby specific thing, I believe).  I was too slow reviewing Kris' PR, so I'll create a new one.


Can not edit config to run on port 53? (function get_free_udp_port)

I edited the portion of the code to give me 53 for a random lookup so my final config has port 53 in it:
function get_free_udp_port {     local port=$(shuf -i 053-053 -n 1)     ss -lau | grep $port > /dev/null     if [[ $? == 1 ]] ; then         echo "$port"
also tried
function get_free_udp_port {     local port=$(shuf -i 053-053 -n 1)     ss -lau | grep $port > /dev/null     if [[ $? == 1 ]] ; then         echo "53"
And none of this works. In the end, I end up with this:
Try `iptables -h' or 'iptables --help' for more information.
Created symlink<EMAIL_ADDRESS>→<EMAIL_ADDRESS>Job for<EMAIL_ADDRESS>failed because the control process exited with error code.
See "systemctl  status<EMAIL_ADDRESS>and "journalctl  -xe" for details.
Client config --> /root/client-wg0.conf
Now reboot the server and enjoy your fresh VPN installation! :^)
Can someone help so I can install wireguard to Port 53? Seems like if I replace it with a 3 digit number, it works (053 doesn't work I tried)

You can make it easier, run it with environment variable SERVER_PORT=53
SERVER_PORT=53 bash wireguard-install.sh

Unfortunately that did not work either.
Result is the same:
net.ipv4.ip_forward = 1
net.ipv4.conf.all.forwarding = 1
net.ipv6.conf.all.forwarding = 1
Created symlink /etc/systemd/system/multi-user.ta
<EMAIL_ADDRESS>→ /lib/systemd/sy
<EMAIL_ADDRESS>Job for<EMAIL_ADDRESS>failed because the c
ontrol process exited with error code.
See "systemctl  status<EMAIL_ADDRESS>and
"journalctl  -xe" for details.
Client config --> /root/client-wg0.conf
Now reboot the server and enjoy your fresh VPN in
stallation! :^)
root@WireguardP500:~#

See "systemctl status<EMAIL_ADDRESS>and
"journalctl -xe" for details.

Result of the first command:

root@WireguardP500:~# systemctl status wg-quick@w
g0.service
●<EMAIL_ADDRESS>- WireGuard via wg-quick(8
Loaded: loaded<EMAIL_ADDRESS>Active: failed (Result: exit-code) since Thu 2
Docs: man:wg-quick(8)
man:wg(8)
https://www.wireguard.com/
https://www.wireguard.com/quickstart/
https://git.zx2c4.com/WireGuard/about/
https://git.zx2c4.com/WireGuard/about/
Process: 740 ExecStart=/usr/bin/wg-quick up wg0
Main PID: 740 (code=exited, status=2)
Mar 21 08:58:41 WireguardP500 wg-quick[740]: [#]
Mar 21 08:58:41 WireguardP500 wg-quick[740]: [#]
Mar 21 08:58:41 WireguardP500 wg-quick[740]: [#]
Mar 21 08:58:41 WireguardP500 wg-quick[740]: [#]
Mar 21 08:58:41 WireguardP500 wg-quick[740]: RTNE
Mar 21 08:58:41 WireguardP500 wg-quick[740]: [#]
lines 1-18...skipping...
●<EMAIL_ADDRESS>- WireGuard via wg-quick(8
Loaded: loaded<EMAIL_ADDRESS>Active: failed (Result: exit-code) since Thu 2
Docs: man:wg-quick(8)
man:wg(8)
https://www.wireguard.com/
https://www.wireguard.com/quickstart/
https://git.zx2c4.com/WireGuard/about/
https://git.zx2c4.com/WireGuard/about/
Process: 740 ExecStart=/usr/bin/wg-quick up wg0
Main PID: 740 (code=exited, status=2)
Mar 21 08:58:41 WireguardP500 wg-quick[740]: [#]
Mar 21 08:58:41 WireguardP500 wg-quick[740]: [#]
Mar 21 08:58:41 WireguardP500 wg-quick[740]: [#]
Mar 21 08:58:41 WireguardP500 wg-quick[740]: [#]
Mar 21 08:58:41 WireguardP500 wg-quick[740]: RTNE
Mar 21 08:58:41 WireguardP500 wg-quick[740]: [#]
Mar 21 08:58:41 WireguardP500 systemd[1]: wg-quic
●<EMAIL_ADDRESS>- WireGuard via wg-quick(8) for wg0
Loaded: loaded<EMAIL_ADDRESS>enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2019-03-21 08:58:41 PDT; 51min ago
Docs: man:wg-quick(8)
man:wg(8)

Second command:

root@WireguardP500:~# journalctl -xe
Mar 21 09:49:33 WireguardP500 systemd[1226]: Star
-- Subject: User manager start-up is now complete
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- The user manager instance for user 0 has been
-- for starting have been started. Note that othe
-- up or be started at any later time.
-- Startup of the manager took 38109 microseconds
Mar 21 09:49:33 WireguardP500 systemd[1]: Started
-- Subject: Unit<EMAIL_ADDRESS>has finished star
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- Unit<EMAIL_ADDRESS>has finished starting up.
-- The start-up result is done

.

@l-n-s  any comment on this? You can try with any Debian Distro and it will show this.

My Debian machine works fine.
Have you tried to do a clean install? Either uninstall everything and remove all the config files (if you can). Or reinstall the OS.

My Debian machine works fine.
Have you tried to do a clean install? Either uninstall everything and remove all the config files (if you can). Or reinstall the OS.

Yes I have. Brand new Debian 9.0 and 9.8

Go to my profile and check out my wireguard script it should work fine

@LiveChief what is the problem here and how did you fix it? You just claim that your script works without explaining why.

My script is a little different than yours, it's little bit more customized and if u wanna find out how it's done just take a look at the script, 2 min later it should make sense it's pretty easy.

@LiveChief all your self-promoting messages here will be deleted, you have been warned.
@UNlDAN will try to re-check it this weekend, but it looks that your system has a bad config file /etc/wireguard/wg0.conf for some reason.  I really advise you to retry a fresh installation, without /etc/wireguard/wg0.conf file.

Here cuck,
Enjoy the code...
	echo "What port do you want WireGuard to listen to?"
echo "   1) Default: 51820"
echo "   2) Custom"
echo "   3) Random [2000-65535]"
until [[ "$PORT_CHOICE" =~ ^[1-3]$ ]]; do
	read -rp "Port choice [1-3]: " -e -i 1 PORT_CHOICE
done
case $PORT_CHOICE in
	1)
		SERVER_PORT="51820"
	;;
	2)
		until [[ "$SERVER_PORT" =~ ^[0-9]+$ ]] && [ "$SERVER_PORT" -ge 1 ] && [ "$SERVER_PORT" -le 65535 ]; do
			read -rp "Custom port [1-65535]: " -e -i 51820 SERVER_PORT
		done
	;;
	3)
		# Generate random number within private ports range
		SERVER_PORT=$(shuf -i2000-65535 -n1)
		echo "Random Port: $SERVER_PORT"
	;;
esac

Still not working unfortunately. I tried on AWS, GCP and Bare metal servers. Port 53 is a no go.


Add release notes files to the project

summarize the changes in a given version.  Include the github issue # as reference in the file too.
See this project as an example
https://github.com/keptn-contrib/dynatrace-service/tree/master/releasenotes
Look at this for a way to automate the process
https://pypi.org/project/semversioner/

Done - https://github.com/keptn-sandbox/keptn-azure-devops-extension/blob/master/CHANGELOG.md


Forcing git diff to not use colorized output

If a user sets color.ui or color.diff to always in their git configuration files, the output of git diff will contain some "color characters" as well as the diff. When you try to apply this diff with color characters with git apply you will get fatal: unrecognized input.
I think this is the cause of issue #11543
Reproduce in git with:
mkdir git-test
cd git-test/
git init
echo "foo" > bar.txt
git add bar.txt
git commit -m "First"
echo "foomobile" > bar.txt
git add bar.txt
git diff HEAD > new.patch --color=always
git reset --hard HEAD
git apply new.patch --check

Set --color=never or --no-color and the unrecognized input error should disappear and the patch be applied successfully.

@facebook-github-bot shipit

Great @mikaello! Thanks!

This fix has just been published (0.2.6)
https://www.npmjs.com/package/react-native-git-upgrade


Expose a callback for onFocus in SemanticsProperties

@goderbauer
I want to know when a particular node built by overriding semanticsBuilder in CustomPaint has focus (and not require the user to have to focus and then tap - so onTap doesn't work for my use case). Please add a callback for onFocus.

Just to avoid any misunderstandings: We are talking about accessibility focus here, right? The green (Android) or black (iOS) square that Talkback/VoiceOver shows on screen to allow a user to interact with the node?
This is not about input focus (e.g. a text field has input focus when it receives keyboard inputs).

Yes, this is about the accessibility focus - the green (Android) square that shows on the screen when Talkback is enabled and the user is focused on a node. When testing on Android, Talkback will focus on a node when I tap one or when I swipe left or right to iterate the nodes. In my CustomPainter, I am generating a list of nodes and I want to know when that node has the Talkback focus.


Introduce ClusterServlet

Rename servlet.py to env_servlet.py

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #281

PR #282

PR #283   👈

This stack of pull requests is managed by Graphite.


rpcdaemon: trace_filter ASAN failure during fuzzy testing

https://github.com/erigontech/silkworm/actions/runs/9143609277/job/25140482058
I suspect it's due to missing check on presence of non-empty params, but I've not analysed the stack trace properly.

This is just one example of a missing validation check in some API endpoint implementation.
Instead of repeating the same checks all over the places, the solution for this is adding the missing debug and trace API schemas to the Execution Layer API spec on our fork in order to extend the coverage guaranteed by our metadata-driver JSON-RPC validator. Then, when this approach will be battle-tested, we will try to contribute back upstream.


cli: fix mod usage for publish command

Don't show the github usage part in publish command since it's not
supported
fixes #DEV-2941
Signed-off-by: Marcos Lilljedahl<EMAIL_ADDRESS>

Seems like truncating the help text will leave it as:
Path to dagger.json config file for the module or a directory containing that file. Either local path (e.g. \"/path/to/some/dir\")

Where the Either bit is strange.
I suppose we can just have a different help text for that case.
It made we reconsider whether we should allow dagger publish to just work for remote git repos, but I think the reasoning is that the small amount of friction of having to check out the repo first would likely prevent the most mischief of someone publishing tons of modules in a DOS-style attack.

@jpadams @gerhard  mind :eyes:  another pass?

Unfortunately, this truncated help text's message doesn't seem to be accurate to reality.
Proposed truncation: Path to dagger.json config file for the module or a directory
Test. Path to dagger.jsondoes not work, but path to directory "containing" dagger.json does work.
src ➤ dagger -m ./okteto-dagger-module/dagger.json publish
Full trace at https://dagger.cloud/dagger/traces/e55af9e56f1fd5acf220a5246a535f47

✔ connect 1.0s
  ✔ starting engine 0.7s
    ✔ create 0.7s
  ✔ connecting to engine 0.2s
✔ moduleSource(refString: "./okteto-dagger-module/dagger.json"): ModuleSource! 0.0s
✔ ModuleSource.kind: ModuleSourceKind! 0.0s

Error: failed to get configured module: error trying to find config path for ./okteto-dagger-module/dagger.json: failed to lstat okteto-dagger-module/dagger.json/dagger.json: lstat okteto-dagger-module/dagger.json/dagger.json: not a directory
src ➤ dagger -m ./okteto-dagger-module/ publish
Publishing github.com/jpadams/dagger-module@4d6d3b4d954e27e707b208d3d8bee0d986fe4d2d to https://daggerverse.dev...

You can check on the crawling status here:

    https://daggerverse.dev/mod/github.com/jpadams/dagger-module@4d6d3b4d954e27e707b208d3d8bee0d986fe4d2d

Once the crawl is complete, you can view your module here:

    https://daggerverse.dev/mod/github.com/jpadams/dagger-module@4d6d3b4d954e27e707b208d3d8bee0d986fe4d2d
src ➤

Proposing this text. Testing
 modFlag := *moduleFlags.Lookup("mod")
modFlag.Usage = "Path to module directory containing the dagger.json config file" modulePublishCmd.Flags().AddFlag(&modFlag)

https://github.com/dagger/dagger/pull/7868


File edit callback

Required for operation of the component within AssetAdmin.
Can't be handled by events since it needs to replace behaviour rather than augment it.
The callback shouldn't be used by other implementations, it's likely going to be replaced
by React subclasses or a more integrated approach to state changes (shared Flux store between list and gallery view)

Required by https://github.com/open-sausages/silverstripe-cms/commit/8009b20d4e0d0b1d929b3ed50bfe976497b700b3


Disable save/download when sysinfo.md is selected

Describe the bug
Currently, if the sysinfo.md virtual file is selected in the file manager sidebar, and the user clicks the save or run buttons at the top, Viper reports a TypeError in a red popup.
Setup

MicroPython board: Pico W
MicroPython version: 1.23.0
OS version: macOS Sonoma
Browser: Chrome
Connection type: USB

To Reproduce
In description
Expected behavior
I would imagine it might be a good idea to disable these buttons?
Actual Screenshots / Logs

Will be handled by https://github.com/vshymanskyy/ViperIDE/issues/28


LLM output stuck in a loop

Using the current codebase, on the local LLM it seems to be stuck in a loop. After the 4th iteration the console output looks like this:
Ensure the response can be parsed by Python json.loads.
The current time and date is Wed Jun 28 08:49:58 2023
### Human: Determine which next tool to use, and respond using the format specified above:
### Assistant: { "thoughts": {...}, "tool": {...} }
### Assistant: { "thoughts": {...}, "tool": {...} }
### Assistant: { "thoughts": {...}, "tool": {...} }
### Assistant: { "thoughts": {...}, "tool": {...} }
### Assistant: { "thoughts": {...}, "tool": {...} }
### Human: Determine which next tool to use, and respond using the format specified above:
### Assistant:
--------------------

Llama.generate: prefix-match hit

llama_print_timings:        load time =  1362.62 ms
llama_print_timings:      sample time =     3.34 ms /    17 runs   (    0.20 ms per token)
llama_print_timings: prompt eval time = 11490.38 ms /   167 tokens (   68.80 ms per token)
llama_print_timings:        eval time =  3738.57 ms /    16 runs   (  233.66 ms per token)
llama_print_timings:       total time = 15325.80 ms
Output generated in 15.90 seconds (1.01 tokens/s, 16 tokens, context 1271, seed<PHONE_NUMBER>)

@sirajperson can you look into this?

Sure @neelayan7. What just to be on the same page. What model are we using here. I have been working on experimenting with 30B-Lazarus. They have recently updated it to include the superHOT lora.

Since the new SuperHOT has expanded the context window for Llama to 8-16k, I'm working on getting useful JSON from 30B-Lazurus. I'll be working on the repetitive prompts and the thinking tool issue today.
On my branch I've updated the Docker files to use the latest version of the TGWUI docker specific repo. On my testing rig all of the containers are loading great. I don't have the best computer, so I can't test GPTQ based inferences, so I've been sticking to models that I can inference directly in HF format, or models that I can use with llama-cpp. I would really like to use MPT-30b-instruct, because when I inference that model using GGML on the command line it produces great code. Right now I'm downloading and testing 30B-Lazurs. They recently merged the SuperHot LoRA in the repo, so I'm downloading and working with that one for now. I would like to think that the json problem is associated with the model being used. For example, If I used Llama_3b, the application would loop and fail because Llama 3b doesn't have the ability yet to produce the kind of responses that the agents need in order to process functions controlled by JSON. If 30B-Lazurus comes close though, it may be worth either using an additional LoRA that either already allows the model to produce usable JSON, or to simply train a LoRA to do the job for SuperAGI.
The big hurdle of dealing with the limited context window though is definitely solved thanks to SuperHOT. At this time I'm downloading the weights from hugging face for 30B-Lazurs. I selected this model because it has the highest perplexity score on the HF leader board. I reasoned that by using a model that was not specifically fine tuned for coding would allow the agent to have better access to solving a broad range of problems. However, I'm not sure yet if that creates a trade off for not being able to produce answers that are in the correct json format.
It may require not using the default prompt configurations that are in place when creating a new agent.
There have have been discussions on other issues regarding this looping issue.
Namely: #243 , #411 , #386
It would be great if everyone that is testing or working on the full execution of various local models defer there comments to this issue so that everyone can keep track of the discussion easily.

So I've been burning the midnight oil the last several days trying to match the best opensource models to the task agent. So far the best one that has started successfully started generating instructions and following a reasoning chain of thought has been:
ausboss/llama-30b-supercot
In order to run it keep it coherent it cannot be quantized that much. My testing and development machine has 64gigs of system memory and 48 gigs of vram. I'm not able to use GPTQ models because my accelerator cards do not support half precision floats. You may have more luck with GPTQ models because you can easily attach LoRAs to them. In any case, using open source models is not as versatile as using ChatGPT. The instruct models have a specific data set that they were trained on. A large list of prompt styles can be found in the TGWUI characters folder:
Text Generation Web UI Characters
What that boils down to is that the task agent has to speak in the style of the selected language model. In the case of using llama-30b-supercot I had to create a modification of the prompt templates in SuperAGI/superagi/agent/prompts/
So far these seem to have the best results, not to say that they could probably be much better:
superagt.txt:
Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.

### Instructions:
As an AI assistant to solve complex problems, your decisions must always be made independently without seeking user assistance. Play to your strengths as an LLM and pursue simple strategies with no legal complications. If you have completed all your tasks or reached the end state, make sure to use the "finish" tool.
Select and use tools from the list provided in the 'Input' section as needed to effectively solve each step of the problem.

{instructions}

PERFORMANCE EVALUATION:
1. Continuously review and analyze your actions to ensure you are performing to the best of your abilities.
2. Use instruction to decide the flow of execution and decide the next steps for achieving the task.
3. Constructively self-criticize your big-picture behavior constantly.
4. Reflect on past decisions and strategies to refine your approach.
5. Every tool has a cost, so be smart and efficient.
6. Aim to complete tasks in the least number of steps.

I should only respond in JSON format as described below.
Response Format:
{response_format}

Ensure the response can be parsed by Python json.loads.

### Input:
GOALS:
{goals}

CONSTRAINTS:
{constraints}

TOOLS:
{tools}

### Response:

analyse_task.txt:
Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.

### Instructions:
High-Level Goal:
{goals}

Additional Instructions:
{task_instructions}

Your Current Task:
{current_task}

Based on this information, your job is to understand the current task, pick out key parts, and think smartly and quickly. Explain why you are taking each action, create a plan, and mention any concerns you might have. Ensure the next action tool is picked from the provided tool list.

Your answer must be in JSON format that can be read by JSON.parse(), and nothing else.

RESPONSE FORMAT:
{
    "thoughts": {
        "reasoning": "reasoning"
    },
    "tool": {"name": "tool name", "args": {"arg name": "string value"}}
}

### Input:
GOALS:
{goals}

CURRENT TASK:
{current_task}

TOOLS:
{tools}

TASK HISTORY:
{task_history}

ADDITIONAL INSTRUCTIONS:
{task_instructions}

### Response:

create_task.txt:
Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.

High-Level Goal:
{goals}

Additional Instructions:
{task_instructions}

You have the following incomplete tasks: `{pending_tasks}`. You have the following completed tasks: `{completed_tasks}`.

Based on this information, create a single task to be completed by your AI system ONLY IF REQUIRED to get closer to or fully achieve the high-level goal. Do not create any task if it is already covered in incomplete or completed tasks. Ensure your new task does not deviate from the goal.

Your answer should be an array of strings, suitable for utilization with JSON.parse(). Return an empty array if no new task is required.

### Input:
GOALS:
{goals}

PENDING TASKS:
{pending_tasks}

COMPLETED TASKS:
{completed_tasks}

ADDITIONAL INSTRUCTIONS:
{task_instructions}

### Response:

initialize_task.txt:
Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.

 You are not a part of any system or device. Your role is to understand the goals presented to you, identify important components, go through the instructions provided by the user, and construct a thorough execution plan.

Construct a sequence of actions to achieve the goal, ensuring that the sequence does not exceed 3 steps.

Submit your response as a formatted array of strings, suitable for utilization with JSON.parse().

Example: ["{{TASK-1}}", "{{TASK-2}}"].

### Input:
GOALS:
{goals}

TASK INSTRUCTIONS:
{task_instructions}

### Response:

prioritize_task.txt:
Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.

High-Level Goal:
{goals}

Additional Instructions:
{task_instructions}

You have the following incomplete tasks: `{pending_tasks}`. You have the following completed tasks: `{completed_tasks}`.

Based on this information, evaluate the incomplete tasks and sort them in the order of execution. The first task in the output will be executed first and so on. Remove any tasks that are unnecessary, duplicate, already completed, or do not contribute to achieving the main goal.

Your answer should be an array of strings in JSON format that can be used with JSON.parse() and NOTHING ELSE.

### Input:
GOALS:
{goals}

PENDING TASKS:
{pending_tasks}

COMPLETED TASKS:
{completed_tasks}

### Response:

It is important to note that there is a newline after '### Response:', and that the file ends with the newline, not two or three. Again, with lower parameter models and the use of quantization the really don't have much room for changing the prompt styles.  As for the configuration of TGWUI. It's important to be sure that the OPENAI_API_BASE: setting is pointing to wherever your running TGWUI. For debugging, I have found it much easier to just run TGWUI form my IDE. However, if one would like to use docker the docker image needs to be configured for the run environment of the container. If the target host machine is going to be using GGML models and executing the inference on the CPU, then setup is straight forward. If, however, one's looking to use their GPU to either run the model outright, or if one is offloading layers of the model to the GPU for faster GGML conferencing (which happens to be my case) then you'll need to install the requirements to Docker to access the host machines GPUs. A full tutorial is well documented on TGWUI's docker readme:
TGWUI Docker ReadMe
Please be aware that getting local LLMs to execute agents is still a work in progress. The framework is there, while it is buggy, it is coming together. I have been working have tried working with some of the new SuperHOT models, like Vicuna-33B, but the model doesn't respond to the queries even at all. Some of the models that I have experimented with so far are:
guanaco-65b-merged:    Required significant quantization in my testing environment which made it not suitable
guanaco-30b-merged:    Better results that the 65B model since I only had to quantize the model to Q8_0 in order to run it.
Vicuna-13B-1-3-SuperHOT-8K-fp16:   Even though I had high hopes for this model since it has been merged with the SuperHOT LoRA, it just didn't perform very well with chain of thought prompting. It seems that having a chain of though model is important.
Wizard-Vicuna-13B-Uncensored:   I tried this model before the availability of SuperHOT. It would respond in non JSON format, which was unusable for the agent controller.
Stable-Vicuna-13B:   Same situation as Wizard-Vicuna
30B-Lazarus:     Performed quite well, but stopped producing JSON responses.
Vicuna-EvolInstruct-13B     This model was promising but seemed to be hallucinating in the answers to frequently to actually be useful for multi step problem solving.
ausboss_llama-30b-supercot  So far is the best performing model that I have been able to test in my environment.
I will continue to work on creating prompt's and researching models that allow SuperAGI to perform a wide variety of tasks. The next one that I'm downloading while writing this post is
TheBloke_WizardLM-Uncensored-SuperCOT-StoryTelling-30B-SuperHOT-8K-fp16
I'm still having trouble with several issues. Debugging SuperAGI has been difficult for me. If anyone has been developing the agent and is reading this post I would love some insight into your debugging environment. I've been using PyCharmPro. Using SuperAGI from the command line isn't working and seems to be broken. Debugging the docker container isn't so straight forward. I'd love to be able to work on making more tools for SuperAGI after LocalLLMs becomes more stable.
So far, I have been able to get the LLM to do step by step reasoning. I have been able to get it to think that it has completed a task. I have not been able to get it to use tools. I'm not certain if this is an issue with the response that the LLM is providing or if there is something else going on with the agent:
4 Goals

Check to see if a file name love.txt exits
If love.txt exists delete it.
Create a file named love.txt
Save a 50 word poem about love to love.txt
Determine which next tool to use, and respond using the format specified above:
schedule-icon
16 hours ago
💡
thoughts = {
"text": "I will first check if love.txt exists.",
"reasoning": "To ensure I am not deleting a file that does not exist.",
"plan": "- short bulleted\n- list that conveys\n- long-term plan",
"criticism": "constructive self-criticism",
"speak": "I will check if love.txt exists."
}
tool = {
"name": "List File",
"description": "lists files in a directory recursively",
"args": {}
}
schedule-icon
16 hours ago
💡
thoughts = {
"text": "I will first check if love.txt exists.",
"reasoning": "To ensure I am not deleting a file that does not exist.",
"plan": "- short bulleted\n- list that conveys\n- long-term plan",
"criticism": "constructive self-criticism",
"speak": "I will check if love.txt exists."
}
tool = {
"name": "Read File",
"description": "reads the file content in a specified location",
"args": {"file_name": {"title": "File Name", "description": "Path of the file to read", "type": "string"}}
}
schedule-icon
16 hours ago
💡
thoughts = {
"text": "I will first check if love.txt exists.",
"reasoning": "To ensure I am not deleting a file that does not exist.",
"plan": "- short bulleted\n- list that conveys\n- long-term plan",
"criticism": "constructive self-criticism",
"speak": "I will check if love.txt exists."
}
tool = {
"name": "Delete File",
"description": "delete a file, args json schema: {"file_name": {"title": "File Name", "description": "Name of the file to delete", "type": "string"}}",
"args": {}
}

As you can see, the chain of though is correct, but there is no response from the agent from using tools like list files write files. Several times the agent had a similar arraignment of tasks and thought that it had completed all the tasks and responded "finished" but the task agent kept querying it and didn't exit. Again, anyone that could help me stop at break points in the container so that I can debug SuperAGI would have my deepest gratitude.
The value in this research is that in my tests it seems that running an agent consumes about 7k tokens per minute... and that's on my slow machine. In actual usage with GPT, I could easily see that being more like 10 to 12. In a nutshell to run an agent via the token expense model would cost about 150 to 200 per day per agent. Running an LLM on a good computer would simply cost the price of electricity. Somewhere in the neighborhood of 60 to 70 dollars per month.
Also, there is the issue of data privacy. An agent that runs in doctors or lawyers office may not be able to communicate important information to chatGPT as it may be illegal.
Aside from monetary concerns or business practice, having a contained agent execution environment is extremely desirable, in many circumstances. Not to mention that in the case of making automated machines, having a localized problem solving machines would be fantastic for scientific research. They would be invaluable in space exploration of distant bodies, where the time it takes to communicate with earth would make decision making just simply not feasible. I could go on and on about how awesome these tools are, but I'm sure you already know... especially if you read this post to here! :'-D

I wanted to ask whether you have an update on which models you would currently recommend?
Given the issues you encounter I would actually highly recommend SuperAGI to base the prompt using LMQL or guidance. These tools would dramatically increase the quality of the outputs and ensure proper JSON structures. I personally use LMQL and I really love such features that for instance constrain outputs to a certain set of options (e.g. for tool selection) or generally structured outputs.

would development here be faster if you had access to a machine with 512GB of ram? maybe I could host something

oobabooga rewrites the prompt using jinja2 in yaml files.
since it's even considering roles like system, user or assistant to create a prompt matching the models template,
a failure is far more unlikely. something like this should be integrated in superagi as well i guess.
https://github.com/oobabooga/text-generation-webui/tree/main/instruction-templates


Tell users to click the icons

It took me about two hours to figure out you are supposed to click the names in order for the charts to show up. Yes.  May want to put a hover or something over there. Something to tell the user what to do. Or not. Whatever.

There is a hover.

Thanks for the feedback. Hover was added recently. I hope this resolves the issues.


Add screenshots for taking over existing shares in a domain based namespace

[Enter feedback here]
Would request addition of steps where we can show how customers can takeover existing shares.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: af9042a5-da6a-fa01-773b-bcebf11bc9a7
Version Independent ID: e62ddb63-5b60-e187-2a6d-e7db00e3246e
Content: How to use DFS-N with Azure Files
Content Source: articles/storage/files/files-manage-namespaces.md
Service: azure-file-storage
GitHub Login: @khdownie
Microsoft Alias: kendownie

@SurajSPujari
Thanks for your feedback! We will investigate and update as appropriate.

@SurajSPujari
I'm going to assign this to the document author so they can take a look at it accordingly

@SurajSPujari could you be more specific about what you feel is missing from the article? Are the existing instructions not clear, or not sufficient? Thanks.

Closing due to lack of feedback from user.
#please-close


Ramain traces in json ouput

Component
Forge
Describe the feature you would like
Ramain traces in json ouput for the latest version 0.2.0 (1bb2d67 2024-02-19T00:17:15.443050638Z) like in old version (e.g., 0.2.0 (638bd2e 2023-05-23T09:59:16.241585900Z).
version: forge 0.2.0 (1bb2d67 2024-02-19T00:17:15.443050638Z)
system: ubuntu
command: forge test --contracts ./test.sol -vvvvv -j --ffi > ./test.json
output:
{
    "test-FFI-diff.sol:DiffFuzzTest": {
        "duration": {
            "secs": 0,
            "nanos": 2566898
        },
        "test_results": {
            "test_diff()": {
                "status": "Success",
                "reason": null,
                "counterexample": null,
                "logs": [],
                "decoded_logs": [],
                "kind": {
                    "Standard": 207879
                },
                "labeled_addresses": {},
                "debug": null,
                "breakpoints": {}
            }
        },
        "warnings": []
    }
}

expected behavior: traces in test_diff()
Additional context
I have a small question, the result display in console and export the json are different, how to achieve consistency?
For example, the returned data of VM::stopAndReturnStateDiff() is structed like

But the data in json file is raw data. Here, I used old version 0.2.0 (638bd2e 2023-05-23T09:59:16.241585900Z)`.

The JSON output is the raw ABI encoded representation of the return data.

The JSON output is the raw ABI encoded representation of the return data.

Thanks for the reply, do you mean that I can only process the generated raw data in the JSON output? Can I directly utilize the functionality that Foundry has already implemented to make it processed the same as the console?

Then it's a duplicate of https://github.com/foundry-rs/foundry/issues/6922


Update tomcat-catalina, tomcat-coyote, ... to 10.0.11

Updates

org.apache.tomcat:tomcat-catalina
org.apache.tomcat:tomcat-coyote
org.apache.tomcat:tomcat-util-scan

from 9.0.53 to 10.0.11.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.apache.tomcat" } ]

labels: library-update, semver-major

No servlet 5 strategy yet