요약
AOSP 소스가 늦게 풀리자 한 개발자가 안드로이드 17의 libc를 디스어셈블해 버그를 찾아 신고했습니다.
안드로이드 NDK 저장소에 올라온 버그 신고입니다. 2026년 9월 안드로이드 17 빌드에서 와이드 문자열 함수가 오작동했습니다. 해당 버전의 소스가 아직 공개되지 않아 신고자는 기기에 실린 libc.so를 직접 디스어셈블해 원인을 짚었습니다.
왜 중요한가
- 외부 개발자는 기기에서 실제로 도는 코드를 볼 수 없어, 버그 원인을 찾으려면 바이너리를 역분석해야 하는 처지가 됐습니다.
- 이모지나 한중일 문자처럼 U+0100 이상 문자가 섞인 텍스트를 다루는 앱이 조용히 오작동할 수 있습니다.
- 이슈 댓글에서는 AOSP(안드로이드 오픈소스 프로젝트) 소스가 더는 공개되지 않는 것 아니냐는 우려가 가장 많은 공감을 얻었습니다.
핵심 내용
- wcscspn()과 wcspbrk()(문자열에서 지정한 문자가 처음 나오는 위치를 찾는 함수)가 U+0100 이상 문자를 무조건 일치로 처리합니다.
- 찾는 문자가 두 개 이상이고 모두 U+0100 미만일 때만 생기며, Pixel 7과 Pixel 8a의 같은 빌드에서 재현됐습니다.
- 256바이트 표로 검사하는 경로가 표 범위를 벗어난 문자를 만나면 일치로 보고 멈추는 것이 원인이었습니다.
- 안드로이드용 Visual Pinball에서는 주석 속 이모지 때문에 스크립트 해석이 실패해 테이블이 열리지 않았습니다.
- 구글 담당자는 분석이 맞다고 확인하고, 빠진 테스트 추가와 이전 버전으로의 수정 반영을 약속했습니다.
HN 반응
- 일부 이용자는 EU 업데이트 의무 규정이 소스 공개 시점부터 기한을 세기 때문에 구글이 협력사를 위해 공개를 늦춘다고 추측했습니다.
- 협력사에 시간을 주는 것은 당연하다는 의견에, 그 때문에 나머지 모두가 기다려야 한다는 반론이 맞섰습니다.
증명할 수는 없지만, 저는 이게 (부분적으로는) 최근 EU 규정이 크게 역효과를 낸 탓이라고 봅니다. 정확히 어떤 규정이었는지는 기억나지 않는데, 최근 규정 중 하나가 기기에 일정 기간 업데이트를 제공하도록 의무화했습니다. 그 기간 안에 제조사는 자사 모든 기기에 대한 각 업데이트를 짧은 시간 안에 내놓아야 합니다. 플래그십은 업데이트를 바로 받고 보급형 기기는 몇 달씩 기다리는 일을 막으려는 취지였습니다. 그런데 오픈소스에 관한 (역시 좋은 의도로 넣은) 문구 때문에, 소스 코드를 공개하는 것이 업데이트의 첫 출시로 간주되어 그때부터 기한이 흐르기 시작합니다. 제 생각에 구글은 공개 AOSP 업데이트를 일부러 늦추고 있습니다. 파트너사(주로 삼성이겠죠)가 AOSP 위에 얹는 자기 업데이트를 마무리할 시간을 더 주려는 겁니다.
애플이나 구글 같은 대기업이 유럽 사용자들을 통해 규제 당국을 압박하려고 일부러 이런 수법을 쓰더라도 저는 놀라지 않을 겁니다. Siri AI가 대표적인 예고요. 복잡한 문제이긴 하지만, 그 정도 술수는 충분히 부릴 수 있는 회사들이라고 생각합니다.
계속 시도한다는 게 웃기네요. 단 한 번도 먹힌 적이 없는데 말이죠. 미국 기업들이 자기들의 규제 혐오를 남에게 투영하면서, EU 시민들이 동의하지 않는다는 사실에 매번 놀라는 것 같아요. 우리가 EU 정부를 좋아하는 건 아니지만, 가끔은 좋은 일도 하고, 그런 건 우리도 좋아합니다. 특히 미국 기업들이 즐겨 벌이는 소비자 우롱 짓거리에 비하면 더요.
저는 이게 기업의 음모라고 생각하지 않습니다. 진실은 아마 더 평범할 겁니다. 규제는 최소한의 노력으로 피해 가야 할 장애물로 취급될 뿐, 돈이 되는 관행을 포기할 이유로는 여겨지지 않는 거죠.
나쁜 결과를 낳는 시스템은 나쁜 시스템입니다.
그 자리를 공익을 위해 쓰기보다 악용하는 사람들이 권력을 잡도록 유리하게 작동하는 시스템이라면, 그것이 피드백 신호가 되어 갈수록 더 나쁜 사람들과 더 나쁜 결과를 낳게 됩니다.
"음모"가 없어도 음모처럼 보이는 지점에 도달하기에는 충분합니다.
우리가 EU 정부를 사랑하지 않는 건 민간과 국가 세력이 양쪽에서 EU가 나쁜 것이라는 담론을 퍼뜨리는 데 수십억을 쏟아붓고 있기 때문입니다.
제 불만은 집행위원회를 선출하는 방식이 너무 간접적이라 민주주의가 부족하다는 겁니다. 폰데어라이엔은 독일에서 인기가 바닥이었고 (적어도 국방 분야에서는) 끔찍하게 무능했던 장관이었는데, 어쩌다 보니 EU 집행위원장이 됐죠. 이 사람의 재주는 다른 정치인들과 정치 공작을 벌이는 것 같아요. 국민이 직접 투표하는 선거였다면 그걸로는 당선되지 못했을 겁니다.
그리고 더 직접적인 선거에 이를 악물고 맞서 싸우는 쪽이 바로 회원국들입니다.
EU 회원국들은 자기들을 당선시켜 주는 돈이 가리키는 방향을 따라갑니다.
EU가 더 강력해지면 대기업과 부유한 개인의 힘은 약해지겠죠.
사람들이 직접 뽑지 않는 게 좋을 때도 있습니다. 그래도 간접적으로는 참여하고요. 지켜야 할 일반 원칙도 있습니다. 그러니 선거 주기마다 대중이 전적으로 통제하는 것보다 더 안정적인 틀이죠. 포퓰리즘이 생기기 마련이고, 당선되려면 때로는 필요한 인기 없는 결정을 내릴 수 없게 되니까요.
인기 없지만 실제로 좋은 결정이 있고, 국민에게는 나쁘지만 권력과 가까운 사람들에게만 좋은 결정도 있습니다. 대중의 감시가 너무 약한 체제라면 어디서든 후자가 더 흔하다고 생각해요.
판사나 검사, 보안관 얘기라면 그 의견을 이해할 수 있겠지만, 지금 우리가 얘기하는 건 정치 직위입니다.
간접 민주주의가 곧 민주주의의 부족은 아닙니다. 다만 저도 지금의 작동 방식은 마음에 들지 않고, EU 선거가 더 직접적이면 좋겠습니다. 다른 회원국의 후보에게도 투표할 수 있으면 좋겠고요.
하지만 이런 변화는 우익 언론이 "브뤼셀"에 더 많은 권한을 넘기는 것으로 해석해 버리기 때문에 인기가 몹시 없습니다.
우익 언론은 대개 특정 억만장자들이 소유하고 있습니다.
그들의 의제는 "보통 사람들"의 의제가 아닙니다. 오히려 보통 사람들이 그 "전략적 투자자"들의 이익을 위해 이용당하죠.
브뤼셀의 힘이 약해지면 부자들의 힘이 세집니다.
10년 전에도 정말 한심한 자기합리화였는데, 지금도 정말 한심한 자기합리화네요.
유럽연합이 형편없는 법과 규정을 만들어 냈기 때문입니다.
충전용으로 USB를 어디서나 의무화하면서, 도로 우측통행을 통일하는 건 아무것도 하지 않았죠.
디지털시장법이 있다는데, 누가 미국의 대형 이메일 업체에 메일을 보내려고 하면 먼저 등록부터 해야 하고, 그러지 않으면 스팸함에도 못 들어갑니다. 그래 놓고 X/일론 머스크와 메타는 싫다는 이유로 벌금을 매겼다고 박수갈채를 보냅니다. 수십 년 된 프로토콜과 방식 같은 건 아무도 신경 안 쓰는 거죠.
형편없는 빅테크 기업들을 탓하세요. DMA도, 미국과 다른 여러 나라의 비슷한 시도도 그 기업들이 모든 걸 자기들에게 유리하게 쌓아 올리면서 다른 모두의 돈과 프라이버시, 보안, 안전을 희생시켰기 때문에 나온 겁니다.
규제 당국이 심심해서 판을 엉망으로 만들고 싶었던 게 아닙니다. 이 기업들이 소비자와 시장을 착취하고 있다는 데에는 거의 전 세계적인 공감대가 있습니다.
다만 DMA는 이메일 문제 같은 더 근본적인 문제에는 아무것도 해 주지 않았습니다.
아니죠, 그냥 자랑할 거리가 필요하거나 자기들이 더 잘 안다고 생각하는 겁니다(소련/공산주의식으로요). 이런 식이죠. 우리는 귀찮고 독점 규격 아이폰 충전기를 들고 다니는 것도 지겨우니 당신들도 그럴 거다, USB를 의무화하자.
충전기가 좋은 예라는 말에는 동의하지 않습니다. 좋은 규정도 분명 있겠지만요. 그런데 애플은 오래전부터 애플 제품을 쓰지 않는 소비자에게(그리고 종종 애플 소비자에게도, 터무니없이 비싼 모니터 스탠드를 보세요) 불친절했고, 애플 아닌 건 무엇도 애플 제품과 잘 작동하지 못하게, 그 반대도 마찬가지로 만들려고 온갖 짓을 해 왔습니다.
제 아내의 AirPods Pro 3가 운동할 때 쓸 심박수 데이터를 제 폰에 줄 수 없는 이유는 상상할 수 있어요(사실은 못 하지만, 논의를 위해 상상한다고 칩시다). 그런데 배터리 잔량은 왜 보고하지 못하는 겁니까? 아 진짜.
라이트닝이 어떤 면에서는 더 낫다고 해도(USB-C 혀는 가끔 부러지죠), 세상 모든 게 USB-C로 돌아가는데 애플 기기만을 위한 별도 케이블을 쓰게 강요하는 건 앙심을 품고 한 짓 같습니다. 그러고는요? 애플 기기는 어떤 고속 충전 표준도 지원하지 않습니다. 또 앙심이에요.
다르게 보기 어렵지만, 제가 보지 못하거나 보지 않기로 한 더 나은 이유와 논거가 있을 수도 있겠죠. 아마 제가 이 회사를 좋아하지 않아서일 겁니다. 문자 메시지에서 초록 말풍선이나 파란 말풍선이 아니라는 이유로 아이들이 따돌림당하지 않게 하려고, 가난한 부모들이 비싼 폰을 사 주도록 만든 회사니까요.
충전 방식이나 배터리 잔량 미보고 같은 이유로 제품이 마음에 안 들면, 저는 안 삽니다.
배럴 잭 충전기는 안 부러지나요? 게다가 더 단순하기까지 합니다. 복잡한 전자회로도 프로토콜도 필요 없고요. 규격을 지키지 않는 USB 충전기도 잊으면 안 되죠. 어느 중국 미니 PC 제조사가 협상 과정 없이 처음부터 19V쯤 내보내는 충전기를 컴퓨터와 함께 팔았다는 글을 읽은 기억이 납니다. 부디 아무도 그걸 다른 기기에 쓰지 않았기를 바랍니다.
시간이 걸리는 일입니다. 그리고 불평할 거리는 언제나 있을 거고요. 그래도 상황이 긍정적인 방향으로 가고 있다는 데는 동의하지 않으세요?
딱히 그렇지 않습니다. 신경 써야 할 게 줄기는커녕 점점 늘고 있어요. 저는 읽고 지켜야 할 법이 더 많아지길 원하지 않고, 더 적어지길 원합니다.
지난 한 해 동안 법을 한 줄이라도 읽은 사람은 아마 거의 없을 겁니다. 평생 법을 읽어 본 적이 없는 사람도 있을 거고요. 그리고 저는 법이 더 적어지길 원한다는 데 동의하지 않습니다. 그나저나 법이 몇 개면 충분하다는 건가요?
대부분의 사람은 평생 법을 하나도 읽지 않고 별일 없기를 바라며 삽니다. 하지만 뭔가를 하려는 입장이라면 그 위험을 감수하시겠습니까? 복잡한 일일 필요도 없습니다. 웹사이트를 하나 운영하는 것만으로도 충분하죠. 갑자기 GDPR을 상대해야 하는데 쉬운 일이 아닙니다. 그렇지 않다면 논쟁과 컨설턴트가 이렇게 많을 리 없고, 아예 유럽 사용자를 차단하는 웹사이트도 있다는 사실은 말할 것도 없죠.
GDPR PDF는 88쪽입니다 1. 그것도 하나일 뿐이고요. AI법은 또 144쪽입니다 2. 누가 그걸 다 읽겠습니까?
법을 어겼기 때문에 벌금을 받은 겁니다. 많은 사람이 그 벌금을 솜방망이 처벌이라고 생각하고요. 저는 개인적으로 이런 경우에는 훨씬 더 가혹하고 치명적인 처벌을 지지합니다.
오해하셨네요. 그들이 법을 어기지 않았다는 말이 아니었고, 솔직히 어겼는지 아닌지는 저도 모릅니다. 제 말은 어떤 사람들이 (타당한 이유가 있을 수도 있겠지만) 자기들이 싫어하는 사람이나 기업을 고통받게 만든다는 이유로 그 법을 좋아한다는 것뿐입니다. 다시 말해 그들은 처벌만 좋아하는 겁니다.
먹혔죠, 왜요. 쿠키 배너를 보세요. 처음부터 악의적인 가짜 준수가 판을 쳤고, 거의 10년 가까이 이를 두고 사실상 아무 조치도 없었으며, 그동안 사람들은 그게 GDPR 탓이라고 믿도록 속았습니다. 조금 손을 본 지금도 대다수 쿠키 배너는 GDPR이나 ePD 요건을 너무나 뻔하게 지키지 않는데, 아무런 결과도 따르지 않습니다.
그들은 분명히 그렇게 합니다.
파트너사가 릴리스를 마무리할 시간을 합법적으로 주는 게 그냥... 완전히 정상적이고 올바른 일 같은데요? 왜 모든 게 거창한 음모여야 하죠?
그게 왜 정상적이고 올바른 일입니까? 다른 모든 사람의 릴리스를 늦추고 있는 건데요.
https://grapheneos.social/@GrapheneOS/115164133992525834
https://news.ycombinator.com/item?id=49946698