日志错误信息 - 尝试使用非零计数销毁屏障

86

我正在Android Studio中制作一个安卓应用,集成了ParseCloud。当我试图从云端检索一些JSONObject时,在步骤调试后我得到了这个错误信息:

12-13 13:32:34.857 25631-25638/com.parse.starter A/art: art/runtime/barrier.cc:90] Check failed: count_ == 0 (count_=-1, 0=0) Attempted to destroy barrier with non zero count
12-13 13:32:34.858 25631-25638/com.parse.starter A/art: art/runtime/runtime.cc:366] Runtime aborting --- recursively, so no thread-specific detail!
12-13 13:32:34.863 25631-25638/com.parse.starter A/art: art/runtime/runtime.cc:366]
12-13 13:32:34.882 25631-25638/com.parse.starter A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 25638 (JDWP)

这段代码在 ParseDecoder.java 中出现问题,具体是在 while 行:

Map<String, Object> convertJSONObjectToMap(JSONObject object) {
    Map<String, Object> outputMap = new HashMap<>();
    Iterator<String> it = object.keys();
    while (it.hasNext()) {
      String key = it.next();
      Object value = object.opt(key);
      outputMap.put(key, decode(value));
    }
    return outputMap;
}

在调试时,我发现我等待的对象已被创建并填充了一个条目,但之后发生了一些情况,让我有点困惑...任何指导都将非常感谢,非常感谢!


2
嘿!错误出现在我调用函数时,我必须像返回对象一样编写调用。这样做是有效的。ParseCloud.callFunctionInBackground("usersInDistanceOfGeoPoint", params, new FunctionCallback<Object>() { @Override public void done(Object object, com.parse.ParseException e) { ..... - ArtanisAce
你是否正在使用android:sharedUserId="android.uid.system"? - Jaydev
你能否也发布decode的内容? - Greg Giacovelli
1个回答

1

我已经解决了问题。我使用的是旧版本的Parse库,它与新版本发生了冲突。我只需将Parse.initialize()行更改为:

Parse.initialize(new Parse.Configuration.Builder(this)
        .applicationId("MY_APP_ID")
        .clientKey("MY_CLIENT_KEY")
        .server("MY_SERVER_URL")
        .build()
);

它起作用了!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接