Hi techies
I am back at shared app development. I am in the process of trying to port
the shared image
thing over to the AG2.3. I downloaded the new software and installed it. I
did a pretty complete
rewrite of the AGBasicImage.py app following the shared app developers
guide in the wiki. It
has the shared browser look and feel now. Except for the fact that it
doesnt work. I followed the
shared app gotcha's in the wiki to try to run the application as a console
application so I could
get some debug output. I got a little of that. The main problem seems to be
connecting to
the venue. I have attached the shared image code and the venueclient.log
and the shared image
log file from the most recent run. I get some crazy errors in the shared
image file that I
just cant track down. There may be other bugs in the application that I
have not gotten to yet
but I cant find them if I cant connect to the venue. So could someone give
me a tip as to what
I am doing wrong here?
Regards,
Dave
Dave Semeraro Ph.D.
Visualization and Virtual Environments Group
NCSA University of Illinois
605 E. Springfield Ave.
Champaign, IL 61820
[email protected]
(217) 244-1852
09/13/04 16:22:11 3532 Toolkit toolkit.py:90 DEBUG Initializing AG Toolkit
version 2.3
09/13/04 16:22:11 3532 Toolkit toolkit.py:132 INFO Logfile Name:
SharedImageViewer.log
09/13/04 16:22:11 3532 Toolkit config.py:196 DEBUG Using
GLOBUS_HOSTNAME=zim.ncsa.uiuc.edu as set in the environment
09/13/04 16:22:11 3532 CertificateManager certificatemanager.py:257 DEBUG
Opened repository C:\Documents and Settings\semeraro\Application
Data\AccessGrid\Config\certRepo
09/13/04 16:22:11 3532 Toolkit toolkit.py:395 DEBUG Got repo.
09/13/04 16:22:11 3532 Toolkit toolkit.py:397 DEBUG looking in system ca
dir: C:\Program Files\AGTk-2.3\Config\CAcertificates
09/13/04 16:22:11 3532 Toolkit toolkit.py:401 DEBUG Getting cert: 1c3f2ca8.0
09/13/04 16:22:11 3532 Toolkit toolkit.py:406 WARNING Not importing cert
C:\Program Files\AGTk-2.3\Config\CAcertificates\1c3f2ca8.0
09/13/04 16:22:11 3532 Toolkit toolkit.py:401 DEBUG Getting cert: 45cc9e80.0
09/13/04 16:22:11 3532 Toolkit toolkit.py:406 WARNING Not importing cert
C:\Program Files\AGTk-2.3\Config\CAcertificates\45cc9e80.0
09/13/04 16:22:11 3532 Toolkit toolkit.py:401 DEBUG Getting cert: d1b603c3.0
09/13/04 16:22:11 3532 Toolkit toolkit.py:406 WARNING Not importing cert
C:\Program Files\AGTk-2.3\Config\CAcertificates\d1b603c3.0
09/13/04 16:22:11 3532 Toolkit toolkit.py:401 DEBUG Getting cert: f18fa857.0
09/13/04 16:22:11 3532 Toolkit toolkit.py:406 WARNING Not importing cert
C:\Program Files\AGTk-2.3\Config\CAcertificates\f18fa857.0
09/13/04 16:22:11 3532 Toolkit toolkit.py:410 DEBUG Init'ing globus.
09/13/04 16:22:11 3532 CertificateManager certificatemanager.py:734 DEBUG
Configuring standard environment
09/13/04 16:22:11 3532 CertificateManager certificatemanager.py:802 DEBUG
Using default identity /O=Access
Grid/OU=agdev-ca.mcs.anl.gov/OU=ncsa.uiuc.edu/CN=Dave Semeraro
09/13/04 16:22:11 3532 CertificateManager certificatemanager.py:873 DEBUG
Initializing environment with proxy cert for /O=Access
Grid/OU=agdev-ca.mcs.anl.gov/OU=ncsa.uiuc.edu/CN=Dave Semeraro
09/13/04 16:22:11 3532 CertificateManager certificatemanager.py:907 DEBUG
Looking for identity (unused) None
09/13/04 16:22:11 3532 CertificateManager certificatemanager.py:892 DEBUG
Configuring for user proxy issued from /O=Access
Grid/OU=agdev-ca.mcs.anl.gov/OU=ncsa.uiuc.edu/CN=Dave Semeraro
09/13/04 16:22:11 3532 CertificateManager certificatemanager.py:895 DEBUG
Proxy C:\DOCUME~1\semeraro\LOCALS~1\Temp\proxy will expire 09/13/04 16:58:25
09/13/04 16:22:11 3532 CertificateManager certificatemanager.py:1479 DEBUG
done, success=1
09/13/04 16:22:11 3532 Toolkit toolkit.py:414 DEBUG Done with globus.
09/13/04 16:22:12 3532 SharedImageViewer sharedappclient.py:102 ERROR
SharedAppClient.Join failed: https://141.142.64.5:9000/119
Traceback (most recent call last):
File "C:\Python23\Lib\site-packages\AccessGrid\SharedAppClient.py", line 97,
in Join
(self.__publicId, self.__privateId) = self.__appProxy.Join(clientProfile)
File "C:\Python23\Lib\site-packages\AccessGrid\SharedApplication.py", line
553, in Join
return self.proxy.Join(clientProfile)
File
"C:\software\AccessGrid\build\dist-20040910_210059\Lib\site-packages\SOAPpy\Client.py",
line 453, in __call__
File
"C:\software\AccessGrid\build\dist-20040910_210059\Lib\site-packages\SOAPpy\Client.py",
line 475, in __r_call
File
"C:\software\AccessGrid\build\dist-20040910_210059\Lib\site-packages\SOAPpy\Client.py",
line 389, in __call
faultType: <Fault exceptions.TypeError: TypeError: Join() takes exactly 1
argument (2 given): Traceback (most recent call last):
File "/usr/lib/python2.2/site-packages/AccessGrid/hosting/AccessControl.py",
line 583, in __call__
rc = self.callback(*args)
TypeError: Join() takes exactly 1 argument (2 given)
>
09/13/04 16:22:13 3532 SharedImageViewer sharedappclient.py:108 INFO
SharedAppClient.Join: https://141.142.64.5:9000/119 using old software
09/13/04 16:22:13 3532 EventClient eventclient.py:158 DEBUG Have callback
handle _c866a101_p_callbackStruct
09/13/04 16:22:13 3532 DataStoreClient datastoreclient.py:40 INFO
Connecting to venue https://venues.ncsa.uiuc.edu:9000/Venues/default, to get
datastore information.
09/13/04 16:22:15 3532 SharedImageViewer sharedimageviewer.py:250 INFO
SharedAppViewer: no image in venue
09/13/04 16:22:16 3532 SharedImageViewer sharedimageviewer.py:261 INFO
SharedAppViewer: no markup in venue
09/13/04 16:22:43 3532 DataStoreClient datastoreclient.py:307 DEBUG Upload
C:\Documents and Settings\semeraro\My Documents\My
Pictures\073104_satellite.jpg to
https://141.142.64.5:9006/000000f797870a7a008d008e00420092fa9
09/13/04 16:22:43 3532 DataStore datastore.py:1842 DEBUG Upload: check files
09/13/04 16:22:43 3532 DataStore datastore.py:1850 DEBUG Upload: create
manifest
09/13/04 16:22:43 3532 DataStore datastore.py:2081 DEBUG Checksum
C:\Documents and Settings\semeraro\My Documents\My Pictures\073104_satellite.jpg
09/13/04 16:22:43 3532 DataStore datastore.py:1853 DEBUG Upload: Created
manifest
09/13/04 16:22:43 3532 DataStore datastore.py:1860 DEBUG upload mainfest:
host='141.142.64.5:9006' base_path='/000000f797870a7a008d008e00420092fa9'
09/13/04 16:22:43 3532 DataStore datastore.py:1992 DEBUG post returns
<httplib.HTTPResponse instance at 0x01D915F8>
09/13/04 16:22:43 3532 DataStore datastore.py:2000 DEBUG Reading response,
headers are ['Server: BaseHTTP/0.2 Python/2.2.2\r\n', 'Date: Mon, 13 Sep 2004
21:22:44 GMT\r\n', 'Content-type: text/plain\r\n', 'Content-length: 72\r\n']
09/13/04 16:22:43 3532 DataStore datastore.py:2008 DEBUG got tline
<return_code: 1>
09/13/04 16:22:43 3532 DataStore datastore.py:2008 DEBUG got tline
<error_reason: Upload error for file 073104_satellite.jpg>
09/13/04 16:22:43 3532 DataStore datastore.py:2008 DEBUG got tline <>
09/13/04 16:22:43 3532 DataStore datastore.py:2029 DEBUG Upload failed:
09/13/04 16:22:43 3532 DataStore datastore.py:2031 DEBUG Upload error
for file 073104_satellite.jpg
09/13/04 16:22:43 3532 DataStore datastore.py:1884 ERROR Upload failed.
Traceback (most recent call last):
File "C:\Python23\Lib\site-packages\AccessGrid\DataStore.py", line 1870, in
UploadFiles
transfer_key = self.uploadManifest(conn, base_path, manifest)
File "C:\Python23\Lib\site-packages\AccessGrid\DataStore.py", line 2032, in
uploadManifest
raise UploadFailed((return_code, error_reasons))
UploadFailed: (1, ['Upload error for file 073104_satellite.jpg'])
09/13/04 16:23:08 3220 Toolkit config.py:196 DEBUG Using
GLOBUS_HOSTNAME=zim.ncsa.uiuc.edu as set in the environment
09/13/04 16:23:08 3220 CertificateManager certificatemanager.py:257 DEBUG
Opened repository C:\Documents and Settings\semeraro\Application
Data\AccessGrid\Config\certRepo
09/13/04 16:23:08 3220 Toolkit toolkit.py:395 DEBUG Got repo.
09/13/04 16:23:08 3220 Toolkit toolkit.py:397 DEBUG looking in system ca
dir: C:\Program Files\AGTk-2.3\Config\CAcertificates
09/13/04 16:23:08 3220 Toolkit toolkit.py:401 DEBUG Getting cert: 1c3f2ca8.0
09/13/04 16:23:08 3220 Toolkit toolkit.py:406 WARNING Not importing cert
C:\Program Files\AGTk-2.3\Config\CAcertificates\1c3f2ca8.0
09/13/04 16:23:08 3220 Toolkit toolkit.py:401 DEBUG Getting cert: 45cc9e80.0
09/13/04 16:23:08 3220 Toolkit toolkit.py:406 WARNING Not importing cert
C:\Program Files\AGTk-2.3\Config\CAcertificates\45cc9e80.0
09/13/04 16:23:08 3220 Toolkit toolkit.py:401 DEBUG Getting cert: d1b603c3.0
09/13/04 16:23:08 3220 Toolkit toolkit.py:406 WARNING Not importing cert
C:\Program Files\AGTk-2.3\Config\CAcertificates\d1b603c3.0
09/13/04 16:23:08 3220 Toolkit toolkit.py:401 DEBUG Getting cert: f18fa857.0
09/13/04 16:23:08 3220 Toolkit toolkit.py:406 WARNING Not importing cert
C:\Program Files\AGTk-2.3\Config\CAcertificates\f18fa857.0
09/13/04 16:23:08 3220 Toolkit toolkit.py:410 DEBUG Init'ing globus.
09/13/04 16:23:08 3220 CertificateManager certificatemanager.py:734 DEBUG
Configuring standard environment
09/13/04 16:23:08 3220 CertificateManager certificatemanager.py:802 DEBUG
Using default identity /O=Access
Grid/OU=agdev-ca.mcs.anl.gov/OU=ncsa.uiuc.edu/CN=Dave Semeraro
09/13/04 16:23:08 3220 CertificateManager certificatemanager.py:873 DEBUG
Initializing environment with proxy cert for /O=Access
Grid/OU=agdev-ca.mcs.anl.gov/OU=ncsa.uiuc.edu/CN=Dave Semeraro
09/13/04 16:23:08 3220 CertificateManager certificatemanager.py:907 DEBUG
Looking for identity (unused) None
09/13/04 16:23:08 3220 CertificateManager certificatemanager.py:892 DEBUG
Configuring for user proxy issued from /O=Access
Grid/OU=agdev-ca.mcs.anl.gov/OU=ncsa.uiuc.edu/CN=Dave Semeraro
09/13/04 16:23:08 3220 CertificateManager certificatemanager.py:895 DEBUG
Proxy C:\DOCUME~1\semeraro\LOCALS~1\Temp\proxy will expire 09/13/04 16:58:25
09/13/04 16:23:08 3220 CertificateManager certificatemanager.py:1479 DEBUG
done, success=1
09/13/04 16:23:08 3220 Toolkit toolkit.py:414 DEBUG Done with globus.
09/13/04 16:23:09 3220 SharedImageViewer sharedappclient.py:102 ERROR
SharedAppClient.Join failed: https://141.142.64.5:9000/119
Traceback (most recent call last):
File "C:\Python23\Lib\site-packages\AccessGrid\SharedAppClient.py", line 97,
in Join
(self.__publicId, self.__privateId) = self.__appProxy.Join(clientProfile)
File "C:\Python23\Lib\site-packages\AccessGrid\SharedApplication.py", line
553, in Join
return self.proxy.Join(clientProfile)
File
"C:\software\AccessGrid\build\dist-20040910_210059\Lib\site-packages\SOAPpy\Client.py",
line 453, in __call__
File
"C:\software\AccessGrid\build\dist-20040910_210059\Lib\site-packages\SOAPpy\Client.py",
line 475, in __r_call
File
"C:\software\AccessGrid\build\dist-20040910_210059\Lib\site-packages\SOAPpy\Client.py",
line 389, in __call
faultType: <Fault exceptions.TypeError: TypeError: Join() takes exactly 1
argument (2 given): Traceback (most recent call last):
File "/usr/lib/python2.2/site-packages/AccessGrid/hosting/AccessControl.py",
line 583, in __call__
rc = self.callback(*args)
TypeError: Join() takes exactly 1 argument (2 given)
>
09/13/04 16:23:10 3220 SharedImageViewer sharedappclient.py:108 INFO
SharedAppClient.Join: https://141.142.64.5:9000/119 using old software
09/13/04 16:23:12 3220 EventClient eventclient.py:158 DEBUG Have callback
handle _e807a101_p_callbackStruct
09/13/04 16:23:12 3220 DataStoreClient datastoreclient.py:40 INFO
Connecting to venue https://venues.ncsa.uiuc.edu:9000/Venues/default, to get
datastore information.
09/13/04 16:23:14 3220 SharedImageViewer sharedimageviewer.py:250 INFO
SharedAppViewer: no image in venue
09/13/04 16:23:14 3220 SharedImageViewer sharedimageviewer.py:261 INFO
SharedAppViewer: no markup in venue
09/13/04 16:23:30 3220 DataStoreClient datastoreclient.py:307 DEBUG Upload
C:\Documents and Settings\semeraro\Application
Data\AccessGrid\SharedApplications\Shared_Image_Viewer\073104_satellite.jpg to
https://141.142.64.5:9006/000000f797870a7a008d008e00420092fa9
09/13/04 16:23:30 3220 DataStore datastore.py:1842 DEBUG Upload: check files
09/13/04 16:23:30 3220 DataStore datastore.py:1850 DEBUG Upload: create
manifest
09/13/04 16:23:30 3220 DataStore datastore.py:2081 DEBUG Checksum
C:\Documents and Settings\semeraro\Application
Data\AccessGrid\SharedApplications\Shared_Image_Viewer\073104_satellite.jpg
09/13/04 16:23:30 3220 DataStore datastore.py:1853 DEBUG Upload: Created
manifest
09/13/04 16:23:30 3220 DataStore datastore.py:1860 DEBUG upload mainfest:
host='141.142.64.5:9006' base_path='/000000f797870a7a008d008e00420092fa9'
09/13/04 16:23:31 3220 DataStore datastore.py:1992 DEBUG post returns
<httplib.HTTPResponse instance at 0x01DAA1E8>
09/13/04 16:23:31 3220 DataStore datastore.py:2000 DEBUG Reading response,
headers are ['Server: BaseHTTP/0.2 Python/2.2.2\r\n', 'Date: Mon, 13 Sep 2004
21:23:32 GMT\r\n', 'Content-type: text/plain\r\n', 'Content-length: 72\r\n']
09/13/04 16:23:31 3220 DataStore datastore.py:2008 DEBUG got tline
<return_code: 1>
09/13/04 16:23:31 3220 DataStore datastore.py:2008 DEBUG got tline
<error_reason: Upload error for file 073104_satellite.jpg>
09/13/04 16:23:31 3220 DataStore datastore.py:2008 DEBUG got tline <>
09/13/04 16:23:31 3220 DataStore datastore.py:2029 DEBUG Upload failed:
09/13/04 16:23:31 3220 DataStore datastore.py:2031 DEBUG Upload error
for file 073104_satellite.jpg
09/13/04 16:23:31 3220 DataStore datastore.py:1884 ERROR Upload failed.
Traceback (most recent call last):
File "C:\Python23\Lib\site-packages\AccessGrid\DataStore.py", line 1870, in
UploadFiles
transfer_key = self.uploadManifest(conn, base_path, manifest)
File "C:\Python23\Lib\site-packages\AccessGrid\DataStore.py", line 2032, in
uploadManifest
raise UploadFailed((return_code, error_reasons))
UploadFailed: (1, ['Upload error for file 073104_satellite.jpg'])
09/13/04 16:23:42 3220 EventClient eventclient.py:303 DEBUG Cancel pending
callbacks
09/13/04 16:23:42 2380 EventClient eventclient.py:177 DEBUG Read Callback
called arg=None handle=_28f29f01_p_globus_io_handle_t result=(-1, 2, 'an I/O
operation was cancelled') n=0
09/13/04 16:23:42 2380 EventClient eventclient.py:180 DEBUG readCallback
gets failure in result: -1 2
09/13/04 16:23:42 3220 EventClient eventclient.py:309 DEBUG Free callback
_e807a101_p_callbackStruct
09/13/04 16:23:42 3220 EventClient eventclient.py:315 DEBUG
EventClient.Stop: closing socket
09/13/04 16:23:42 3220 EventClient eventclient.py:323 DEBUG
EventClient.Stop: closing queue
09/13/04 16:23:48 3532 EventClient eventclient.py:303 DEBUG Cancel pending
callbacks
09/13/04 16:23:48 3900 EventClient eventclient.py:177 DEBUG Read Callback
called arg=None handle=_c0f39f01_p_globus_io_handle_t result=(-1, 2, 'an I/O
operation was cancelled') n=0
09/13/04 16:23:48 3900 EventClient eventclient.py:180 DEBUG readCallback
gets failure in result: -1 2
09/13/04 16:23:48 3532 EventClient eventclient.py:309 DEBUG Free callback
_c866a101_p_callbackStruct
09/13/04 16:23:48 3532 EventClient eventclient.py:315 DEBUG
EventClient.Stop: closing socket
09/13/04 16:23:48 3532 EventClient eventclient.py:323 DEBUG
EventClient.Stop: closing queue
09/13/04 16:19:56 3656 Toolkit config.py:196 DEBUG Using
GLOBUS_HOSTNAME=zim.ncsa.uiuc.edu as set in the environment
09/13/04 16:19:56 3656 CertificateManager certificatemanager.py:257 DEBUG
Opened repository C:\Documents and Settings\semeraro\Application
Data\AccessGrid\Config\certRepo
09/13/04 16:19:56 3656 Toolkit toolkit.py:395 DEBUG Got repo.
09/13/04 16:19:56 3656 Toolkit toolkit.py:397 DEBUG looking in system ca
dir: C:\Program Files\AGTk-2.3\Config\CAcertificates
09/13/04 16:19:56 3656 Toolkit toolkit.py:401 DEBUG Getting cert: 1c3f2ca8.0
09/13/04 16:19:56 3656 Toolkit toolkit.py:406 WARNING Not importing cert
C:\Program Files\AGTk-2.3\Config\CAcertificates\1c3f2ca8.0
09/13/04 16:19:56 3656 Toolkit toolkit.py:401 DEBUG Getting cert: 45cc9e80.0
09/13/04 16:19:56 3656 Toolkit toolkit.py:406 WARNING Not importing cert
C:\Program Files\AGTk-2.3\Config\CAcertificates\45cc9e80.0
09/13/04 16:19:56 3656 Toolkit toolkit.py:401 DEBUG Getting cert: d1b603c3.0
09/13/04 16:19:56 3656 Toolkit toolkit.py:406 WARNING Not importing cert
C:\Program Files\AGTk-2.3\Config\CAcertificates\d1b603c3.0
09/13/04 16:19:56 3656 Toolkit toolkit.py:401 DEBUG Getting cert: f18fa857.0
09/13/04 16:19:56 3656 Toolkit toolkit.py:406 WARNING Not importing cert
C:\Program Files\AGTk-2.3\Config\CAcertificates\f18fa857.0
09/13/04 16:19:56 3656 Toolkit toolkit.py:410 DEBUG Init'ing globus.
09/13/04 16:19:57 3656 CertificateManager certificatemanager.py:734 DEBUG
Configuring standard environment
09/13/04 16:19:57 3656 CertificateManager certificatemanager.py:802 DEBUG
Using default identity /O=Access
Grid/OU=agdev-ca.mcs.anl.gov/OU=ncsa.uiuc.edu/CN=Dave Semeraro
09/13/04 16:19:57 3656 CertificateManager certificatemanager.py:873 DEBUG
Initializing environment with proxy cert for /O=Access
Grid/OU=agdev-ca.mcs.anl.gov/OU=ncsa.uiuc.edu/CN=Dave Semeraro
09/13/04 16:19:57 3656 CertificateManager certificatemanager.py:907 DEBUG
Looking for identity (unused) None
09/13/04 16:19:57 3656 CertificateManager certificatemanager.py:892 DEBUG
Configuring for user proxy issued from /O=Access
Grid/OU=agdev-ca.mcs.anl.gov/OU=ncsa.uiuc.edu/CN=Dave Semeraro
09/13/04 16:19:57 3656 CertificateManager certificatemanager.py:895 DEBUG
Proxy C:\DOCUME~1\semeraro\LOCALS~1\Temp\proxy will expire 09/13/04 16:58:25
09/13/04 16:19:57 3656 Toolkit toolkit.py:414 DEBUG Done with globus.
09/13/04 16:19:57 3656 VenueClient venueclient.py:284 DEBUG
__StartWebService: venueclient: https://zim.ncsa.uiuc.edu:11000/VenueClient
09/13/04 16:19:57 3656 ServiceManager agservicemanager.py:75 INFO Using
services dir: C:\Documents and Settings\semeraro\Application
Data\AccessGrid\local_services
09/13/04 16:19:57 3656 ServiceManager agservicemanager.py:414 INFO
__DiscoverResources
09/13/04 16:19:57 3656 Toolkit config.py:997 INFO Using vfwscan to get
devices
09/13/04 16:19:57 3656 Toolkit config.py:998 DEBUG vfwscanexe =
C:\PROGRA~1\AGTk-2.3\bin\vfwscan.exe
09/13/04 16:19:57 3656 Toolkit config.py:1003 DEBUG filelines = ['Microsoft
WDM Image Capture (Win32)\n']
09/13/04 16:19:57 3656 Toolkit config.py:1031 INFO GetResources:
['Microsoft WDM Image Capture (Win32)']
09/13/04 16:19:57 3656 VenueClient venueclient.py:293 DEBUG
__StartWebService: service manager:
https://zim.ncsa.uiuc.edu:11000/ServiceManager
09/13/04 16:19:57 3656 NodeService agnodeservice.py:733 INFO
NodeService.__ReadConfigFile
09/13/04 16:19:57 3656 Toolkit toolkit.py:328 DEBUG Looking for:
C:\Documents and Settings\semeraro\Application
Data\AccessGrid\Config\AGNodeService.cfg
09/13/04 16:19:57 3656 Toolkit toolkit.py:333 DEBUG Looking for: C:\Program
Files\AGTk-2.3\Config\AGNodeService.cfg
09/13/04 16:19:57 3656 NodeService agnodeservice.py:741 DEBUG DEFAULT NODE
SERVICE CONFIG: C:\Program Files\AGTk-2.3\Config\AGNodeService.cfg
09/13/04 16:19:57 3656 NodeService agnodeservice.py:745 INFO Reading node
service config file: C:\Program Files\AGTk-2.3\Config\AGNodeService.cfg
09/13/04 16:19:57 3656 VenueClient venueclient.py:299 DEBUG
__StartWebService: node service: https://zim.ncsa.uiuc.edu:11000/NodeService
09/13/04 16:19:57 3656 VenueClient venueclient.py:1317 DEBUG SerNodeUrl:
Set node service url: https://zim.ncsa.uiuc.edu:11000/NodeService
09/13/04 16:19:57 3656 NodeService agnodeservice.py:675 INFO
NodeService.GetDefaultConfiguration
09/13/04 16:19:57 3656 NodeService agnodeservice.py:558 INFO Migration
unnecessary
09/13/04 16:19:57 3656 NodeService agnodeservice.py:351 INFO
NodeService.LoadDefaultConfig
09/13/04 16:19:57 3656 NodeService agnodeservice.py:355 INFO Loading
default node configuration: defaultWindows
09/13/04 16:19:57 3656 NodeService agnodeservice.py:369 INFO
NodeService.LoadConfiguration
09/13/04 16:19:57 3656 NodeService agnodeservice.py:384 INFO Trying to
load node configuration from: C:\Documents and Settings\semeraro\Application
Data\AccessGrid\Config\nodeConfig\defaultWindows
09/13/04 16:19:57 2496 ServiceManager agservicemanager.py:379 INFO
AGServiceManager.RemoveServices
09/13/04 16:19:58 1832 ServiceManager agservicemanager.py:115 INFO
AGServiceManager.AddService
09/13/04 16:19:58 1832 ServiceManager agservicemanager.py:118 INFO
AddService: AudioService v 2.400000 u AudioService.zip
09/13/04 16:19:58 1832 ServiceManager agservicemanager.py:123 INFO
resourceToAssign: None
09/13/04 16:19:58 1832 ServiceManager agservicemanager.py:186 INFO
Retaining version 2.400000
09/13/04 16:19:58 1832 ServiceManager agservicemanager.py:189 INFO
Extracting service package to C:\Documents and Settings\semeraro\Application
Data\AccessGrid\local_services\AudioService
09/13/04 16:19:58 1832 ServiceManager agservicemanager.py:231 INFO Running
Service; options: C:\Python23\python.exe [u'C:\\Documents and
Settings\\semeraro\\Application
Data\\AccessGrid\\local_services\\AudioService\\AudioService.py', 61136]
09/13/04 16:19:58 1832 ProcessManager processmanager.py:59 DEBUG Creating
process: C:\Python23\python.exe "C:\Documents and Settings\semeraro\Application
Data\AccessGrid\local_services\AudioService\AudioService.py" 61136
09/13/04 16:19:58 1832 ProcessManager processmanager.py:72 DEBUG Create
process returns: (<PyHANDLE object at 0x008DEB04>, <PyHANDLE object at
0x01BE13B4>, 2720, 1588)
09/13/04 16:19:58 1832 ServiceManager agservicemanager.py:248 DEBUG Waiting
for service to start: AudioService https://zim.ncsa.uiuc.edu:61136/Service
09/13/04 16:20:00 1832 ServiceManager agservicemanager.py:255 INFO Service
AudioService successfully started
09/13/04 16:20:00 1832 ServiceManager agservicemanager.py:290 DEBUG Not
setting service configuration; none given
09/13/04 16:20:00 1832 ServiceManager agservicemanager.py:299 DEBUG Not
assigning resource; none given
09/13/04 16:20:01 3656 NodeService agnodeservice.py:492 INFO Not setting
identity for service AudioService; no profile
09/13/04 16:20:01 3708 ServiceManager agservicemanager.py:115 INFO
AGServiceManager.AddService
09/13/04 16:20:01 3708 ServiceManager agservicemanager.py:118 INFO
AddService: VideoConsumerService v 2.300000 u VideoConsumerService.zip
09/13/04 16:20:01 3708 ServiceManager agservicemanager.py:123 INFO
resourceToAssign: None
09/13/04 16:20:01 3708 ServiceManager agservicemanager.py:186 INFO
Retaining version 2.300000
09/13/04 16:20:01 3708 ServiceManager agservicemanager.py:189 INFO
Extracting service package to C:\Documents and Settings\semeraro\Application
Data\AccessGrid\local_services\VideoConsumerService
09/13/04 16:20:01 3708 ServiceManager agservicemanager.py:231 INFO Running
Service; options: C:\Python23\python.exe [u'C:\\Documents and
Settings\\semeraro\\Application
Data\\AccessGrid\\local_services\\VideoConsumerService\\VideoConsumerService.py',
49846]
09/13/04 16:20:01 3708 ProcessManager processmanager.py:59 DEBUG Creating
process: C:\Python23\python.exe "C:\Documents and Settings\semeraro\Application
Data\AccessGrid\local_services\VideoConsumerService\VideoConsumerService.py"
49846
09/13/04 16:20:01 3708 ProcessManager processmanager.py:72 DEBUG Create
process returns: (<PyHANDLE object at 0x01F476D4>, <PyHANDLE object at
0x01F48914>, 1412, 3576)
09/13/04 16:20:01 3708 ServiceManager agservicemanager.py:248 DEBUG Waiting
for service to start: VideoConsumerService
https://zim.ncsa.uiuc.edu:49846/Service
09/13/04 16:20:03 3708 ServiceManager agservicemanager.py:255 INFO Service
VideoConsumerService successfully started
09/13/04 16:20:03 3708 ServiceManager agservicemanager.py:290 DEBUG Not
setting service configuration; none given
09/13/04 16:20:03 3708 ServiceManager agservicemanager.py:299 DEBUG Not
assigning resource; none given
09/13/04 16:20:04 3656 NodeService agnodeservice.py:492 INFO Not setting
identity for service VideoConsumerService; no profile
09/13/04 16:20:04 3656 VenueClient venueclient.py:182 DEBUG
__createPersonalDataStore: Creating personal datastore at C:\Documents and
Settings\semeraro\Application Data\AccessGrid\Config\personalDataStore using
prefix personalDataStore and port 0
09/13/04 16:20:04 3656 DataStore datastore.py:1500 DEBUG Creating thread 0
09/13/04 16:20:04 3656 DataStore datastore.py:1505 DEBUG Starting thread 0
09/13/04 16:20:04 1144 DataStore datastore.py:1513 DEBUG Worker 0 starting
09/13/04 16:20:04 3656 DataStore datastore.py:1507 DEBUG Waiting thread 0
09/13/04 16:20:04 3656 DataStore datastore.py:1510 DEBUG Done creating
workers
09/13/04 16:20:04 3656 DataStore datastore.py:263 DEBUG Reading persisted
data from: C:\Documents and Settings\semeraro\Application
Data\AccessGrid\Config\personalDataStore\DataStore.dat
09/13/04 16:20:04 3656 VenueClient venueclient.py:207 DEBUG
__createPersonalDataStore: Load personal data from file
09/13/04 16:20:11 3656 VenueClient venueclient.py:803 DEBUG EnterVenue;
url=https://venues.ncsa.uiuc.edu:9000/Venues/default
09/13/04 16:20:11 3656 CertificateManager certificatemanager.py:907 DEBUG
Looking for identity (unused) None
09/13/04 16:20:11 3656 CertificateManager certificatemanager.py:638 DEBUG
HaveValidProxy: found proxy ident /O=Access
Grid/OU=agdev-ca.mcs.anl.gov/OU=ncsa.uiuc.edu/CN=Dave Semeraro/CN=proxy
09/13/04 16:20:11 3656 CertificateManager certificatemanager.py:907 DEBUG
Looking for identity (unused) None
09/13/04 16:20:11 3656 CertificateManager certificatemanager.py:638 DEBUG
HaveValidProxy: found proxy ident /O=Access
Grid/OU=agdev-ca.mcs.anl.gov/OU=ncsa.uiuc.edu/CN=Dave Semeraro/CN=proxy
09/13/04 16:20:11 256 NodeService agnodeservice.py:692 INFO
NodeService.GetCapabilities
09/13/04 16:20:11 256 NodeService agnodeservice.py:233 INFO
NodeService.GetServices
09/13/04 16:20:12 2144 ServiceManager agservicemanager.py:389 INFO
AGServiceManager.GetServices
09/13/04 16:20:12 3656 VenueClient venueclient.py:702 DEBUG EnterVenue:
Invoke venue enter
09/13/04 16:20:14 3656 EventClient eventclient.py:158 DEBUG Have callback
handle _10e28301_p_callbackStruct
09/13/04 16:20:16 3656 TextConnection textclient.py:145 DEBUG
TextConnection: register returns _b8b98101_p_callbackStruct
09/13/04 16:20:16 3656 TextConnection textclient.py:147 DEBUG
host:141.142.64.5
port:9004
attr:<pyGlobus.io.TCPIOAttr instance at 0x01F08800>
09/13/04 16:20:16 3656 TextConnection textclient.py:149 DEBUG
socket:<pyGlobus.io.GSITCPSocket instance at 0x01F086C0>
09/13/04 16:20:16 3656 TextConnection textclient.py:164 DEBUG
TextConnection.Write: EVENT --- Input
09/13/04 16:20:16 3656 TextConnection textclient.py:165 DEBUG
TextConnection.Write: Event:
Type: Connect Venue: 000000f797870a7a008d008e00420092fa9
09/13/04 16:20:16 3656 VenueClient venueclient.py:781 DEBUG Setting
isInVenue flag.
09/13/04 16:20:16 3656 VenueClient venueclient.py:996 DEBUG
UpdateNodeService: Method UpdateNodeService called
09/13/04 16:20:16 1020 NodeService agnodeservice.py:711 INFO
NodeService.SetIdentity Dave Semeraro [email protected]
09/13/04 16:20:16 1020 NodeService agnodeservice.py:233 INFO
NodeService.GetServices
09/13/04 16:20:17 1944 ServiceManager agservicemanager.py:389 INFO
AGServiceManager.GetServices
09/13/04 16:20:18 3656 VenueClient venueclient.py:1043 DEBUG UpdateStream:
Setting stream 000000fef907bb8b008d008e0040000505a to multicast
09/13/04 16:20:18 3656 VenueClient venueclient.py:1043 DEBUG UpdateStream:
Setting stream 000000fef9994266008d008e004000054ef to multicast
09/13/04 16:20:18 252 NodeService agnodeservice.py:302 INFO
NodeService.SetStreams
09/13/04 16:20:18 252 NodeService agnodeservice.py:233 INFO
NodeService.GetServices
09/13/04 16:20:18 3756 ServiceManager agservicemanager.py:389 INFO
AGServiceManager.GetServices
09/13/04 16:20:18 252 NodeService agnodeservice.py:782 INFO
NodeService.__SendStreamsToService
09/13/04 16:20:19 252 NodeService agnodeservice.py:792 INFO Sending stream
(type=audio) to service: https://zim.ncsa.uiuc.edu:61136/Service
09/13/04 16:20:20 252 NodeService agnodeservice.py:782 INFO
NodeService.__SendStreamsToService
09/13/04 16:20:21 252 NodeService agnodeservice.py:792 INFO Sending stream
(type=video) to service: https://zim.ncsa.uiuc.edu:49846/Service
09/13/04 16:20:21 3656 VenueClient venueclient.py:837 DEBUG Updating client
profile cache.
09/13/04 16:20:21 3656 VenueClient venueclientui.py:1959 DEBUG
bin.VenueClient::EnterVenue: Enter venue with url:
https://venues.ncsa.uiuc.edu:9000/Venues/default
09/13/04 16:20:21 3656 VenueClient venueclientui.py:2067 DEBUG Entered venue
09/13/04 16:20:21 3656 VenueClient venueclientui.py:2647 DEBUG
ContentListPanel.AddParticipant:: AddParticipant UCSB College of Engineering
(called from ('C:\\Python23\\Lib\\site-packages\\wx\\core.py', 9397,
'<lambda>', 'lambda event: event.callable(*event.args, **event.kw) )'))
09/13/04 16:20:21 3656 VenueClient venueclientui.py:2647 DEBUG
ContentListPanel.AddParticipant:: AddParticipant Dave Semeraro (called from
('C:\\Python23\\Lib\\site-packages\\wx\\core.py', 9397, '<lambda>', 'lambda
event: event.callable(*event.args, **event.kw) )'))
09/13/04 16:20:21 3656 VenueClient venueclientui.py:2714 DEBUG
ContentListPanel.AddData: profile.type = None
09/13/04 16:20:21 3656 VenueClient venueclientui.py:2718 DEBUG
ContentListPanel.AddData: This is venue data
09/13/04 16:20:21 3656 VenueClient venueclientui.py:2714 DEBUG
ContentListPanel.AddData: profile.type = None
09/13/04 16:20:21 3656 VenueClient venueclientui.py:2718 DEBUG
ContentListPanel.AddData: This is venue data
09/13/04 16:20:21 3656 VenueClient venueclientui.py:2714 DEBUG
ContentListPanel.AddData: profile.type = None
09/13/04 16:20:21 3656 VenueClient venueclientui.py:2718 DEBUG
ContentListPanel.AddData: This is venue data
09/13/04 16:20:36 3656 VenueClientController venueclientcontroller.py:557
DEBUG VenueClientFrame.StartApp: Creating application: Shared Image Viewer
09/13/04 16:20:37 992 EventClient eventclient.py:177 DEBUG Read Callback
called arg=None handle=_a8fb8001_p_globus_io_handle_t result=(0, None, None)
n=4
09/13/04 16:20:37 992 EventClient eventclient.py:229 DEBUG Freeing callback
_10e28301_p_callbackStruct within callback
09/13/04 16:20:37 992 EventClient eventclient.py:238 DEBUG Have new
callback handle _10e28301_p_callbackStruct
09/13/04 16:20:37 992 EventClient eventclient.py:177 DEBUG Read Callback
called arg=None handle=_a8fb8001_p_globus_io_handle_t result=(0, None, None)
n=522
09/13/04 16:20:37 992 EventClient eventclient.py:218 DEBUG finally read
enough data, wait=522 buflen=522
09/13/04 16:20:37 992 EventClient eventclient.py:253 DEBUG Invoking
callback <bound method VenueClient.AddApplicationEvent of
<AccessGrid.VenueClient.VenueClient instance at 0x01EDD1C0>>...
09/13/04 16:20:37 2476 VenueClient venueclient.py:550 DEBUG
AddApplicationEvent: Got Add Application Event
09/13/04 16:20:37 2476 VenueClient venueclientui.py:1833 DEBUG EVENT - Add
application: Shared Image Viewer - 04:20:36 PM September 13, 2004, Mime Type:
application/x-ag-shared-image-viewer
09/13/04 16:20:37 992 EventClient eventclient.py:259 DEBUG Invoking
callback <bound method VenueClient.AddApplicationEvent of
<AccessGrid.VenueClient.VenueClient instance at 0x01EDD1C0>>...done
09/13/04 16:20:37 992 EventClient eventclient.py:261 INFO No callback for
Add application!
09/13/04 16:20:37 992 EventClient eventclient.py:329 INFO Got callback for
Add application event!
09/13/04 16:20:37 992 EventClient eventclient.py:224 DEBUG handleData
returns
09/13/04 16:20:37 992 EventClient eventclient.py:229 DEBUG Freeing callback
_10e28301_p_callbackStruct within callback
09/13/04 16:20:37 992 EventClient eventclient.py:238 DEBUG Have new
callback handle _10e28301_p_callbackStruct
09/13/04 16:20:39 3656 VenueClient venueclientui.py:3210 INFO Got
commands: (application/x-ag-shared-image-viewer) {'Open':
'C:\\Python23\\python.exe SharedImageViewer.py -d -a %(appUrl)s -v
%(venueUrl)s'}
09/13/04 16:22:04 992 EventClient eventclient.py:177 DEBUG Read Callback
called arg=None handle=_a8fb8001_p_globus_io_handle_t result=(0, None, None)
n=4
09/13/04 16:22:04 992 EventClient eventclient.py:229 DEBUG Freeing callback
_10e28301_p_callbackStruct within callback
09/13/04 16:22:04 992 EventClient eventclient.py:238 DEBUG Have new
callback handle _18318301_p_callbackStruct
09/13/04 16:22:04 992 EventClient eventclient.py:177 DEBUG Read Callback
called arg=None handle=_a8fb8001_p_globus_io_handle_t result=(0, None, None)
n=4096
09/13/04 16:22:04 992 EventClient eventclient.py:229 DEBUG Freeing callback
_18318301_p_callbackStruct within callback
09/13/04 16:22:04 992 EventClient eventclient.py:238 DEBUG Have new
callback handle _18318301_p_callbackStruct
09/13/04 16:22:04 992 EventClient eventclient.py:177 DEBUG Read Callback
called arg=None handle=_a8fb8001_p_globus_io_handle_t result=(0, None, None)
n=505
09/13/04 16:22:04 992 EventClient eventclient.py:218 DEBUG finally read
enough data, wait=4601 buflen=4601
09/13/04 16:22:04 992 EventClient eventclient.py:269 WARNING handleData
unable to import pyGlobus.AGGSISOAP
09/13/04 16:22:04 992 EventClient eventclient.py:224 DEBUG handleData
returns
09/13/04 16:22:04 992 EventClient eventclient.py:229 DEBUG Freeing callback
_18318301_p_callbackStruct within callback
09/13/04 16:22:04 992 EventClient eventclient.py:238 DEBUG Have new
callback handle _18318301_p_callbackStruct
09/13/04 16:23:04 3656 VenueClient venueclientui.py:3210 INFO Got
commands: (application/x-ag-shared-image-viewer) {'Open':
'C:\\Python23\\python.exe SharedImageViewer.py -d -a %(appUrl)s -v
%(venueUrl)s'}
09/13/04 16:23:05 3656 VenueClientController venueclientcontroller.py:1189
INFO StartCmd starting command: C:\Python23\python.exe SharedImageViewer.py -d
-a https://141.142.64.5:9000/119 -v
https://venues.ncsa.uiuc.edu:9000/Venues/default
09/13/04 16:23:05 3656 ProcessManager processmanager.py:59 DEBUG Creating
process: C:\Python23\python.exe SharedImageViewer.py -d -a
https://141.142.64.5:9000/119 -v
https://venues.ncsa.uiuc.edu:9000/Venues/default
09/13/04 16:23:06 3656 ProcessManager processmanager.py:72 DEBUG Create
process returns: (<PyHANDLE object at 0x01F4AA0C>, <PyHANDLE object at
0x01F721BC>, 3236, 3220)
09/13/04 16:28:08 3656 VenueClient venueclientui.py:3210 INFO Got
commands: (application/x-ag-shared-image-viewer) {'Open':
'C:\\Python23\\python.exe SharedImageViewer.py -d -a %(appUrl)s -v
%(venueUrl)s'}
09/13/04 16:28:12 992 EventClient eventclient.py:177 DEBUG Read Callback
called arg=None handle=_a8fb8001_p_globus_io_handle_t result=(0, None, None)
n=4
09/13/04 16:28:12 992 EventClient eventclient.py:229 DEBUG Freeing callback
_18318301_p_callbackStruct within callback
09/13/04 16:28:12 992 EventClient eventclient.py:238 DEBUG Have new
callback handle _18318301_p_callbackStruct
09/13/04 16:28:12 992 EventClient eventclient.py:177 DEBUG Read Callback
called arg=None handle=_a8fb8001_p_globus_io_handle_t result=(0, None, None)
n=525
09/13/04 16:28:12 992 EventClient eventclient.py:218 DEBUG finally read
enough data, wait=525 buflen=525
09/13/04 16:28:12 992 EventClient eventclient.py:253 DEBUG Invoking
callback <bound method VenueClient.RemoveApplicationEvent of
<AccessGrid.VenueClient.VenueClient instance at 0x01EDD1C0>>...
09/13/04 16:28:12 2476 VenueClient venueclient.py:565 DEBUG
RemoveApplicationEvent: Got Remove Application Event
09/13/04 16:28:12 2476 VenueClient venueclientui.py:1849 DEBUG EVENT -
Remove application: Shared Image Viewer - 04:20:36 PM September 13, 2004
09/13/04 16:28:12 992 EventClient eventclient.py:259 DEBUG Invoking
callback <bound method VenueClient.RemoveApplicationEvent of
<AccessGrid.VenueClient.VenueClient instance at 0x01EDD1C0>>...done
09/13/04 16:28:12 992 EventClient eventclient.py:261 INFO No callback for
Remove application!
09/13/04 16:28:12 992 EventClient eventclient.py:329 INFO Got callback for
Remove application event!
09/13/04 16:28:12 992 EventClient eventclient.py:224 DEBUG handleData
returns
09/13/04 16:28:12 992 EventClient eventclient.py:229 DEBUG Freeing callback
_18318301_p_callbackStruct within callback
09/13/04 16:28:12 992 EventClient eventclient.py:238 DEBUG Have new
callback handle _18318301_p_callbackStruct
09/13/04 16:28:14 3656 VenueClient venueclientui.py:1599 INFO ---------
END VenueClient
09/13/04 16:28:14 3656 VenueClient venueclient.py:935 INFO ExitVenue
09/13/04 16:28:14 3656 ProcessManager processmanager.py:135 ERROR couldn't
shutdown process <PyHANDLE:1116>: (1444, 'PostThreadMessage', 'Invalid thread
identifier.')
Traceback (most recent call last):
File
"C:\Python23\Lib\site-packages\AccessGrid\Platform\win32\ProcessManager.py",
line 128, in TerminateProcess
win32api.PostThreadMessage(self.threadid[pid], 18, 0, 0)
error: (1444, 'PostThreadMessage', 'Invalid thread identifier.')
09/13/04 16:28:14 3656 ProcessManager processmanager.py:142 ERROR couldn't
terminate process <PyHANDLE:1116>: (5, 'TerminateProcess', 'Access is denied.')
Traceback (most recent call last):
File
"C:\Python23\Lib\site-packages\AccessGrid\Platform\win32\ProcessManager.py",
line 139, in TerminateProcess
win32process.TerminateProcess(pid, 0)
error: (5, 'TerminateProcess', 'Access is denied.')
09/13/04 16:28:14 3656 VenueClient venueclient.py:978 INFO ExitVenue:
Stopping node services
09/13/04 16:28:15 908 NodeService agnodeservice.py:278 INFO
NodeService.StopServices
09/13/04 16:28:15 3496 ServiceManager agservicemanager.py:399 INFO
AGServiceManager.StopServices
09/13/04 16:28:17 3336 NodeService agnodeservice.py:302 INFO
NodeService.SetStreams
09/13/04 16:28:17 3336 NodeService agnodeservice.py:233 INFO
NodeService.GetServices
09/13/04 16:28:18 3792 ServiceManager agservicemanager.py:389 INFO
AGServiceManager.GetServices
09/13/04 16:28:18 3336 NodeService agnodeservice.py:782 INFO
NodeService.__SendStreamsToService
09/13/04 16:28:18 3336 NodeService agnodeservice.py:782 INFO
NodeService.__SendStreamsToService
09/13/04 16:28:19 3656 VenueClient venueclient.py:892 INFO ExitVenue:
Stopping heartbeats
09/13/04 16:28:20 992 EventClient eventclient.py:177 DEBUG Read Callback
called arg=None handle=_a8fb8001_p_globus_io_handle_t result=(-1, 36, 'an
end-of-file was reached') n=0
09/13/04 16:28:20 992 EventClient eventclient.py:180 DEBUG readCallback
gets failure in result: -1 36
09/13/04 16:28:20 3656 VenueClient venueclient.py:903 DEBUG ExitVenue: Stop
event client obj
09/13/04 16:28:20 3656 EventClient eventclient.py:303 DEBUG Cancel pending
callbacks
09/13/04 16:28:20 3656 EventClient eventclient.py:309 DEBUG Free callback
_18318301_p_callbackStruct
09/13/04 16:28:20 3656 EventClient eventclient.py:315 DEBUG
EventClient.Stop: closing socket
09/13/04 16:28:20 3656 EventClient eventclient.py:323 DEBUG
EventClient.Stop: closing queue
09/13/04 16:28:20 3656 VenueClient venueclient.py:905 DEBUG ExitVenue:
Remove event client reference
09/13/04 16:28:20 3656 VenueClient venueclient.py:910 INFO ExitVenue:
Stopping text client
09/13/04 16:28:20 3656 VenueClient venueclient.py:914 DEBUG ExitVenue:
Sending client disconnect event.
09/13/04 16:28:21 3656 TextConnection textclient.py:164 DEBUG
TextConnection.Write: EVENT --- Input
09/13/04 16:28:21 3656 TextConnection textclient.py:165 DEBUG
TextConnection.Write: Event:
Type: Disconnect Venue: 000000f797870a7a008d008e00420092fa9
09/13/04 16:28:21 2960 TextConnection textclient.py:207 DEBUG
TextConnection: Got read handle=_487d8601_p_globus_io_handle_t ret=(-1, 44, 'an
I/O operation was cancelled') n=0
09/13/04 16:28:21 2960 TextConnection textclient.py:210 DEBUG
TextConnection: asynch read gets n=0, EOF
09/13/04 16:28:21 3656 TextConnection textclient.py:154 DEBUG
TextClient.Stop
09/13/04 16:28:21 3656 VenueClient venueclient.py:917 DEBUG ExitVenue:
Remove text client reference
09/13/04 16:28:21 3656 DataStore datastore.py:1577 DEBUG Quitting thread 0
09/13/04 16:28:21 1144 DataStore datastore.py:1518 DEBUG Worker 0 gets cmd
quit
09/13/04 16:28:21 1144 DataStore datastore.py:1531 DEBUG Worker 0 exiting
09/13/04 16:28:21 2932 DataStore datastore.py:1590 INFO
GSIHTTPTransferServer: GSITCPSocket, interrupted I/O operation, most likely
shutting down.
09/13/04 16:28:21 3656 NodeService agnodeservice.py:113 INFO
NodeService.Stop
09/13/04 16:28:21 3656 ServiceManager agservicemanager.py:84 INFO
AGServiceManager.Shutdown
09/13/04 16:28:21 3656 ServiceManager agservicemanager.py:85 INFO Remove
services
09/13/04 16:28:21 3656 ServiceManager agservicemanager.py:379 INFO
AGServiceManager.RemoveServices
09/13/04 16:28:21 3656 ServiceManager agservicemanager.py:320 INFO
AGServiceManager.RemoveService
09/13/04 16:28:21 3656 ServiceManager agservicemanager.py:320 INFO
AGServiceManager.RemoveService
09/13/04 16:28:22 3656 ProcessManager processmanager.py:133 WARNING
Couldn't terminate process <PyHANDLE:1044> cleanly (258)
09/13/04 16:28:22 3656 ServiceManager agservicemanager.py:87 INFO Stop
network interface
09/13/04 16:28:22 904 Hosting server.py:65 ERROR Exception in SOAP server
main loop
Traceback (most recent call last):
File
"C:\software\AccessGrid\build\dist-20040910_210059\Lib\site-packages\AccessGrid\hosting\SOAPpy\Server.py",
line 63, in Run
File "C:\Python23\lib\SocketServer.py", line 217, in handle_request
request, client_address = self.get_request()
File
"C:\software\AccessGrid\build\dist-20040910_210059\Lib\site-packages\SOAPpy\GSIServer.py",
line 140, in get_request
File "C:\Python23\Lib\site-packages\pyGlobus\io.py", line 525, in get_request
self.socket.listen()
File "C:\Python23\Lib\site-packages\pyGlobus\io.py", line 857, in listen
raise ex
GSITCPSocketException: an I/O operation was cancelled
09/13/04 16:28:22 3656 Hosting server.py:97 ERROR server_close() failed
Traceback (most recent call last):
File
"C:\software\AccessGrid\build\dist-20040910_210059\Lib\site-packages\AccessGrid\hosting\SOAPpy\Server.py",
line 95, in Stop
File "C:\Python23\Lib\site-packages\pyGlobus\io.py", line 1043, in
server_close
self.socket.close()
File "C:\Python23\Lib\site-packages\pyGlobus\io.py", line 1020, in close
IOBase.close(self)
File "C:\Python23\Lib\site-packages\pyGlobus\io.py", line 176, in close
raise ex
IOBaseException: an uninitialied data structure was passed as argument 1 to
globus_io_register_close
09/13/04 16:28:22 3656 Hosting server.py:97 ERROR server_close() failed
Traceback (most recent call last):
File
"C:\software\AccessGrid\build\dist-20040910_210059\Lib\site-packages\AccessGrid\hosting\SOAPpy\Server.py",
line 95, in Stop
File "C:\Python23\Lib\site-packages\pyGlobus\io.py", line 1043, in
server_close
self.socket.close()
File "C:\Python23\Lib\site-packages\pyGlobus\io.py", line 1020, in close
IOBase.close(self)
File "C:\Python23\Lib\site-packages\pyGlobus\io.py", line 176, in close
raise ex
IOBaseException: an uninitialied data structure was passed as argument 1 to
globus_io_register_close
"""
A shared image viewer application for the Access Grid.
This application allows the user to view and annotate image data in a
collaborative environment provided by the Access Grid Toolkit. This is
a major revision of the original AGBasicImage application. The
modifications made bring the application into conformance with the
AG2.3 environment. This new version of the application is modeled after
the sharedbrowser.py application distributed with the AG2.3 software.
AG Version - 2.3
Dave Semeraro
NCSA - UIUC
2004
"""
# Import the usual suspects
import os
import sys
import logging
import getopt
# Import the wxPython stuff
import wx
from wx.lib.imagebrowser import *
# Import the AG stuff
from AccessGrid.SharedAppClient import SharedAppClient
from AccessGrid.Platform.Config import UserConfig
from AccessGrid.ClientProfile import ClientProfile
from AccessGrid import icons
from AccessGrid.Toolkit import WXGUIApplication
from AccessGrid.Toolkit import CmdlineApplication
from AccessGrid.DataStoreClient import GetVenueDataStore
from AccessGrid import Platform
#
# grab some event ID's
#
ID_OPEN = wx.NewId()
ID_OPEN_VENUE = wx.NewId()
ID_EXIT = wx.NewId()
#
wildcard = "JPEG Files (*.JPG)|*.jpg|"\
"Gif Files (*.GIF)|*.gif|"\
"All Files (*.*)|*.*"
#
#class BIFileDropTarget(wxFileDropTarget):
# def __init__(self,window):
# wxFileDropTarget.__init__(self)
# self.window = window
# def OnDropFiles(self,x,y,filenames):
# for file in filenames:
# self.window.wind.LoadImageFromFilename(file)
# self.window.AG.UploadFile(file)
#
self.window.AG.PutData(self.window.imagedataname,os.path.split(file)[1])
# self.window.AG.SendEvent("NewImage",os.path.split(file[1])
class ViewerFrame(wx.Frame):
menuColours = { 200 : 'Black',
201 : 'Yellow',
202 : 'Red',
203 : 'Green',
204 : 'Blue',
205 : 'Purple',
206 : 'Brown'
}
# this doesnt do much but set up the menu. The events are mapped to another
# class
def __init__(self,parent,ID):
wx.Frame.__init__(self,parent,ID,"SharedImageViewer: no image
loaded",size=(800,600),style=wx.DEFAULT_FRAME_STYLE |
wx.NO_FULL_REPAINT_ON_RESIZE)
menu = wx.Menu()
menu.Append(ID_OPEN,"&Open...","Open an image file")
menu.Append(ID_OPEN_VENUE,"&Open from venue...","Open a venue
image file")
menu.AppendSeparator()
menu.Append(ID_EXIT,"&Exit","Terminate with extreme prejudice")
colormenu = wx.Menu()
keys = self.menuColours.keys()
keys.sort()
for k in keys:
text = self.menuColours[k]
colormenu.AppendRadioItem(k,text)
menubar = wx.MenuBar()
menubar.Append(menu,"&File")
menubar.Append(colormenu,"&Colors")
self.SetMenuBar(menubar)
#
# Define the viewerwindow class here
#
class ViewerWindow(wx.Window):
def __init__(self,parent,ID):
wx.Window.__init__(self,parent,ID,style=wx.NO_FULL_REPAINT_ON_RESIZE)
self.imagefile = None
self.parentframe = parent
self.image = None
self.lines = []
self.thickness = 1
self.SetColour("Black")
self.SetBackgroundColour("WHITE")
self.InitBuffer()
# old way of doing event bindings
#wx.EVT_IDLE(self,self.OnIdle)
#wx.EVT_SIZE(self,self.OnSize)
#wx.EVT_PAINT(self,self.OnPaint)
#wx.EVT_LEFT_DOWN(self, self.OnLeftDown)
#wx.EVT_LEFT_UP(self, self.OnLeftUp)
#wx.EVT_MOTION(self, self.OnMotion)
#new way
self.Bind(wx.EVT_IDLE, self.OnIdle)
self.Bind(wx.EVT_SIZE, self.OnSize)
self.Bind(wx.EVT_PAINT, self.OnPaint)
self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
self.Bind(wx.EVT_MOTION, self.OnMotion)
def InitBuffer(self):
size = self.GetClientSize()
if self.image == None:
self.buffer = wx.EmptyBitmap(size.width,size.height)
dc = wx.BufferedDC(None,self.buffer)
dc.SetBackground(wx.Brush(self.GetBackgroundColour()))
dc.Clear()
else:
self.Refresh(True)
self.buffer = self.image.ConvertToBitmap()
dc = wx.BufferedDC(None, self.buffer)
dc.SetBackground(wx.Brush(self.GetBackgroundColour()))
self.DrawLines(dc)
self.reInitBuffer = False
def LoadImageFromFilename(self,imagefilename):
self.imagefile = imagefilename
self.image = wx.Image(self.imagefile)
self.reInitBuffer = True
self.Refresh(True)
def SetColour(self,colour):
self.colour = colour
self.pen =
wx.Pen(wx.NamedColour(self.colour),self.thickness,wx.SOLID)
def SetThickness(self,num):
self.thickness = num
self.pen =
wx.Pen(wx.NamedColour(self.colour),self.thickness,wx.SOLID)
def LoadImage(self,animage):
imgdat = base64.decodestring(animage.data)
self.image =
wx.EmptyImage(string.atoi(animage.width),string.atoi(animage.height))
self.image.SetData(imgdat)
self.reInitBuffer = True
def OnIdle(self,event):
if self.reInitBuffer:
self.InitBuffer()
self.Refresh(False)
def OnSize(self,event):
self.reInitBuffer = True
def OnPaint(self,event):
dc = wx.BufferedPaintDC(self,self.buffer)
def OnLeftDown(self,event):
self.curLine = []
self.x, self.y = event.GetPositionTuple()
self.CaptureMouse()
def OnLeftUp(self,event):
if self.HasCapture():
self.lines.append((self.colour, self.thickness,
self.curLine))
self.ReleaseMouse()
def GetMarkup(self):
return (self.colour, self.thickness, self.curLine)
def DrawLines(self,dc):
dc.BeginDrawing()
for colour, thickness, line in self.lines:
pen = wx.Pen(wx.NamedColour(colour),thickness,wxSolid)
dc.SetPen(pen)
for coords in line:
apply(dc.Drawline, coords)
dc.EndDrawing()
def OnMotion(self,event):
if event.Dragging() and event.LeftIsDown():
dc = wx.BufferedDC(wx.ClientDC(self), self.buffer)
dc = BeginDrawing()
dc.SetPen(self.pen)
pos = event.GetPositionTuple()
coords = (self.x,self.y) + pos
self.curLine.append(coords)
dc.DrawLine(self.x,self.y,pos[0],pos[1])
self.x,self.y = pos
dc.EndDrawing()
#
# Define the shared image viewer class here
#
class SharedImageViewer( wx.App ):
"""
Handle image viewing and sharing of image and markup data
"""
def OnInit(self):
return 1
def OnExit(self):
self.sharedAppClient.Shutdown()
self.frame.Close(True)
os._exit(1)
def __init__(self, appUrl, venueUrl, name):
wx.App.__init__(self, False)
self.sharedAppClient = SharedAppClient(name)
self.log = self.sharedAppClient.InitLogging()
self.markupdataname = "MarkupData"
self.imagedataname = "ImageFile"
# Get a Client Profile
try:
clientProfileFile =
os.path.join(UserConfig.instance().GetConfigDir(), "profile")
clientProfile = ClientProfile(clientProfileFile)
except:
self.log.info("SharedAppClient.Connect: Could not load
client profile, set clientProfile = None")
clientProfile = None
self.sharedAppClient.Join(appUrl,clientProfile)
self.dataStoreClient = GetVenueDataStore(venueUrl)
self.sharedAppClient.RegisterEventCallback("NewImage",self.HandleNewImage)
self.sharedAppClient.RegisterEventCallback("NewMarkup",self.HandleNewMarkup)
self.frame = ViewerFrame(None,-1)
self.window = ViewerWindow(self.frame, -1)
self.window.Bind(wx.EVT_LEFT_UP,self.ShareMarkup)
#EVT_LEFT_UP(self.window,self.ShareMarkup)
self.frame.Bind(wx.EVT_MENU,self.On_Open,id=ID_OPEN)
self.frame.Bind(wx.EVT_MENU,self.On_OpenVenue,id=ID_OPEN_VENUE)
self.frame.Bind(wx.EVT_MENU,self.OnExit,id=ID_EXIT)
#EVT_MENU(self.frame,ID_OPEN,self.On_Open)
#EVT_MENU(self.frame,ID_OPEN_VENUE,self.On_OpenVenue)
#EVT_MENU(self.frame,ID_EXIT,self.OnExit)
keys = self.frame.menuColours.keys()
for k in keys:
self.frame.Bind(wx.EVT_MENU,self.OnMenuSetColour,id=k)
#EVT_MENU(self.frame,k,self.OnMenuSetColour)
#dt = BIFileDropTarget(self.frame)
#self.frame.SetDropTarget(dt)
# see if there is an image in the venue and load it up
animage = self.sharedAppClient.GetData(self.imagedataname)
if animage == "":
self.log.info("SharedAppViewer: no image in venue")
else:
print "try to download ", animage
self.log.info("SharedAppViewer: initial image found")
localImageFile = self.DownloadFile(animage)
self.window.LoadImageFeomFilename(localImageFile)
title = os.path.split(localImageFile)[-1]
self.frame.SetTitle(title)
# see if there is markup in the venue and load it up
scribble = self.sharedAppClient.GetData(self.markupdataname)
if scribble == "":
self.log.info("SharedAppViewer: no markup in venue")
else:
self.wind.lines = cPickle.loads(scribble)
self.frame.Show(1)
self.SetTopWindow(self.frame)
def On_Open(self,event):
dir = os.getcwd()
dlg = ImageDialog(self.frame,dir)
dlg.Centre()
if dlg.ShowModal() == wx.ID_OK:
self.window.lines = []
localImageFile = dlg.GetFile()
venueImageFile =self.UploadFile(localImageFile)
file = os.path.split(localImageFile)[-1]
self.sharedAppClient.SetData(self.imagedataname,file)
self.window.LoadImageFromFilename(localImageFile)
self.sharedAppClient.SendEvent("NewImage",file)
def On_OpenVenue(self,event):
self.dataStoreClient.LoadData()
dlg = wx.SingleChoiceDialog(self.frame,"Select an image file to
load", "Load Venue Image Dialog",
self.dataStoreClient.dataIndex.keys())
if dlg.ShowModal() == wx.ID_OK:
venueImageFile = dlg.GetStringSelection()
localImageFile = self.DownloadFile(venueImageFile)
self.sharedAppClient.SetData(self.imagedataname,
venueImageFile)
file = os.path.split(localImageFile)[-1]
self.sharedAppClient.SendEvent("NewImage",file)
self.wind.LoadImageFeomFilename(localImageFile)
title = os.path.split(localImageFile)[-1]
self.frame.SetTitle(title)
def UploadFile(self,localFile):
self.dataStoreClient.Upload(localFile)
file = os.path.split(localFile) [-1]
venueDataUrl = os.path.join(self.dataStoreClient.uploadURL,file)
return venueDataUrl
def DownloadFile(self,venueDataUrl):
file = os.path.split(venueDataUrl) [-1]
#path = os.path.join(Platform.GetTempDir(),file)
self.dataStoreClient.LoadData()
self.dataStoreClient.Download(venueDataUrl,file)
return file
def HandleNewImage(self,eventdata):
(senderid,venueImageFile) = eventdata.data
if senderId != self.sharedAppClient.GetPublicId():
try:
localImageFile =
self.DownloadFile(venueImageFile)
#load the image
except:
self.log.exception("SharedImageViewer: could
not load image file from venue")
def ShareMarkup(self,eventdata):
self.window.OnLeftUp()
# retrieve the markup that is stored in the venue
scribble = self.sharedAppClient.GetData(self.markupdataname)
if scribble == None:
self.log.info("SharedImageViewer: no markup in venue")
markup = []
else:
markup = cPickle.loads(scribble)
markup.append(self.window.GetMarks())
self.sharedAppClient.SetData(self.markupdataname,cPickle.dumps(markup,0))
self.sharedAppClient.SendEvent("NewMarks",None)
def OnMenuSetColour(self,eventdata):
self.window.colour = self.frame.menuColours[eventdata.GetId()]
self.window.pen =
wx.Pen(wx.NamedColour(self.window.colour),self.window.thickness,wx.SOLID)
def HandleNewMarkup(self,eventdata):
(senderId,markslist) = eventdata.data
if senderId != self.sharedAppClient.GetPublicId():
try:
self.window.thickness = markslist[0]
self.window.lines.append((markslist[0],markslist[1],markslist[2]))
self.window.reInitBuffer = True
self.window.Refresh(True)
except:
self.log.exception("SharedImageViewer: whacked
markup import")
class ArgumentManager:
"""
stolen from the shared browser app and modified slightly for our use
"""
def __init__(self):
self.arguments = {}
self.arguments['applicationUrl'] = None
self.arguments['venueUrl'] = None
self.arguments['debug'] = 0
def GetArguments(self):
return self.arguments
def Usage(self):
print "%s:" % sys.argv[0]
print " -a|--applicationURL : <url to application in venue>"
print " -v|--venueURL : <url to venue>"
print " -d|--debug : <enables debug output>"
print " -h|--help : <print usage>"
def ProcessArgs(self):
try:
opts,args = getopt.getopt(sys.argv[1:], "a:v:d:h",
["applicationURL=","venueURL=","debug","help"])
except getopt.GetoptError:
self.Usage()
sys.exit(2)
for o, a in opts:
if o in ("-a", "--applicationURL"):
self.arguments["applicationUrl"] = a
elif o in ("-v", "--venueURL"):
self.arguments["venueUrl"] = a
elif o in ("-d", "--debug"):
self.arguments["debug"] = 1
elif o in ("-h", "--help"):
self.Usage()
self.exit(0)
if __name__ == "__main__":
#app = WXGUIApplication()
app = CmdlineApplication.instance()
name = "SharedImageViewer"
am = ArgumentManager()
am.ProcessArgs()
aDict = am.GetArguments()
appUrl = aDict['applicationUrl']
venueUrl = aDict['venueUrl']
debugMode = aDict['debug']
init_args = []
if "--debug" in sys.argv or "-d" in sys.argv:
init_args.append("--debug")
#app.Initialize(name)
app.Initialize(name,args=init_args)
#if not appUrl:
# am.Usage()
#elif not venueUrl:
# am.Usage()
#else:
appUrl = "https://141.142.64.5:9000/119"
venueUrl = "https://venues.ncsa.uiuc.edu:9000/Venues/default"
wx.InitAllImageHandlers()
iv = SharedImageViewer(appUrl,venueUrl,name)
iv.MainLoop()