Re: [Ltilib-devel] KDE String problem [was src/basics/ltiColors.h]
Status: Beta
Brought to you by:
alvarado
From: Jaques A. <jaq...@gm...> - 2006-05-05 10:51:28
|
It is a locale matter, no more doubts. But I'd like to suggest you using stringstreams to do the conversion, instead of atof, atoi and company. Basically create a std::stringstream from your string and when you want to convert it to any other type, just use the extraction (>>) opertator. It will have the same concerns about locale, but you will be in a mor C++ world, making easier to track any problems. 2006/5/5, Peter Doerfler <pe...@lt...>: > Vincenzo Di Massa wrote: > > Alle 10:04, Friday 5 maggio 2006, Peter Doerfler ha scritto: > >> Hi. > >> > >> After installing about a gazillion of -devel packages and finding the > >> necessary paths it works fine on my SuSE 10.0 machine. > >> > >> I'm not good at reading valgrind output, so this doesn't help me. Mayb= e > >> you can explain? > >> > >> Have you tested replacing the string "0.55" by "0,55" on that machine?= I > >> still have a feeling that this might be related to locales. When I do > >> this I get zeros as output. > > Thank you very much! You are right. :-))))))))) > > No problem. I've lost a lot of hair over locales already ;-) > > > > changing <std::string stringa=3D"0.55";> to <std::string stringa=3D"= 0.55";> the > > output is: > > > > res1:0 > > ScimInputContextPlugin() > > res2:0.55 > > > > Then I added a <setlocale(LC_ALL,"C")> and everything works as expected= . > > > > It is weird that kde object creation causes locale to chage at runtime.= .. > > causing standard functions like atof to change behavior! > > > > Are you sure this happens at runtime? This locale stuff has a lot of > settings, maybe KDE and stdlib use different parts and just one of them > is 'wrong' > > > Thank you very much for your patience and for your very usefull hints! > > > > Please submit the patch to the SF tracker, so we don't lose track of it. = ;-) > > > > Best > > Vincenzo > > Best, Peter > > > >> I've got KDE 3.4.2, glibc-2.3.5, gcc-4.0.2 + SuSE patches > >> > >> Vincenzo Di Massa wrote: > >>> To anyone using KDE.... > >>> I think I found the source of my problem... at least I hope so! > >>> > >>> This is sample code: > >>> > >>> ///////////// Sample code start > >>> #include <iostream> > >>> #include <sstream> > >>> #include <knuminput.h> > >>> > >>> > >>> > >>> #include <kapplication.h> > >>> #include <kaboutdata.h> > >>> #include <kcmdlineargs.h> > >>> #include <klocale.h> > >>> > >>> static const char description[] =3D > >>> I18N_NOOP("A KDE KPart Application"); > >>> > >>> static const char version[] =3D "0.1"; > >>> > >>> static KCmdLineOptions options[] =3D > >>> { > >>> // { "+[URL]", I18N_NOOP( "Document to open" ), 0 }, > >>> KCmdLineLastOption > >>> }; > >>> > >>> int main(int argc, char **argv) > >>> { > >>> KAboutData about("viewsegments", I18N_NOOP("ViewSegments"), versi= on, > >>> description, > >>> KAboutData::License_Custom, "(C) 2005 Vincenzo D= i > >>> Massa", 0, 0, "ha...@ti..."); > >>> about.addAuthor( "Vincenzo Di Massa", 0, "ha...@ti..." ); > >>> KCmdLineArgs::init(argc, argv, &about); > >>> KCmdLineArgs::addCmdLineOptions( options ); > >>> KApplication app; > >>> KIntNumInput *mainWin =3D 0; > >>> > >>> if (1) > >>> { > >>> // no session.. just start up normally > >>> KCmdLineArgs *args =3D KCmdLineArgs::parsedArgs(); > >>> > >>> /// @todo do something with the command line args here > >>> std::string stringa=3D"0.55"; > >>> double f=3Dstd::atof(stringa.c_str()); > >>> std::cout<<"res1:"<<f<<std::endl; //<<<<<No Problem > >>> KIntNumInput * mainWin =3D new KIntNumInput( 0, "numRegionInterva= l" ); > >>> f=3Dstd::atof(stringa.c_str()); > >>> std::cout<<"res2:"<<f<<std::endl; //<<<<<Problem > >>> > >>> app.setMainWidget( mainWin ); > >>> mainWin->show(); > >>> > >>> args->clear(); > >>> } > >>> > >>> // mainWin has WDestructiveClose flag by default, so it will dele= te > >>> itself. > >>> return app.exec(); > >>> } > >>> > >>> ///////////// Sample code end > >>> > >>> To compile it I use: > >>> g++ -DHAVE_CONFIG_H -I. -I/usr/include/kde -I/usr/share/qt3/include -= I. \ > >>> -DQT_THREAD_SUPPORT -DDBG -D_REENTRANT -D_REENTRANT \ > >>> -D_GNU_SOURCE -fpic -DNDEBUG -Wnon-virtual-dtor -Wno-long-long \ > >>> -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -ansi > >>> -D_XOPEN_SOURCE=3D500 \ -D_BSD_SOURCE -Wcast-align -Wconversion > >>> -Wchar-subscripts -g3 -fno-inline \ -O0 -g3 -Wformat-security > >>> -Wmissing-format-attribute -fno-exceptions \ -fno-check-new -fno-comm= on > >>> -fexceptions -L/usr/X11R6/lib \ > >>> -L/usr/share/qt3/lib -L/usr/lib -lkio -o test main.cpp > >>> > >>> > >>> The output produced should be: > >>> res1:0.55 > >>> res2:0.55 > >>> > >>> Instead the output (on the evil machine) is: > >>> res1:0.55 > >>> res2:0 > >>> > >>> Valgrind reports: > >>> <see attached file> > >>> > >>> So... > >>> the bug seems to be somewhere inside kdelibs!!! I would have bet it w= as > >>> my fault :-) Ilt looks like KIntNumInput does bad things to the piece= of > >>> memory where atof is loaded/called. > >>> > >>> Can someone, please, test the code snippet above so I can tell KDE or > >>> ubuntu guys about my bug? (The output on your machines can be correct= if > >>> KIntNumInput touches some other random piece of memory, but you can t= est > >>> with valgrind). > >>> > >>> Thank you again. > >>> > >>> Vincenzo > >>> > >>> Alle 19:28, Thursday 4 maggio 2006, Michael H=E4hnel ha scritto: > >>>> Peter Doerfler schrieb: > >>>>> Hi. > >>>>> > >>>>> I'm not using the configFileHandler. You're changes seem reasonable= . I > >>>>> seem to recall that the atof etc. functions are not Standard anyway= (or > >>>>> was it the itoa etc? I can't remember) > >>>>> > >>>> > Michael, I think you are using them. Comments? > >>>> > >>>> I do sometimes and had never problems with it; especially not the we= ird > >>>> behaviour Vincenzo described. I would expect that behaviour from ato= i, > >>>> but not from atof. You just have to make sure that your string conta= ins > >>>> a "." as delimiter. In the case you are using a "," (like in your se= cond > >>>> example) the cut-off of the decimal places would be correct. > >>>> > >>>> Concerning the Standard issue: as far as I know the function belong = to > >>>> the C runtime library which actually should be standardized, isn't i= t? > >>>> > >>>> If Vincenzo's proposed patch helps I think we should apply it as it > >>>> causes any harm, I guess. > >>>> > >>>> Michael > >>>> > >>>> > >>>> > >>>> > >>>> ------------------------------------------------------- > >>>> Using Tomcat but need to do more? Need to support web services, > >>>> security? Get stuff done quickly with pre-integrated technology to m= ake > >>>> your job easier Download IBM WebSphere Application Server v.1.0.1 ba= sed > >>>> on Apache Geronimo > >>>> http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&= dat=3D121642 > >>>> _______________________________________________ > >>>> Ltilib-devel mailing list > >>>> Lti...@li... > >>>> https://lists.sourceforge.net/lists/listinfo/ltilib-devel > >>>> > >>>> --------------------------------------------------------------------= ---- > >>>> > >>>> =3D=3D13125=3D=3D Memcheck, a memory error detector. > >>>> =3D=3D13125=3D=3D Copyright (C) 2002-2005, and GNU GPL'd, by Julian = Seward et > >>>> al. =3D=3D13125=3D=3D Using LibVEX rev 1471, a library for dynamic b= inary > >>>> translation. =3D=3D13125=3D=3D Copyright (C) 2004-2005, and GNU GPL'= d, by > >>>> OpenWorks LLP. =3D=3D13125=3D=3D Using valgrind-3.1.0-Debian, a dyna= mic binary > >>>> instrumentation framework. =3D=3D13125=3D=3D Copyright (C) 2000-2005= , and GNU > >>>> GPL'd, by Julian Seward et al. =3D=3D13125=3D=3D For more details, r= erun with: > >>>> -v > >>>> =3D=3D13125=3D=3D > >>>> =3D=3D13125=3D=3D Conditional jump or move depends on uninitialised = value(s) > >>>> =3D=3D13125=3D=3D at 0x400882D: (within /lib/ld-2.3.6.so) > >>>> =3D=3D13125=3D=3D by 0x4549482: dl_open_worker (dl-open.c:343) > >>>> =3D=3D13125=3D=3D by 0x400B105: (within /lib/ld-2.3.6.so) > >>>> =3D=3D13125=3D=3D by 0x4549C28: _dl_open (dl-open.c:577) > >>>> =3D=3D13125=3D=3D by 0x454B0BF: do_dlopen (dl-libc.c:80) > >>>> =3D=3D13125=3D=3D by 0x400B105: (within /lib/ld-2.3.6.so) > >>>> =3D=3D13125=3D=3D by 0x454B074: dlerror_run (dl-libc.c:42) > >>>> =3D=3D13125=3D=3D by 0x454B181: __libc_dlopen_mode (dl-libc.c:153= ) > >>>> =3D=3D13125=3D=3D by 0x4527F81: __nss_lookup_function (nsswitch.c= :344) > >>>> =3D=3D13125=3D=3D by 0x4528127: __nss_lookup (nsswitch.c:158) > >>>> =3D=3D13125=3D=3D by 0x4529D54: __nss_passwd_lookup (XXX-lookup.c= :73) > >>>> =3D=3D13125=3D=3D by 0x44E6674: getpwuid_r@@GLIBC_2.1.2 (getXXbyY= Y_r.c:171) > >>>> =3D=3D13125=3D=3D > >>>> =3D=3D13125=3D=3D Conditional jump or move depends on uninitialised = value(s) > >>>> =3D=3D13125=3D=3D at 0x4008852: (within /lib/ld-2.3.6.so) > >>>> =3D=3D13125=3D=3D by 0x4549482: dl_open_worker (dl-open.c:343) > >>>> =3D=3D13125=3D=3D by 0x400B105: (within /lib/ld-2.3.6.so) > >>>> =3D=3D13125=3D=3D by 0x4549C28: _dl_open (dl-open.c:577) > >>>> =3D=3D13125=3D=3D by 0x454B0BF: do_dlopen (dl-libc.c:80) > >>>> =3D=3D13125=3D=3D by 0x400B105: (within /lib/ld-2.3.6.so) > >>>> =3D=3D13125=3D=3D by 0x454B074: dlerror_run (dl-libc.c:42) > >>>> =3D=3D13125=3D=3D by 0x454B181: __libc_dlopen_mode (dl-libc.c:153= ) > >>>> =3D=3D13125=3D=3D by 0x4527F81: __nss_lookup_function (nsswitch.c= :344) > >>>> =3D=3D13125=3D=3D by 0x4528127: __nss_lookup (nsswitch.c:158) > >>>> =3D=3D13125=3D=3D by 0x4529D54: __nss_passwd_lookup (XXX-lookup.c= :73) > >>>> =3D=3D13125=3D=3D by 0x44E6674: getpwuid_r@@GLIBC_2.1.2 (getXXbyY= Y_r.c:171) > >>>> =3D=3D13125=3D=3D > >>>> =3D=3D13125=3D=3D Syscall param write(buf) points to uninitialised b= yte(s) > >>>> =3D=3D13125=3D=3D at 0x450A4E8: write (in /usr/lib/debug/libc-2.3= .6.so) > >>>> =3D=3D13125=3D=3D by 0x550A6F3: _X11TransWrite (in /usr/lib/libX1= 1.so.6.2.0) > >>>> =3D=3D13125=3D=3D by 0x550F06A: (within /usr/lib/libX11.so.6.2.0) > >>>> =3D=3D13125=3D=3D by 0x550F185: _XReply (in /usr/lib/libX11.so.6.= 2.0) > >>>> =3D=3D13125=3D=3D by 0x54F6204: XInternAtom (in /usr/lib/libX11.s= o.6.2.0) > >>>> =3D=3D13125=3D=3D by 0x5509A88: XSetWMProperties (in > >>>> /usr/lib/libX11.so.6.2.0) =3D=3D13125=3D=3D by 0x4CC9FF6: > >>>> QWidget::create(unsigned long, bool, bool) (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x4DA1832: > >>>> QWidget::QWidget(QWidget*, char const*, unsigned) (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x49D1B91: > >>>> KApplication::init(bool) (in /usr/lib/libkdecore.so.4.2.0) =3D=3D131= 25=3D=3D > >>>> by 0x49D36B2: KApplication::KApplication(bool, bool) (in > >>>> /usr/lib/libkdecore.so.4.2.0) =3D=3D13125=3D=3D by 0x80491E6: mai= n > >>>> (main.cpp:30) > >>>> =3D=3D13125=3D=3D Address 0x56C3354 is 244 bytes inside a block of = size 16,384 > >>>> alloc'd =3D=3D13125=3D=3D at 0x401D7AA: calloc (vg_replace_malloc= .c:279) > >>>> =3D=3D13125=3D=3D by 0x54FAF65: XOpenDisplay (in /usr/lib/libX11.= so.6.2.0) > >>>> =3D=3D13125=3D=3D by 0x4C8E4A7: qt_init_internal(int*, char**, _X= Display*, > >>>> unsigned long, unsigned long) (in /usr/lib/libqt-mt.so.3.3.6) =3D=3D= 13125=3D=3D > >>>> by 0x4C9058B: qt_init(int*, char**, QApplication::Type) (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x4D05241: > >>>> QApplication::construct(int&, char**, QApplication::Type) (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x4D05580: > >>>> QApplication::QApplication(int&, char**, bool) (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x49D34E7: > >>>> KApplication::KApplication(bool, bool) (in /usr/lib/libkdecore.so.4.= 2.0) > >>>> =3D=3D13125=3D=3D by 0x80491E6: main (main.cpp:30) > >>>> =3D=3D13125=3D=3D > >>>> =3D=3D13125=3D=3D Syscall param writev(vector[...]) points to uninit= ialised > >>>> byte(s) =3D=3D13125=3D=3D at 0x45113C3: do_writev (writev.c:46) > >>>> =3D=3D13125=3D=3D by 0x550A4E2: (within /usr/lib/libX11.so.6.2.0) > >>>> =3D=3D13125=3D=3D by 0x550A735: _X11TransWritev (in /usr/lib/libX= 11.so.6.2.0) > >>>> =3D=3D13125=3D=3D by 0x550F76E: _XSend (in /usr/lib/libX11.so.6.2= .0) > >>>> =3D=3D13125=3D=3D by 0x550103B: XQueryExtension (in /usr/lib/libX= 11.so.6.2.0) > >>>> =3D=3D13125=3D=3D by 0x54F554A: XInitExtension (in /usr/lib/libX1= 1.so.6.2.0) > >>>> =3D=3D13125=3D=3D by 0x564D9BC: XFixesFindDisplay (in > >>>> /usr/lib/libXfixes.so.3.0.0) =3D=3D13125=3D=3D by 0x564C2B4: > >>>> XFixesSetCursorName (in /usr/lib/libXfixes.so.3.0.0) =3D=3D13125=3D= =3D by > >>>> 0x544C913: XcursorImagesLoadCursor (in /usr/lib/libXcursor.so.1.0.2) > >>>> =3D=3D13125=3D=3D by 0x544F626: XcursorLibraryLoadCursor (in > >>>> /usr/lib/libXcursor.so.1.0.2) =3D=3D13125=3D=3D by 0x4C9D0AE: > >>>> QCursor::update() const (in /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125= =3D=3D by > >>>> 0x4C9D504: QCursor::handle() const (in /usr/lib/libqt-mt.so.3.3.6) > >>>> =3D=3D13125=3D=3D Address 0x56C3359 is 249 bytes inside a block of = size 16,384 > >>>> alloc'd =3D=3D13125=3D=3D at 0x401D7AA: calloc (vg_replace_malloc= .c:279) > >>>> =3D=3D13125=3D=3D by 0x54FAF65: XOpenDisplay (in /usr/lib/libX11.= so.6.2.0) > >>>> =3D=3D13125=3D=3D by 0x4C8E4A7: qt_init_internal(int*, char**, _X= Display*, > >>>> unsigned long, unsigned long) (in /usr/lib/libqt-mt.so.3.3.6) =3D=3D= 13125=3D=3D > >>>> by 0x4C9058B: qt_init(int*, char**, QApplication::Type) (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x4D05241: > >>>> QApplication::construct(int&, char**, QApplication::Type) (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x4D05580: > >>>> QApplication::QApplication(int&, char**, bool) (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x49D34E7: > >>>> KApplication::KApplication(bool, bool) (in /usr/lib/libkdecore.so.4.= 2.0) > >>>> =3D=3D13125=3D=3D by 0x80491E6: main (main.cpp:30) > >>>> res1:0.55 > >>>> =3D=3D13125=3D=3D > >>>> =3D=3D13125=3D=3D Syscall param write(buf) points to uninitialised b= yte(s) > >>>> =3D=3D13125=3D=3D at 0x450A4E8: write (in /usr/lib/debug/libc-2.3= .6.so) > >>>> =3D=3D13125=3D=3D by 0x550A6F3: _X11TransWrite (in /usr/lib/libX1= 1.so.6.2.0) > >>>> =3D=3D13125=3D=3D by 0x550F06A: (within /usr/lib/libX11.so.6.2.0) > >>>> =3D=3D13125=3D=3D by 0x54ECF10: XFlush (in /usr/lib/libX11.so.6.2= .0) > >>>> =3D=3D13125=3D=3D by 0x4CCACA9: QWidget::setCursor(QCursor const&= ) (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x4E447DC: > >>>> QLineEditPrivate::init(QString const&) (in /usr/lib/libqt-mt.so.3.3.= 6) > >>>> =3D=3D13125=3D=3D by 0x4E49DD4: QLineEdit::QLineEdit(QWidget*, ch= ar const*) > >>>> (in /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x4EA8C44: > >>>> QSpinBox::initSpinBox() (in /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125= =3D=3D by > >>>> 0x4EA8F4A: QSpinBox::QSpinBox(int, int, int, QWidget*, char const*) = (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x4686818: > >>>> KIntSpinBox::KIntSpinBox(int, int, int, int, int, QWidget*, char con= st*) > >>>> (in /usr/lib/libkdeui.so.4.2.0) =3D=3D13125=3D=3D by 0x46E1DA5: > >>>> KIntNumInput::init(int, int) (in /usr/lib/libkdeui.so.4.2.0) =3D=3D1= 3125=3D=3D > >>>> by 0x46E1FC0: KIntNumInput::KIntNumInput(QWidget*, char const*) (in > >>>> /usr/lib/libkdeui.so.4.2.0) =3D=3D13125=3D=3D Address 0x56C3334 is = 212 bytes > >>>> inside a block of size 16,384 alloc'd =3D=3D13125=3D=3D at 0x401D= 7AA: calloc > >>>> (vg_replace_malloc.c:279) > >>>> =3D=3D13125=3D=3D by 0x54FAF65: XOpenDisplay (in /usr/lib/libX11.= so.6.2.0) > >>>> =3D=3D13125=3D=3D by 0x4C8E4A7: qt_init_internal(int*, char**, _X= Display*, > >>>> unsigned long, unsigned long) (in /usr/lib/libqt-mt.so.3.3.6) =3D=3D= 13125=3D=3D > >>>> by 0x4C9058B: qt_init(int*, char**, QApplication::Type) (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x4D05241: > >>>> QApplication::construct(int&, char**, QApplication::Type) (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x4D05580: > >>>> QApplication::QApplication(int&, char**, bool) (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x49D34E7: > >>>> KApplication::KApplication(bool, bool) (in /usr/lib/libkdecore.so.4.= 2.0) > >>>> =3D=3D13125=3D=3D by 0x80491E6: main (main.cpp:30) > >>>> =3D=3D13125=3D=3D > >>>> =3D=3D13125=3D=3D Invalid read of size 4 > >>>> =3D=3D13125=3D=3D at 0x4010BE3: (within /lib/ld-2.3.6.so) > >>>> =3D=3D13125=3D=3D by 0x400624D: (within /lib/ld-2.3.6.so) > >>>> =3D=3D13125=3D=3D by 0x454931F: dl_open_worker (dl-open.c:259) > >>>> =3D=3D13125=3D=3D by 0x400B105: (within /lib/ld-2.3.6.so) > >>>> =3D=3D13125=3D=3D by 0x4549C28: _dl_open (dl-open.c:577) > >>>> =3D=3D13125=3D=3D by 0x52CDCA8: dlopen_doit (dlopen.c:59) > >>>> =3D=3D13125=3D=3D by 0x400B105: (within /lib/ld-2.3.6.so) > >>>> =3D=3D13125=3D=3D by 0x52CE258: _dlerror_run (dlerror.c:162) > >>>> =3D=3D13125=3D=3D by 0x52CDCF8: dlopen@@GLIBC_2.1 (dlopen.c:78) > >>>> =3D=3D13125=3D=3D by 0x504DF46: QLibraryPrivate::loadLibrary() (i= n > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x5072142: QLibr= ary::load() > >>>> (in /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x5052E77: > >>>> QComLibrary::createInstanceInternal() (in /usr/lib/libqt-mt.so.3.3.6= ) > >>>> =3D=3D13125=3D=3D Address 0x58B7588 is 48 bytes inside a block of s= ize 51 > >>>> alloc'd =3D=3D13125=3D=3D at 0x401CC6B: operator new[](unsigned) > >>>> (vg_replace_malloc.c:197) =3D=3D13125=3D=3D by 0x5087AC8: > >>>> QString::unicodeToLatin1(QChar const*, unsigned) (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x5088C66: QStri= ng::latin1() > >>>> const (in /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x504D= F36: > >>>> QLibraryPrivate::loadLibrary() (in /usr/lib/libqt-mt.so.3.3.6) =3D= =3D13125=3D=3D > >>>> by 0x5072142: QLibrary::load() (in /usr/lib/libqt-mt.so.3.3.6) > >>>> =3D=3D13125=3D=3D by 0x5052E77: QComLibrary::createInstanceIntern= al() (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x505321C: > >>>> QComLibrary::qtVersion() (in /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125= =3D=3D by > >>>> 0x506DF3E: QGPluginManager::featureList() const (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x4F7C891: > >>>> QInputContextFactory::keys() (in /usr/lib/libqt-mt.so.3.3.6) =3D=3D1= 3125=3D=3D > >>>> by 0x588ECB0: QMultiInputContext::changeInputMethod(QString) (in > >>>> /usr/lib/qt3/plugins/inputmethods/libqimsw-multi.so) =3D=3D13125=3D= =3D by > >>>> 0x588EF0A: QMultiInputContext::slave() (in > >>>> /usr/lib/qt3/plugins/inputmethods/libqimsw-multi.so) =3D=3D13125=3D= =3D by > >>>> 0x588F179: QMultiInputContext::setHolderWidget(QWidget*) (in > >>>> /usr/lib/qt3/plugins/inputmethods/libqimsw-multi.so) =3D=3D13125=3D= =3D > >>>> =3D=3D13125=3D=3D Invalid read of size 4 > >>>> =3D=3D13125=3D=3D at 0x4010C87: (within /lib/ld-2.3.6.so) > >>>> =3D=3D13125=3D=3D by 0x400624D: (within /lib/ld-2.3.6.so) > >>>> =3D=3D13125=3D=3D by 0x454931F: dl_open_worker (dl-open.c:259) > >>>> =3D=3D13125=3D=3D by 0x400B105: (within /lib/ld-2.3.6.so) > >>>> =3D=3D13125=3D=3D by 0x4549C28: _dl_open (dl-open.c:577) > >>>> =3D=3D13125=3D=3D by 0x52CDCA8: dlopen_doit (dlopen.c:59) > >>>> =3D=3D13125=3D=3D by 0x400B105: (within /lib/ld-2.3.6.so) > >>>> =3D=3D13125=3D=3D by 0x52CE258: _dlerror_run (dlerror.c:162) > >>>> =3D=3D13125=3D=3D by 0x52CDCF8: dlopen@@GLIBC_2.1 (dlopen.c:78) > >>>> =3D=3D13125=3D=3D by 0x504DF46: QLibraryPrivate::loadLibrary() (i= n > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x5072142: QLibr= ary::load() > >>>> (in /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x5052E77: > >>>> QComLibrary::createInstanceInternal() (in /usr/lib/libqt-mt.so.3.3.6= ) > >>>> =3D=3D13125=3D=3D Address 0x58BC564 is 44 bytes inside a block of s= ize 46 > >>>> alloc'd =3D=3D13125=3D=3D at 0x401CC6B: operator new[](unsigned) > >>>> (vg_replace_malloc.c:197) =3D=3D13125=3D=3D by 0x5087AC8: > >>>> QString::unicodeToLatin1(QChar const*, unsigned) (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x5088C66: QStri= ng::latin1() > >>>> const (in /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x504D= F36: > >>>> QLibraryPrivate::loadLibrary() (in /usr/lib/libqt-mt.so.3.3.6) =3D= =3D13125=3D=3D > >>>> by 0x5072142: QLibrary::load() (in /usr/lib/libqt-mt.so.3.3.6) > >>>> =3D=3D13125=3D=3D by 0x5052E77: QComLibrary::createInstanceIntern= al() (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x505321C: > >>>> QComLibrary::qtVersion() (in /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125= =3D=3D by > >>>> 0x506DF3E: QGPluginManager::featureList() const (in > >>>> /usr/lib/libqt-mt.so.3.3.6) =3D=3D13125=3D=3D by 0x4F7C891: > >>>> QInputContextFactory::keys() (in /usr/lib/libqt-mt.so.3.3.6) =3D=3D1= 3125=3D=3D > >>>> by 0x588ECB0: QMultiInputContext::changeInputMethod(QString) (in > >>>> /usr/lib/qt3/plugins/inputmethods/libqimsw-multi.so) =3D=3D13125=3D= =3D by > >>>> 0x588EF0A: QMultiInputContext::slave() (in > >>>> /usr/lib/qt3/plugins/inputmethods/libqimsw-multi.so) =3D=3D13125=3D= =3D by > >>>> 0x588F179: QMultiInputContext::setHolderWidget(QWidget*) (in > >>>> /usr/lib/qt3/plugins/inputmethods/libqimsw-multi.so) > >>>> ScimInputContextPlugin() > >>>> res2:0 > >>>> libpng error: PNG file corrupted by ASCII conversion > >>>> ~ScimInputContextPlugin() > >>>> =3D=3D13125=3D=3D > >>>> =3D=3D13125=3D=3D ERROR SUMMARY: 45 errors from 7 contexts (suppress= ed: 97 from > >>>> 2) =3D=3D13125=3D=3D malloc/free: in use at exit: 723,631 bytes in 2= 3,971 > >>>> blocks. =3D=3D13125=3D=3D malloc/free: 212,335 allocs, 188,364 frees= , 8,977,086 > >>>> bytes allocated. =3D=3D13125=3D=3D For counts of detected errors, re= run with: -v > >>>> =3D=3D13125=3D=3D searching for pointers to 23,971 not-freed blocks. > >>>> =3D=3D13125=3D=3D checked 2,031,144 bytes. > >>>> =3D=3D13125=3D=3D > >>>> =3D=3D13125=3D=3D LEAK SUMMARY: > >>>> =3D=3D13125=3D=3D definitely lost: 5,018 bytes in 95 blocks. > >>>> =3D=3D13125=3D=3D possibly lost: 0 bytes in 0 blocks. > >>>> =3D=3D13125=3D=3D still reachable: 718,613 bytes in 23,876 blocks= . > >>>> =3D=3D13125=3D=3D suppressed: 0 bytes in 0 blocks. > >>>> =3D=3D13125=3D=3D Use --leak-check=3Dfull to see details of leaked m= emory. > >> ------------------------------------------------------- > >> Using Tomcat but need to do more? Need to support web services, securi= ty? > >> Get stuff done quickly with pre-integrated technology to make your job > >> easier Download IBM WebSphere Application Server v.1.0.1 based on Apac= he > >> Geronimo http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=120709&bid&3057= &dat=121642 > >> _______________________________________________ > >> Ltilib-devel mailing list > >> Lti...@li... > >> https://lists.sourceforge.net/lists/listinfo/ltilib-devel > > > > > > ------------------------------------------------------- > > Using Tomcat but need to do more? Need to support web services, securit= y? > > Get stuff done quickly with pre-integrated technology to make your job = easier > > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geron= imo > > http://sel.as-us.falkag.net/sel?cmd=3Dk&kid=120709&bid&3057&dat=121642 > > _______________________________________________ > > Ltilib-devel mailing list > > Lti...@li... > > https://lists.sourceforge.net/lists/listinfo/ltilib-devel > > > > ------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job ea= sier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronim= o > http://sel.as-us.falkag.net/sel?cmdlnk&kid=120709&bid&3057&dat=121642 > _______________________________________________ > Ltilib-devel mailing list > Lti...@li... > https://lists.sourceforge.net/lists/listinfo/ltilib-devel > |