Problems with list<string>.push_back

Hello ROOTers,
I found a loss of the backward compatibility for v4.00.08.
My interpreted macro runs fine by the v4.00.06, while crashes, while running v4.00.08.

[Event2] > root


  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 4.00/06 4 June 2004 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      [root.cern.ch](http://root.cern.ch)            *
    
  •                                     *
    

FreeType Engine v2.1.3 used to render TrueType fonts.
Compiled for linux with thread support.

CINT/ROOT C/C++ Interpreter version 5.15.138, May 23 2004
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] .x tasks.C
Info in TUnixSystem::ACLiC: creating shared library /home/dorofeev/private/bec/user/mc/run17/etpim/Event2/./Track_cxx.so
Info in TUnixSystem::ACLiC: creating shared library /home/dorofeev/private/bec/user/mc/run17/etpim/Event2/./Event_cxx.so
Info in TUnixSystem::ACLiC: creating shared library /home/dorofeev/private/bec/user/mc/run17/etpim/Event2/./Collection_cxx.so
Info in TUnixSystem::ACLiC: creating shared library /home/dorofeev/private/bec/user/mc/run17/etpim/Event2/./MyTasks_cxx.so
root [1] ==============================================
%INFO MyEvent: event time statistics
20 events processed
Real time 0:00:00.000, CP time 0.000

[Event2] > root


  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 4.00/08 9 July 2004 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      [root.cern.ch](http://root.cern.ch)            *
    
  •                                     *
    

FreeType Engine v2.1.3 used to render TrueType fonts.
Compiled for linux with thread support.

CINT/ROOT C/C++ Interpreter version 5.15.138, May 23 2004
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] .x tasks.C
Info in TUnixSystem::ACLiC: creating shared library /home/dorofeev/private/bec/user/mc/run17/etpim/Event2/./Track_cxx.so
Info in TUnixSystem::ACLiC: creating shared library /home/dorofeev/private/bec/user/mc/run17/etpim/Event2/./Event_cxx.so
Info in TUnixSystem::ACLiC: creating shared library /home/dorofeev/private/bec/user/mc/run17/etpim/Event2/./Collection_cxx.so
Info in TUnixSystem::ACLiC: creating shared library /home/dorofeev/private/bec/user/mc/run17/etpim/Event2/./MyTasks_cxx.so
Error: Can’t call list<string,allocator >::push_back(s) in current scope FILE:tasks.C LINE:137
Possible candidates are…
filename line:size busy function type and name (in list<string,allocator >)
Error: Symbol lfiles1 is not defined in current scope FILE:tasks.C LINE:137
Error: Failed to evaluate lfiles1.push_back(s)Possible candidates are…
filename line:size busy function type and name
*** Interpreter error recovered ***

The break point is here:

list lfiles1;
string s = “treetestmc1.root”;
lfiles1.push_back(s); <=============

Unfortunately, the compiled version of the mentioned macro and a short test version
playing with a list runs OK.

If you are intrerested in the above problem let me know and i’ll send the files.

Linux 2.4.20-20.9 #1 Mon Aug 18 11:45:58 EDT 2003 i686 i686 i386 GNU/Linux

                                       Reards, Valery.

Hi,
I filtered the reason.
It is the line in one of the compiled implementation files(Collection.cxx):

typedef std::liststd::string::const_iterator ItLString;

that causes the crash.
I’ve prepared a small test(see att.).

                                                Regards, Valery.

Collection.cxx (93 Bytes)
teststr.C (293 Bytes)