Nux

Fcitx can't input word group more than 6 Chinese characters in Dash. Causes a crash if entering to many characters.

Bug #1112044 reported by Ma Jun
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Nux
Fix Released
Critical
Brandon Schaefer
2.0
Fix Committed
High
Brandon Schaefer
nux (Ubuntu)
Fix Released
Critical
Brandon Schaefer
Nominated for Precise by Timo Jyrinki

Bug Description

Fcitx(1:4.2.6.1-2) can't input word group more than 6 Chinese characters in Dash. I do the test in daily buid version of 13.04.

Related branches

Revision history for this message
Yichao Yu (yuyichao) wrote :

I cannot see why it can possibly be dash specific.

What's input method are you using? If you are using google-pinyin, you may have this problem. It is not maintained anymore and you may want to use another one. See[1] (bold text).

[1] http://code.google.com/p/libgooglepinyin/

Revision history for this message
Yichao Yu (yuyichao) wrote :

If it is indeed the case, than this is a bug in libgooglepinyin and it is a WONTFIX.

Revision history for this message
Ma Jun (maclin.jun) wrote :

I have tried google-pinyin and sunpinyin, both have the problem.

I input the same word group in other edit area, both are OK, so I relate the problem to Dash.

Revision history for this message
Brandon Schaefer (brandontschaefer) wrote :

Hmm strange, I can confirm this. It is possible because nux has implement its own handling of XIMs, which is most likely where the bug is, so this is possible in both the Dash and Hud.

Changed in nux:
status: New → Confirmed
importance: Undecided → Medium
milestone: none → 4.0
Changed in nux:
assignee: nobody → Brandon Schaefer (brandontschaefer)
Changed in nux:
status: Confirmed → Triaged
Changed in nux (Ubuntu):
assignee: nobody → Brandon Schaefer (brandontschaefer)
importance: Undecided → Medium
status: New → Triaged
Changed in nux:
status: Triaged → In Progress
Changed in nux (Ubuntu):
status: Triaged → In Progress
Stephen M. Webb (bregma)
Changed in nux:
milestone: 4.0.0 → 4.0.1
Revision history for this message
Brandon Schaefer (brandontschaefer) wrote :

Sadly this is a confirmed problem in nux, and actually is a much bigger problem then it looks. There is a char text[16] that is storing all the data coming in from the XIM, which you can imagine 6 CJK chars is to large to fit in a char[16].

What makes this problem really bad is if you enter in to many characters and cause a crash by overflowing that buffer....so this needs to be fixed ASAP.

Changed in nux:
importance: Medium → Critical
Changed in nux (Ubuntu):
importance: Medium → Critical
summary: - Fcitx can't input word group more than 6 Chinese characters in Dash
+ Fcitx can't input word group more than 6 Chinese characters in Dash.
+ Causes a crash if entering to many characters.
Revision history for this message
Brandon Schaefer (brandontschaefer) wrote :

Also the stacktrace for the crash isn't very useful as it crashes on the XNextEvent when flushing the X server... but its caused by not having enough room to store the unicode in GraphicsDisplayX11.cpp when we do the XmbLookupString, then do a Memcpy(m_pEvent->text, buffer, num_char_stored); which is where the num_char_stored is greater then the sizeof m_pEvent->text. (which is also why you can't enter more then 6 CJK chars in fcitx).

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:nux at revision None, scheduled for release in nux, milestone 4.0.1

Changed in nux:
status: In Progress → Fix Committed
Changed in nux (Ubuntu):
status: In Progress → Fix Committed
Stephen M. Webb (bregma)
Changed in nux:
status: Fix Committed → Fix Released
Changed in nux (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.