On 09/12/06, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:
Andrew Borley wrote: > On 12/7/06, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote: >> Andrew Borley wrote: >> > On 12/7/06, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote: >> >> Andrew Borley wrote: >> >> > On 12/5/06, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote: >> >> >> Andrew Borley wrote: >> >> >> > On 11/20/06, Jean-Sebastien Delfino <[EMAIL PROTECTED]> >> wrote: >> >> >> >> Jean-Sebastien Delfino wrote: >> >> >> >> > Hi, >> >> >> >> > >> >> >> >> > I checked in a version of Bigbank configured to run with >> Apache >> >> >> Httpd >> >> >> >> > (instead of the Axis2 mini HTTP server) under >> >> >> >> > cpp/sca/samples/HttpdBigbank. This is a slightly more >> >> distributed >> >> >> >> > version of the original Ruby Bigbank app, with the account >> >> >> service and >> >> >> >> > account data service in different SCA composites. The >> httpserver >> >> >> >> > directory contains scripts to start/stop Httpd and a very >> >> minimal >> >> >> >> > Httpd configuration, tested on Linux with Apache httpd 2.2.3 . >> >> >> You will >> >> >> >> > need to complete this conf to make it point to your Axis2C >> home >> >> >> >> > directory, as described in the README file. >> >> >> >> > >> >> >> >> > I'd like to have all our samples running like this behind >> Apache >> >> >> >> > httpd. Could you please take a look? see if it can work >> the same >> >> >> way >> >> >> >> > on Windows, and let me know your comments? Thanks. >> >> >> >> > >> >> >> >> >> >> >> >> I further simplified the configuration, with revision >> r476996 you >> >> >> don't >> >> >> >> need to make any changes to httpd.conf. The start script now >> >> >> generates >> >> >> >> it for you. >> >> >> >> >> >> >> > >> >> >> > I've just committed a few files to allow this sample to run >> under >> >> >> > windows - unfortunately there's a Ruby bug at the moment so it >> >> >> > currently segv's, but it was pretty much working before I did an >> >> svn >> >> >> > up, so I've put it in! >> >> >> > >> >> >> > Cheers >> >> >> > >> >> >> > Andy >> >> >> > >> >> >> > >> >> --------------------------------------------------------------------- >> >> >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> > For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > >> >> >> > >> >> >> >> >> >> Cool! What is causing a segv? Is there a bug in the Ruby >> >> interpreter? or >> >> >> is this a bug in our code that we can fix? >> >> >> >> >> > >> >> > I believe it's in our code - none of the Ruby samples currently >> work. >> >> > I haven't had time to pin it down yet.. >> >> > >> >> > Andy >> >> > >> >> > >> --------------------------------------------------------------------- >> >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> > For additional commands, e-mail: [EMAIL PROTECTED] >> >> > >> >> > >> >> >> >> Andy, >> >> >> >> Which Ruby binary distribution are you using? I remember Simon >> saying he >> >> had trouble with the Cigwin Ruby based distribution. I have installed >> >> the one click ruby installer for windows at >> >> http://rubyinstaller.rubyforge.org/wiki/wiki.pl and will give it a >> try >> >> as well. >> > >> > I now have the other Ruby samples working, but the HttpdBigBank is >> > still falling over. Debugging it inside httpd is near impossible, so I >> > was going to get a local client running - I'm wondering if it's >> > something to do with the multiple calls into the Axis2C stack that the >> > sample does, but at this point it's mostly conjecture. >> > >> > Cheers >> > Andy >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > For additional commands, e-mail: [EMAIL PROTECTED] >> > >> > >> >> Andy, >> >> What was causing the Ruby samples to fail initially, is it anything that >> we can improve in our code, or document better so that people don't run >> into this? > > I'm not sure what it was - it was one of those that just seemed to go > away! I expect it was some mismatch between dlls as I did a full > rebuild of everything, and discovered that some things worked again! > >> Apache httpd is difficult to debug if you start it with apachectl - k >> start, but there's a way to start it with httpd -X so that it doesn't >> fork processes and stays attached to the current console, so you also >> see any printf output from your code. Here's what I have been doing to >> debug on Linux and this allowed me to set breakpoints and debug as >> usual: >> httpd -k start -X -d >> $TUSCANY_SCACPP/samples/HttpdBigBank/deploy/httpserver > > Yep - this is how the startserver.bat script runs at the moment - I > couldn't find a way to get any environment variables at all into HTTPD > when I was running it as a windows service (via "httpd -k install -d > ..." and "http -k start -d ...") , and I tried a lot of different > ways! I didn't see anything about the -X flag, so perhaps that's the > next one to try - getting stdout to work as well would be great cos it > took me ages to find out that the environment variables weren't > working! > >> Also, the HttpdBigBank scenario is made of 2 composites, AccountService >> calls AccountDataService to get data on the customer's accounts. Since >> this scenario requires two processes (the first one calling the second >> one), to run it in this debug mode, you'll need two HTTP servers, each >> one running a single process. To configure this you can simply make a >> copy of the httpserver sample dir, adjust its port number in httpd.conf , >> adjust the binding URIs in the sample SCDL to connect the two together. > > I'm wondering if this is the issue I'm hitting - I'm running them both > in a single server and it seems to be failing after the first call out > from the AccountService to the AccountDataService - I wonder if it's > an Axis issue, perhaps having some problem with the fact that I've got > a service calling another service (which is that old axis/windows > issue that they've targeted for 0.96) > >> Another thing you can do is bring up the scenario step by step, and >> first check that AccountDataService works without AccountService in the >> picture, using a Web Service test client to invoke AccountDataService >> from its WSDL for example. >> >> Are you getting a specific exception? Do the logs tell you in which >> composite the problem occurs? > > No, no exception or specific log message, just a failure around when > the AccountDataService returns the getCheckingAccount call. > > Cheers > Andy > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > I think that the issue on Windows is a multithreading issue. The Apache Httpd win32 distribution uses mod_winnt to handle requests: all requests are handled in threads in a single Win32 process. SCARuntime currently keeps track of the current composite component on a process basis, this needs to change to be done on a thread basis.
I thought we'd have to do this sooner or later, I just didn't understand Win threading when I wrote this many moons ago! We also need to make sure there are no static variables in the runtime. Cheers, -- Pete