Re: [ROOT] Different behaviour (i.e. Crash) of TString on Linux andWindows

From: Rene Brun (Rene.Brun@cern.ch)
Date: Sat Mar 06 2004 - 13:19:21 MET


Andreas,

I have made a binary distribution with the current CVS for win32gdk.
Take ftp://root.cern.ch/root/root_v4.00.02a.win32gdk.tar.gz

Rene Brun

On 
Sat, 6 Mar 2004, Andreas Zoglauer wrote:

> Hello,
> 
> I got a lot of a replys - but th eproblem is still there.
> 
> Since several persons have proposed to switch to the newest version in 
> cvs, but at the moment on windows I do not have the posiblity to 
> recompile ROOT, it is probably the best solution to wait for the new 
> binaries of ROOT 4.00/03 win32gdk.
> 
> So here I give a summary of the problem:
> 
> The idea was to try to run our ROOT based Linux software also on Windows
> XP SP1 with Visual C++ 6.0 SP5 without using the cygwin environment.
> I started with the binaries of ROOT v3.10/02 win32gdk (the recommended
> version) and got everything to compile and link.
> The one and only problem was that each call like
> cout<<TString("A TString")<<endl; crashes the program.
> Commenting out all those appearances, the program (consisting out of ~50
> classes) runs flawlessly and reproduces the results gained on Linux.
> 
> I encapsulated the problem into the small program:
> 
> #include <Riostream.h>
> #include "TString.h"
> int Macro()
> {
> 	cout<<"Let's crash:"<<endl;
> 	cout<<TString("CRASH")<<endl;
> 	return 0;
> }
> 
> Compiling this in CINT with .x Macro.C+ the program crashes in the
> marked line, as it does when I compile it in Visual C++
> 
> Switching to the binaries of ROOT v4.00/02 win32gdk resulted in the same
> behaviour. In detail, I use: "win32gdk, 4.0.2 from
> WindowsXP/NT/w2000 with VC++ 7.0 (runs with VC++6), version 4.00/02 
> (good old tar file) **WIN32GDK**"
> 
> Compiling the programs in $ROOTSYS/test leaded to a crash during the
> execution of the program tstring (no output was generated), but others
> like event.exe run flawlessly. Here is the requested output of nmake:
> 
> C:\Daten\Root\r040002\test>nmake -f Makefile.win32
> 
> Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
> Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
> 
>          cl -DWIN32  -D_WIN32 -D_MT -D_DLL -MD -EHsc  -nologo -G5 -GR
> -MD -DWIN32
>    -DVISUAL_CPLUSPLUS -D_WINDOWS -IC:\Daten\Root\R040002/include -O2 -c
> tstring.c
> xx
> tstring.cxx
>          link -opt:ref /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE
> /NOLOGO -
> subsystem:console,4.0 -nologo tstring.obj
> C:\Daten\Root\R040002/lib/libCore.lib
>   C:\Daten\Root\R040002/lib/libCint.lib
> C:\Daten\Root\R040002/lib/libHist.lib  C:
> \Daten\Root\R040002/lib/libGraf.lib
> C:\Daten\Root\R040002/lib/libGraf3d.lib  C:\
> Daten\Root\R040002/lib/libGpad.lib C:\Daten\Root\R040002/lib/libTree.lib
>   C:\Dat
> en\Root\R040002/lib/libRint.lib
> C:\Daten\Root\R040002/lib/libPostscript.lib  C:\
> Daten\Root\R040002/lib/libMatrix.lib
> C:\Daten\Root\R040002/lib/libPhysics.lib ms
> vcrt.lib oldnames.lib kernel32.lib  ws2_32.lib mswsock.lib advapi32.lib
> user32.l
> ib gdi32.lib comdlg32.lib winspool.lib MSVCPRT.LIB -out:tstring.exe
> "tstring.exe done"
> 
> Unfortunately up to now, nobody seems to be able to reproduce the
> problem. ;-((
> 
> But there are rumours that a fix is already in cvs. So it is probably
> the best idea to wait until somebody compiles a new version of win32gdk.
> 
> Thanks and Ciao,
> Andreas
> 
> 
> 
> 



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:06 MET