Builds are failing due to missing dependencies that exist in gemfile

build http://mydoghatestechnology.com/projects_erb/32903571-271e-4c87-9b32-11df3c82d5aa/builds/461
failed because of a missing gem that is referenced. Locally, the build works fine. It also works fine on the build machine if I bundle install there in a terminal and run be fastlane rspec_me
So I think our Bundler environment isolation isn't working as expected, or something else is going on.
# Logfile created on 2018-04-15 15:45:55 -0700 by logger.rb/56438
[15:45:55]: Driving the lane 'rspec_me' 🚀
[15:45:55]: ----------------------------------
[15:45:55]: --- Step: cd ..;bundle install ---
[15:45:55]: ----------------------------------
[15:45:55]: $ cd ..;bundle install
[15:45:55]: ▸ Running `bundle install` with bundler 1.16.1
[15:45:55]: ▸ Found no changes, using resolution from the lockfile
[15:45:55]: ▸ Using rake 12.3.1
[15:45:55]: ▸ 0: rake (12.3.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/rake-12.3.1.gemspec
[15:45:55]: ▸ Using CFPropertyList 3.0.0
[15:45:55]: ▸ 0: CFPropertyList (3.0.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/CFPropertyList-3.0.0.gemspec
[15:45:55]: ▸ Using abstract_type 0.0.7
[15:45:55]: ▸ 0: abstract_type (0.0.7) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/abstract_type-0.0.7.gemspec
[15:45:55]: ▸ Using ice_nine 0.11.2
[15:45:55]: ▸ 0: ice_nine (0.11.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/ice_nine-0.11.2.gemspec
[15:45:55]: ▸ Using thread_safe 0.3.6
[15:45:55]: ▸ 0: thread_safe (0.3.6) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/thread_safe-0.3.6.gemspec
[15:45:55]: ▸ Using memoizable 0.4.2
[15:45:55]: ▸ 0: memoizable (0.4.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/memoizable-0.4.2.gemspec
[15:45:55]: ▸ Using adamantium 0.2.0
[15:45:55]: ▸ 0: adamantium (0.2.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/adamantium-0.2.0.gemspec
[15:45:55]: ▸ Using public_suffix 2.0.5
[15:45:55]: ▸ 0: public_suffix (2.0.5) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/public_suffix-2.0.5.gemspec
[15:45:55]: ▸ Using addressable 2.5.2
[15:45:55]: ▸ 0: addressable (2.5.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/addressable-2.5.2.gemspec
[15:45:55]: ▸ Using ast 2.4.0
[15:45:55]: ▸ 0: ast (2.4.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/ast-2.4.0.gemspec
[15:45:55]: ▸ Using atomos 0.1.2
[15:45:55]: ▸ 0: atomos (0.1.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/atomos-0.1.2.gemspec
[15:45:55]: ▸ Using babosa 1.0.2
[15:45:55]: ▸ 0: babosa (1.0.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/babosa-1.0.2.gemspec
[15:45:55]: ▸ Using backports 3.11.1
[15:45:55]: ▸ 0: backports (3.11.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/backports-3.11.1.gemspec
[15:45:55]: ▸ Using bcrypt 3.1.11
[15:45:55]: ▸ 0: bcrypt (3.1.11) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/bcrypt-3.1.11.gemspec
[15:45:55]: ▸ Using bundler 1.16.1
[15:45:55]: ▸ 0: bundler (1.16.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/bundler-1.16.1.gemspec
[15:45:55]: ▸ Using byebug 10.0.2
[15:45:55]: ▸ 0: byebug (10.0.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/byebug-10.0.2.gemspec
[15:45:55]: ▸ Using claide 1.0.2
[15:45:55]: ▸ 0: claide (1.0.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/claide-1.0.2.gemspec
[15:45:55]: ▸ Using coderay 1.1.2
[15:45:55]: ▸ 0: coderay (1.1.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/coderay-1.1.2.gemspec
[15:45:55]: ▸ Using colored 1.2
[15:45:55]: ▸ 0: colored (1.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/colored-1.2.gemspec
[15:45:55]: ▸ Using colored2 3.1.2
[15:45:55]: ▸ 0: colored2 (3.1.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/colored2-3.1.2.gemspec
[15:45:55]: ▸ Using highline 1.7.10
[15:45:55]: ▸ 0: highline (1.7.10) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/highline-1.7.10.gemspec
[15:45:55]: ▸ Using commander-fastlane 4.4.6
[15:45:55]: ▸ 0: commander-fastlane (4.4.6) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/commander-fastlane-4.4.6.gemspec
[15:45:55]: ▸ Using equalizer 0.0.11
[15:45:55]: ▸ 0: equalizer (0.0.11) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/equalizer-0.0.11.gemspec
[15:45:55]: ▸ Using concord 0.1.5
[15:45:55]: ▸ 0: concord (0.1.5) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/concord-0.1.5.gemspec
[15:45:55]: ▸ Using json 2.1.0
[15:45:55]: ▸ 0: json (2.1.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/json-2.1.0.gemspec
[15:45:55]: ▸ Using docile 1.1.5
[15:45:55]: ▸ 0: docile (1.1.5) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/docile-1.1.5.gemspec
[15:45:55]: ▸ Using simplecov-html 0.10.2
[15:45:55]: ▸ 0: simplecov-html (0.10.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/simplecov-html-0.10.2.gemspec
[15:45:55]: ▸ Using simplecov 0.14.1
[15:45:55]: ▸ 0: simplecov (0.14.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/simplecov-0.14.1.gemspec
[15:45:55]: ▸ Using tins 1.16.3
[15:45:55]: ▸ 0: tins (1.16.3) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/tins-1.16.3.gemspec
[15:45:55]: ▸ Using term-ansicolor 1.6.0
[15:45:55]: ▸ 0: term-ansicolor (1.6.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/term-ansicolor-1.6.0.gemspec
[15:45:55]: ▸ Using thor 0.19.4
[15:45:55]: ▸ 0: thor (0.19.4) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/thor-0.19.4.gemspec
[15:45:55]: ▸ Using coveralls 0.8.21
[15:45:55]: ▸ 0: coveralls (0.8.21) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/coveralls-0.8.21.gemspec
[15:45:55]: ▸ Using daemons 1.2.6
[15:45:55]: ▸ 0: daemons (1.2.6) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/daemons-1.2.6.gemspec
[15:45:55]: ▸ Using declarative 0.0.10
[15:45:55]: ▸ 0: declarative (0.0.10) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/declarative-0.0.10.gemspec
[15:45:55]: ▸ Using declarative-option 0.1.0
[15:45:55]: ▸ 0: declarative-option (0.1.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/declarative-option-0.1.0.gemspec
[15:45:55]: ▸ Using diff-lcs 1.3
[15:45:55]: ▸ 0: diff-lcs (1.3) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/diff-lcs-1.3.gemspec
[15:45:55]: ▸ Using digest-crc 0.4.1
[15:45:55]: ▸ 0: digest-crc (0.4.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/digest-crc-0.4.1.gemspec
[15:45:55]: ▸ Using unf_ext <IP_ADDRESS>
[15:45:55]: ▸ 0: unf_ext (<IP_ADDRESS>) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/unf_ext-<IP_ADDRESS>.gemspec
[15:45:55]: ▸ Using unf 0.1.4
[15:45:55]: ▸ 0: unf (0.1.4) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/unf-0.1.4.gemspec
[15:45:55]: ▸ Using domain_name 0.5.20170404
[15:45:55]: ▸ 0: domain_name (0.5.20170404) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/domain_name-0.5.20170404.gemspec
[15:45:55]: ▸ Using dotenv 2.2.1
[15:45:55]: ▸ 0: dotenv (2.2.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/dotenv-2.2.1.gemspec
[15:45:55]: ▸ Using equatable 0.5.0
[15:45:55]: ▸ 0: equatable (0.5.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/equatable-0.5.0.gemspec
[15:45:55]: ▸ Using tzinfo 1.2.5
[15:45:55]: ▸ 0: tzinfo (1.2.5) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/tzinfo-1.2.5.gemspec
[15:45:55]: ▸ Using et-orbi 1.1.0
[15:45:55]: ▸ 0: et-orbi (1.1.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/et-orbi-1.1.0.gemspec
[15:45:55]: ▸ Using eventmachine 1.2.5
[15:45:55]: ▸ 0: eventmachine (1.2.5) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/eventmachine-1.2.5.gemspec
[15:45:55]: ▸ Using excon 0.62.0
[15:45:55]: ▸ 0: excon (0.62.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/excon-0.62.0.gemspec
[15:45:55]: ▸ Using multipart-post 2.0.0
[15:45:55]: ▸ 0: multipart-post (2.0.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/multipart-post-2.0.0.gemspec
[15:45:55]: ▸ Using faraday 0.14.0
[15:45:55]: ▸ 0: faraday (0.14.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/faraday-0.14.0.gemspec
[15:45:55]: ▸ Using http-cookie 1.0.3
[15:45:55]: ▸ 0: http-cookie (1.0.3) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/http-cookie-1.0.3.gemspec
[15:45:55]: ▸ Using faraday-cookie_jar 0.0.6
[15:45:55]: ▸ 0: faraday-cookie_jar (0.0.6) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/faraday-cookie_jar-0.0.6.gemspec
[15:45:55]: ▸ Using faraday-http-cache 2.0.0
[15:45:55]: ▸ 0: faraday-http-cache (2.0.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/faraday-http-cache-2.0.0.gemspec
[15:45:55]: ▸ Using faraday_middleware 0.12.2
[15:45:55]: ▸ 0: faraday_middleware (0.12.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/faraday_middleware-0.12.2.gemspec
[15:45:55]: ▸ Using parser <IP_ADDRESS>
[15:45:55]: ▸ 0: parser (<IP_ADDRESS>) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/parser-<IP_ADDRESS>.gemspec
[15:45:55]: ▸ Using procto 0.0.3
[15:45:55]: ▸ 0: procto (0.0.3) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/procto-0.0.3.gemspec
[15:45:55]: ▸ Using unparser 0.2.7
[15:45:55]: ▸ 0: unparser (0.2.7) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/unparser-0.2.7.gemspec
[15:45:55]: ▸ Using fastfile-parser 0.0.0 from https://github.com/fastlane/fastfile-parser (at master@a9707d8)
[15:45:55]: ▸ 0: fastfile-parser (0.0.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/bundler/gems/fastfile-parser-a9707d87eb6b/fastfile-parser.gemspec
[15:45:55]: ▸ Using fastimage 2.1.1
[15:45:55]: ▸ 0: fastimage (2.1.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/fastimage-2.1.1.gemspec
[15:45:55]: ▸ Using gh_inspector 1.1.3
[15:45:55]: ▸ 0: gh_inspector (1.1.3) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/gh_inspector-1.1.3.gemspec
[15:45:55]: ▸ Using jwt 2.1.0
[15:45:55]: ▸ 0: jwt (2.1.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/jwt-2.1.0.gemspec
[15:45:55]: ▸ Using little-plugger 1.1.4
[15:45:55]: ▸ 0: little-plugger (1.1.4) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/little-plugger-1.1.4.gemspec
[15:45:55]: ▸ Using multi_json 1.13.1
[15:45:55]: ▸ 0: multi_json (1.13.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/multi_json-1.13.1.gemspec
[15:45:55]: ▸ Using logging 2.2.2
[15:45:55]: ▸ 0: logging (2.2.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/logging-2.2.2.gemspec
[15:45:55]: ▸ Using memoist 0.16.0
[15:45:55]: ▸ 0: memoist (0.16.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/memoist-0.16.0.gemspec
[15:45:55]: ▸ Using os 0.9.6
[15:45:55]: ▸ 0: os (0.9.6) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/os-0.9.6.gemspec
[15:45:55]: ▸ Using signet 0.8.1
[15:45:55]: ▸ 0: signet (0.8.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/signet-0.8.1.gemspec
[15:45:55]: ▸ Using googleauth 0.6.2
[15:45:55]: ▸ 0: googleauth (0.6.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/googleauth-0.6.2.gemspec
[15:45:55]: ▸ Using httpclient 2.8.3
[15:45:55]: ▸ 0: httpclient (2.8.3) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/httpclient-2.8.3.gemspec
[15:45:55]: ▸ Using mime-types-data 3.2016.0521
[15:45:55]: ▸ 0: mime-types-data (3.2016.0521) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/mime-types-data-3.2016.0521.gemspec
[15:45:55]: ▸ Using mime-types 3.1
[15:45:55]: ▸ 0: mime-types (3.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/mime-types-3.1.gemspec
[15:45:55]: ▸ Using uber 0.1.0
[15:45:55]: ▸ 0: uber (0.1.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/uber-0.1.0.gemspec
[15:45:55]: ▸ Using representable 3.0.4
[15:45:55]: ▸ 0: representable (3.0.4) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/representable-3.0.4.gemspec
[15:45:55]: ▸ Using retriable 3.1.1
[15:45:55]: ▸ 0: retriable (3.1.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/retriable-3.1.1.gemspec
[15:45:55]: ▸ Using google-api-client 0.13.6
[15:45:55]: ▸ 0: google-api-client (0.13.6) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/google-api-client-0.13.6.gemspec
[15:45:55]: ▸ Using mini_magick 4.5.1
[15:45:55]: ▸ 0: mini_magick (4.5.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/mini_magick-4.5.1.gemspec
[15:45:55]: ▸ Using multi_xml 0.6.0
[15:45:55]: ▸ 0: multi_xml (0.6.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/multi_xml-0.6.0.gemspec
[15:45:55]: ▸ Using plist 3.4.0
[15:45:55]: ▸ 0: plist (3.4.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/plist-3.4.0.gemspec
[15:45:55]: ▸ Using rubyzip 1.2.1
[15:45:55]: ▸ 0: rubyzip (1.2.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/rubyzip-1.2.1.gemspec
[15:45:56]: ▸ Using security 0.1.3
[15:45:56]: ▸ 0: security (0.1.3) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/security-0.1.3.gemspec
[15:45:56]: ▸ Using naturally 2.1.0
[15:45:56]: ▸ 0: naturally (2.1.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/naturally-2.1.0.gemspec
[15:45:56]: ▸ Using simctl 1.6.3
[15:45:56]: ▸ 0: simctl (1.6.3) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/simctl-1.6.3.gemspec
[15:45:56]: ▸ Using slack-notifier 2.3.2
[15:45:56]: ▸ 0: slack-notifier (2.3.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/slack-notifier-2.3.2.gemspec
[15:45:56]: ▸ Using terminal-notifier 1.8.0
[15:45:56]: ▸ 0: terminal-notifier (1.8.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/terminal-notifier-1.8.0.gemspec
[15:45:56]: ▸ Using unicode-display_width 1.3.0
[15:45:56]: ▸ 0: unicode-display_width (1.3.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/unicode-display_width-1.3.0.gemspec
[15:45:56]: ▸ Using terminal-table 1.8.0
[15:45:56]: ▸ 0: terminal-table (1.8.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/terminal-table-1.8.0.gemspec
[15:45:56]: ▸ Using tty-screen 0.6.4
[15:45:56]: ▸ 0: tty-screen (0.6.4) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/tty-screen-0.6.4.gemspec
[15:45:56]: ▸ Using tty-cursor 0.5.0
[15:45:56]: ▸ 0: tty-cursor (0.5.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/tty-cursor-0.5.0.gemspec
[15:45:56]: ▸ Using tty-spinner 0.8.0
[15:45:56]: ▸ 0: tty-spinner (0.8.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/tty-spinner-0.8.0.gemspec
[15:45:56]: ▸ Using word_wrap 1.0.0
[15:45:56]: ▸ 0: word_wrap (1.0.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/word_wrap-1.0.0.gemspec
[15:45:56]: ▸ Using nanaimo 0.2.5
[15:45:56]: ▸ 0: nanaimo (0.2.5) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/nanaimo-0.2.5.gemspec
[15:45:56]: ▸ Using xcodeproj 1.5.7
[15:45:56]: ▸ 0: xcodeproj (1.5.7) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/xcodeproj-1.5.7.gemspec
[15:45:56]: ▸ Using rouge 2.0.7
[15:45:56]: ▸ 0: rouge (2.0.7) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/rouge-2.0.7.gemspec
[15:45:56]: ▸ Using xcpretty 0.2.8
[15:45:56]: ▸ 0: xcpretty (0.2.8) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/xcpretty-0.2.8.gemspec
[15:45:56]: ▸ Using xcpretty-travis-formatter 1.0.0
[15:45:56]: ▸ 0: xcpretty-travis-formatter (1.0.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/xcpretty-travis-formatter-1.0.0.gemspec
[15:45:56]: ▸ Using fastlane 2.89.0 from https://github.com/fastlane/fastlane (at master@c579921)
[15:45:56]: ▸ 0: fastlane (2.89.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/bundler/gems/fastlane-c579921dcf7a/fastlane.gemspec
[15:45:56]: ▸ Using websocket-extensions 0.1.3
[15:45:56]: ▸ 0: websocket-extensions (0.1.3) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/websocket-extensions-0.1.3.gemspec
[15:45:56]: ▸ Using websocket-driver 0.7.0
[15:45:56]: ▸ 0: websocket-driver (0.7.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/websocket-driver-0.7.0.gemspec
[15:45:56]: ▸ Using faye-websocket 0.10.7
[15:45:56]: ▸ 0: faye-websocket (0.10.7) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/faye-websocket-0.10.7.gemspec
[15:45:56]: ▸ Using git 1.3.0
[15:45:56]: ▸ 0: git (1.3.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/git-1.3.0.gemspec
[15:45:56]: ▸ Using google-cloud-env 1.0.1
[15:45:56]: ▸ 0: google-cloud-env (1.0.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/google-cloud-env-1.0.1.gemspec
[15:45:56]: ▸ Using google-cloud-core 1.2.0
[15:45:56]: ▸ 0: google-cloud-core (1.2.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/google-cloud-core-1.2.0.gemspec
[15:45:56]: ▸ Using google-cloud-storage 1.5.0
[15:45:56]: ▸ 0: google-cloud-storage (1.5.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/google-cloud-storage-1.5.0.gemspec
[15:45:56]: ▸ Using method_source 0.9.0
[15:45:56]: ▸ 0: method_source (0.9.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/method_source-0.9.0.gemspec
[15:45:56]: ▸ Using mustermann 1.0.2
[15:45:56]: ▸ 0: mustermann (1.0.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/mustermann-1.0.2.gemspec
[15:45:56]: ▸ Using sawyer 0.8.1
[15:45:56]: ▸ 0: sawyer (0.8.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/sawyer-0.8.1.gemspec
[15:45:56]: ▸ Using octokit 4.8.0
[15:45:56]: ▸ 0: octokit (4.8.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/octokit-4.8.0.gemspec
[15:45:56]: ▸ Using parallel 1.12.1
[15:45:56]: ▸ 0: parallel (1.12.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/parallel-1.12.1.gemspec
[15:45:56]: ▸ Using tty-color 0.4.2
[15:45:56]: ▸ 0: tty-color (0.4.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/tty-color-0.4.2.gemspec
[15:45:56]: ▸ Using pastel 0.7.2
[15:45:56]: ▸ 0: pastel (0.7.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/pastel-0.7.2.gemspec
[15:45:56]: ▸ Using powerpack 0.1.1
[15:45:56]: ▸ 0: powerpack (0.1.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/powerpack-0.1.1.gemspec
[15:45:56]: ▸ Using pry 0.11.3
[15:45:56]: ▸ 0: pry (0.11.3) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/pry-0.11.3.gemspec
[15:45:56]: ▸ Using pry-byebug 3.6.0
[15:45:56]: ▸ 0: pry-byebug (3.6.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/pry-byebug-3.6.0.gemspec
[15:45:56]: ▸ Using rack 2.0.4
[15:45:56]: ▸ 0: rack (2.0.4) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/rack-2.0.4.gemspec
[15:45:56]: ▸ Using rack-protection 2.0.1
[15:45:56]: ▸ 0: rack-protection (2.0.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/rack-protection-2.0.1.gemspec
[15:45:56]: ▸ Using rack-test 1.0.0
[15:45:56]: ▸ 0: rack-test (1.0.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/rack-test-1.0.0.gemspec
[15:45:56]: ▸ Using rainbow 3.0.0
[15:45:56]: ▸ 0: rainbow (3.0.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/rainbow-3.0.0.gemspec
[15:45:56]: ▸ Using rspec-support 3.7.1
[15:45:56]: ▸ 0: rspec-support (3.7.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/rspec-support-3.7.1.gemspec
[15:45:56]: ▸ Using rspec-core 3.7.1
[15:45:56]: ▸ 0: rspec-core (3.7.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/rspec-core-3.7.1.gemspec
[15:45:56]: ▸ Using rspec-expectations 3.7.0
[15:45:56]: ▸ 0: rspec-expectations (3.7.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/rspec-expectations-3.7.0.gemspec
[15:45:56]: ▸ Using rspec-mocks 3.7.0
[15:45:56]: ▸ 0: rspec-mocks (3.7.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/rspec-mocks-3.7.0.gemspec
[15:45:56]: ▸ Using rspec 3.7.0
[15:45:56]: ▸ 0: rspec (3.7.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/rspec-3.7.0.gemspec
[15:45:56]: ▸ Using ruby-progressbar 1.9.0
[15:45:56]: ▸ 0: ruby-progressbar (1.9.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/ruby-progressbar-1.9.0.gemspec
[15:45:56]: ▸ Using rubocop 0.52.1
[15:45:56]: ▸ 0: rubocop (0.52.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/rubocop-0.52.1.gemspec
[15:45:56]: ▸ Using rufus-scheduler 3.4.2
[15:45:56]: ▸ 0: rufus-scheduler (3.4.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/rufus-scheduler-3.4.2.gemspec
[15:45:56]: ▸ Using tilt 2.0.8
[15:45:56]: ▸ 0: tilt (2.0.8) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/tilt-2.0.8.gemspec
[15:45:56]: ▸ Using sinatra 2.0.1
[15:45:56]: ▸ 0: sinatra (2.0.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/sinatra-2.0.1.gemspec
[15:45:56]: ▸ Using sinatra-contrib 2.0.1
[15:45:56]: ▸ 0: sinatra-contrib (2.0.1) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/sinatra-contrib-2.0.1.gemspec
[15:45:56]: ▸ Using taskqueue 0.0.0 from https://github.com/fastlane/TaskQueue (at master@5b3f459)
[15:45:56]: ▸ 0: taskqueue (0.0.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/bundler/gems/TaskQueue-5b3f459be5c4/taskqueue.gemspec
[15:45:56]: ▸ Using thin 1.7.2
[15:45:56]: ▸ 0: thin (1.7.2) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/thin-1.7.2.gemspec
[15:45:56]: ▸ Using tty-command 0.7.0
[15:45:56]: ▸ 0: tty-command (0.7.0) from /Users/jliebowitz/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/specifications/tty-command-0.7.0.gemspec
[15:45:56]: ▸ Bundle complete! 23 Gemfile dependencies, 129 gems now installed.
[15:45:56]: ▸ Use `bundle info [gemname]` to see where a bundled gem is installed.
[15:45:56]: -------------------------------------
[15:45:56]: --- Step: cd ..;bundle exec rspec ---
[15:45:56]: -------------------------------------
[15:45:56]: $ cd ..;bundle exec rspec
[15:45:57]: ▸ warning: parser/current is loading parser/ruby23, which recognizes
[15:45:57]: ▸ warning: 2.3.5-compliant syntax, but you are running 2.3.3.
[15:45:57]: ▸ warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
[15:45:57]: ▸ [Coveralls] Set up the SimpleCov formatter.
[15:45:57]: ▸ [Coveralls] Using SimpleCov's default settings.
[15:45:59]: ▸ An error occurred while loading ./spec/dashboard_controller_spec.rb.
[15:45:59]: ▸ Failure/Error: require "sinatra/flash"
[15:45:59]: ▸
[15:45:59]: ▸ LoadError:
[15:45:59]: ▸ cannot load such file -- sinatra/flash
[15:45:59]: ▸ # ./app/shared/controller_base.rb:4:in `require'
[15:45:59]: ▸ # ./app/shared/controller_base.rb:4:in `'
[15:45:59]: ▸ # ./app/shared/authenticated_controller_base.rb:2:in `require_relative'
[15:45:59]: ▸ # ./app/shared/authenticated_controller_base.rb:2:in `'
[15:45:59]: ▸ # ./app/features/dashboard/dashboard_controller.rb:1:in `require_relative'
[15:45:59]: ▸ # ./app/features/dashboard/dashboard_controller.rb:1:in `'
[15:45:59]: ▸ # ./spec/dashboard_controller_spec.rb:2:in `require'
[15:45:59]: ▸ # ./spec/dashboard_controller_spec.rb:2:in `'
[15:45:59]: ▸ An error occurred while loading ./spec/notification_controller_spec.rb.
[15:45:59]: ▸ Failure/Error: require "sinatra/flash"
[15:45:59]: ▸
[15:45:59]: ▸ LoadError:
[15:45:59]: ▸ cannot load such file -- sinatra/flash
[15:45:59]: ▸ # ./app/shared/controller_base.rb:4:in `require'
[15:45:59]: ▸ # ./app/shared/controller_base.rb:4:in `'
[15:45:59]: ▸ # ./app/shared/authenticated_controller_base.rb:2:in `require_relative'
[15:45:59]: ▸ # ./app/shared/authenticated_controller_base.rb:2:in `'
[15:45:59]: ▸ # ./app/features/notifications/notifications_controller.rb:1:in `require_relative'
[15:45:59]: ▸ # ./app/features/notifications/notifications_controller.rb:1:in `'
[15:45:59]: ▸ # ./spec/notification_controller_spec.rb:2:in `require'
[15:45:59]: ▸ # ./spec/notification_controller_spec.rb:2:in `'
[15:45:59]: ▸ Finished in 0.0004 seconds (files took 2.9 seconds to load)
[15:45:59]: ▸ 0 examples, 0 failures, 2 errors occurred outside of examples
[15:45:59]: ▸ [Coveralls] Submitting to https://coveralls.io/api/v1
[15:46:00]: ▸ [Coveralls] Job #461.1
[15:46:00]: ▸ [Coveralls] https://coveralls.io/jobs/35630153
[15:46:00]: ▸ Coverage is at 37.33%.
[15:46:00]: ▸ Coverage report sent to Coveralls.
[15:46:01]: Lane Context:
[15:46:01]: {:PLATFORM_NAME=>nil, :LANE_NAME=>"rspec_me"}
[15:46:01]: Exit status of command 'cd ..;bundle exec rspec' was 1 instead of 0.
warning: parser/current is loading parser/ruby23, which recognizes
warning: 2.3.5-compliant syntax, but you are running 2.3.3.
warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
[Coveralls] Set up the SimpleCov formatter.
[Coveralls] Using SimpleCov's default settings.

An error occurred while loading ./spec/dashboard_controller_spec.rb.
Failure/Error: require "sinatra/flash"

LoadError:
cannot load such file -- sinatra/flash
# ./app/shared/controller_base.rb:4:in `require'
# ./app/shared/controller_base.rb:4:in `'
# ./app/shared/authenticated_controller_base.rb:2:in `require_relative'
# ./app/shared/authenticated_controller_base.rb:2:in `'
# ./app/features/dashboard/dashboard_controller.rb:1:in `require_relative'
# ./app/features/dashboard/dashboard_controller.rb:1:in `'
# ./spec/dashboard_controller_spec.rb:2:in `require'
# ./spec/dashboard_controller_spec.rb:2:in `'

An error occurred while loading ./spec/notification_controller_spec.rb.
Failure/Error: require "sinatra/flash"

LoadError:
cannot load such file -- sinatra/flash
# ./app/shared/controller_base.rb:4:in `require'
# ./app/shared/controller_base.rb:4:in `'
# ./app/shared/authenticated_controller_base.rb:2:in `require_relative'
# ./app/shared/authenticated_controller_base.rb:2:in `'
# ./app/features/notifications/notifications_controller.rb:1:in `require_relative'
# ./app/features/notifications/notifications_controller.rb:1:in `'
# ./spec/notification_controller_spec.rb:2:in `require'
# ./spec/notification_controller_spec.rb:2:in `'

Finished in 0.0004 seconds (files took 2.9 seconds to load)
0 examples, 0 failures, 2 errors occurred outside of examples

[Coveralls] Submitting to https://coveralls.io/api/v1
[Coveralls] Job #461.1
[Coveralls] https://coveralls.io/jobs/35630153
Coverage is at 37.33%.
Coverage report sent to Coveralls.

[15:46:01]: fastlane finished with errors
[15:46:01]: Exit status of command 'cd ..;bundle exec rspec' was 1 instead of 0.
warning: parser/current is loading parser/ruby23, which recognizes
warning: 2.3.5-compliant syntax, but you are running 2.3.3.
warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
[Coveralls] Set up the SimpleCov formatter.
[Coveralls] Using SimpleCov's default settings.

An error occurred while loading ./spec/dashboard_controller_spec.rb.
Failure/Error: require "sinatra/flash"

LoadError:
cannot load such file -- sinatra/flash
# ./app/shared/controller_base.rb:4:in `require'
# ./app/shared/controller_base.rb:4:in `'
# ./app/shared/authenticated_controller_base.rb:2:in `require_relative'
# ./app/shared/authenticated_controller_base.rb:2:in `'
# ./app/features/dashboard/dashboard_controller.rb:1:in `require_relative'
# ./app/features/dashboard/dashboard_controller.rb:1:in `'
# ./spec/dashboard_controller_spec.rb:2:in `require'
# ./spec/dashboard_controller_spec.rb:2:in `'

An error occurred while loading ./spec/notification_controller_spec.rb.
Failure/Error: require "sinatra/flash"

LoadError:
cannot load such file -- sinatra/flash
# ./app/shared/controller_base.rb:4:in `require'
# ./app/shared/controller_base.rb:4:in `'
# ./app/shared/authenticated_controller_base.rb:2:in `require_relative'
# ./app/shared/authenticated_controller_base.rb:2:in `'
# ./app/features/notifications/notifications_controller.rb:1:in `require_relative'
# ./app/features/notifications/notifications_controller.rb:1:in `'
# ./spec/notification_controller_spec.rb:2:in `require'
# ./spec/notification_controller_spec.rb:2:in `'

Finished in 0.0004 seconds (files took 2.9 seconds to load)
0 examples, 0 failures, 2 errors occurred outside of examples

[Coveralls] Submitting to https://coveralls.io/api/v1
[Coveralls] Job #461.1
[Coveralls] https://coveralls.io/jobs/35630153
Coverage is at 37.33%.
Coverage report sent to Coveralls.

As I made the PR with the Bundler isolation, I'm trying to trace the issue here.


Create Identity e2e tests for running in Azure Service Fabric

Tracking item to create new /sdk/e2e Azure.Identity smoke tests for running in Azure Service Fabric hosted environment.

Add new /sdk/e2e tests for Azure Service Fabric
Update Parent issue https://github.com/Azure/azure-sdk/issues/901 with instructions for Test team

dupe of https://github.com/Azure/azure-sdk-for-net/issues/37471


Aatdark issue5843

ACRA added for log and exception acquisition in k9. Writes a crash log file like [0] to the sd card and displays a toast.
To test apply the patch in [1] and navigate to "Compose Message" which will trigger a exception.
[0] http://pastebin.com/bT94L0vh
[1] http://pastebin.com/vJhgCh40

I added an issue to add better logging. Closing this pull request because it would require major changes anyway.


Add basic reply context support

This adds basic support for "reply to a fediverse post" using a block.
Thanks for pairing with me on that @mattwiebe !!
Editor

Frontend

Fediverse
{
    "@context": [
        "https:\/\/www.w3.org\/ns\/activitystreams",
        {
            "Hashtag": "as:Hashtag"
        }
    ],
    "id": "http:\/\/localhost:8076\/2024\/07\/hello\/",
    "type": "Article",
    "attachment": [],
    "attributedTo": "http:\/\/localhost:8076\/author\/test\/",
    "audience": "http:\/\/localhost:8076\/@blog",
    "content": "\u003Cp\u003ELorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.\u003C\/p\u003E",
    "name": "Hello",
    "inReplyTo": "https:\/\/mastodon.social\/@pfefferle\/112834543027990299",
    "published": "2024-07-23T16:12:22Z",
    "tag": [],
    "updated": "2024-07-23T17:35:44Z",
    "url": "http:\/\/localhost:8076\/2024\/07\/hello\/",
    "to": [
        "https:\/\/www.w3.org\/ns\/activitystreams#Public",
        "http:\/\/localhost:8076\/wp-json\/activitypub\/1.0\/actors\/1\/followers"
    ],
    "cc": []
}

I added some UX niceness:

If enter is pressed, a new empty block is inserted and focused
If the text input is empty, and delete or backspace are pressed, the block is deleted
When the isUrl check runs false, a more specific error is shown

and then I hadn't sent this comment, only to add:
A BOOKMARKLET ;)

Just tested it and it works like a charm! This is awesome!
(I have some small naming feedbacks inline, but I am fine merging it as is)

I added a function to:

get the actor of the in-reply-to post
get the inbox of the Actor of that post
add the inbox to the other inboxes before sending it to the audience

@mattwiebe what do you think about /wp-admin/tools.php??

@mattwiebe what do you think about /wp-admin/tools.php??

Looks nice! Maybe we can link over to it from the general setting page, I don't think people would necessarily go look there, but I like how it provides options and education.


Bounding Box Does Not Cleanup GameObjects it Owns

Describe the bug
When destroying or disabling a bounding box component it does not clean up the "rig" objects it instantiates. This is especially apparent when creating/destroying bounding boxes programmatically.
To reproduce
Steps to reproduce the behavior:

Add a bounding box component to a gameobject at runtime.
Destroy the bounding box component.
Note the "rig" handles, visuals, etc. still exist in the scene.

Expected behavior
The bounding box component manages all objects it creates.

Fixed in https://github.com/microsoft/MixedRealityToolkit-Unity/pull/5385


Revert "Revert "Pull updated team repo""

Reverts Aquarinte/main#13

Coverage decreased (-0.2%) to 75.577% when pulling da774aa4711ac430e9f4e67b68743c1e61d15508 on revert-13-revert-12-master into 3a70587d85fab345ea758195b46971d5f23b52cd on master.


Rewrite merge helpers to work with frozen objects

Coverage.result returns a frozen Hash containing frozen Strings as keys and frozen Arrays as values. The existing merge helper did not work when passed a Coverage.result directly, because it would try to extend the frozen Arrays. This is not a problem in typical SimpleCov usage because usually Coverage.result has been roundtripped through .resultset.json resulting in an unfrozen copy. But when trying to do manual merging of Coverage.result hashes the use of extend gets in the way.
The merge helper has now been rewritten a method that takes two Hashes and doesn't modify them or their contents at all. While I was touching this code I tried to clean it up a little bit as well.

@bf4 OK I added the new APIs. I didn't add a specific test for ResultMerger.merge_results because it felt like it would duplicate the tests for ResultMerger.merged_result quite a bit. But I'd be happy to add some if you think they'd be worthwhile.

I think that rubocop expect { failure should be ignored in specs. @PragTob @xaviershay @colszowka  @sferik ?
https://travis-ci.org/colszowka/simplecov/jobs/202748911
Running RuboCop...
Inspecting 76 files
..........................................................................C.
Offenses:
spec/raw_coverage_spec.rb:89:16: C: Avoid using {...} for multi-line blocks.
        expect {
               ^

@bf4 if do .. end works for this case I'm all for using do .. end - but somewhere in the back of my mind I thought that might have caused problems somewhere along the way?

@PragTob expect do ... end works, it's just not how people usually write it.

RUbocop doesn't like single quotes - sorry :)
spec/raw_coverage_spec.rb:89:43: C: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.

      expect(merged_result[source_fixture('app/models/user.rb')]).to eq([nil, 1, 1, 1, nil, nil, 1, 0, nil, nil])

Hm, we need to teach RuboCop to lint comments on GitHub :grin:. Fixed!

I'm trying this out.

@bf4 what do you mean by "trying this out" ? Like you run it locally on your projects to make sure it's good for an impeding release? :)

Yup... It looks good... But since have a use case, I wanted to try it
B mobile phone

On Feb 23, 2017, at 1:04 PM, Tobias Pfeiffer<EMAIL_ADDRESS>wrote:
@bf4 what do you mean by "trying this out" ? Like you run it locally on your projects to make sure it's good for an impeding release? :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@PragTob missing https://github.com/colszowka/simplecov/blob/master/CHANGELOG.md entry.  We can add it if @aroben isn't around

I usually add it on master after a merge so we should be fine :)

@PragTob Then I'll leave it to you to bring this home :)

Sorry, a bit of life happened but merging this now. Thanks a lot @aroben for the great change and @bf4 for the great review :)


[transformer] Choice of Reference Optimizer

The translation reference implementation currently uses the Lazy Adam sparse optimizer, but this becomes less effective when going to multi-device and/or multi-node as batch sizes become larger and sparsity decreases. The decreased sparsity and cost of storing/retrieving indices to access the data causes the overhead of sparsity to outweigh the benefits. Additionally, it seems preferable for frameworks to do an all-reduce on gradients in parallel training rather than an all-gather with sparse gradients to handle repeating indices. The request is to move to a non-sparse Adam optimizer in the reference implementation.

SWG:
To clarify -- this refers to Transformer.
We will revisit next week with results for convergence with the new Lazy Adam Dense Optimizer. Further discussion.

SWG:
Closing as a duplicate of the current discussion on the general Adam versus LazyAdam.


Documentation webpage on NPM is inaccurate.

Documentation page listed on NPM is incorrect and leads to a webpage like this:

The only documentation I can find is only filled with examples and does not list all of the properties and methods that a particular class has or what data I can grab from an event. Is there documentation somewhere that is more similar to this?

This issue has not been resolved

@NintenZone I do not own the tmijs.org domain. tmijs.com is the domain. There's no docs available there currently.

I understand. That URL is where the documentation link on your NPM page is directed.

@NintenZone And it was resolved. https://www.npmjs.com/package/tmi.js

Must not have updated yet, because it is showing as corrected now.


If one collector is down (for example in the global pool case), don't crash whole execution

If one collector is down, and goroutine execution can't continue, we shouldn't exit the whole program - we should suspend only that goroutine.  This is a bug that affected operations today.
https://github.com/fermitools/managed-tokens/blob/1350b6ec0a21cc675127c3fb72ff4e32028ab42b/cmd/token-push/main.go#L483

Fixed.  Just making a couple of other changes, and then I'll be ready to merge this.


Fix s3 listBuckets rest api non-standard response issue

What changes are proposed in this pull request?
Fix s3 listBuckets rest api non-standard response issue.
Why are the changes needed?
According to AWS S3 ListObject API, CommonPrefixes in listBuckets response  should be an array.
Like this:
<ListBucketResult>
  <Contents>
    <LastModified>2021-09-22T15:17:39.579Z</LastModified>
    <Key>key1</Key>
    <Size>27040</Size>
  </Contents>
  <Contents>
    <LastModified>2021-09-22T15:17:41.463Z</LastModified>
    <Key>key2</Key>
    <Size>27040</Size>
  </Contents>
  <KeyCount>13</KeyCount>
  <MaxKeys>1000</MaxKeys>
  <Delimiter>/</Delimiter>
  <EncodingType>url</EncodingType>
  <CommonPrefixes>
    <Prefix>fake_1/</Prefix>
  </CommonPrefixes>
  <CommonPrefixes>
    <Prefix>fake_2/</Prefix>
  </CommonPrefixes>
  <IsTruncated>false</IsTruncated>
  <Name>testbucket</Name>
</ListBucketResult>

Update s3 listBucket rest api doc.
Does this PR introduce any user facing changes?
no

Codecov Report

Merging #14122 (ce12056) into master (fc0cc6f) will decrease coverage by 25.89%.
The diff coverage is 48.48%.

@@              Coverage Diff              @@
##             master   #14122       +/-   ##
=============================================
- Coverage     43.25%   17.35%   -25.90%
+ Complexity     9209     2699     -6510
=============================================
  Files          1428     1428
  Lines         82577    82590       +13
  Branches       9987     9987
=============================================
- Hits          35717    14336    -21381
- Misses        43894    66998    +23104
+ Partials       2966     1256     -1710

Impacted Files
Coverage Δ

...ster/meta/RetryHandlingMetaMasterMasterClient.java
0.00% <0.00%> (ø)

...c/main/java/alluxio/proxy/s3/ListBucketResult.java
0.00% <0.00%> (ø)

...luxio/client/job/RetryHandlingJobMasterClient.java
9.30% <0.00%> (-0.23%)
:arrow_down:

...va/alluxio/master/file/FileSystemMasterClient.java
0.00% <0.00%> (ø)

...luxio/worker/job/RetryHandlingJobMasterClient.java
0.00% <0.00%> (ø)

...o/client/table/RetryHandlingTableMasterClient.java
0.00% <0.00%> (ø)

...e/common/src/main/java/alluxio/AbstractClient.java
66.02% <80.00%> (-6.35%)
:arrow_down:

...common/src/main/java/alluxio/conf/PropertyKey.java
97.88% <100.00%> (-1.57%)
:arrow_down:

.../security/authentication/ChannelAuthenticator.java
62.50% <100.00%> (-17.50%)
:arrow_down:

...src/main/java/alluxio/util/ConfigurationUtils.java
45.66% <100.00%> (-26.82%)
:arrow_down:

... and 679 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 0a5669c...ce12056.
The API is meant to support the ListObjectsV2 endpoint. The original ListObjects request/response is deprecated and only supported for legacy applications by AWS.

alluxio-bot, merge this please

alluxio-bot, cherry-pick this to branch-2.6 please


bug:  does not work with  and

Bug Report
Ionic version:
[x] 5.1,   on Angular!
Current behavior:
Using ng-content results in an additional wrapper element between ion-page and ion-header/content , which breaks the ionic behaviour.
Expected behavior:
ng-content is one of the main ways in angular to create reusable and composable components.
It should work to create reusable ionic pages.
Steps to reproduce:
Create a generic angular ion page component that contains ion-header + ion-content, and where the actual page content can be passed in via ng-content.
Related code:
Here is a full example of it:

App-Shell-Basic:  Reusable component that implements ionheader + ioncontent for every page

<ion-header>
  <ion-toolbar>
    <ion-buttons slot="start">
      <ion-button (click)="backButtonAction()">
        <ion-icon slot="icon-only" name="arrow-back" color="light"></ion-icon>
      </ion-button>
    </ion-buttons>
  </ion-toolbar>
</ion-header>

<ion-content>
  <ion-refresher *ngIf="isPlatformBrowser" slot="fixed" (ionRefresh)="doRefresh($event)">
    <ion-refresher-content></ion-refresher-content>
  </ion-refresher>

  <ng-content></ng-content>
</ion-content>

<ng-content select="ion-fab"></ng-content>
<ng-content select="ion-footer"></ng-content>

Example-page:  A page that uses this reusable component, and passes in the actual content

<app-shell-basic class="ion-page">

		  I am the content of the page

	  <ion-fab vertical="bottom" horizontal="end" slot="fixed">
		<ion-fab-button (click)="doFabAction()>
		   Click me
		</ion-fab-button>
	  </ion-fab>

			<app-shell-basic class="ion-page">
				<ion-header>
				  <ion-toolbar>
					<ion-buttons slot="start">
					  <ion-button (click)="backButtonAction()">
						<ion-icon slot="icon-only" name="arrow-back" color="light"></ion-icon>
					  </ion-button>
					</ion-buttons>
				  </ion-toolbar>
				</ion-header>

				<ion-content>

					<ion-refresher *ngIf="isPlatformBrowser" slot="fixed" (ionRefresh)="doRefresh($event)">
						<ion-refresher-content></ion-refresher-content>
					</ion-refresher>

						I am the content of the page

				</ion-content>

				<ion-fab vertical="bottom" horizontal="end" slot="fixed">
					<ion-fab-button (click)="doFabAction()>
					   Click me
					</ion-fab-button>
				</ion-fab>


Fix the build of popover_menu.

On a machine with gtk+-3.16 I previously got:
src/lib.rs:221:5: 221:16 error: unresolved import self::widgets::PopoverMenu. There is no PopoverMenu in widgets [E0432]
src/lib.rs:221     PopoverMenu
^~~~~~~~~~~
because popover menu was being referenced in lib.rs, but the popover_menu
module was never imported. Once that was fixed, popover_menu didn't quite
compile. This commit fixes both issues.

Weird that travis didn't report it... Thanks a lot for this fix !

I think it's because travis has gtk 3.4, whereas this build problem would only manifest with gtk >= 3.16.

I think, yes. @gkoz and I should start thinking about finding a way to update travis repo before building but it's not a priority for the moment. Thanks again for the fix ! :)

@GuillaumeGomez it looks like we need a policy to manually compile-check stuff that touches GTK 3.16 and upper before merging. Up to 3.14 should be handled by appveyor once it's working again. Opened #157.

@gkoz: Perfect. Please remind me to take a look at appveyor this evening please ! :)


Request: Restart animation

It would be great if I could keep a ref to my Marquee and then programatically restart the animation from the start whenever I want.
const marqueeRef = React.useRef<MarqueeEl>(null);
const someText = React.useState('hi');

useEffect(() => {
  // restart the animation whenever the text updates
  // avoids the marquee changing and only displaying the back half of new content
  marqueeRef.restart();
}, [someText])

return <Marquee ref={marqueeRef}>someText</Marquee>

The trick is to usually do something like this:
  // remove the class with the animation
  element.classList.remove("run-animation");

  //  trigger reflow
  void element.offsetWidth;

  // re-add the class with the animation
  element.classList.add("run-animation");


[FEATURE] Replace QBits to IPEX for cpu inference

Hi @Qubitium . As Qbits is no longer developed, we are considering to replace qbits by ipex in open-source project. AutoAWQ has finished the convert, see here, it could bring better usage and performance.
BTW, the setup.py can only support CUDA now, so I will add some parameters to enable CPU setup. Please let me know if you have any concerns. Thx!

Feel free to remove the qbits code if intel has stopped qbits devel and now concentrating on ipex.
On another note, is SYCL and IPEX also competing projects at Intel?

Feel free to remove the qbits code if intel has stopped qbits devel and now concentrating on ipex.
On another note, is SYCL and IPEX also competing projects at Intel?

They are compatible, SYCL mostly been used on Intel XPU which is our next step. I am currently focusing on CPU platform.

@jiqing-feng Heads up warning. We are doing quite a bit of cleanup on the codebase right now for 1.1 major release so base.py will be a  little unstable until then but kernel level api should be stable.

@jiqing-feng We expect changes/refractor to be completed by Friday's end [Oct 25th].

@jiqing-feng  refractor of base.py complete for v1.1.0 release.

@jiqing-feng refractor of base.py complete for v1.1.0 release.

Thanks!
Just FYI, the current GPTModel does not support setup without cuda, so I need to change some basic files like setup.py and utils/model.py etc ... to support CPU setup. Please let me know if you have any concerns.

Just FYI, the current GPTModel does not support setup without cuda, so I need to change some basic files like setup.py and gptqmodel/utils/model.py etc ... to support CPU setup. Please let me know if you have any concerns.

No problem. Feel free to make changes that you see fit.

Hi @Qubitium . I almost finished the integration but met a little precision issue.
I checked the differences btw auto-gptq and gptqmodel with the following script:
from transformers import AutoTokenizer
from auto_gptq import AutoGPTQForCausalLM
from gptqmodel import GPTQModel, QuantizeConfig

model_id = "TheBloke/Llama-2-7B-Chat-GPTQ"
tokenizer = AutoTokenizer.from_pretrained(model_id)
device = "cuda"

old_model = AutoGPTQForCausalLM.from_quantized(model_id).to(device)
new_model = GPTQModel.from_quantized(model_id).to(device)
print(old_model.model.model.layers[0].self_attn.q_proj.qzeros)
print(new_model.model.model.layers[0].self_attn.q_proj.qzeros)

inputs = tokenizer("I am happy because", return_tensors="pt").to(device)

old_output = old_model.generate(**inputs, max_new_tokens=32)
new_output = new_model.generate(**inputs, max_new_tokens=32)

print("old model output")
print(tokenizer.decode(old_output[0]))
print("new model output")
print(tokenizer.decode(new_output[0]))

The outputs are:
tensor([[2004318071,<PHONE_NUMBER>,<PHONE_NUMBER>,  ...,<PHONE_NUMBER>,<PHONE_NUMBER>,
<PHONE_NUMBER>],
        [2004318071,<PHONE_NUMBER>,<PHONE_NUMBER>,  ...,<PHONE_NUMBER>,<PHONE_NUMBER>,
<PHONE_NUMBER>],
        [2004318071,<PHONE_NUMBER>,<PHONE_NUMBER>,  ...,<PHONE_NUMBER>,<PHONE_NUMBER>,
<PHONE_NUMBER>],
        ...,
        [2004318071,<PHONE_NUMBER>,<PHONE_NUMBER>,  ...,<PHONE_NUMBER>,<PHONE_NUMBER>,
<PHONE_NUMBER>],
        [2004318071,<PHONE_NUMBER>,<PHONE_NUMBER>,  ...,<PHONE_NUMBER>,<PHONE_NUMBER>,
<PHONE_NUMBER>],
        [2004318071,<PHONE_NUMBER>,<PHONE_NUMBER>,  ...,<PHONE_NUMBER>,<PHONE_NUMBER>,
<PHONE_NUMBER>]], device='cuda:0', dtype=torch.int32)
tensor([[-2004318072, -2004318072, -2004318072,  ..., -2004318072,
         -2004318072, -2004318072],
        [-2004318072, -2004318072, -2004318072,  ..., -2004318072,
         -2004318072, -2004318072],
        [-2004318072, -2004318072, -2004318072,  ..., -2004318072,
         -2004318072, -2004318072],
        ...,
        [-2004318072, -2004318072, -2004318072,  ..., -2004318072,
         -2004318072, -2004318072],
        [-2004318072, -2004318072, -2004318072,  ..., -2004318072,
         -2004318072, -2004318072],
        [-2004318072, -2004318072, -2004318072,  ..., -2004318072,
         -2004318072, -2004318072]], device='cuda:0', dtype=torch.int32)
Starting from v4.46, the `logits` model output will have the same type as the model (except at train time, where it will always be FP32)
old model output
<s> I am happy because I have found a new way to enjoy my favorite foods without feeling guilty or bloated.
I am excited to share my new discovery with you!
new model output
<s> I am happy because I have found a new way to enjoy my favorite foods without feeling guilty or bloated.
I am excited to share my new discovery with you!

The qzeros are different from the 2 models but the results are the same. Is it a part of the refactor? It would be great if you could let me know more details about it. Thanks!

@jiqing-feng Please check this commit. https://github.com/ModelCloud/GPTQModel/commit/c80855e25b165006688a642beaf0ee4f8400f27f
The diff should be caused by this diff where @qwopqwop200  Fixed sym=False in the original auto-gptq but also changes v1/original format so that it can be correctly migrated to the internal v2 format. Right now, after the merged commit, internal code operates in v2 mode where sym=True/False can both work correctly.  sym=False is only possible with gptq_v2 and saving to gptq aka gptq_v1 we will execute a conversion v2 to v1 stage on model save.
If you saved model to gptq format with sym=True, it will be upconverted to v2 format on model load/inference. So the tensor output should be the v2 format.

@jiqing-feng Please check this commit. c80855e
The diff should be caused by this diff where @qwopqwop200 Fixed sym=False in the original auto-gptq but also changes v1/original format so that it can be correctly migrated to the internal v2 format. Right now, after the merged commit, internal code operates in v2 mode where sym=True/False can both work correctly. sym=False is only possible with gptq_v2 and saving to gptq aka gptq_v1 we will execute a conversion v2 to v1 stage on model save.
If you saved model to gptq format with sym=True, it will be upconverted to v2 format on model load/inference. So the tensor output should be the v2 format. A version check is made so that broken v1 (prior to the merge) v1 with sym=False will assert on load.

It might be a risk because there exists v1 and v2 models in HF model hub, do you know how to detect a model is v1 or v2. The CPU currently only support V1, so we need to convert model from v2 to v1.

@jiqing-feng  The compat issue is only with sym=False which was never used in the wild since the outputs quality badly broken before the merge anyways. For older HF model sym=True there is no conversion error to v2, at least that was the result in the long PR review. Check here the for the discussion: https://github.com/ModelCloud/GPTQModel/pull/9
To prevent v1 + sym=False combo, quantized before the merge, we do a meta.quantizer (gptqmodel addded this) version in config which checks for gptqmodel version (post merge) and assert. Again, I have not seen a working public HF model with gptq v1 with sym=False since they are broken to begin with.

@jiqing-feng  Here is the correct PR link for the commit in question: https://github.com/AutoGPTQ/AutoGPTQ/pull/640
Note that the PR in question is actually rebase of the PR at https://github.com/AutoGPTQ/AutoGPTQ/pull/559 . Pr 559 is the original PR with the format/kernel changes.

Hi @Qubitium  Thanks for the clarification. The PR is ready now, please see #527 .

@jiqing-feng Thanks for the PR. Note added.
On a side note, have you tested ipex on a xeon 6th gen (granite rapids) device? I see that xeon 5th (emerald rapids) gen has 50% ai improvement due to amx instructions vs 4th gen and on paper xeon 6th gen has another 100% gain vs 5th gen due to even better amx hardware. How much difference in performance have you seen between intel xeon 4th, 5th, and 6th gen when it comes to int8 of float ai performance? Thanks. If 6th gen is really that good, or as good as the intel tech-paper are saying, we might want to get one to test out.

I am currently developing this feature for the 4th Gen Xeon. Yes, the 5th and 6th Gen Xeon should have improvement, I will collect the data and share it with you once I finished the benchmark tests.


Refactor queue creation and attribute handling

This commit introduces changes to the Create method of the Queue struct, improving the flexibility and configurability of queue attributes. The following updates were made:

The queuePolicy now supports customization through a configuration file located at /etc/lifecycled/queue_policy.json. If the file is not found or cannot be read, a default policy is used.
The Create method now checks for the presence of environment variable KMS_MASTER_KEY_ID. If available, it sets the corresponding attribute in the SQS queue creation request.
The error handling in attribute assignment has been enhanced, ensuring proper handling of errors related to environment variable parsing and conversion.

These changes improve the modularity and adaptability of the code, allowing for easier customization of queue policies and attribute configurations. They provide a more seamless integration with environment variables, offering greater flexibility in different deployment scenarios.
These modifications enhance the maintainability and configurability of the codebase, ensuring a more robust and adaptable queue management solution.

This a proposal to #60 . Please review and let me know your inputs for any enhancement.

Sorry I pushed the wrong commit

Hi @ashkankamyab, sorry for the slow response.
We had a look and have two main suggestions:

KMS_MASTER_KEY_ID would probably be better if it could be set with a CLI flag
The path to the policy file should also be a flag, rather than a hard-coded path

Please let us know how much of a blocker this is for you, so we can give the right amount of help to get this merged!

Hi Sorry for delay. I was stucked in my daily tasks. I will fix it asap :-)


Enabling compression for multiValued dimension

This PR extends the work done in https://github.com/druid-io/druid/pull/1265
and enables compression for multi-valued dimensions.
Summary of the changes -

Adds a CompressedVSizeIndexedSupplier as compressed version for VSizeIndexedSupplier. Implementation is based on existing single valued compressed column CompressedVSizeIndexedSupplier class and creates two single valued columns -

Values - stores actual integer values of all rows in a flat structure
Offsets - indexed integers representing offsets of starting index of first element of each row in values column.

Enables compression for multiValued column by default

Microbenchmark Code and Results  -
https://gist.github.com/nishantmonu51/b7626f81678c2814b552
Ran few tests with real world data also giving around 50-60% reduction in column sizes.
values from size reduction -
column1 -> 51.91183758M to 18.244M
column2 -> 35.68081379M to 17.98677M
Queries on the data ran around 2-3% faster than uncompressed version.

Results from bigger row sizes shows compression overheads -
Benchmark                           (bytes)  (valuesPerRowBound)  Mode  Cnt       Score       Error  Units
VSizeIndexedBenchmark.compressed          1                  100  avgt   20   25689.728 ±   415.770  us/op
VSizeIndexedBenchmark.compressed          1                 1000  avgt   20  243519.240 ±  4682.752  us/op
VSizeIndexedBenchmark.compressed          2                  100  avgt   20   26316.588 ±   410.648  us/op
VSizeIndexedBenchmark.compressed          2                 1000  avgt   20  250558.075 ±  4187.638  us/op
VSizeIndexedBenchmark.compressed          3                  100  avgt   20   27874.297 ±   443.335  us/op
VSizeIndexedBenchmark.compressed          3                 1000  avgt   20  261986.150 ±  5688.185  us/op
VSizeIndexedBenchmark.compressed          4                  100  avgt   20   27519.709 ±   635.537  us/op
VSizeIndexedBenchmark.compressed          4                 1000  avgt   20  261203.560 ± 12649.479  us/op

VSizeIndexedBenchmark.uncompressed        1                  100  avgt   20   19293.312 ±   519.829  us/op
VSizeIndexedBenchmark.uncompressed        1                 1000  avgt   20  238587.613 ±  7246.682  us/op
VSizeIndexedBenchmark.uncompressed        2                  100  avgt   20   18911.993 ±   233.938  us/op
VSizeIndexedBenchmark.uncompressed        2                 1000  avgt   20  238703.940 ±  6779.125  us/op
VSizeIndexedBenchmark.uncompressed        3                  100  avgt   20   19002.343 ±   198.896  us/op
VSizeIndexedBenchmark.uncompressed        3                 1000  avgt   20  173601.575 ±  2931.477  us/op
VSizeIndexedBenchmark.uncompressed        4                  100  avgt   20   18916.626 ±   233.390  us/op
VSizeIndexedBenchmark.uncompressed        4                 1000  avgt   20  233899.600 ±  3237.456  us/op

Overall I'm :+1:  here. The approach of splitting out the offsets and values into two compressed sub-indices looks good and should fit in fine with the normal access patterns. The drastic jump in error bounds for the largest compressions are a bit concerning, but microbenchmarks in this case may not be indicative of actual query performance and query results would be very handy for comparison. Additionally, this may affect over-committed historical nodes (more disk than memory) drastically differently than under-committed historical nodes (more memory than disk) when swapping in pages from disk, which is much more difficult to test.

Just wondering, but did we explore chunking up the compressed buffers to be first the offsets and then the values and then just store one un-compressed index of row offsets to compressed buffers?
My thinking is that co-locating might result in improved CPU cache utilization and wondering if this was explored at all.

No, i havn't explored that path. I initially thought of storing all the offsets and then the values in single flat buffer and compress that in chunks, the problem with that approach was the access pattern, for row access it was first uncompressing and loading the chunk containing offsets and then the one containing values unloading the offset buffer again, also i found it simpler to have two separate buffers for offsets and values.

Yeah, storing the whole thing in one buffer is definitely not good.
If there are performance tests in place, it might not be too difficult to try implementing it where the lengths and the values are combined into individual buffers and see if that has any effect.  Also might not be worth it.  Either way, compressing multi-valued columns is a win, so we should enable it ;).

@cheddar we can add the JMH tests we wrote for the compression stuff as a sub-project. If you or someone else would like to experiment with different column layouts. It might make sense to add those anyway to start a proper micro-benchmark suite that could help us optimize key parts of Druid.

@xvrl, just wondering are there any issues with adding test dependencies for jmh libraries and add benchmark tests along with the existing caliper benchmarks, benchmark tests will follow the same convention as caliper tests i.e will be named as *Benchmark.java ?

have added the benchmark test in a module.

This generally LGTM.
One thing I noticed is that the benchmark is only testing a single pass without testing the "filtered" case.  It's not really accurate to say that it's a speedup without also adding various filtered test cases...

@cheddar agree, since we are benchmarking the storage array itself, we should probably update the benchmarks to include random access that will give us a better idea of performance impact when access is not sequential. Maybe we can do this as part of a benchmark improvement separate PR?

@xvrl Fwiw, my only worry with waiting on that benchmark is that without it, for all we know, this could be a 50% performance regression when filtering, which would be really painful.  It looks like this has been merged already, so can I request that we make sure to pretty rapidly do the extra benchmarks and make sure to go back and benchmark the multi-value variants against each other?

Just to close this discussion, based on https://github.com/druid-io/druid/pull/1411, the overhead is typically under a millisecond for a million rows, even with highly filtered results, which we agreed with @cheddar is perfectly acceptable.


SRVKP-6184 - Add Running PipelineRuns metric for Pipeline and Namespace.

Changes
Updated metric Running PipelineRuns to include namespace and pipeline

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
[ ] Has Tests included if any functionality added or changed
[ ] pre-commit Passed
[ ] Follows the commit message standard
[ ] Meets the Tekton contributor standards (including functionality, content, code)
[ ] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[ ] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

++ @vdemeester  - please have a look

/test pull-tekton-pipeline-go-coverage

label kind/feature

/kind feature

/test check-pr-has-kind-label

/test pull-tekton-pipeline-go-coverage-df

/test all

/retest-required

/test pull-tekton-pipeline-alpha-integration-tests

/test pull-tekton-pipeline-go-coverage-df

/test pull-tekton-pipeline-go-coverage

/test pull-tekton-pipeline-alpha-integration-tests

/test pull-tekton-pipeline-alpha-integration-tests

Please squash all commits and rebase with the latest changes in the main.

/retest

/retest


[Bug]: [Open-VINO] inference in CPU failed with "init_device" error

Your current environment

The output of `python collect_env.py`
Collecting environment information...
PyTorch version: 2.5.1+cpu
Is debug build: False
CUDA used to build PyTorch: None
ROCM used to build PyTorch: N/A

OS: Ubuntu 22.04.5 LTS (x86_64)
GCC version: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Clang version: Could not collect
CMake version: version 3.31.1
Libc version: glibc-2.35

Python version: 3.10.12 (main, Nov  6 2024, 20:22:13) [GCC 11.4.0] (64-bit runtime)
Python platform: Linux-<IP_ADDRESS>-microsoft-standard-WSL2-x86_64-with-glibc2.35
Is CUDA available: False
CUDA runtime version: No CUDA
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: No CUDA
Nvidia driver version: No CUDA
cuDNN version: No CUDA
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:                         x86_64
CPU op-mode(s):                       32-bit, 64-bit
Address sizes:                        46 bits physical, 48 bits virtual
Byte Order:                           Little Endian
CPU(s):                               24
On-line CPU(s) list:                  0-23
Vendor ID:                            GenuineIntel
Model name:                           13th Gen Intel(R) Core(TM) i7-13700K
CPU family:                           6
Model:                                183
Thread(s) per core:                   2
Core(s) per socket:                   12
Socket(s):                            1
Stepping:                             1
BogoMIPS:                             6835.20
Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves avx_vnni umip waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize flush_l1d arch_capabilities
Virtualization:                       VT-x
Hypervisor vendor:                    Microsoft
Virtualization type:                  full
L1d cache:                            576 KiB (12 instances)
L1i cache:                            384 KiB (12 instances)
L2 cache:                             24 MiB (12 instances)
L3 cache:                             30 MiB (1 instance)
Vulnerability Gather data sampling:   Not affected
Vulnerability Itlb multihit:          Not affected
Vulnerability L1tf:                   Not affected
Vulnerability Mds:                    Not affected
Vulnerability Meltdown:               Not affected
Vulnerability Mmio stale data:        Not affected
Vulnerability Reg file data sampling: Vulnerable: No microcode
Vulnerability Retbleed:               Mitigation; Enhanced IBRS
Vulnerability Spec rstack overflow:   Not affected
Vulnerability Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:             Mitigation; Enhanced / Automatic IBRS; IBPB conditional; RSB filling; PBRSB-eIBRS SW sequence; BHI BHI_DIS_S
Vulnerability Srbds:                  Not affected
Vulnerability Tsx async abort:        Not affected

Versions of relevant libraries:
[pip3] mypy==0.950
[pip3] mypy-extensions==0.4.3
[pip3] numpy==1.26.4
[pip3] onnx==1.17.0
[pip3] pyzmq==24.0.1
[pip3] torch==2.5.1+cpu
[pip3] transformers==4.46.2
[conda] Could not collect
ROCM Version: 6.1.40093-bd86f1708
Neuron SDK Version: N/A
vLLM Version: 0.6.4.post2.dev186+gc82b432d
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; Neuron: Disabled
GPU Topology:

VLLM_OPENVINO_CPU_KV_CACHE_PRECISION=u8
VLLM_OPENVINO_ENABLE_QUANTIZED_WEIGHTS=ON
VLLM_OPENVINO_KVCACHE_SPACE=8
LD_LIBRARY_PATH=/home/orion/.local/lib/python3.10/site-packages/cv2/../../lib64:

Model Input Dumps
No response
🐛 Describe the bug

convert qwen2.5-7b-instruct into int4 format using optimum: optimum-cli export openvino -m ./qwen2.5-7b-instruct --task text-generation-with-past --weight-format int4 ./qwen2.5-7b-int4
deploy the model using vllm: vllm serve ./qwen2.5-7b-int4 --max-model-len 8192 --enable-chunked-prefill --max-num-batched-tokens 256. additional parameters follow vllm docs' performance tips, environment variables are provided in collect_env.py output
error occurs:

Process SpawnProcess-1:
Traceback (most recent call last):
  File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/engine/multiprocessing/engine.py", line 368, in run_mp_engine
    raise e
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/engine/multiprocessing/engine.py", line 357, in run_mp_engine
    engine = MQLLMEngine.from_engine_args(engine_args=engine_args,
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/engine/multiprocessing/engine.py", line 119, in from_engine_args
    return cls(ipc_path=ipc_path,
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/engine/multiprocessing/engine.py", line 71, in __init__
    self.engine = LLMEngine(*args, **kwargs)
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/engine/llm_engine.py", line 335, in __init__
    self.model_executor = executor_class(vllm_config=vllm_config, )
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/executor/executor_base.py", line 36, in __init__
    self._init_executor()
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/executor/openvino_executor.py", line 31, in _init_executor
    self._init_worker()
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/executor/openvino_executor.py", line 48, in _init_worker
    self.driver_worker.init_device()
AttributeError: 'NoneType' object has no attribute 'init_device'

full console log
INFO 11-29 19:00:33 api_server.py:625] vLLM API server version 0.6.4.post2.dev186+gc82b432d
INFO 11-29 19:00:33 api_server.py:626] args: Namespace(subparser='serve', model_tag='qwen2.5-7b-int4/', config='', host=None, port=11451, uvicorn_log_level='info', allow_credentials=False, allowed_origins=['*'], allowed_methods=['*'], allowed_headers=['*'], api_key=None, lora_modules=None, prompt_adapters=None, chat_template=None, chat_template_content_format='auto', response_role='assistant', ssl_keyfile=None, ssl_certfile=None, ssl_ca_certs=None, ssl_cert_reqs=0, root_path=None, middleware=[], return_tokens_as_token_ids=False, disable_frontend_multiprocessing=False, enable_auto_tool_choice=False, tool_call_parser=None, tool_parser_plugin='', model='qwen2.5-7b-int4/', task='auto', tokenizer=None, skip_tokenizer_init=False, revision=None, code_revision=None, tokenizer_revision=None, tokenizer_mode='auto', trust_remote_code=False, allowed_local_media_path=None, download_dir=None, load_format='auto', config_format=<ConfigFormat.AUTO: 'auto'>, dtype='auto', kv_cache_dtype='auto', quantization_param_path=None, max_model_len=8192, guided_decoding_backend='outlines', distributed_executor_backend=None, worker_use_ray=False, pipeline_parallel_size=1, tensor_parallel_size=1, max_parallel_loading_workers=None, ray_workers_use_nsight=False, block_size=16, enable_prefix_caching=None, disable_sliding_window=False, use_v2_block_manager=False, num_lookahead_slots=0, seed=0, swap_space=4, cpu_offload_gb=0, gpu_memory_utilization=0.9, num_gpu_blocks_override=None, max_num_batched_tokens=256, max_num_seqs=256, max_logprobs=20, disable_log_stats=False, quantization=None, rope_scaling=None, rope_theta=None, hf_overrides=None, enforce_eager=False, max_seq_len_to_capture=8192, disable_custom_all_reduce=False, tokenizer_pool_size=0, tokenizer_pool_type='ray', tokenizer_pool_extra_config=None, limit_mm_per_prompt=None, mm_processor_kwargs=None, enable_lora=False, enable_lora_bias=False, max_loras=1, max_lora_rank=16, lora_extra_vocab_size=256, lora_dtype='auto', long_lora_scaling_factors=None, max_cpu_loras=None, fully_sharded_loras=False, enable_prompt_adapter=False, max_prompt_adapters=1, max_prompt_adapter_token=0, device='auto', num_scheduler_steps=1, multi_step_stream_outputs=True, scheduler_delay_factor=0.0, enable_chunked_prefill=True, speculative_model=None, speculative_model_quantization=None, num_speculative_tokens=None, speculative_disable_mqa_scorer=False, speculative_draft_tensor_parallel_size=None, speculative_max_model_len=None, speculative_disable_by_batch_size=None, ngram_prompt_lookup_max=None, ngram_prompt_lookup_min=None, spec_decoding_acceptance_method='rejection_sampler', typical_acceptance_sampler_posterior_threshold=None, typical_acceptance_sampler_posterior_alpha=None, disable_logprobs_during_spec_decoding=None, model_loader_extra_config=None, ignore_patterns=[], preemption_mode=None, served_model_name=['gpt-4o', 'gpt-4o-mini', 'gpt-3.5-turbo', 'coder'], qlora_adapter_name_or_path=None, otlp_traces_endpoint=None, collect_detailed_traces=None, disable_async_output_proc=False, scheduling_policy='fcfs', override_neuron_config=None, override_pooler_config=None, compilation_config=None, worker_cls='auto', disable_log_requests=False, max_log_len=None, disable_fastapi_docs=False, enable_prompt_tokens_details=False, dispatch_function=<function serve at 0x7f7e9faf3490>)
INFO 11-29 19:00:33 __init__.py:42] No plugins found.
INFO 11-29 19:00:33 api_server.py:178] Multiprocessing frontend to use ipc:///tmp/1507c89d-0ccc-4c78-a74c-0f8353d86618 for IPC Path.
INFO 11-29 19:00:33 api_server.py:197] Started engine process with PID 922
INFO 11-29 19:00:35 __init__.py:42] No plugins found.
INFO 11-29 19:00:36 config.py:373] This model supports multiple tasks: {'generate', 'embedding'}. Defaulting to 'generate'.
WARNING 11-29 19:00:36 arg_utils.py:1123] [DEPRECATED] Block manager v1 has been removed, and setting --use-v2-block-manager to True or False has no effect on vLLM behavior. Please remove --use-v2-block-manager in your engine argument. If your use case is not supported by SelfAttnBlockSpaceManager (i.e. block manager v2), please file an issue with detailed information.
INFO 11-29 19:00:36 config.py:1167] Chunked prefill is enabled with max_num_batched_tokens=256.
WARNING 11-29 19:00:36 config.py:511] Async output processing is only supported for CUDA, TPU, XPU and HPU.Disabling it for other platforms.
WARNING 11-29 19:00:36 openvino.py:72] Only float32 dtype is supported on OpenVINO, casting from torch.bfloat16.
WARNING 11-29 19:00:36 openvino.py:77] CUDA graph is not supported on OpenVINO backend, fallback to the eager mode.
INFO 11-29 19:00:36 openvino.py:91] KV cache type is overridden to u8 via VLLM_OPENVINO_CPU_KV_CACHE_PRECISION env var.
INFO 11-29 19:00:36 openvino.py:108] OpenVINO CPU optimal block size is 32, overriding currently set 16
INFO 11-29 19:00:38 config.py:373] This model supports multiple tasks: {'embedding', 'generate'}. Defaulting to 'generate'.
WARNING 11-29 19:00:38 arg_utils.py:1123] [DEPRECATED] Block manager v1 has been removed, and setting --use-v2-block-manager to True or False has no effect on vLLM behavior. Please remove --use-v2-block-manager in your engine argument. If your use case is not supported by SelfAttnBlockSpaceManager (i.e. block manager v2), please file an issue with detailed information.
INFO 11-29 19:00:38 config.py:1167] Chunked prefill is enabled with max_num_batched_tokens=256.
WARNING 11-29 19:00:38 config.py:511] Async output processing is only supported for CUDA, TPU, XPU and HPU.Disabling it for other platforms.
WARNING 11-29 19:00:38 openvino.py:72] Only float32 dtype is supported on OpenVINO, casting from torch.bfloat16.
WARNING 11-29 19:00:38 openvino.py:77] CUDA graph is not supported on OpenVINO backend, fallback to the eager mode.
INFO 11-29 19:00:38 openvino.py:91] KV cache type is overridden to u8 via VLLM_OPENVINO_CPU_KV_CACHE_PRECISION env var.
INFO 11-29 19:00:38 openvino.py:108] OpenVINO CPU optimal block size is 32, overriding currently set 16
INFO 11-29 19:00:38 llm_engine.py:248] Initializing an LLM engine (v0.6.4.post2.dev186+gc82b432d) with config: model='qwen2.5-7b-int4/', speculative_config=None, tokenizer='qwen2.5-7b-int4/', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, override_neuron_config=None, tokenizer_revision=None, trust_remote_code=False, dtype=torch.float32, max_seq_len=8192, download_dir=None, load_format=LoadFormat.AUTO, tensor_parallel_size=1, pipeline_parallel_size=1, disable_custom_all_reduce=False, quantization=None, enforce_eager=True, kv_cache_dtype=<Type: 'uint8_t'>, quantization_param_path=None, device_config=cpu, decoding_config=DecodingConfig(guided_decoding_backend='outlines'), observability_config=ObservabilityConfig(otlp_traces_endpoint=None, collect_model_forward_time=False, collect_model_execute_time=False), seed=0, served_model_name=gpt-4o, num_scheduler_steps=1, chunked_prefill_enabled=True multi_step_stream_outputs=True, enable_prefix_caching=False, use_async_output_proc=False, use_cached_outputs=True, mm_processor_kwargs=None, pooler_config=None,compilation_config=CompilationConfig(level=0, backend='', custom_ops=[], splitting_ops=['vllm.unified_attention', 'vllm.unified_v1_flash_attention'], use_inductor=True, inductor_specialize_for_cudagraph_no_more_than=None, inductor_compile_sizes=None, inductor_compile_config={}, inductor_passes={}, use_cudagraph=False, cudagraph_num_of_warmups=0, cudagraph_capture_sizes=None, cudagraph_copy_inputs=False, pass_config=PassConfig(dump_graph_stages=[], dump_graph_dir=PosixPath('.'), enable_fusion=True, enable_reshape=True), compile_sizes=<function PrivateAttr at 0x7f770c205a20>, capture_sizes=<function PrivateAttr at 0x7f770c205a20>, enabled_custom_ops=Counter(), disabled_custom_ops=Counter(), static_forward_context={})
No ROCm runtime is found, using ROCM_HOME='/opt/rocm-6.1.3'
INFO 11-29 19:00:40 openvino.py:32] Cannot use _Backend.FLASH_ATTN backend on OpenVINO.
INFO 11-29 19:00:40 selector.py:145] Using OpenVINO Attention backend.
ERROR 11-29 19:00:40 engine.py:366] 'NoneType' object has no attribute 'init_device'
ERROR 11-29 19:00:40 engine.py:366] Traceback (most recent call last):
ERROR 11-29 19:00:40 engine.py:366]   File "/home/orion/.local/lib/python3.10/site-packages/vllm/engine/multiprocessing/engine.py", line 357, in run_mp_engine
ERROR 11-29 19:00:40 engine.py:366]     engine = MQLLMEngine.from_engine_args(engine_args=engine_args,
ERROR 11-29 19:00:40 engine.py:366]   File "/home/orion/.local/lib/python3.10/site-packages/vllm/engine/multiprocessing/engine.py", line 119, in from_engine_args
ERROR 11-29 19:00:40 engine.py:366]     return cls(ipc_path=ipc_path,
ERROR 11-29 19:00:40 engine.py:366]   File "/home/orion/.local/lib/python3.10/site-packages/vllm/engine/multiprocessing/engine.py", line 71, in __init__
ERROR 11-29 19:00:40 engine.py:366]     self.engine = LLMEngine(*args, **kwargs)
ERROR 11-29 19:00:40 engine.py:366]   File "/home/orion/.local/lib/python3.10/site-packages/vllm/engine/llm_engine.py", line 335, in __init__
ERROR 11-29 19:00:40 engine.py:366]     self.model_executor = executor_class(vllm_config=vllm_config, )
ERROR 11-29 19:00:40 engine.py:366]   File "/home/orion/.local/lib/python3.10/site-packages/vllm/executor/executor_base.py", line 36, in __init__
ERROR 11-29 19:00:40 engine.py:366]     self._init_executor()
ERROR 11-29 19:00:40 engine.py:366]   File "/home/orion/.local/lib/python3.10/site-packages/vllm/executor/openvino_executor.py", line 31, in _init_executor
ERROR 11-29 19:00:40 engine.py:366]     self._init_worker()
ERROR 11-29 19:00:40 engine.py:366]   File "/home/orion/.local/lib/python3.10/site-packages/vllm/executor/openvino_executor.py", line 48, in _init_worker
ERROR 11-29 19:00:40 engine.py:366]     self.driver_worker.init_device()
ERROR 11-29 19:00:40 engine.py:366] AttributeError: 'NoneType' object has no attribute 'init_device'
Process SpawnProcess-1:
Traceback (most recent call last):
  File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/engine/multiprocessing/engine.py", line 368, in run_mp_engine
    raise e
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/engine/multiprocessing/engine.py", line 357, in run_mp_engine
    engine = MQLLMEngine.from_engine_args(engine_args=engine_args,
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/engine/multiprocessing/engine.py", line 119, in from_engine_args
    return cls(ipc_path=ipc_path,
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/engine/multiprocessing/engine.py", line 71, in __init__
    self.engine = LLMEngine(*args, **kwargs)
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/engine/llm_engine.py", line 335, in __init__
    self.model_executor = executor_class(vllm_config=vllm_config, )
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/executor/executor_base.py", line 36, in __init__
    self._init_executor()
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/executor/openvino_executor.py", line 31, in _init_executor
    self._init_worker()
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/executor/openvino_executor.py", line 48, in _init_worker
    self.driver_worker.init_device()
AttributeError: 'NoneType' object has no attribute 'init_device'
Traceback (most recent call last):
  File "/home/orion/.local/bin/vllm", line 8, in <module>
    sys.exit(main())
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/scripts.py", line 201, in main
    args.dispatch_function(args)
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/scripts.py", line 42, in serve
    uvloop.run(run_server(args))
  File "/home/orion/.local/lib/python3.10/site-packages/uvloop/__init__.py", line 82, in run
    return loop.run_until_complete(wrapper())
  File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete
  File "/home/orion/.local/lib/python3.10/site-packages/uvloop/__init__.py", line 61, in wrapper
    return await main
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/entrypoints/openai/api_server.py", line 649, in run_server
    async with build_async_engine_client(args) as engine_client:
  File "/usr/lib/python3.10/contextlib.py", line 199, in __aenter__
    return await anext(self.gen)
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/entrypoints/openai/api_server.py", line 116, in build_async_engine_client
    async with build_async_engine_client_from_engine_args(
  File "/usr/lib/python3.10/contextlib.py", line 199, in __aenter__
    return await anext(self.gen)
  File "/home/orion/.local/lib/python3.10/site-packages/vllm/entrypoints/openai/api_server.py", line 213, in build_async_engine_client_from_engine_args
    raise RuntimeError(
RuntimeError: Engine process failed to start. See stack trace for the root cause.

Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

It appears to be related to one of the recent refactoring PRs either https://github.com/vllm-project/vllm/commit/a111d0151ffed94582bec65635979e04e5b63676 or https://github.com/vllm-project/vllm/commit/86a44fb8967f757b0701aaa33aeaa8a431714a27.
Tbh I have no idea how this was not caught in the CI, I will take a look and push a fix asap.

Thanks for taking your time to report this issue. Pushed an hotfix to assign driver_worker properly here https://github.com/vllm-project/vllm/pull/10779/files.


Clear Kafka after consuming messages

Once the monitoring service consumes the message, the message should be removed from the Kafka. Add implementation to do so.
In future, more services might be added that reads from the same Kafka topic. Keep this in consideration while adding ways to remove the messages from Kafka.

Relevant Linkedin post here


Random number generator(remake)

Remake of #19369
I maked changes requested by @reduz,I also renamed "randd" function to "rangef" - I think its better and its possible to implement "rangei" in future to support integer range generation.

Please add this at the end of the commit log to credit @Zirak too:
Co-authored-by: Zirak<EMAIL_ADDRESS>

@akien-mga Check now, I think I fixed these problems

I changed "seed" to property, I think its more logical way to use it, also maked other simple functions inlined

RandomBase should probably RandomPCG or just Random, given it is currently tied to a specific algorithm.

I want to hear @reduz opinion before change it.. so wait to PR review :)

We reviewed it with @reduz and @groud, and it's almost ready to merge. We'd just like to keep the RandomNumberGenerator API consistent with the @GDScript one, so randf() should be added (rand float from 0 to 1) and rangef(from, to) should be named rand_range(from, to).

Ok, I will make a fix for this tomorrow

Thanks a lot!

Just FYI, the "Co-authored-by:" didn't work as described in https://blog.github.com/2018-01-29-commit-together-with-co-authors/
The problem is likely:

Include your trailers at the end of your commit message, and have at least one line of white space before them.

There should have been a newline between the commit title and the "Co-authored-by:" line.

Oh sorry ^^

Nice addition.  Have been needing to have multiple RNGs in some situations.
The seed member variable is a nice touch as well.  Its progression can be captured and restored easily.

The RandomNumberGenerator class name is too verbose. I thought the plan was to re-write Godot in Rust. Why are we re-writing it in Java?

The RandomNumberGenerator class name is too verbose

Well, it was a @reduz decision, in my opinion names like RNG / Random / GameRandom sounds better

The RandomNumberGenerator class name is too verbose. I thought the plan was to re-write Godot in Rust. Why are we re-writing it in Java?

In Java it would be RandomNumberGeneratorImplementFactoryMachineExcalibur, so we're fine.
This class is a random number generator, so the name is accurate. In your code you'll only write it in full once anyway:
var rng = RandomNumberGenerator.new()
rng.set_seed(42)
print(rng.randi())

The RandomNumberGenerator class name is too verbose. I thought the plan was to re-write Godot in Rust. Why are we re-writing it in Java?

This class is a random number generator, so the name is accurate. In your code you'll only write it in full once anyway

I wrote a proposal about instantiating a global instance of RandomNumberGenerator in godotengine/godot-proposals#1741, and likely it's better to rename the class to Random this way, given things like #43103 are perfectly possible to provide out of the box, which is technically not restricted to number generation, but more tailored to cover Variant types randomization, like Vector2, Color etc.

which is technically not restricted to number generation, but more tailored to cover Variant types randomization, like Vector2, Color etc.

Which are all numeral types...

That being said, I'm not sure why this discussion is restarted on a 2 year old merged PR?

There's no time frame for discussions, especially on the Internet. In fact, I've linked godotengine/godot-proposals#1741 to direct the discussion into the right place, because from what I've read here it seems like some points were not yet resolved.
I've linked godotengine/godot-proposals#1741 because GIP suggests to draw necessary attention to a proposal to gain interest, as stated by the rule number 4:

Other users must express interest in your proposal for it to be considered. Godot is community-driven: if no other users are interested in your proposal, it may be closed. It is up to you to draw interest in your proposed feature. Start by reaching out on the community channels [emphasis mine] (Reddit, Discord, IRC, etc. see the Community Channels doc), then create your proposal once you have gained some interest.

I'm able to post information as long as the thread is not locked, and I'm not breaching the Code of Conduct in any way:

Feedback is always welcome but keep your criticism constructive. We encourage you to open discussions, proposals, issues, and bug reports. Use the community platforms to discuss improvements, not to vent out frustration. Similarly, when other users offer you feedback please accept it gracefully.

And I'm sorry for such lengthy explanations.

I was not inferring that you're unable to post here, nor breaching Code of Conduct in any way. I'm not sure why my workflow suggestion warrants "lawyering up" this way with quotes and links to the guidelines that I co-authored myself, but OK.
I guess I'll bring that discussion about not renaming RandomNumberGenerator to https://github.com/godotengine/godot-proposals/issues/1741 directly, even if that's not its topic.


PackedByteArray resource compression not triggered by sub-resources

Tested versions

Reproducible in 4.3 beta 1 and master 96a386f3c424af96d950ee5098b4b0e4907c9508

System information
Godot v4.3.beta.mono (e2e6a4d2b) - Debian GNU/Linux trixie/sid trixie - X11 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3080 Ti (nvidia) - AMD Ryzen 7 5800X 8-Core Processor (16 Threads)
Issue description
The release notes mention PackedByteArray encoding in text resources (https://godotengine.org/article/dev-snapshot-godot-4-3-beta-1/#packedbytearrays-saved-with-base64-encoding), but it doesn't activate for me in certain cases.
I'm not sure this is easy to do without a @tool script which can create nested sub-resources with large data arrays, but that's what I was doing when I ran into this. I.e. I have in-editor scripts that generate Images based on chunks of data and store them in fields of nodes of the scene.
It seems from examining the code that https://github.com/godotengine/godot/pull/90889 may be responsible (and may go away later, according to https://github.com/godotengine/godot/pull/90889#pullrequestreview-2017569945). It tries to avoid resource incompatibility situations by only triggering compression for large-ish arrays, but contents of variants embedded in sub-resources are not scanned directly, thus missing large arrays that may still be part of the same .tscn file.
Steps to reproduce
To repro:

open the project in the editor
look at the 3D view
confirm a sprite appears
save the project
check the fmt_test.tscn file on disk. Should be much less than 14 megs in size.

Minimal reproduction project (MRP)
fmttest.zip

Another related case is when you use var_to_str().

This is caused by a bug when handling PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT (which is only used by ImageTexture :rofl: ).
Would be fixed by #90902.

This is caused by a bug when handling PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT (which is only used by ImageTexture 🤣 ).
Would be fixed by #90902.

Ah good. Yes, that PR works for me.