serf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Zhakov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SERF-173) serf_get crashes with segmentation fault on two requests and concurrent connections with SPNEGO auth
Date Wed, 02 Sep 2015 09:20:45 GMT

    [ https://issues.apache.org/jira/browse/SERF-173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14727054#comment-14727054
] 

Ivan Zhakov commented on SERF-173:
----------------------------------

Subversion doesn't into this issue because it opens connections slowly one-by-one. See libsvn_ra_serf/update.c:open_connection_if_needed():
{noformat}
/** Minimum nr. of outstanding requests needed before a new connection is
 *  opened. */
#define REQS_PER_CONN 8

/** This function creates a new connection for this serf session, but only
 * if the number of NUM_ACTIVE_REQS > REQS_PER_CONN or if there currently is
 * only one main connection open.
 */
static svn_error_t *
open_connection_if_needed(svn_ra_serf__session_t *sess, int num_active_reqs)
{
  /* For each REQS_PER_CONN outstanding requests open a new connection, with
   * a minimum of 1 extra connection. */
  if (sess->num_conns == 1 ||
      ((num_active_reqs / REQS_PER_CONN) > sess->num_conns))
    {
      int cur = sess->num_conns;
      apr_status_t status;

      sess->conns[cur] = apr_pcalloc(sess->pool, sizeof(*sess->conns[cur]));
      sess->conns[cur]->bkt_alloc = serf_bucket_allocator_create(sess->pool,
                                                                 NULL, NULL);
      sess->conns[cur]->last_status_code = -1;
      sess->conns[cur]->session = sess;
      status = serf_connection_create2(&sess->conns[cur]->conn,
                                       sess->context,
                                       sess->session_url,
                                       svn_ra_serf__conn_setup,
                                       sess->conns[cur],
                                       svn_ra_serf__conn_closed,
                                       sess->conns[cur],
                                       sess->pool);
      if (status)
        return svn_ra_serf__wrap_err(status, NULL);

      sess->num_conns++;
    }

  return SVN_NO_ERROR;
}
{noformat}

> serf_get crashes with segmentation fault on two requests and concurrent connections with
SPNEGO auth
> ----------------------------------------------------------------------------------------------------
>
>                 Key: SERF-173
>                 URL: https://issues.apache.org/jira/browse/SERF-173
>             Project: serf
>          Issue Type: Bug
>            Reporter: Michael Osipov
>              Labels: Priority-Medium, Type-Defect
>
> Using FreeBSD 9.3-STABLE, Serf trunk@2500, MIT Kerberos 1.13.2.
> Calling {{./serf_get -d -c 2 -n 2 http://...}} gives me "Segmentation fault: 11 (Speicherabzug
geschrieben)"
> Serf has been compiled with debug options, full logs, GDB stracktrace and core file can
be send privately.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message