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

Reply via email to