You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Andrew Perry (JIRA)" <ax...@ws.apache.org> on 2004/11/10 19:41:24 UTC

[jira] Commented: (AXISCPP-237) dlopen failures should show reason for failure

     [ http://nagoya.apache.org/jira/browse/AXISCPP-237?page=comments#action_55323 ]
     
Andrew Perry commented on AXISCPP-237:
--------------------------------------

Now that the code has been re-factored to use the platforms directory for platform specific code and use #defines in the code, a new #define could be added called PLATFORM_LOADLIB_ERROR which can be set to lt_dlerror() or dlerror() for unix and "" for other platforms, or whatever routine exists or could be written to show a reason for failure on the other platforms.

The AxisEngineException(const int, char*); method could then be called with PLATFORM_LOADLIB_ERROR as the char* parameter. For platforms that do not have an error routine will pass in the empty string. This will greatly simplify fault tracking for a user. At the very least this should be added to the TRACE messages.

Another alternative is to only define the PLATFORM_LOADLIB_ERROR for platforms that support it and ifdef the throw call. This will prevent the "" empty string being passed as a parameter.

#if defined(PLATFORM_LOADLIB_ERROR)
throw AxisEngineException(...., PLATFORM_LOADLIB_ERROR);
#else
throw AxisEngineException(....);
#endif

> dlopen failures should show reason for failure
> ----------------------------------------------
>
>          Key: AXISCPP-237
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-237
>      Project: Axis-C++
>         Type: Improvement
>  Environment: All
>     Reporter: Andrew Perry
>     Priority: Minor

>
> When a dlopen() error occurs a message like "DLOPEN FAILED in loading parser library" is exception message thrown. For problem determination it would be much more beneficial to output the reason for failure too, i.e. the output of dlerror().
> The AxisEngineException code already has support for this, but it hasn't been implemented in XMLParserFactory.cpp, SOAPTransportFactory.cpp or HandlerLoader.cpp, where a dlerror() can just be added to the throw AxisEngineException statement.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Re: [jira] Commented: (AXISCPP-237) dlopen failures should show reason for failure

Posted by Andrew Perry2 <PE...@uk.ibm.com>.



Nadir,

I chose to include the PLATFORM_LOADLIB_ERROR definition in all the
platform files. For OS400 I set it to "" as I was not sure if
os400_dlerror() was a valid function. I noticed that the other dl type
calls were extern'd in the header, but not dlerror. Please update the file
if it is supported.

Regards,

Andrew Perry
Clients for Web Service Stack
perryan@uk.ibm.com
Mail Point 127
IBM UK Laboratories. Hursley Park, Winchester, Hants. SO21 2JN
Tel. Internal 249828  External + 44 (0)1962 819828
Fax. + 44(0)1962 818080

Nadir Amra <am...@us.ibm.com> wrote on 11/11/2004 17:38:31:

>
> Andrew, I guess I would prefer the method where there no ifdefs, a
> null string is good enough for me if a platform does not support
> getting the error. Not sure if that was you implementation or not.


Re: [jira] Commented: (AXISCPP-237) dlopen failures should show reason for failure

Posted by Nadir Amra <am...@us.ibm.com>.
Andrew, I guess I would prefer the method where there no ifdefs, a null 
string is good enough for me if a platform does not support getting the 
error. Not sure if that was you implementation or not.

Re: [jira] Commented: (AXISCPP-237) dlopen failures should show reason for failure

Posted by Roshan Weerasuriya <ro...@opensource.lk>.
+1,

Roshan

On Thu, 2004-11-11 at 17:06, Samisa Abeysinghe wrote:
> +1.
> Samisa...
> 
> --- Andrew Perry2 <PE...@uk.ibm.com> wrote:
> 
> > 
> > 
> > 
> > 
> > As there have been no comments, I shall just commit my changes and the
> > exceptions will output useful information.
> > 
> > Regards,
> > 
> > Andrew Perry
> > Clients for Web Service Stack
> > perryan@uk.ibm.com
> > Mail Point 127
> > IBM UK Laboratories. Hursley Park, Winchester, Hants. SO21 2JN
> > Tel. Internal 249828  External + 44 (0)1962 819828
> > Fax. + 44(0)1962 818080
> > 
> > Andrew Perry2/UK/IBM@IBMGB wrote on 10/11/2004 18:45:48:
> > 
> > >
> > >
> > >
> > >
> > > Was there a reason why no useful information was thrown with the
> > exception,
> > > or was it simply the platform coverage issues.
> > > I feel that if loadLib() fails the user should be given the reason for
> > > failure if it is available.
> > >
> > > Comments please.
> > >
> > > Andrew Perry
> > > Clients for Web Service Stack
> > > perryan@uk.ibm.com
> > > Mail Point 127
> > > IBM UK Laboratories. Hursley Park, Winchester, Hants. SO21 2JN
> > > Tel. Internal 249828  External + 44 (0)1962 819828
> > > Fax. + 44(0)1962 818080
> > >
> > >
> > >
> > 
> > >              "Andrew Perry
> > 
> > >              (JIRA)"
> > 
> > >              <axis-c-dev@ws.ap
> > To
> > >              ache.org>                 axis-c-dev@ws.apache.org
> > 
> > >
> > cc
> > >              10/11/2004 18:41
> > 
> > >
> > Subject
> > >                                        [jira] Commented: (AXISCPP-237)
> > 
> > >              Please respond to         dlopen failures should show reason
> > 
> > >               "Apache AXIS C           for failure
> > 
> > >              Developers List"
> > 
> > >
> > 
> > >
> > 
> > >
> > 
> > >
> > 
> > >
> > 
> > >
> > >
> > >
> > >
> > >      [
> > >
> > http://nagoya.apache.org/jira/browse/AXISCPP-237?page=comments#action_55323
> > > ]
> > >
> > > Andrew Perry commented on AXISCPP-237:
> > > --------------------------------------
> > >
> > > Now that the code has been re-factored to use the platforms directory for
> > > platform specific code and use #defines in the code, a new #define could
> > be
> > > added called PLATFORM_LOADLIB_ERROR which can be set to lt_dlerror() or
> > > dlerror() for unix and "" for other platforms, or whatever routine exists
> > > or could be written to show a reason for failure on the other platforms.
> > >
> > > The AxisEngineException(const int, char*); method could then be called
> > with
> > > PLATFORM_LOADLIB_ERROR as the char* parameter. For platforms that do not
> > > have an error routine will pass in the empty string. This will greatly
> > > simplify fault tracking for a user. At the very least this should be
> > added
> > > to the TRACE messages.
> > >
> > > Another alternative is to only define the PLATFORM_LOADLIB_ERROR for
> > > platforms that support it and ifdef the throw call. This will prevent the
> > > "" empty string being passed as a parameter.
> > >
> > > #if defined(PLATFORM_LOADLIB_ERROR)
> > > throw AxisEngineException(...., PLATFORM_LOADLIB_ERROR);
> > > #else
> > > throw AxisEngineException(....);
> > > #endif
> > >
> > > > dlopen failures should show reason for failure
> > > > ----------------------------------------------
> > > >
> > > >          Key: AXISCPP-237
> > > >          URL: http://nagoya.apache.org/jira/browse/AXISCPP-237
> > > >      Project: Axis-C++
> > > >         Type: Improvement
> > > >  Environment: All
> > > >     Reporter: Andrew Perry
> > > >     Priority: Minor
> > >
> > > >
> > > > When a dlopen() error occurs a message like "DLOPEN FAILED in loading
> > > parser library" is exception message thrown. For problem determination it
> > > would be much more beneficial to output the reason for failure too, i.e.
> > > the output of dlerror().
> > > > The AxisEngineException code already has support for this, but it
> > hasn't
> > > been implemented in XMLParserFactory.cpp, SOAPTransportFactory.cpp or
> > > HandlerLoader.cpp, where a dlerror() can just be added to the throw
> > > AxisEngineException statement.
> > >
> > > --
> > > This message is automatically generated by JIRA.
> > > -
> > > If you think it was sent incorrectly contact one of the administrators:
> > >    http://nagoya.apache.org/jira/secure/Administrators.jspa
> > > -
> > > If you want more information on JIRA, or have a bug to report see:
> > >    http://www.atlassian.com/software/jira
> > >
> > >
> > >
> > 
> > 
> 
> 
> 
> 		
> __________________________________ 
> Do you Yahoo!? 
> Check out the new Yahoo! Front Page. 
> www.yahoo.com
> 
> 
> 


Re: [jira] Commented: (AXISCPP-237) dlopen failures should show reason for failure

Posted by Samisa Abeysinghe <sa...@yahoo.com>.
+1.
Samisa...

--- Andrew Perry2 <PE...@uk.ibm.com> wrote:

> 
> 
> 
> 
> As there have been no comments, I shall just commit my changes and the
> exceptions will output useful information.
> 
> Regards,
> 
> Andrew Perry
> Clients for Web Service Stack
> perryan@uk.ibm.com
> Mail Point 127
> IBM UK Laboratories. Hursley Park, Winchester, Hants. SO21 2JN
> Tel. Internal 249828  External + 44 (0)1962 819828
> Fax. + 44(0)1962 818080
> 
> Andrew Perry2/UK/IBM@IBMGB wrote on 10/11/2004 18:45:48:
> 
> >
> >
> >
> >
> > Was there a reason why no useful information was thrown with the
> exception,
> > or was it simply the platform coverage issues.
> > I feel that if loadLib() fails the user should be given the reason for
> > failure if it is available.
> >
> > Comments please.
> >
> > Andrew Perry
> > Clients for Web Service Stack
> > perryan@uk.ibm.com
> > Mail Point 127
> > IBM UK Laboratories. Hursley Park, Winchester, Hants. SO21 2JN
> > Tel. Internal 249828  External + 44 (0)1962 819828
> > Fax. + 44(0)1962 818080
> >
> >
> >
> 
> >              "Andrew Perry
> 
> >              (JIRA)"
> 
> >              <axis-c-dev@ws.ap
> To
> >              ache.org>                 axis-c-dev@ws.apache.org
> 
> >
> cc
> >              10/11/2004 18:41
> 
> >
> Subject
> >                                        [jira] Commented: (AXISCPP-237)
> 
> >              Please respond to         dlopen failures should show reason
> 
> >               "Apache AXIS C           for failure
> 
> >              Developers List"
> 
> >
> 
> >
> 
> >
> 
> >
> 
> >
> 
> >
> >
> >
> >
> >      [
> >
> http://nagoya.apache.org/jira/browse/AXISCPP-237?page=comments#action_55323
> > ]
> >
> > Andrew Perry commented on AXISCPP-237:
> > --------------------------------------
> >
> > Now that the code has been re-factored to use the platforms directory for
> > platform specific code and use #defines in the code, a new #define could
> be
> > added called PLATFORM_LOADLIB_ERROR which can be set to lt_dlerror() or
> > dlerror() for unix and "" for other platforms, or whatever routine exists
> > or could be written to show a reason for failure on the other platforms.
> >
> > The AxisEngineException(const int, char*); method could then be called
> with
> > PLATFORM_LOADLIB_ERROR as the char* parameter. For platforms that do not
> > have an error routine will pass in the empty string. This will greatly
> > simplify fault tracking for a user. At the very least this should be
> added
> > to the TRACE messages.
> >
> > Another alternative is to only define the PLATFORM_LOADLIB_ERROR for
> > platforms that support it and ifdef the throw call. This will prevent the
> > "" empty string being passed as a parameter.
> >
> > #if defined(PLATFORM_LOADLIB_ERROR)
> > throw AxisEngineException(...., PLATFORM_LOADLIB_ERROR);
> > #else
> > throw AxisEngineException(....);
> > #endif
> >
> > > dlopen failures should show reason for failure
> > > ----------------------------------------------
> > >
> > >          Key: AXISCPP-237
> > >          URL: http://nagoya.apache.org/jira/browse/AXISCPP-237
> > >      Project: Axis-C++
> > >         Type: Improvement
> > >  Environment: All
> > >     Reporter: Andrew Perry
> > >     Priority: Minor
> >
> > >
> > > When a dlopen() error occurs a message like "DLOPEN FAILED in loading
> > parser library" is exception message thrown. For problem determination it
> > would be much more beneficial to output the reason for failure too, i.e.
> > the output of dlerror().
> > > The AxisEngineException code already has support for this, but it
> hasn't
> > been implemented in XMLParserFactory.cpp, SOAPTransportFactory.cpp or
> > HandlerLoader.cpp, where a dlerror() can just be added to the throw
> > AxisEngineException statement.
> >
> > --
> > This message is automatically generated by JIRA.
> > -
> > If you think it was sent incorrectly contact one of the administrators:
> >    http://nagoya.apache.org/jira/secure/Administrators.jspa
> > -
> > If you want more information on JIRA, or have a bug to report see:
> >    http://www.atlassian.com/software/jira
> >
> >
> >
> 
> 



		
__________________________________ 
Do you Yahoo!? 
Check out the new Yahoo! Front Page. 
www.yahoo.com 
 


Re: [jira] Commented: (AXISCPP-237) dlopen failures should show reason for failure

Posted by Andrew Perry2 <PE...@uk.ibm.com>.



As there have been no comments, I shall just commit my changes and the
exceptions will output useful information.

Regards,

Andrew Perry
Clients for Web Service Stack
perryan@uk.ibm.com
Mail Point 127
IBM UK Laboratories. Hursley Park, Winchester, Hants. SO21 2JN
Tel. Internal 249828  External + 44 (0)1962 819828
Fax. + 44(0)1962 818080

Andrew Perry2/UK/IBM@IBMGB wrote on 10/11/2004 18:45:48:

>
>
>
>
> Was there a reason why no useful information was thrown with the
exception,
> or was it simply the platform coverage issues.
> I feel that if loadLib() fails the user should be given the reason for
> failure if it is available.
>
> Comments please.
>
> Andrew Perry
> Clients for Web Service Stack
> perryan@uk.ibm.com
> Mail Point 127
> IBM UK Laboratories. Hursley Park, Winchester, Hants. SO21 2JN
> Tel. Internal 249828  External + 44 (0)1962 819828
> Fax. + 44(0)1962 818080
>
>
>

>              "Andrew Perry

>              (JIRA)"

>              <axis-c-dev@ws.ap
To
>              ache.org>                 axis-c-dev@ws.apache.org

>
cc
>              10/11/2004 18:41

>
Subject
>                                        [jira] Commented: (AXISCPP-237)

>              Please respond to         dlopen failures should show reason

>               "Apache AXIS C           for failure

>              Developers List"

>

>

>

>

>

>
>
>
>
>      [
>
http://nagoya.apache.org/jira/browse/AXISCPP-237?page=comments#action_55323
> ]
>
> Andrew Perry commented on AXISCPP-237:
> --------------------------------------
>
> Now that the code has been re-factored to use the platforms directory for
> platform specific code and use #defines in the code, a new #define could
be
> added called PLATFORM_LOADLIB_ERROR which can be set to lt_dlerror() or
> dlerror() for unix and "" for other platforms, or whatever routine exists
> or could be written to show a reason for failure on the other platforms.
>
> The AxisEngineException(const int, char*); method could then be called
with
> PLATFORM_LOADLIB_ERROR as the char* parameter. For platforms that do not
> have an error routine will pass in the empty string. This will greatly
> simplify fault tracking for a user. At the very least this should be
added
> to the TRACE messages.
>
> Another alternative is to only define the PLATFORM_LOADLIB_ERROR for
> platforms that support it and ifdef the throw call. This will prevent the
> "" empty string being passed as a parameter.
>
> #if defined(PLATFORM_LOADLIB_ERROR)
> throw AxisEngineException(...., PLATFORM_LOADLIB_ERROR);
> #else
> throw AxisEngineException(....);
> #endif
>
> > dlopen failures should show reason for failure
> > ----------------------------------------------
> >
> >          Key: AXISCPP-237
> >          URL: http://nagoya.apache.org/jira/browse/AXISCPP-237
> >      Project: Axis-C++
> >         Type: Improvement
> >  Environment: All
> >     Reporter: Andrew Perry
> >     Priority: Minor
>
> >
> > When a dlopen() error occurs a message like "DLOPEN FAILED in loading
> parser library" is exception message thrown. For problem determination it
> would be much more beneficial to output the reason for failure too, i.e.
> the output of dlerror().
> > The AxisEngineException code already has support for this, but it
hasn't
> been implemented in XMLParserFactory.cpp, SOAPTransportFactory.cpp or
> HandlerLoader.cpp, where a dlerror() can just be added to the throw
> AxisEngineException statement.
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
>    http://nagoya.apache.org/jira/secure/Administrators.jspa
> -
> If you want more information on JIRA, or have a bug to report see:
>    http://www.atlassian.com/software/jira
>
>
>


Re: [jira] Commented: (AXISCPP-237) dlopen failures should show reason for failure

Posted by Andrew Perry2 <PE...@uk.ibm.com>.



Was there a reason why no useful information was thrown with the exception,
or was it simply the platform coverage issues.
I feel that if loadLib() fails the user should be given the reason for
failure if it is available.

Comments please.

Andrew Perry
Clients for Web Service Stack
perryan@uk.ibm.com
Mail Point 127
IBM UK Laboratories. Hursley Park, Winchester, Hants. SO21 2JN
Tel. Internal 249828  External + 44 (0)1962 819828
Fax. + 44(0)1962 818080


                                                                           
             "Andrew Perry                                                 
             (JIRA)"                                                       
             <axis-c-dev@ws.ap                                          To 
             ache.org>                 axis-c-dev@ws.apache.org            
                                                                        cc 
             10/11/2004 18:41                                              
                                                                   Subject 
                                       [jira] Commented: (AXISCPP-237)     
             Please respond to         dlopen failures should show reason  
              "Apache AXIS C           for failure                         
             Developers List"                                              
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




     [
http://nagoya.apache.org/jira/browse/AXISCPP-237?page=comments#action_55323
]

Andrew Perry commented on AXISCPP-237:
--------------------------------------

Now that the code has been re-factored to use the platforms directory for
platform specific code and use #defines in the code, a new #define could be
added called PLATFORM_LOADLIB_ERROR which can be set to lt_dlerror() or
dlerror() for unix and "" for other platforms, or whatever routine exists
or could be written to show a reason for failure on the other platforms.

The AxisEngineException(const int, char*); method could then be called with
PLATFORM_LOADLIB_ERROR as the char* parameter. For platforms that do not
have an error routine will pass in the empty string. This will greatly
simplify fault tracking for a user. At the very least this should be added
to the TRACE messages.

Another alternative is to only define the PLATFORM_LOADLIB_ERROR for
platforms that support it and ifdef the throw call. This will prevent the
"" empty string being passed as a parameter.

#if defined(PLATFORM_LOADLIB_ERROR)
throw AxisEngineException(...., PLATFORM_LOADLIB_ERROR);
#else
throw AxisEngineException(....);
#endif

> dlopen failures should show reason for failure
> ----------------------------------------------
>
>          Key: AXISCPP-237
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-237
>      Project: Axis-C++
>         Type: Improvement
>  Environment: All
>     Reporter: Andrew Perry
>     Priority: Minor

>
> When a dlopen() error occurs a message like "DLOPEN FAILED in loading
parser library" is exception message thrown. For problem determination it
would be much more beneficial to output the reason for failure too, i.e.
the output of dlerror().
> The AxisEngineException code already has support for this, but it hasn't
been implemented in XMLParserFactory.cpp, SOAPTransportFactory.cpp or
HandlerLoader.cpp, where a dlerror() can just be added to the throw
AxisEngineException statement.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira