Archived

This forum has been archived. Please start a new discussion on GitHub.

Severe Crash

Hello, i'm having some problem using TListOfStringList type, any time the server sends data of this type the client crashes receiving it, other types just work fine, i've use TByteList without any problem.
I'm using visual studio 2005 to compile my program. The Server is made using python but i think problem is Client side.
Any help appreciated, thank You in advance.

-P

Comments

  • bernard
    bernard Jupiter, FL
    Hello Giuseppe,

    Welcome to our forums!

    None of these types (TListOfStringList, TByte, TByteList) are built-in Ice types.

    More information on your application would definitely help:
    - which version of Ice do you use?
    - on which platform?
    - which programming language?
    - can you provide your Slice definitions?
    - any error message or stack trace for this crash?

    Best regards,
    Bernard
  • Hello Bernard, here You are,

    OS WindowsXP SP3
    Latest version of Ice, so V 3.4.1
    I Use MS Visual Studio C++ Express Edition

    MP3Server.ice

    #include "BasicTypes.ice"

    module MP3Servers {

    exception MP3ErrorBase {};

    exception UserNotFound extends MP3ErrorBase {};

    interface MP3Server {
    idempotent bool Status();
    idempotent void Restart();
    idempotent void ShutDown();
    idempotent void FlushDBConnections();

    idempotent void GetCatalog(string UniqueID, string Country, out string URLBase, out BasicTypes::TListOfStringList Compilations);

    idempotent BasicTypes::TListOfStringList GetTrackList(string UniqueID, int CompilationID);

    int Buy(string UniqueID, int CompilationID, string TransactionID, string TimeStamp);

    idempotent BasicTypes::TByteList GetContent(string UniqueID, int TrackID);

    idempotent void GetNews(string Language, string Filter, out string URLBase, out BasicTypes::TListOfStringList News);
    };

    };


    And BasicTypes.ice


    module BasicTypes {

    sequence<byte> TByteList;
    sequence<short> TShortList;
    sequence<int> TIntList;
    sequence<long> TLongList;
    sequence<float> TFloatList;
    sequence<double> TDoubleList;
    sequence<string> TStringList;
    sequence<TIntList> TListOfIntList;
    sequence<TStringList> TListOfStringList;

    dictionary<int, int> TIntToIntMap;
    dictionary<int, string> TIntToStringMap;
    dictionary<string, int> TStringToIntMap;
    dictionary<string, string> TStringToStringMap;
    dictionary<int, TStringList> TIntToStringListMap;
    dictionary<string, TStringList> TStringToStringListMap;


    struct TDate {
    short Year;
    byte Month;
    byte Day;
    };

    struct TTimeStamp {
    short Year;
    byte Month;
    byte Day;
    byte Hour;
    byte Minutes;
    byte Seconds;
    byte Centiseconds;
    };

    };

    Sorry no error messages, i've not managed to run it in debug, so no stack trace yet, in any case TListOfStringList is just a vector of std string vector.

    Thank You!

    -Giuseppe
  • bernard
    bernard Jupiter, FL
    Hi Guiseppe,

    Ice 3.4.1 supports Visual Studio 2008 and 2010, but not 2005.

    See http://www.zeroc.com/platforms_3_4_1.html for details.

    You should upgrade!

    Best regards,
    Bernard
  • Oh, thank You Bernard, I suspected it was something like that, in fact i've been already installed 2010 before to leave office this evening, i will try it tomorrow and see what happens, i'll let You know.

    Thank You again!

    -Giuseppe