GROSE D J wrote :
Hi Wolfgang

I have got as far as establishing that the "DSS_FATAL_ERROR:DISCONNECT
DUE TO SEC. VIOLATIONS" massage is generated as a consequence of


s1->m_getFaultState() != FS_GLOBAL_PERM
evaluating to false in line 1222 of ./platform/dss/src/msl_comObj.cc

I am now getting pretty lost in the dss code.


Yes, the MSL part of the DSS is really a confused and confusing mess.
I'm cleaning this up by rewriting most of it. Unfortunately, my version isn't anywhere close to being usable for now. As a workaround, you can try to wait some time before closing the processes, I suspect the problem is that your program is reading data on a new connection by a process that's already closed and detected closed. You can also hack DP.oz to not report sites as permFail as eagerly.

Yves

I also note that the following warnings are generated by g++ when
compiling the above file

g++ -march=athlon -mtune=athlon -ggdb -fomit-frame-pointer
-funsigned-char -I. -I./include -fno-exceptions -Winline -Weffc++ -Wall
-Wold-style-cast -Woverloaded-virtual -Wshadow   -c -o
msl_comObj.o ./src/msl_comObj.cc
./src/msl_timers.hh:44: warning: base class ‘class
TimerElementInterface’ has a non-virtual destructor
./src/msl_crypto.hh: In copy constructor
‘_msl_internal::RSA_public::RSA_public(const
_msl_internal::RSA_public&)’:
./src/msl_crypto.hh:94: warning: ‘_msl_internal::RSA_public::n’ should
be initialized in the member initialization list
./src/msl_buffer.hh: In constructor
‘_msl_internal::DssSimpleReadBuffer::DssSimpleReadBuffer(BYTE* const&,
const size_t&)’:
./src/msl_buffer.hh:98: warning: declaration of ‘buf’ shadows a member
of 'this'
./src/msl_buffer.hh: In constructor
‘_msl_internal::DssSimpleWriteBuffer::DssSimpleWriteBuffer(BYTE* const&,
const size_t&)’:
./src/msl_buffer.hh:120: warning: declaration of ‘buf’ shadows a member
of 'this'
./src/msl_buffer.hh: In member function ‘virtual bool
_msl_internal::DssReadByteBuffer::canRead(size_t) const’:
./src/msl_buffer.hh:243: warning: comparison between signed and unsigned
integer expressions
./src/msl_buffer.hh: At global scope:
./src/msl_buffer.hh:255: warning: ‘class
_msl_internal::DssCryptoReadByteBuffer’ has pointer data members
./src/msl_buffer.hh:255: warning:   but does not override
‘_msl_internal::DssCryptoReadByteBuffer(const
_msl_internal::DssCryptoReadByteBuffer&)’
./src/msl_buffer.hh:255: warning:   or ‘operator=(const
_msl_internal::DssCryptoReadByteBuffer&)’
./src/msl_buffer.hh: In constructor
‘_msl_internal::DssCryptoReadByteBuffer::DssCryptoReadByteBuffer(BYTE*,
const u32&, const u32&, const u32&, _msl_internal::DssReadByteBuffer*
const&)’:
./src/msl_buffer.hh:264: warning: declaration of ‘buf’ shadows a member
of 'this'
./src/msl_buffer.hh: In member function ‘virtual bool
_msl_internal::DssWriteByteBuffer::canWrite(size_t) const’:
./src/msl_buffer.hh:289: warning: comparison between signed and unsigned
integer expressions
./src/msl_buffer.hh: At global scope:
./src/msl_buffer.hh:300: warning: ‘class
_msl_internal::DssCryptoWriteByteBuffer’ has pointer data members
./src/msl_buffer.hh:300: warning:   but does not override
‘_msl_internal::DssCryptoWriteByteBuffer(const
_msl_internal::DssCryptoWriteByteBuffer&)’
./src/msl_buffer.hh:300: warning:   or ‘operator=(const
_msl_internal::DssCryptoWriteByteBuffer&)’
./src/msl_buffer.hh: In constructor
‘_msl_internal::DssCryptoWriteByteBuffer::DssCryptoWriteByteBuffer(BYTE*, const u32&, const 
u32&, const u32&, _msl_internal::DssWriteByteBuffer* const&)’:
./src/msl_buffer.hh:309: warning: declaration of ‘buf’ shadows a member
of 'this'
./src/msl_dsite.hh: At global scope:
./src/msl_dsite.hh:54: warning: base class ‘class
BucketHashNode<_msl_internal::Site>’ has a non-virtual destructor
./src/msl_dsite.hh:156: warning: base class ‘class
BucketHashTable<_msl_internal::Site>’ has a non-virtual destructor
./src/msl_transObj.hh:41: warning: ‘class _msl_internal::TransObj’ has
virtual functions but non-virtual destructor
./src/msl_transObj.hh: In copy constructor
‘_msl_internal::BufferedTransObj::BufferedTransObj(const
_msl_internal::BufferedTransObj&)’:
./src/msl_transObj.hh:115: warning:
‘_msl_internal::BufferedTransObj::a_writeBuffer’ will be initialized
after
./src/msl_transObj.hh:112: warning:   ‘_msl_internal::DssReadByteBuffer*
_msl_internal::BufferedTransObj::a_unmarshalBuffer’
./src/msl_transObj.hh:124: warning:   when initialized here
./src/msl_comObj.cc: In member function ‘bool
_msl_internal::ComObj::m_OPENING_WF_PRESENT_2_OPENING_WF_NEGOTIATE(_msl_internal::MsgCnt*)’:
./src/msl_comObj.cc:1047: warning: use of old-style cast
./src/msl_comObj.cc:1047: warning: use of old-style cast
./src/msl_comObj.cc: In member function ‘bool
_msl_internal::ComObj::m_ANONYMOUS_WF_PRESENT_2_ANONYMOUS_WF_NEGOTIATE(_msl_internal::MsgCnt*)’:
./src/msl_comObj.cc:1220: warning: use of old-style cast
./src/msl_comObj.cc:1220: warning: use of old-style cast
./src/bucketHashTable.hh: In member function ‘void
BucketHashTable<Node>::init(unsigned int) [with Node =
_msl_internal::Site]’:
./src/bucketHashTable.hh:78:   instantiated from ‘void
BucketHashTable<Node>::resize(unsigned int) [with Node =
_msl_internal::Site]’
./src/bucketHashTable.hh:124:   instantiated from ‘void
BucketHashTable<Node>::insert(Node* const&) [with Node =
_msl_internal::Site]’
./src/msl_dsite.hh:170:   instantiated from here
./src/bucketHashTable.hh:71: warning: converting to ‘unsigned int’ from
‘double’
Cheers,

Daniel


On Mon, 2009-02-02 at 14:24 +0100, Wolfgang Meyer wrote:
GROSE D J wrote:
I would like to try and run the my server from gdb so that I can get a
stack trace when it fails, but I am not sure how to go about this. Have
you any suggestions ?
There is some information about running Oz in the OPI under gdb here: 
http://www.mozart-oz.org/home/doc/opi/node7.html#label218

When I personally had to run the Oz emulator under gdb in the past, I edited 
/usr/local/oz/bin/oz and changed the line:

exec $OZEMULATOR $OZGUI -u $url -- "$@"

to

exec gdb $OZEMULATOR # $OZGUI -u $url -- "$@"

(And then "run -u FunctorPath" in gdb.)

Another thing: There are two ways to create stationary objects in Mozart 1.4.0. 
See 
http://www.mozart-oz.org/documentation/dstutorial/node3.html#making.stationary.objects
It might be worthwile to try the method you are not currently using. Maybe the 
problems will go away.

Cheers,
  Wolfgang


_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to