한국어 시스템에서 appstream 프리징 현상.
글쓴이: Yi Soo An@Google / 작성시간: 목, 2018/02/01 - 2:45오후
해당 이슈에 대한 OS 환경, 디버깅 정보는 이미 공식 레포에 이슈화 해놓은게 있어서 링크로 대체를 하겠습니다.
https://github.com/elementary/appcenter/issues/588
appcenter라는 어플리케이션이 초기에 개발되고 eOS에 탑재된 시점부터 버그가 있어왔다고 합니다.
링크 내용대로 디버깅을 해보니 as_pool_search 이후로 프리징이 생기고 있는데
해당 문제는 '오직' 한국어로 시스템 언어 설정을 하면 생기고 기타 언어에서는 전혀 생기지 않습니다.
appcenter뿐만 아니라 appstreamcli (0.11.3) 버전에서도 동일한 증상이 있었으나 0.11.8 컴파일후 테스트에서는 전혀 생기지 않았구요.
한국어 관련된 문제같은데 제 선에선 도저히 실마리를 못 찾겠네요..
* 분류가 여기가 맞는진 모르겠네요.
Forums:
버그 같은데요.
버그 같은데요.
어딘가에 있는 근본적인 버그가 잠재적이었던 버그를 현실화시킨 건지,
아니면 단순히 번역 실수가 잠재적이었던 버그를 현실화 시킨 것인지는 애매합니다.
as_str_replace("calligra", "", "") 처럼 호출되었고, for 문에서 무한루프 돌고 있습니다.
처음부터 따라가보면,(gdb) b as_str
처음부터 따라가보면,
비교를 위해 ja_KP.utf-8 로 해보면,(gdb
비교를 위해 ja_KP.utf-8 로 해보면,
> 어딘가에 있는 근본적인 버그가 잠재적이었던 버그를
> 어딘가에 있는 근본적인 버그가 잠재적이었던 버그를 현실화시킨 건지,
> 아니면 단순히 번역 실수가 잠재적이었던 버그를 현실화 시킨 것인지는 애매합니다.
>
한국어 번역 실수인 곳은 다음과 같습니다. (0.10.6 버전 기준으로)
맨 끝의 ';' 가 불필요하게 붙어있습니다. "...;도구;" 가 아니라 "...;도구" 여야 맞죠. 원문을 지키려면.
저 변역된 문장이 appstream 파서에 전달되는 바람에 맨 끝의 ';' 가 "" 단어를 만들어버렸고,
이 "" 라는 단어가 as_str_replace() 에 전달된 거.
감사합니다. 방금 다시 테스트하였고 올바르게 동작됨을
감사합니다. 방금 다시 테스트하였고 올바르게 동작됨을 확인하였습니다.
bushi님 덕분에 실마리를 찾을 수 있게되어 매우 기쁘네요 ㅎ
해당 문제에 대한 workaround 및 버그는 곧 PR 하도록 하겠습니다.
다시 한번 감사드립니다.
---------------
Happy Hacking!
댓글 달기