Android - E / Surface: queueBuffer: error queue buffer for SurfaceTexture, -22 crash

I needed help debugging mine and figuring out why my Android application continues to crash. The application crashes on a page that has a listview, and each line of the list has an image and some text in it. I created a cache class to store all the bitmap images in the list. After a downtime for an hour on this page (list page), the application crashes, and this is what I see in the Logcat console. I can’t understand how this collapse occurs, any advice or any suggestions on its root cause are extremely useful. We apologize if the information is insufficient.

07-21 00:47:07.143    2047-2423/com.app E/Parcel﹕ Parcel::writeDupFileDescriptor failed:
    fd=931 flags=0 err=0(Success)
    dupFd=-1 dupErr=24(Too many open files) flags=-1 err=9(Bad file number)
07-21 00:47:07.172    2047-2423/com.app E/Surface﹕ queueBuffer: error queuing buffer to SurfaceTexture, -22
07-21 00:47:07.172    2047-2423/com.app W/Adreno-EGLSUB﹕ <SwapBuffers:1344>: failed to queueBuffer
07-21 00:47:07.172    2047-2423/com.app W/Adreno-EGL﹕ <qeglDrvAPI_eglSwapBuffers:3791>: EGL_BAD_SURFACE
07-21 00:47:07.595    2047-2423/com.app E/Parcel﹕ Parcel::writeDupFileDescriptor failed:

. (the same error as above gets repeated a couple of times)
.
.

07-21 00:47:11.685    2047-2423/com.app W/Adreno-EGLSUB﹕ <SwapBuffers:1344>: failed to queueBuffer
07-21 00:47:11.685    2047-2423/com.app W/Adreno-EGL﹕ <qeglDrvAPI_eglSwapBuffers:3791>: EGL_BAD_SURFACE
07-21 00:47:12.128    2047-2423/com.app W/Adreno-GSL﹕ <gsl_ldd_control:416>: ioctl fd 28 code 0xc0140933 (IOCTL_KGSL_TIMESTAMP_EVENT) failed: errno 24 Too many open files

. (the same error as above gets repeated a couple of times)
.
.

07-21 00:47:17.839    2047-2047/com.app W/InputMethodManager﹕ IME died: com.android.inputmethod.latin/.LatinIME android.os.TransactionTooLargeException

I also add my xml layout if this is useful

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/framelayout"
android:background="@color/black">

<ImageView
    android:layout_width="225dp"
    android:layout_height="225dp"
    android:alpha="0.3"
    android:id="@+id/background_image"
    android:layout_gravity="center"
    android:background="@drawable/visual_background_animation_list"/>


<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="start">
    <!-- The main content view -->
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <RelativeLayout
            android:id="@+id/top_header"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:background="@drawable/background_holo_dark">

            <ImageView
                android:id="@+id/play_pause_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"/>

            <SeekBar
                android:layout_marginLeft="75dp"
                android:id="@+id/seek_bar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>

            <ImageView
                android:id="@+id/nxt"
                android:layout_width="60dp"
                android:layout_height="60dp"
                android:layout_alignParentRight="true"/>

            <TextView

                android:layout_alignLeft="@+id/nxt"

                android:layout_below="@+id/seek_bar"
                android:id="@+id/curr"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <TextView

                android:layout_alignRight="@+id/nxt"

                android:layout_below="@+id/seek_bar"
                android:id="@+id/curr_2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/>

        </RelativeLayout>

        <FrameLayout
            android:id="@+id/content_frame"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@id/top_header">

            <ListView
                android:id="@+id/another_list"
                android:layout_width="match_parent"
                android:layout_height="match_parent"/>

        </FrameLayout>


    </RelativeLayout>

    <!-- The navigation drawer -->

    <RelativeLayout
        android:id="@+id/drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@android:color/darker_gray"
        android:orientation="vertical">

        <ListView
            android:id="@+id/another_list_2"
            android:layout_width="240dp"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:choiceMode="singleChoice" />
    </RelativeLayout>


</android.support.v4.widget.DrawerLayout>
</FrameLayout>

, , .

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow>
    <TextView
        android:id="@+id/name1"/>
</TableRow>
<TableRow>
    <TextView
        android:id="@+id/name2"/>
</TableRow>
</TableLayout>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="invisible">


<ImageView
    android:id="@+id/image_on_left"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<RelativeLayout
    android:id="@+id/relative_layout_id"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/image_on_left">

    <TextView
        android:id="@+id/title1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <RelativeLayout
        android:id="@+id/relative_layout_title2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/title1">

        <TextView
            android:id="@+id/title2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

    </RelativeLayout>

    <ImageView
        android:id="@+id/another_image"
        android:layout_alignParentRight="true"/>
</RelativeLayout>

</RelativeLayout>
+4
1

, . , .

  • , ( , )

, Custom Adapter

  static class ViewHolder {
      TextView name;
      ImageView imageView;
  }

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder viewHolder = new ViewHolder();
    ....
    convertView.setTag(viewHolder);
}
+1

Source: https://habr.com/ru/post/1598809/


All Articles