Skip to content

[Python] Null pointer dereference (SIGSEGV) in _message.abi3.so on s390x (big-endian) at process startup — regression from 6.31.1 → 6.32+ #29651

Description

@gayathri-alageswaran

What version of protobuf and what language are you using?

Version: 6.32+

Language: C++/Java/Python/C#/Ruby/PHP/Objective-C/Javascript

Architecture: S390x

supported runtime / compiler version: python 3.12

ISSUE Description:

Environment

  • Platform: s390x
  • OS: Red Hat Enterprise Linux 9 (el9_8), kernel 5.14.0-687.33.1.el9_8.s390x
  • Python: 3.12
  • protobuf version that crashes: 6.33.5 (also expected on 6.32.x — not individually tested)
  • Last known-good protobuf version: 6.31.1
  • grpcio version: 1.73.1

What happens

The Python process crashes with a kernel-level segfault immediately at startup,
inside _message.abi3.so, during AddSerializedFile() when the gRPC-generated
_pb2.py module is first imported. The process never reaches application code.

Kernel log (s390x)

User process fault: interruption code 003b ilc:3 in _message.abi3.so[3ff9cb80000+5c000]
Failing address: 0000000000000000 TEID: 0000000000000800
Fault in primary space mode while using user ASCE.
CPU: 0 PID: 3757 Comm: start-component Not tainted 5.14.0-687.33.1.el9_8.s390x #1
Hardware name: XXXX
User GPRS: 00000000000xxxx 00000000000yyyyyy ....

Worked on 6.31.1 and Failing on 6.32+

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions