Android程序在魅族手机上报Fatal signal 11 (SIGSEGV)

02-24 15:53:59.789: A/libc(11909): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 11909

程序crash掉的时候logcat只有这一行日志

在其他手机上不会出现这个问题

经排查执行下面这段代码时报错
public HttpDTOBase sendJSON(HttpDTOBase httpDto) {

    String httpUrl = HTTP_URL + httpDto.getBsCode()
            + ConstantForHttp.HTTP_HOUZHUI;
    System.out.println("URL:" + httpUrl);
    HttpDTOBase retDto = new HttpDTOBase();
    HttpDTOBase errorDto = new HttpDTOBase();
    HttpResponse response = null;
    String strsResult = "Error";
    // 从池中取出共享资源
    HttpClientImpl httpclientimpl = null;
    DefaultHttpClient httpclient = null;

    HttpPost post = new HttpPost(httpUrl);

    // 设置session
    if (JSESSIONID.trim().length() != 0) { // 设置session
        post.setHeader("Cookie", "JSESSIONID=" + JSESSIONID);
    }

    try {
        httpclientimpl = httpclientpool.getFreeSharedConn();
        httpclient = httpclientpool.getShareConn(httpclientimpl);
        // 做MAC校验
        SHA1Strategy.createMacData(httpDto);
        JSONObject obj = JsonPares.dtoToJSONObject(httpDto);// 将上送数据封装为json.
        System.out.println("发送数据:" + obj.toString());

        StringEntity se = new StringEntity(obj.toString(), HTTP.UTF_8);
        se.setContentType("application/json"); // 申明发送数据类型为json类型
        post.setEntity(se);
        response = httpclient.execute(post);// 发送数据并接收返回
        if (response.getStatusLine().getStatusCode() == 200) {// 如果状态码为200,就是正常返回
            strsResult = EntityUtils
                    .toString(response.getEntity(), "UTF-8");
        } else {
            strsResult = "{'data':{},'FAPErrorCode':\"9999\",'FAPErrorMessage':\"服务端异常\",'success':false}";
        }
        System.out.println("接收数据:" + strsResult);
        retDto = JsonPares.parse(strsResult);
        HashMap<String, Object> map = (HashMap<String, Object>) retDto
                .get("data");
        if(strsResult.contains("trueNameStatus") && strsResult.contains("authStatus")){
            String trueNameStatus = (String) map.get("trueNameStatus");
            String authStatus = (String) map.get("authStatus");
            if (trueNameStatus != null && authStatus != null) {
                MyApplication.getInstance().setTrueNameStatus(trueNameStatus);
                MyApplication.getInstance().setAuthStatus(authStatus);
            }
        }
        // 返回数据MAC验签
        SHA1Strategy.CheckMacData(retDto);
        return retDto;
    } catch (SocketTimeoutException e) {
        strsResult = "服务器连接失败,请稍后重试";
    } catch (ClientProtocolException e) {
        strsResult = "服务器连接失败,请稍后重试";
    } catch (IOException e) {
        strsResult = "服务器连接失败,请稍后重试";
    } catch (Exception e) {
        strsResult = "服务器连接失败,请稍后重试";
    } finally {
        try {
            if (response != null) {
                response.getEntity().consumeContent();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }catch (Exception e2) {
        }// 中断本次连接请求,准备下一次连接。

        if (httpclientimpl != null) {
            // 释放httpclient池的资源
            httpclientpool.releaseSharedConn(httpclientimpl);
        }
    }
    retDto.setValue("FAPErrorCode", "9999");
    retDto.setValue("FAPErrorMessage", "服务端异常1");
    errorDto.setValue("msg", strsResult);
    retDto.setValue("errors", errorDto);
    retDto.setValue("success", "false");

    // 有错误的返回
    return retDto;
}

.so 库不兼容引起的