Hello,
I am trying the nsis-qos implementation with different computers. When I
compile nsis using g++ 3... the outputs are different from the ones
when I use the compiler g++ 4... on the QNI. I think this is the reason
for getting some different behaviors.
I am using 2 laptops QNI - QNR in both cases.
Case 1:
When the QNI is a computer which uses the g++ 3. _ _ This one tries to
reach several times the another one, but no answer is received and after
some time the qos server is finished.
This is the end of the simulation:
QoSFsm: refresh_timeout()
triggerEvent : ST_IDLE::EV_TIMEOUT_REFRESH
(err) Event (7) not specified for current state (0)
----------------------------------------
Program received signal SIGSEGV, Segmentation fault.
0x0805042b in Timer<QoSServer>::del_marked_timer () at Timer.h:539
539 Timer.h: No such file or directory.
in Timer.h
---------------------------------------------------------------------------------------------------------------
And then I got the following backtrace:
#0 0x0805042b in Timer<QoSServer>::del_marked_timer () at Timer.h:539
#1 0x0805068f in Timer<QoSServer>::SignalHandler (signal=14) at Timer.h:257
#2 <signal handler called>
#3 0x0040e7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#4 0x004e658d in ___newselect_nocancel () from /lib/tls/libc.so.6
#5 0x0805fd0e in NslpApi::waitForSignal (this=0x9fe0150) at NslpApi.cpp:187
#6 0x0804a0fd in QoSServer::run (this=0x9fe0028) at QoSServer.cpp:97
#7 0x0804995d in main (argc=1, argv=0xbffe8dd4) at qos_server.cpp:110
-----------------------------------------------------------------------------------------------------------------
Case 2:
When I use a computer which uses g++ 4. _ _ _ as QNI the behavior is
different because in this case the second computer (QNR) receives the
reserve message and sends the response and notify back. Afterwards the
server is deleted and the end of the obtained output looks like:
QoSFsm::idle__rx_notify()
QoSFsm::rx_notify()
NOTIFY(ErrorCode=0x0003, ErrorClass=1) received.
RR supported.
transition to : ST_INST
----------------------------------------
QoSServer: client disconnected
QoSFsm::response_timeout()
triggerEvent : ST_INST::EV_TIMEOUT_WAITRESP
QoSFsm::inst__timeout_response()
Program received signal SIGSEGV, Segmentation fault.
0x0804f571 in QoSFsm::inst__timeout_response (this=0x9c67450, event=6,
args=0x0)
at fsm/QoSFsm.cpp:910
910 if((rt->retry*=2) >= MAX_RETRY) {
----------------------------------------------------------------------------------------------------------------------------------------------
And the backtrace taken from the simulation is:
#0 0x0804f571 in QoSFsm::inst__timeout_response (this=0x9c67450,
event=6, args=0x0)
at fsm/QoSFsm.cpp:910
#1 0x0804e39d in QoSFsm::triggerEvent (this=0x9c67450,
event=EV_TIMEOUT_WAITRESP, args=0x0)
at fsm/QoSFsm.cpp:220
#2 0x08051a5b in Timer<QoSServer>::SignalHandler (signal=14) at
./../nslp_api/Timer.h:244
#3 <signal handler called>
#4 0x00627402 in __kernel_vsyscall ()
#5 0x00706ddd in ___newselect_nocancel () from /lib/libc.so.6
#6 0x080643f7 in NslpApi::waitForSignal (this=0x9c28150) at NslpApi.cpp
:187
#7 0x0804a58d in QoSServer::run (this=0x9c28028) at QoSServer.cpp:97
#8 0x08049bdc in main (argc=1, argv=0xbfa38b04) at qos_server.cpp:110
----------------------------------------------------------------------------------------------------------------------------------------------
The process in both cases has been the same so that's why I think the
different versions of the compilers are changing the outputs.
What do you think it is better? Using the g++ 4 or doing it with the
version 3?
Thank you in advance for your help.
Cheers,
Jesus