www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.dwt - Exception in (0): invalid utf8 input

reply yidabu <yidabu.spam gmail.com> writes:
My application( contains Chinese ) some times causes Exception in (0): invalid
utf8 input , I find that it's from
dwt.dwthelper.utils.getAbsoluteCodePointOffset getAbsoluteCodePointOffset, I
failed to debug this exception by ddbg, I don't isue it's my application issue
or dwt issue, any body help?



-- 
yidabu <yidabu.spam gmail.com>
http://www.dsource.org/projects/dwin

D 语言-中文(D Chinese):
http://www.d-programming-language-china.org/
http://bbs.d-programming-language-china.org/
http://dwin.d-programming-language-china.org/
http://scite4d.d-programming-language-china.org/
Nov 29 2008
next sibling parent Frank Benoit <keinfarbton googlemail.com> writes:
yidabu schrieb:
 My application( contains Chinese ) some times causes Exception in
 (0): invalid utf8 input , I find that it's from
 dwt.dwthelper.utils.getAbsoluteCodePointOffset
 getAbsoluteCodePointOffset, I failed to debug this exception by ddbg,
 I don't isue it's my application issue or dwt issue, any body help?
 
 
 

A short example for error reproduction would be a perfect help. Or can you see from where the getAbsoluteCodePointOffset got called from or with what parameters? If nothing else works, you can use tango.util.log.Trace to hexdump the arguments with Trace.memory. So the question is, is getAbsoluteCodePointOffset wrong, or is it called with invalid args.
Nov 29 2008
prev sibling next sibling parent reply yidabu <yidabu.spam gmail.com> writes:
On Sat, 29 Nov 2008 17:42:14 +0800
yidabu <yidabu.spam gmail.com> wrote:

I'm sure it's valid utf8 characters, exception when
ApplicationWindow.setStaus(utf8Str);

 -- 
 yidabu <yidabu.spam gmail.com>
 http://www.dsource.org/projects/dwin
 
 D 语言-中文(D Chinese):
 http://www.d-programming-language-china.org/
 http://bbs.d-programming-language-china.org/
 http://dwin.d-programming-language-china.org/
 http://scite4d.d-programming-language-china.org/
 
 

-- yidabu <yidabu.spam gmail.com> http://www.dsource.org/projects/dwin D 语言-中文(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/
Nov 29 2008
parent reply Frank Benoit <keinfarbton googlemail.com> writes:
yidabu schrieb:
 On Sat, 29 Nov 2008 17:42:14 +0800
 yidabu <yidabu.spam gmail.com> wrote:
 
 I'm sure it's valid utf8 characters, exception when
ApplicationWindow.setStaus(utf8Str);

With this few information it is hard to help. Can you give me an example of the input string, so i can try to find out what is the problem? for example put this at the start of getRelativeCodePointOffset: Trace.formatln( "str={}, startIndex={}, searchRelCp={}", str, startIndex, searchRelCp ); Trace.memory( str ); and post the output. Also using the stacktrace enabled tango lib from team0xf can help.
Nov 29 2008
parent reply Frank Benoit <keinfarbton googlemail.com> writes:
I added a fix for dwt-win.
Please verify that it works for you.
Nov 30 2008
parent reply Frank Benoit <keinfarbton googlemail.com> writes:
yidabu schrieb:
 On Sun, 30 Nov 2008 09:27:59 +0100
 Frank Benoit <keinfarbton googlemail.com> wrote:
 
 I added a fix for dwt-win.
 Please verify that it works for you.

I upated dwt-win, run jface sample ActionAndStatusbar causes Access Violation.

is there location where it happens?
Nov 30 2008
parent Frank Benoit <keinfarbton googlemail.com> writes:
yidabu schrieb:
 On Sun, 30 Nov 2008 11:37:34 +0100
 Frank Benoit <keinfarbton googlemail.com> wrote:
 
 yidabu schrieb:
 On Sun, 30 Nov 2008 09:27:59 +0100
 Frank Benoit <keinfarbton googlemail.com> wrote:

 I added a fix for dwt-win.
 Please verify that it works for you.



happens on app starts. I tried all jface samples, all failed to starts, the GUI not shown.

is this an update problem? I don't see this. have you rebuilt both libs (dwt+dwtx)?
Nov 30 2008
prev sibling next sibling parent yidabu <yidabu.spam gmail.com> writes:
On Sat, 29 Nov 2008 10:57:04 +0100
Frank Benoit <keinfarbton googlemail.com> wrote:

 yidabu schrieb:
 My application( contains Chinese ) some times causes Exception in
 (0): invalid utf8 input , I find that it's from
 dwt.dwthelper.utils.getAbsoluteCodePointOffset
 getAbsoluteCodePointOffset, I failed to debug this exception by ddbg,
 I don't isue it's my application issue or dwt issue, any body help?
 
 
 

A short example for error reproduction would be a perfect help. Or can you see from where the getAbsoluteCodePointOffset got called from or with what parameters? If nothing else works, you can use tango.util.log.Trace to hexdump the arguments with Trace.memory. So the question is, is getAbsoluteCodePointOffset wrong, or is it called with invalid args.

Seems exception on ApplicationWindow.setStatus(longerUtf8Str); dwt split longerUtf8str to invalid Chinese characters I guess. -- yidabu <yidabu.spam gmail.com> http://www.dsource.org/projects/dwin D 语言-中文(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/
Nov 29 2008
prev sibling next sibling parent yidabu <yidabu.spam gmail.com> writes:
On Sat, 29 Nov 2008 12:10:39 +0100
Frank Benoit <keinfarbton googlemail.com> wrote:

 yidabu schrieb:
 On Sat, 29 Nov 2008 17:42:14 +0800
 yidabu <yidabu.spam gmail.com> wrote:
 
 I'm sure it's valid utf8 characters, exception when
ApplicationWindow.setStaus(utf8Str);

With this few information it is hard to help. Can you give me an example of the input string, so i can try to find out what is the problem? for example put this at the start of getRelativeCodePointOffset: Trace.formatln( "str={}, startIndex={}, searchRelCp={}", str, startIndex, searchRelCp ); Trace.memory( str ); and post the output. Also using the stacktrace enabled tango lib from team0xf can help.

dwt-samples: jface.ActionAndStatusbar Line 133: statman.setMessage( Format("The status action has fired. Count: {}", triggercount)); replace with: statman.setMessage( tango.text.Util.repeat("中国", 100) ); dwt split Chinese to invalid utf8 character, which causes invalid utf8 exception. -- yidabu <yidabu.spam gmail.com> http://www.dsource.org/projects/dwin D 语言-中文(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/
Nov 29 2008
prev sibling next sibling parent yidabu <yidabu.spam gmail.com> writes:
On Sun, 30 Nov 2008 09:27:59 +0100
Frank Benoit <keinfarbton googlemail.com> wrote:

 I added a fix for dwt-win.
 Please verify that it works for you.

I upated dwt-win, run jface sample ActionAndStatusbar causes Access Violation. -- yidabu <yidabu.spam gmail.com> http://www.dsource.org/projects/dwin D 语言-中文(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/
Nov 30 2008
prev sibling next sibling parent yidabu <yidabu.spam gmail.com> writes:
On Sun, 30 Nov 2008 11:37:34 +0100
Frank Benoit <keinfarbton googlemail.com> wrote:

 yidabu schrieb:
 On Sun, 30 Nov 2008 09:27:59 +0100
 Frank Benoit <keinfarbton googlemail.com> wrote:
 
 I added a fix for dwt-win.
 Please verify that it works for you.

I upated dwt-win, run jface sample ActionAndStatusbar causes Access Violation.

is there location where it happens?

happens on app starts. I tried all jface samples, all failed to starts, the GUI not shown. -- yidabu <yidabu.spam gmail.com> http://www.dsource.org/projects/dwin D 语言-中文(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/
Nov 30 2008
prev sibling parent yidabu <yidabu.spam gmail.com> writes:
On Sun, 30 Nov 2008 13:07:29 +0100
Frank Benoit <keinfarbton googlemail.com> wrote:

 yidabu schrieb:
 On Sun, 30 Nov 2008 11:37:34 +0100
 Frank Benoit <keinfarbton googlemail.com> wrote:
 
 yidabu schrieb:
 On Sun, 30 Nov 2008 09:27:59 +0100
 Frank Benoit <keinfarbton googlemail.com> wrote:

 I added a fix for dwt-win.
 Please verify that it works for you.



happens on app starts. I tried all jface samples, all failed to starts, the GUI not shown.

is this an update problem? I don't see this. have you rebuilt both libs (dwt+dwtx)?

Thanks. rebuilt dwtx, seems works fine now. -- yidabu <yidabu.spam gmail.com> http://www.dsource.org/projects/dwin D 语言-中文(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/
Nov 30 2008