Apache

NAVIGATION
CATEGORIES
REFERRENCE
LINKS
  • apr_file operations returning system errno as apr_status_t

    5 answers - 592 bytes - related search similar search Add To My Delicious Add To My Stumble Upon Add To My Google Mark Add To My Facebook Add To My Digg Add To My Reddit

    Someone on IRC #apache just reported a stupid error message:
    (20014)Error string not specified yet: Error retrieving pid
    file /var/run/apache2.pid
    I took a look at what could be causing it, and it appears to
    be down to apr_file_* functions returning an old-fashioned
    system errno as an apr_status_t value. I haven't reproduced
    the user's reported error, but it comes from either
    apr_file_open or apr_file_read (via apr_file_read_full).
    Not sure how best to tackle this. Is there some reasoning
    behind what errno numbers can be returned here?
  • No.1 | | 808 bytes | |

    2/3/07, Nick Kew <nick (AT) webthing (DOT) comwrote:
    Someone on IRC #apache just reported a stupid error message:

    (20014)Error string not specified yet: Error retrieving pid
    file /var/run/apache2.pid

    I took a look at what could be causing it, and it appears to
    be down to apr_file_* functions returning an old-fashioned
    system errno as an apr_status_t value. I haven't reproduced
    the user's reported error, but it comes from either
    apr_file_open or apr_file_read (via apr_file_read_full).

    Not sure how best to tackle this. Is there some reasoning
    behind what errno numbers can be returned here?

    I was under the impression that apr_status_t is a superset of errno,
    so returning the current errno should be perfectly fine
    -garrett
  • No.2 | | 239 bytes | |

    2/4/07, Garrett Rooney <rooneg (AT) electricjellyfish (DOT) netwrote:
    I was under the impression that apr_status_t is a superset of errno,
    so returning the current errno should be perfectly fine
    It is. -- justin
  • No.3 | | 653 bytes | |

    Justin Erenkrantz wrote:
    2/4/07, Garrett Rooney <rooneg (AT) electricjellyfish (DOT) netwrote:
    >I was under the impression that apr_status_t is a superset of errno,
    >so returning the current errno should be perfectly fine


    It is. -- justin

    Sort of. Posix errno's. platforms need to munge their values
    with (Hmmm - it seems long past
    time to rename these )

    ranges are reserved for other errors getaddr results, and
    dlerror results.

    It gets complex - maybe some invocation of apr-config aught to spell out
    what ranges have been mapped to what?

    Bill
  • No.4 | | 1284 bytes | |

    Sun, 4 Feb 2007 00:07:22 +0100
    "Garrett Rooney" <rooneg (AT) electricjellyfish (DOT) netwrote:

    2/3/07, Nick Kew <nick (AT) webthing (DOT) comwrote:
    Someone on IRC #apache just reported a stupid error message:

    (20014)Error string not specified yet: Error retrieving pid
    file /var/run/apache2.pid

    I took a look at what could be causing it, and it appears to
    be down to apr_file_* functions returning an old-fashioned
    system errno as an apr_status_t value. I haven't reproduced
    the user's reported error, but it comes from either
    apr_file_open or apr_file_read (via apr_file_read_full).

    Not sure how best to tackle this. Is there some reasoning
    behind what errno numbers can be returned here?

    I was under the impression that apr_status_t is a superset of errno,
    so returning the current errno should be perfectly fine

    Nevertheless, the outcome (nonsense in place of an error message)
    is disturbing. That string comes from apr_error_string(), which
    should only happen for numbers in the range above APRS_START_ERRR
    where these strings are defined.

    Smells of bug to me, though it could of course be a build bug.

    FWIW, this error looks like APR_EGENERAL offset from the wrong base.
  • No.5 | | 449 bytes | |

    2/3/07, Nick Kew <nick (AT) webthing (DOT) comwrote:
    Someone on IRC #apache just reported a stupid error message:

    (20014)Error string not specified yet: Error retrieving pid
    file /var/run/apache2.pid

    20014 is APR_EGENERAL

    I suspect that this is from httpd/server/log.c:read_pid() returning
    APR_EGENERAL, rather than some apr function returning it.

    create an empty pid file and try "apachectl stop"

Re: apr_file operations returning system errno as apr_status_t


max 4000 letters.
Your nickname that display:
In order to stop the spam: 0 + 9 =
QUESTION ON "Apache"

EMSDN.COM