qalasi / ostinato

Automatically exported from code.google.com/p/ostinato
GNU General Public License v3.0
0 stars 0 forks source link

tool crashes on windows server #14

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. install ostinato on a windows server having atleast 5 interface cards
2. start drone.exe

What is the expected output? What do you see instead?
the tool crashes, if i enable more than 3 cards.

What version and revision of the product are you using (available in the
About dialog)? On what operating system?
version 0.2 on windows server 2003

Please provide any additional information below.

Original issue reported on code.google.com by varun.co...@gmail.com on 17 Sep 2010 at 7:18

GoogleCodeExporter commented 9 years ago
Varun,

Is there a reason why you start drone.exe and not ostinato.exe? Normally you 
just need to run ostinato.exe which in turn will automatically start drone.exe

I run ostinato regularly on a Windows XP PC with 4 interfaces (phy and virtual 
both included). I don't have access to a Windows Server 2003 PC, and hence I'd 
like your help to debug this.

Can you install DebugView 
(http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx) and run 
debugview before you start drone.exe. After it crashes, copy the log from 
debugview and paste it here.

Regards,
Srivats

Original comment by pstav...@gmail.com on 17 Sep 2010 at 1:52

GoogleCodeExporter commented 9 years ago

Original comment by pstav...@gmail.com on 17 Sep 2010 at 1:53

GoogleCodeExporter commented 9 years ago
i have attached a log file from Debugview. i have 12 interfaces and 5 enabled. 
ostianto just crashes whenever i start it. can you help me out here.

Original comment by varun.co...@gmail.com on 20 Sep 2010 at 7:29

Attachments:

GoogleCodeExporter commented 9 years ago
Varun,

Thanks for the DebugView log - I can see the bug in the code now - it is not 
able to handle so many interfaces. Till the time I fix it, I want you to try 
this workaround -

You say you have 12 interfaces out of which 5 are enabled. By "enabled", I 
assume you mean "connected and operationally up". I want you to 
administratively disable atleast 3 out of the 12 interfaces - once it is 
disabled, it will not be visible to Ostinato - one way to check is to run 
Wireshark, goto Capture | Interfaces and count how many interfaces are listed. 
If you disable 3 out of 12, you will see 9 interfaces (plus one additional 
Adaptor for generic dialup) listed. Now try running Ostinato.

Let me know how it goes.

Regards,
Srivats

Original comment by pstav...@gmail.com on 21 Sep 2010 at 4:50

GoogleCodeExporter commented 9 years ago
hey hi,
thanks for a quick response. i tried disabling 3 and keeping 9 interfaces and 
it works.:)
so, what is the problem with more than 9 interfaces and is it fixable?
one more important question, when i apply a new stream to any interface, it 
takes too much time if i increase the number of packets to say 1000000. is 
there any specific reason for it?

THANKS and REGARDS

Original comment by varun.co...@gmail.com on 22 Sep 2010 at 6:53

GoogleCodeExporter commented 9 years ago
Varun,

There is a buffer overflow for a large number of interfaces - it is fixable of 
course - but it might take a couple of days before I get some time to do it. 
Till that time continue with the workaround.

Regarding the time delay when you click "apply" for a stream with 1000000 
packets, it is because it prebuilds all the 1 million packets in a buffer. I 
will look at reducing the time - btw how much time does it take for you (on my 
core2duo it takes around 15 seconds)?

If you have only one stream, instead of configuring 1 million packets, you can 
just configure one packet in a loop - that way you won't face the time delay

Regards,
Srivats

Original comment by pstav...@gmail.com on 22 Sep 2010 at 5:00

GoogleCodeExporter commented 9 years ago
it takes more than 100 seconds for me, and it kind of hangs after that. but 
thats not a problem, i think you have already given the solution.

so, after you fix this bug, how many interfaces would it support??

Regards,
Varun

Original comment by varun.co...@gmail.com on 24 Sep 2010 at 11:32

GoogleCodeExporter commented 9 years ago
Varun,

I hope to fix it in a way so that there isn't a max limit on the number of 
interfaces.

Regards,
Srivats

Original comment by pstav...@gmail.com on 24 Sep 2010 at 3:14

GoogleCodeExporter commented 9 years ago
heyy, is there any way i can have a look at the code and fix this bug??

Regards,
varun

Original comment by varun.co...@gmail.com on 28 Sep 2010 at 6:22

GoogleCodeExporter commented 9 years ago
@varun: Sure! Go ahead! It's open source after all :-)

Go to the source tab for instructions on how to download the code or browse it 
online

To start you off, here are some pointers -
- you need to look at the RPC Server and Channel code in the rpc directory
- the problem is the value of MSGBUF_SIZE currently defined to 4096
- When serializing/parsing messages we use an array sized as per MSGBUF_SIZE
- the quick fix is to increase MSGBUF_SIZE; although this doesn't really solve 
the problem
- the correct solution is to use the protobuf serialize/parse to/from stream 
API instead of the array APIs

Let me know if you need help

Original comment by pstav...@gmail.com on 28 Sep 2010 at 8:10

GoogleCodeExporter commented 9 years ago
@varun: any luck with the changes?

Original comment by pstav...@gmail.com on 6 Oct 2010 at 1:50

GoogleCodeExporter commented 9 years ago
hey.. hi i couldn't compile the code on my machine because of QT stuff. i was 
having problems compiling the Qt code.:(

Original comment by varun.co...@gmail.com on 6 Oct 2010 at 2:04

GoogleCodeExporter commented 9 years ago
@varun: You don't need to compile Qt. You should be able to get a binary QT 
package for your platform. What platform are you using? 

Original comment by pstav...@gmail.com on 6 Oct 2010 at 2:14

GoogleCodeExporter commented 9 years ago
i am running ostinato on windows.

Original comment by varun.co...@gmail.com on 6 Oct 2010 at 2:25

GoogleCodeExporter commented 9 years ago
@varun: You can download the Qt SDK from http://qt.nokia.com/downloads. For 
complete instructions on how to compile from source, see 
http://code.google.com/p/ostinato/wiki/BuildingFromSource

Original comment by pstav...@gmail.com on 6 Oct 2010 at 2:43

GoogleCodeExporter commented 9 years ago
This issue was closed by revision 35f0b0a58c.

Original comment by pstav...@gmail.com on 18 Oct 2010 at 12:15