[Pkg-puppet-devel] Bug#1025300: octocatalog-diff crashes when the diff changes existing resources

Taavi Väänänen hi at taavi.wtf
Fri Dec 2 09:35:12 GMT 2022


Package: octocatalog-diff
Version: 2.1.0-1
Severity: important
Tags: patch upstream
Control: forwarded -1 https://github.com/github/octocatalog-diff/issues/261

octocatalog-diff crashes when a diff contains changes to an existing
resource with the following stack trace:

/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter/compilation_dir.rb:72:in 
`new': tried to create Proc object without a block (ArgumentError)
	from 
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter/compilation_dir.rb:72:in 
`block in traverse'
	from 
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter/compilation_dir.rb:72:in 
`map'
	from 
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter/compilation_dir.rb:72:in 
`traverse'
	from 
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter/compilation_dir.rb:63:in 
`remove_compilation_dir'
	from 
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter/compilation_dir.rb:40:in 
`filtered?'
	from 
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter.rb:62:in 
`block in filter'
	from 
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter.rb:62:in 
`reject!'
	from 
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter.rb:62:in 
`filter'
	from 
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter.rb:42:in 
`block in apply_filters'
	from 
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter.rb:42:in 
`each'
	from 
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter.rb:42:in 
`apply_filters'
	from 
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/differ.rb:207:in 
`catdiff'
	from 
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/differ.rb:83:in 
`diff'
	from /usr/lib/ruby/vendor_ruby/octocatalog-diff/cli/diffs.rb:34:in `diffs'
	from 
/usr/lib/ruby/vendor_ruby/octocatalog-diff/api/v1/catalog-diff.rb:54:in 
`catalog_diff'
	from /usr/lib/ruby/vendor_ruby/octocatalog-diff/api/v1.rb:19:in 
`catalog_diff'
	from /usr/lib/ruby/vendor_ruby/octocatalog-diff/cli.rb:152:in 
`run_octocatalog_diff'
	from /usr/lib/ruby/vendor_ruby/octocatalog-diff/cli.rb:126:in `cli'
	from /usr/bin/octocatalog-diff:34:in `<main>'

I've reported this to upstream as issue #261[0], and attached a
possible fix on the upstream issue report too.

[0]: https://github.com/github/octocatalog-diff/issues/261

-- System Information:
Debian Release: bookworm/sid
   APT prefers testing
   APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.0.0-5-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages octocatalog-diff depends on:
ii  ruby           1:3.0+3.1
ii  ruby-diffy     3.4.2-1
ii  ruby-hashdiff  1.0.1-1
ii  ruby-httparty  0.20.0-2
ii  ruby-parallel  1.22.1-1
ii  ruby-rugged    1.5.0.1+ds-1

octocatalog-diff recommends no packages.

octocatalog-diff suggests no packages.

-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xEF242F709F912FBE.asc
Type: application/pgp-keys
Size: 3988 bytes
Desc: OpenPGP public key
URL: <http://alioth-lists.debian.net/pipermail/pkg-puppet-devel/attachments/20221202/8b90d26c/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-puppet-devel/attachments/20221202/8b90d26c/attachment-0001.sig>


More information about the Pkg-puppet-devel mailing list