#29651·protobuf

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

Author: gayathri-alageswaranCreated Sep 8, 2026Updated Sep 8, 2026
Labelsbugpythonwait for user action

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+

Source: protocolbuffers/protobuf