SmartRefreshLayout icon indicating copy to clipboard operation
SmartRefreshLayout copied to clipboard

Fatal Exception: java.lang.StackOverflowError: stack size 8192KB

Open LinMingkui opened this issue 3 years ago • 2 comments

Fatal Exception: java.lang.StackOverflowError: stack size 8192KB
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.friends.meeti.bind.StaticBind.setNoMoreData(StaticBind.java:194)
    implementation 'com.scwang.smart:refresh-layout-kernel:2.0.3'
    implementation 'com.scwang.smart:refresh-header-classics:2.0.3'
    implementation 'com.scwang.smart:refresh-footer-classics:2.0.3'
    @BindingAdapter("noMoreData")
    public static void setNoMoreData(SmartRefreshLayout layout, boolean isNoMore) {
        layout.setNoMoreData(isNoMore);
    }
<com.scwang.smart.refresh.layout.SmartRefreshLayout
    android:id="@+id/refreshLayout"
    autoRefresh="@{vm.autoRefresh}"
    finishLoad="@{vm.finishLoad}"
    noMoreData="@{!vm.recommendUserRepository.getHasNexPageLiveData()}"
    refreshLoadMoreListener="@{handler}"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

线上出现很多堆栈溢出异常,请问为什么会出现这个问题,看日志似乎在循环调用,是我使用的方法有问题吗?请作者有空了帮我看看,谢谢了!

LinMingkui avatar Jun 11 '21 07:06 LinMingkui

Fatal Exception: java.lang.StackOverflowError: stack size 8192KB
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854)
at com.friends.meeti.bind.StaticBind.setNoMoreData(StaticBind.java:194)
    implementation 'com.scwang.smart:refresh-layout-kernel:2.0.3'
    implementation 'com.scwang.smart:refresh-header-classics:2.0.3'
    implementation 'com.scwang.smart:refresh-footer-classics:2.0.3'
    @BindingAdapter("noMoreData")
    public static void setNoMoreData(SmartRefreshLayout layout, boolean isNoMore) {
        layout.setNoMoreData(isNoMore);
    }
<com.scwang.smart.refresh.layout.SmartRefreshLayout
    android:id="@+id/refreshLayout"
    autoRefresh="@{vm.autoRefresh}"
    finishLoad="@{vm.finishLoad}"
    noMoreData="@{!vm.recommendUserRepository.getHasNexPageLiveData()}"
    refreshLoadMoreListener="@{handler}"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

线上出现很多堆栈溢出异常,请问为什么会出现这个问题,看日志似乎在循环调用,是我使用的方法有问题吗?请作者有空了帮我看看,谢谢了!

我也遇到了相同的问题,不知道小哥解决了吗

xiaohengdd avatar Jul 09 '21 00:07 xiaohengdd

2022-02-08 16:03:26.896 22054-22054/com.xxx E/AndroidRuntime: FATAL EXCEPTION: main Process: com.xxx, PID: 22054 java.lang.StackOverflowError: stack size 8192KB at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854) at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236) at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854) at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236) at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854) at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236) at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854) at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236) at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854) at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236) at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854) at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236) at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854) at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236) at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854) at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236) at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854) at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236) at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854) at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131) 2022-02-08 16:03:27.438 22054-22054/com.xxx E/DEBUG: Report Name: 60969dd153b6726499f37aef_2.2.0_2afd9a16_Redmi-K30_11_164430738776434096_20220208160327_fg_exception.log 2022-02-08 16:03:27.438 22054-22054/com.xxx E/DEBUG: Log Type: exception 2022-02-08 16:03:27.518 22054-22054/com.xxx E/DEBUG: k_ac:UmengException k_ct:exception Exception message: Back traces starts. java.lang.StackOverflowError: stack size 8192KB at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854) at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236) at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:2854) at com.scwang.smart.refresh.layout.SmartRefreshLayout$7.run(SmartRefreshLayout.java:3131) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMore(SmartRefreshLayout.java:3223) at com.scwang.smart.refresh.layout.SmartRefreshLayout.finishLoadMoreWithNoMoreData(SmartRefreshLayout.java:3236) at com.scwang.smart.refresh.layout.SmartRefreshLayout.setNoMoreData(SmartRefreshLayout.java:

dachengzi-software avatar Feb 08 '22 08:02 dachengzi-software