View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0014322ParaView(No Category)public2013-10-09 08:222013-11-20 08:56
ReporterAlejandro Ribes 
Assigned ToUtkarsh Ayachit 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusclosedResolutionno change required 
PlatformOSOS Version
Product Version4.0 
Target VersionFixed in Version4.1 
Summary0014322: client/server communication makes kernel's TCP buffer overflow
DescriptionSteps to reproduce:
1. Launch pvserver in mutli-client mode
2. Launch paraview client to connect to the above
    paraview -url=cs://localhost:11111
3. Launch the attached script (shrink-sphere.py), either with "pvpython" (in which case the Ctrl-C is not caught
properly) or with python (and the correct PYTHONPATH) directly.
4. Inspecting the network status with:
    netstat --inet -np
shows that the Python client script has its TCP buffer growing and growing (column "Recv-Q"). This ultimately crashes.
It seems that the client is not trying to read everything the server sends.

This is not a timing issue: increasing the "sleep" delay in the script to 1 sec shows the same behavior.
This is only with scripting: the configuration with only pvserver and paraview-client doesn't exhibit the behavior.

The behavior is seen with both the binary version (Linux 64 bits) and with a self-recompiled version (Linux 64 bits) of
ParaView 4.0.1.


-------- THE SCRIPT:

# Supposing the pvserver is already started on 'localhost'

from paraview import simple as spl
from time import sleep

# Connect to the pvserver
spl.Connect('localhost')
# Create a sphere and apply the Shrink filter to it:
ss = spl.Sphere(Radius=2, ThetaResolution=32)
shr = spl.Shrink(Input=ss)
spl.Show(shr)
spl.SetDisplayProperties(Representation = "Wireframe")
#shr.SetPropertyWithName("ShrinkFactor", 0.9)

# Loop on the shrink factor up and down for a while:
shr.ShrinkFactor = 0.5

step = 0.1
try:
  while True:
    if shr.ShrinkFactor >= 1.0:
      step = -0.1
    if shr.ShrinkFactor <= 0.0:
      step = +0.1
    shr.ShrinkFactor += step
    sleep(0.1)
    pass
except KeyboardInterrupt:
  print "Ctrl-C received"
  try:
    while True:
      pass
  except KeyboardInterrupt:
    print "Ctrl-C again! This time bye bye."

spl.Disconnect()

TagsNo tags attached.
ProjectParaViS
Topic Name
Typeincorrect functionality
Attached Files

 Relationships

  Notes
(0031705)
Utkarsh Ayachit (administrator)
2013-10-21 07:57

Alejandro,

When using pvpython with a multi-client pvserver, the Python code must manually call API to handle server-side events received from pvserver (which happens i multi-client mode). The Python Qt GUI takes care of that, and hence you don't see that happening when you use the Qt GUI.

To process the events one should do the following:

from paraview import collaboration

...

# then periodically call:
collaboration.processServerEvents()
(0031721)
Utkarsh Ayachit (administrator)
2013-10-24 08:37

SUMMARY
---------------------------------------------
Topics merged into master:
        14186_fix_point_sprite_issues
        14263_fix_python_in_installs
        14336_fix_examples
        14337_delete_pipeline_error
        14338_fix_build_issues
        14339_fix_elevation_filter
        14343_fix_tile_display_hang
        add-visitbridge-private-linking
(VTK) hardware-selector-pv-bug
        pvweb-virtualgl-doc
        smaller-catalyst-editions
        sqplugin-topo-mapper-gui
(VTK) update_vtk_master

(0031868)
Alejandro Ribes (manager)
2013-11-20 08:13

Hi Utkarsh,

Your proposed solution was tested (by the CEA) and we are satisfy.

Cheers,

Alejandro.

 Issue History
Date Modified Username Field Change
2013-10-09 08:22 Alejandro Ribes New Issue
2013-10-09 08:22 Alejandro Ribes Assigned To => Utkarsh Ayachit
2013-10-21 07:57 Utkarsh Ayachit Note Added: 0031705
2013-10-22 08:55 Utkarsh Ayachit Status backlog => gatekeeper review
2013-10-22 08:55 Utkarsh Ayachit Resolution open => no change required
2013-10-24 08:37 Utkarsh Ayachit Fixed in Version => git-master
2013-10-24 08:37 Utkarsh Ayachit Status gatekeeper review => customer review
2013-10-24 08:37 Utkarsh Ayachit Note Added: 0031721
2013-11-01 13:17 Utkarsh Ayachit Fixed in Version git-master => 4.1
2013-11-20 08:13 Alejandro Ribes Note Added: 0031868
2013-11-20 08:56 Utkarsh Ayachit Status customer review => closed


Copyright © 2000 - 2018 MantisBT Team