[Pkg-javascript-devel] Bug#1001726: node-mqtt-packet breaks node-mqtt-connection autopkgtest: Invalid header flag bits, must be 0x2 for pubrel

Paul Gevers elbrus at debian.org
Tue Dec 14 20:29:44 GMT 2021


Source: node-mqtt-packet, node-mqtt-connection
Control: found -1 node-mqtt-packet/7.1.1-1
Control: found -1 node-mqtt-connection/4.1.0-3
Severity: serious
Tags: sid bookworm
X-Debbugs-CC: debian-ci at lists.debian.org
User: debian-ci at lists.debian.org
Usertags: breaks needs-update

Dear maintainer(s),

With a recent upload of node-mqtt-packet the autopkgtest of 
node-mqtt-connection fails in testing when that autopkgtest is run with 
the binary packages of node-mqtt-packet from unstable. It passes when 
run with only packages from testing. In tabular form:

                        pass            fail
node-mqtt-packet       from testing    7.1.1-1
node-mqtt-connection   from testing    4.1.0-3
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration of node-mqtt-packet 
to testing [1]. Due to the nature of this issue, I filed this bug report 
against both packages. Can you please investigate the situation and 
reassign the bug to the right package?

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=node-mqtt-packet

https://ci.debian.net/data/autopkgtest/testing/amd64/n/node-mqtt-connection/17553966/log.gz

# Using package.json
# Node module name is mqtt-connection
# Build files found: # Test files found: test
# Files/dir to be installed from source: test # Copy test files
# Copy debian/tests/pkg-js content
'debian/tests/pkg-js' -> 
'/tmp/autopkgtest-lxc.is20x5x_/downtmp/autopkgtest_tmp/smokegz7eSX/debian/tests/pkg-js'
'debian/tests/pkg-js/test' -> 
'/tmp/autopkgtest-lxc.is20x5x_/downtmp/autopkgtest_tmp/smokegz7eSX/debian/tests/pkg-js/test'
# Searching module in /usr/lib/nodejs/mqtt-connection
# Searching module in /usr/lib/*/nodejs/mqtt-connection
# Searching module in /usr/share/nodejs/mqtt-connection
# Found /usr/share/nodejs/mqtt-connection
# Searching files to link in /usr/share/nodejs/mqtt-connection
'./connection.js' -> '/usr/share/nodejs/mqtt-connection/connection.js'
'./lib' -> '/usr/share/nodejs/mqtt-connection/lib'
'./package.json' -> '/usr/share/nodejs/mqtt-connection/package.json'
# Launch debian/tests/pkg-js/test with sh -ex
+ mocha test/


   Connection-v5
     undefined should start piping in the next tick
     transmission-v5
       #subscribe-5.0
         undefined should send a 5.0 subscribe packet (single) (50ms)

   Connection
     undefined should start piping in the next tick
     parsing
       connect
         undefined should fire a connect event (minimal)
         undefined should fire a connect event (maximal)
         parse errors
           undefined should say protocol not parseable
       connack
         undefined should fire a connack event (rc = 0)
         undefined should fire a connack event (rc = 5)
       publish
         undefined should fire a publish event (minimal)
         undefined should fire a publish event with 2KB payload
         undefined should fire a publish event with 2MB payload
         undefined should fire a publish event (maximal)
         undefined should fire an empty publish
         undefined should parse a splitted publish
       puback
         undefined should fire a puback event
       pubrec
         undefined should fire a pubrec event
       pubrel
         1) should fire a pubrel event
       pubcomp
         undefined should fire a pubcomp event
       subscribe
         undefined should fire a subscribe event (1 topic)
         undefined should fire a subscribe event (3 topic)
       suback
         2) should fire a suback event
       unsubscribe
         undefined should fire an unsubscribe event
       unsuback
         undefined should fire a unsuback event
       pingreq
         undefined should fire a pingreq event
       pingresp
         undefined should fire a pingresp event
       disconnect
         undefined should fire a disconnect event
       reserverd (15)
         undefined should emit an error
       reserverd (0)
         undefined should emit an error
     transmission
       #connect
         undefined should send a connect packet (minimal)
         undefined should send a connect packet (maximal)
         undefined should send a connect packet with binary 
username/password
         undefined should send a connect packet with binary will payload
         undefined should send a connect packet with unicode will payload
         invalid options
           protocol id
             undefined should reject non-string
           protocol version
             undefined should reject non-number
             undefined should reject >255
             undefined should reject <0
           client id
             undefined should reject non-present
             undefined should reject empty
             undefined should reject non-string
           keepalive
             undefined should reject non-number
             undefined should reject < 0
             undefined should reject > 65535
           will
             undefined should reject non-object
             undefined should reject will without valid topic
             undefined should reject will without valid payload
             - should reject will with invalid qos
           username
             undefined should reject invalid username
           password
             undefined should reject invalid password
       #connack
         undefined should send a connack packet (rc = 0)
         undefined should send a connack packet (rc = 4)
         undefined should reject invalid rc
       #publish
         undefined should send a publish packet (minimal)
         undefined should send a publish packet (maximal)
         undefined should send a publish packet (empty)
         undefined should send a publish packet (buffer)
         undefined should send a publish packet of 2KB
         undefined should send a publish packet of 2MB
         undefined should reject invalid topic
         - should reject invalid payloads, maybe
         undefined should reject invalid mid
       #puback
         undefined should send a puback packet
         undefined should reject invalid mid
       #pubrec
         undefined should send a pubrec packet
         - should reject invalid mid
       #pubrel
         undefined should send a pubrel packet
         - should reject invalid mid
       #pubcomp
         undefined should send a pubcomp packet
         - should reject invalid mid
       #subscribe
         undefined should send a subscribe packet (single)
         undefined should send a subscribe packet (multiple)
         undefined should reject invalid subscriptions
         - should reject invalid subscription objects
         undefined should reject invalid mid
       #suback
         undefined should send a suback packet
         - should reject invalid mid
         undefined should reject invalid qos vector
       #unsubscribe
         undefined should send an unsubscribe packet
         undefined should reject invalid unsubs
         - should reject invalid mids
       #unsuback
         undefined should send a unsuback packet
         - should reject invalid mid
       #pingreq
         undefined should send a pingreq packet
       #pingresp
         undefined should send a pingresp packet
       #disconnect
         undefined should send a disconnect packet
         undefined should send a null disconnect packet


   75 passing (238ms)
   9 pending
   2 failing

   1) Connection
        parsing
          pubrel
            should fire a pubrel event:
      Uncaught Error: Invalid header flag bits, must be 0x2 for pubrel 
packet
       at Parser._parseHeader 
(/usr/share/nodejs/mqtt-packet/parser.js:63:30)
       at Parser.parse (/usr/share/nodejs/mqtt-packet/parser.js:43:45)
       at Transform.process [as _transform] 
(/usr/share/nodejs/mqtt-connection/lib/parseStream.js:14:17)
       at Transform._read 
(/usr/share/nodejs/readable-stream/lib/_stream_transform.js:177:10)
       at Transform._write 
(/usr/share/nodejs/readable-stream/lib/_stream_transform.js:164:83)
       at doWrite 
(/usr/share/nodejs/readable-stream/lib/_stream_writable.js:409:139)
       at writeOrBuffer 
(/usr/share/nodejs/readable-stream/lib/_stream_writable.js:398:5)
       at Transform.Writable.write 
(/usr/share/nodejs/readable-stream/lib/_stream_writable.js:307:11)
       at Transform.ondata 
(/usr/share/nodejs/readable-stream/lib/_stream_readable.js:681:20)
       at addChunk 
(/usr/share/nodejs/readable-stream/lib/_stream_readable.js:298:12)
       at readableAddChunk 
(/usr/share/nodejs/readable-stream/lib/_stream_readable.js:280:11)
       at Transform.Readable.push 
(/usr/share/nodejs/readable-stream/lib/_stream_readable.js:241:10)
       at Transform.push 
(/usr/share/nodejs/readable-stream/lib/_stream_transform.js:139:32)
       at Immediate.<anonymous> (test/util.js:13:12)
       at processImmediate (internal/timers.js:461:21)

   2) Connection
        parsing
          suback
            should fire a suback event:
      Uncaught Error: Invalid suback QoS, must be <= 2
       at Parser._parseSuback 
(/usr/share/nodejs/mqtt-packet/parser.js:427:34)
       at Parser._parsePayload 
(/usr/share/nodejs/mqtt-packet/parser.js:119:16)
       at Parser.parse (/usr/share/nodejs/mqtt-packet/parser.js:43:45)
       at Transform.process [as _transform] 
(/usr/share/nodejs/mqtt-connection/lib/parseStream.js:14:17)
       at Transform._read 
(/usr/share/nodejs/readable-stream/lib/_stream_transform.js:177:10)
       at Transform._write 
(/usr/share/nodejs/readable-stream/lib/_stream_transform.js:164:83)
       at doWrite 
(/usr/share/nodejs/readable-stream/lib/_stream_writable.js:409:139)
       at writeOrBuffer 
(/usr/share/nodejs/readable-stream/lib/_stream_writable.js:398:5)
       at Transform.Writable.write 
(/usr/share/nodejs/readable-stream/lib/_stream_writable.js:307:11)
       at Transform.ondata 
(/usr/share/nodejs/readable-stream/lib/_stream_readable.js:681:20)
       at addChunk 
(/usr/share/nodejs/readable-stream/lib/_stream_readable.js:298:12)
       at readableAddChunk 
(/usr/share/nodejs/readable-stream/lib/_stream_readable.js:280:11)
       at Transform.Readable.push 
(/usr/share/nodejs/readable-stream/lib/_stream_readable.js:241:10)
       at Transform.push 
(/usr/share/nodejs/readable-stream/lib/_stream_transform.js:139:32)
       at Immediate.<anonymous> (test/util.js:13:12)
       at processImmediate (internal/timers.js:461:21)



autopkgtest [03:42:46]: test pkg-js-autopkgtest

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-javascript-devel/attachments/20211214/016355be/attachment.sig>


More information about the Pkg-javascript-devel mailing list