Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Emoji corruption with AMQP

オープン
#2,644 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@livicitu がすでに取り組んでいます。

2026年10月19日 から。

  • #2698 @livicitu による — オープン

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
java, python

調査の方向性

Start by tracing the AMQP message path when transport.transformer=jms is enabled, focusing on where message text is converted between AMQP and JMS representations. Compare the handling of ordinary UTF-8 text with supplementary characters such as 🙏, and check the relevant AMQP transformation tests. Done means the reproduced emoji round trip yields valid UTF-8 while existing text compatibility remains intact.

索引モデルが issue の本文から書いたものです。

説明

Our broker's AMQP configuration uses the transport.transformer=jms setting for compatibility with application using OpenWire to connect to the same queues.

We got a report from a user using ActiveMQ 6.2.5 that emojis got corrupted when part of UTF-8 text. This did no happen in 6.2.1.
I have verified that the bug exists in 6.3.2 as well. It looks related Java's "modified" UTF-8 being used instead of actual UTF-8.

How to reproduce, using qpid_messaging Python API:

>>> import qpid_messaging
>>> emoji = "\U0001F64F"
>>> emoji
'🙏'
>>> conn = qpid_messaging.Connection.establish("server.address", protocol="amqp1.0")
>>> sess = conn.session(transactional=True)
>>> recv = sess.receiver("test_queue")
>>> sender = sess.sender("test_queue")
>>> sender.send(qpid_messaging.Message("åäö"))
>>> sess.commit()
>>> m = recv.fetch()
>>> sess.commit()
>>> m.content
b'\xc3\xa5\xc3\xa4\xc3\xb6'
>>> m.content.decode()
'åäö'
>>> sender.send(qpid_messaging.Message(emoji))
>>> sess.commit()
>>> m = recv.fetch()
>>> sess.commit()
>>> m.content
b'\xed\xa0\xbd\xed\xb9\x8f'
>>> m.content.decode()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed in position 0: invalid continuation byte
主要言語
Java
スター
2.5k
フォーク
1.5k
平均マージ
21時間 29分
マージ済み PR(30日)
84

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

apache/activemq のほかの issue

apache/activemq の issue をすべて見る

似ている issue

Java の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。