Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Facebook,UiLifecycleHelper StackOverflow错误

Facebook,UiLifecycleHelper StackOverflow错误
EN

Stack Overflow用户
提问于 2013-05-24 08:29:55
回答 1查看 1.7K关注 0票数 6

从StackOverflow获取一个奇怪的UiLifecycleHelper错误。看起来它试图加载一个序列化的对象,但是ObjectInputStream会运行到一个递归循环中,可能是由于数据损坏。这种情况只发生在onCreate方法中。这是堆栈跟踪

更新

StackOverflowError实际上也发生在onSaveInstance状态,但循环在ObjectStream写。不过,我们只有4条崩溃日志显示了这一点,在onCreate中读取的有49条崩溃日志。下面是正在使用的代码:

uiHelper在所有它的预期方法( onCreate、onResume、onPause、onSaveInstanceState、onDestroy )中都被调用,根本不偏离文档。使用的所有其他Facebook代码如下所示。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//onClick facebook button
private void facebook() {
    Session session = Session.getActiveSession();
    if (session != null && session.isOpened()) {
        Log.v("W", "Already have session");
        publishog(session);
    } else {

        Session.openActiveSession(WWhisperActivity.this, true, callback);
    }
}

private void onSessionStateChange(Session session, SessionState state,
        Exception e) {
    if (e != null && !e.getLocalizedMessage().contains("user denied")) {
        BugSenseHandler.sendException(e);
    }
    if (state.equals(SessionState.OPENING)) {
        Log.v("W", "Session opening state");
    } else if (state.equals(SessionState.CREATED)
            || state.equals(SessionState.CREATED_TOKEN_LOADED)) {
        Log.v("W", "Session created state");
    }
    if (state.isOpened()) {
        Log.v("W", "Open session");
        if (!session.getPermissions().contains("publish_actions")) {
            Log.v("W", "Getting publish permission");
            Session.NewPermissionsRequest r = new Session.NewPermissionsRequest(
                    this, Arrays.asList("publish_actions"));
            session.requestNewPublishPermissions(r);
        } else {
            Log.v("W", "Session opened, publishing og");
            publishog(session);
        }
    } else if (state.equals(SessionState.CLOSED)
            || state.equals(SessionState.CLOSED_LOGIN_FAILED)) {
        Log.v("W", "Session not open");
        session.closeAndClearTokenInformation();
        if (state.equals(SessionState.CLOSED_LOGIN_FAILED)) {
            if (e == null || !e.getLocalizedMessage().contains("abort")
                    && !e.getLocalizedMessage().contains("user denied"))
                Session.openActiveSession(this, true, callback);
        }
    }
}

private void publishog(Session session) {
    Log.v("W", "Publishing OG");
    WObject wo = GraphObject.Factory.create(WObject.class);
    wo.setId(w.wid);
    wo.setUrl(shorturl);
    WOGShare ws = GraphObject.Factory.create(WOGShare.class);
    ws.setWhisper(shorturl);
    com.facebook.Request.executePostRequestAsync(session,
            "me/whisper_app:share", ws,
            new com.facebook.Request.Callback() {

                @Override
                public void onCompleted(Response response) {
                    pd.dismiss();
                    if (response.getError() != null) {

                    } else {

                    }

                }

            });
}

坠机日志:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java.lang.StackOverflowError
1at java.lang.ThreadLocal.get(ThreadLocal.java:65)
2at java.io.ObjectStreamClass.getCache(ObjectStreamClass.java:1093)
3at java.io.ObjectStreamClass.lookupStreamClass(ObjectStreamClass.java:1066)
4at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:1037)
5at java.io.ObjectStreamClass.createClassDesc(ObjectStreamClass.java:248)
6at java.io.ObjectStreamClass.lookupStreamClass(ObjectStreamClass.java:1069)
7at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:1037)
8at java.io.ObjectStreamClass.createClassDesc(ObjectStreamClass.java:248)
9at java.io.ObjectStreamClass.lookupStreamClass(ObjectStreamClass.java:1069)
10at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:1037)
11at java.io.ObjectStreamClass.createClassDesc(ObjectStreamClass.java:248)
12at java.io.ObjectStreamClass.lookupStreamClass(ObjectStreamClass.java:1069)
13at java.io.ObjectInputStream.verifyAndInit(ObjectInputStream.java:2375)
14at java.io.ObjectInputStream.readNewClassDesc(ObjectInputStream.java:1662)
15at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:683)
16at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1803)
17at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
18at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
19at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
20at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
21at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
22at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
23at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
24at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
25at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
26at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
27at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
28at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
29at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
30at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
31at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
32at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
33at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
34at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
35at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
36at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
37at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
38at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
39at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
40at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
41at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
42at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
43at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
44at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
45at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
46at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
47at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
48at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
49at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
50at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
51at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
52at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
53at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
54at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
55at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
56at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
57at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
58at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
59at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
60at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
61at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
62at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
63at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
64at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
65at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
66at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
67at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
68at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
69at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
70at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
71at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
72at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
73at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
74at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
75at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
76at java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1137)
77at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
78at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
79at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
325at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:455)
326at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1369)
327at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266)
328at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855)
329at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787)
330at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003)
331at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960)
332at com.facebook.Session.restoreSession(Session.java:701)
333at com.facebook.UiLifecycleHelper.onCreate(UiLifecycleHelper.java:70)
334at sh.whisper.WWhisperActivity.onCreate(WWhisperActivity.java:279)
335at android.app.Activity.performCreate(Activity.java:5160)
336at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
337at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
338at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
339at android.app.ActivityThread.access$700(ActivityThread.java:143)
340at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
341at android.os.Handler.dispatchMessage(Handler.java:99)
342at android.os.Looper.loop(Looper.java:137)
343at android.app.ActivityThread.main(ActivityThread.java:4953)
344at java.lang.reflect.Method.invokeNative(Native Method)
345at java.lang.reflect.Method.invoke(Method.java:511)
346at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
347at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)

348at dalvik.system.NativeStart.main(Native Method)
EN

回答 1

Stack Overflow用户

发布于 2013-06-13 10:05:13

参数和局部变量在堆栈上分配(具有引用类型,对象驻留在堆上,变量引用在该对象上)。堆栈通常位于地址空间的上端,当它用完时,它会朝向地址空间的底部(即向零)。 gui编程可以生成间接递归。例如,您的应用程序可能正在处理画图消息,在处理它们时,它可能会调用一个函数,从而导致系统发送另一条画图消息。在这里,您没有显式地调用您自己,但是OS/VM已经为您完成了这一任务。

我遇到了同样的错误,before.Do,有一件事,就是删除类下面的任何初始化,并将其移动到onCreate()onResume()中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16739654

复制
相关文章
如何在SQL Server中将表从一个数据库复制到另一个数据库
在某些情况下,作为DBA,您需要将模式和特定表的内容从数据库复制到同一实例中或在不同的SQL实例中,例如从生产数据库中复制特定表到开发人员以进行测试或排除故障。 SQL Server提供了许多方法,可以用来执行表的数据和模式复制过程。为了研究这些方法中的每一个,我们将考虑下面的场景: 托管SQL服务器:localhost。这两个数据库都驻留在同一个SQL Server 2014实例中。 源数据库:AdventureWorks2012。 目标数据库:SQLShackDemo。 将从源数据库复制到目标数据库的表
程序你好
2018/07/20
8.3K0
flutter - 如何在Dart/Flutter中将某些元素从一个Map复制到新Map中?
由于keys返回 map 键的Iterable<String>,因此您可以使用where方法检查所需的键,然后可以基于旧 map 值填充值。
徐建国
2021/08/30
1.4K0
php获取所有节点的父节点和子节点
根据子节点获取所有的父节点以及父节点的父节点.. <?php $src = '[{"id":"1","name":"媒体(白名单)","pid":"0"},{"id":"2","name":"党媒公
黄啊码
2020/05/29
6.2K0
java 把文件从一个目录复制到另一个目录
方法一:简单粗暴,直接使用copy(),如果目标存在,先使用delete()删除,再复制;
崔笑颜
2020/06/08
1.9K0
Linux将一个文件夹或文件夹下的所有内容复制到另一个文件夹
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/124758.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/21
5.4K0
Linux将一个文件夹或文件夹下的所有内容复制到另一个文件夹
[译]将 Kubernetes 扩展至7500个节点
我们已经将 Kubernetes 集群扩展到了7500个节点,该集群主要是为 GPT-3、CLIP 和 DALL·E 等大型模型提供可扩展的基础设施,同时也为神经语言模型的缩放定律等快速的小规模迭代研究提供基础支持。将单个 Kubernetes 集群扩展到这种规模是很少见的,因而需要特别小心,但好处是一个简单的基础设施,使我们的机器学习研究团队能够更快地迁移和扩展,而不需要更改他们的代码。
我是阳明
2021/03/01
7270
SQL根据指定节点ID获取所有父级节点和子级节点
根据指定节点ID获取所有父节点 with temp as( select * from dbo.Category where Id=493 --表的主键ID union all select t.* from temp,dbo.Category t where temp.Pid=t.Id --父级ID=子级ID )select * from temp order by Level; [查询结果] 根据指定节点ID获取所有子节点 with temp as( select * from dbo.Category
段邵华
2019/08/01
6K0
java根据子节点获取它对应的所有父节点_java根据父节点查找子节点
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/01
6.9K0
树形结构已知子节点获取子节点所有父节点——任意目录/树
JS 树形结构 根据子节点找到所有上级,比如element-tree,已知路由上的子结点id,如何回填的 展开目录树?
周陆军博客
2023/05/07
3.3K0
将一个CentOS环境复制到另一个CentOS
「这是我参与2022首次更文挑战的第23天,活动详情查看:2022首次更文挑战」。
Java廖志伟
2022/03/07
5700
将一个CentOS环境复制到另一个CentOS
将一个CentOS环境复制到另一个CentOS
将一个CentOS环境复制到另一个CentOs,实现环境迁移或备份的功能 将CentOS2复制一份新的CentOS3出来,步骤如下: 创建新的CentOS3 这里的名称改吃CentOS3,后面的文件改名就是对应的这个名称 ISO映像文件路径修改,每个CentOS单独用一个ISO映像文件 直接启动 修改网络ip cd /etc/sysconfig/network-scripts/ vi ifc
Java廖志伟
2022/09/29
1.6K0
将一个CentOS环境复制到另一个CentOS
【Longhorn】能否部署到专用的节点,业务使用其他节点
Longhorn 作为分布式存储,当然是有点复杂的…作为集群的使用者,当然会有一种想法就是能否在集群中只用几个节点部署 Longhorn,万一出问题了,不影响用户在节点上的其他工作负载,就是单纯想隔离了。
runzhliu
2022/04/13
6960
【Longhorn】能否部署到专用的节点,业务使用其他节点
属性 元素的内容 创建,插入和删除节点 虚拟节点
表示HTML文档元素的HTMLElement对象定义了读/写属性。映射了元素的HTML属性。HTMLElement定义了通用的HTTP属性。以及事件处理程序的属性。特定的Element子类型为其元素定义了特定的属性。
mySoul
2018/08/07
2.4K0
如何在集群里服役新节点、退役旧节点(DataNode)
①准备机器,配置好JDK、hadoop的环境变量,在hdfs-site.xml和yarn-site.xml文件中分别配置NameNode和ResourceManager所在主机名 ②待服役成功后,启动datanode和nodemanager进程即可 ③服役了新的DN节点后,可以执行再平衡的命令,这个命令可以将集群中块进行重新平衡分配,实现负载均衡: ./start-balancer.sh
孙晨c
2020/07/14
8310
如何在100个节点集群上模拟10000个节点的集群?让DynoYARN来模拟吧
DynoYARN 是一种用于按需启动 YARN 集群并运行模拟 YARN 工作负载以进行规模测试的工具。由Linkedin开源。它可以在 100 个节点的 Hadoop 集群上模拟 10,000 个节点的 YARN 集群性能。
从大数据到人工智能
2022/04/08
8060
​[AAAI | 论文简读] GNN中非属性节点分类的优先标记
Preferential Labeling for Unattributed Node Classification in GNNs
智能生信
2022/12/29
4860
​[AAAI | 论文简读] GNN中非属性节点分类的优先标记
xpath库详解xpath入门获取所有节点 //子节点 /父节点 ..属性匹配 @文本获取按序选择节点轴选择
python爬虫抓取网页内容,需要对html或xml结构的数据进行解析,如果用正则,单是写正则表达式就让很多望而生畏了。
章鱼喵
2018/09/26
25.3K0
xpath库详解xpath入门获取所有节点 //子节点 /父节点 ..属性匹配 @文本获取按序选择节点轴选择
jquery 元素节点操作 - 创建节点、插入节点、删除节点
前面的篇章对于jquery的元素操作大部分是使用html()的方式来操作,这种直接使用字符串创建的方式也是性能最高的。
Devops海洋的渔夫
2019/05/31
9K0
点击加载更多

相似问题

XSLT在xml中将值从一个节点复制到另一个节点

10

XSLT:将属性从一个节点复制到另一个节点

22

XSLT -复制所有其他节点,添加1个新节点

42

将所有xml属性从一个节点复制到另一个节点

39

Drupal -自动将字段内容从一个节点复制到另一个节点

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文