Git Product home page Git Product logo

Comments (3)

0x01F4 avatar 0x01F4 commented on September 28, 2024

@murgatroid99 Maybe this related to 674f4e3?

Maybe size counter is not reset after each stream?

from grpc-node.

0x01F4 avatar 0x01F4 commented on September 28, 2024

It is happening when there is traefik in between client and server and traefik return 404.

This is not happening before 674f4e3

Wireshark capture:

Frame 2393: 131 bytes on wire (1048 bits), 131 bytes captured (1048 bits) on interface en0, id 0
Ethernet II, Src: Apple_67:50:66 (f4:d4:88:67:50:66), Dst: Apple_55:ee:e0 (88:66:5a:55:ee:e0)
Internet Protocol Version 4, Src: 10.8.20.228, Dst: 10.8.20.115
Transmission Control Protocol, Src Port: 8046, Dst Port: 57478, Seq: 1, Ack: 702, Len: 65
HyperText Transfer Protocol 2
HyperText Transfer Protocol 2
GRPC Malformed message data: only 19 bytes left, need at least 808722549 bytes.
[Expert Info (Warning/Undecoded): GRPC Malformed message data: only 19 bytes left, need at least 808722549 bytes.]
[GRPC Malformed message data: only 19 bytes left, need at least 808722549 bytes.]
[Severity level: Warning]
[Group: Undecoded]

from grpc-node.

0x01F4 avatar 0x01F4 commented on September 28, 2024

Closing the issue.Adding details incase someone stumble upon the same.

This is happening since traefik is returning non-grpc response and grpc-node tries to parse first four bytes as length of the message in this case which "404 " in ASCII (52,48,52,32).

function readUInt32BE(offset = 0) {
  validateNumber(offset, 'offset');
  const first = this[offset];
  const last = this[offset + 3];
  if (first === undefined || last === undefined)
    boundsError(offset, this.length - 4);

  return first * 2 ** 24 +
    this[++offset] * 2 ** 16 +
    this[++offset] * 2 ** 8 +
    last;
}

It was working before 674f4e3 since this check was not there.

from grpc-node.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.