Ошибка InputDispatcher - PullRequest
       23

Ошибка InputDispatcher

2 голосов
/ 05 апреля 2011
INFO/ActivityManager(68): Process com.example (pid 390) has died.
ERROR/InputDispatcher(68): channel '406ed580 com.example/com.example.afeTest (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
ERROR/InputDispatcher(68): channel '406ed580 com.example/com.example.afeTest (server)' ~ Channel is unrecoverably broken and will be disposed!
ERROR/InputDispatcher(68): Received spurious receive callback for unknown input channel.  fd=165, events=0x8

Может кто-нибудь сказать, что может быть причиной этой ошибки?

Я портировал нативный код на Android-ndk. Одна вещь, которую я заметил относительно fd (это может быть какая-то причина: S)

Мой код использует fd_sets, который был определен в winsock2.h Но я не нашел fd_sets, определенные в android-ndk. Поэтому я включил «select.h», где fd_set - это typedef в android-ndk:

typedef __kernel_fd_set   fd_set;

Вот журнал кошек:

04-06 11:15:32.405: INFO/DEBUG(31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
04-06 11:15:32.405: INFO/DEBUG(31): Build fingerprint: 'generic/sdk/generic:2.3.3/GRI34/101070:eng/test-keys'
04-06 11:15:32.415: INFO/DEBUG(31): pid: 335, tid: 348  >>> com.example <<<
04-06 11:15:32.426: INFO/DEBUG(31): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad
04-06 11:15:32.426: INFO/DEBUG(31):  r0 deadbaad  r1 0000000c  r2 00000027  r3 00000000
04-06 11:15:32.445: INFO/DEBUG(31):  r4 00000080  r5 afd46668  r6 0000a000  r7 00000078
04-06 11:15:32.445: INFO/DEBUG(31):  r8 804ab00d  r9 002a9778  10 00100000  fp 00000001
04-06 11:15:32.445: INFO/DEBUG(31):  ip ffffffff  sp 44295d10  lr afd19375  pc afd15ef0  cpsr 00000030
04-06 11:15:32.756: INFO/DEBUG(31):          #00  pc 00015ef0  /system/lib/libc.so
04-06 11:15:32.756: INFO/DEBUG(31):          #01  pc 00013852  /system/lib/libc.so
04-06 11:15:32.767: INFO/DEBUG(31): code around pc:
04-06 11:15:32.785: INFO/DEBUG(31): afd15ed0 68241c23 d1fb2c00 68dae027 d0042a00 
04-06 11:15:32.785: INFO/DEBUG(31): afd15ee0 20014d18 6028447d 48174790 24802227 
04-06 11:15:32.785: INFO/DEBUG(31): afd15ef0 f7f57002 2106eb56 ec92f7f6 0563aa01 
04-06 11:15:32.796: INFO/DEBUG(31): afd15f00 60932100 91016051 1c112006 e818f7f6 
04-06 11:15:32.807: INFO/DEBUG(31): afd15f10 2200a905 f7f62002 f7f5e824 2106eb42 
04-06 11:15:32.815: INFO/DEBUG(31): code around lr:
04-06 11:15:32.815: INFO/DEBUG(31): afd19354 b0834a0d 589c447b 26009001 686768a5 
04-06 11:15:32.825: INFO/DEBUG(31): afd19364 220ce008 2b005eab 1c28d003 47889901 
04-06 11:15:32.836: INFO/DEBUG(31): afd19374 35544306 d5f43f01 2c006824 b003d1ee 
04-06 11:15:32.836: INFO/DEBUG(31): afd19384 bdf01c30 000281a8 ffffff88 1c0fb5f0 
04-06 11:15:32.846: INFO/DEBUG(31): afd19394 43551c3d a904b087 1c16ac01 604d9004 
04-06 11:15:32.856: INFO/DEBUG(31): stack:
04-06 11:15:32.856: INFO/DEBUG(31):     44295cd0  00000408  
04-06 11:15:32.867: INFO/DEBUG(31):     44295cd4  afd18407  /system/lib/libc.so
04-06 11:15:32.875: INFO/DEBUG(31):     44295cd8  afd4270c  /system/lib/libc.so
04-06 11:15:32.875: INFO/DEBUG(31):     44295cdc  afd426b8  /system/lib/libc.so
04-06 11:15:32.885: INFO/DEBUG(31):     44295ce0  00000000  
04-06 11:15:32.896: INFO/DEBUG(31):     44295ce4  afd19375  /system/lib/libc.so
04-06 11:15:32.896: INFO/DEBUG(31):     44295ce8  804ab00d  /data/data/com.example/lib/libAFE.so
04-06 11:15:32.896: INFO/DEBUG(31):     44295cec  afd183d9  /system/lib/libc.so
04-06 11:15:32.906: INFO/DEBUG(31):     44295cf0  00000078  
04-06 11:15:32.906: INFO/DEBUG(31):     44295cf4  00000000  
04-06 11:15:32.906: INFO/DEBUG(31):     44295cf8  afd46668  
04-06 11:15:32.906: INFO/DEBUG(31):     44295cfc  0000a000  [heap]
04-06 11:15:32.916: INFO/DEBUG(31):     44295d00  00000078  
04-06 11:15:32.927: INFO/DEBUG(31):     44295d04  afd18677  /system/lib/libc.so
04-06 11:15:32.927: INFO/DEBUG(31):     44295d08  df002777  
04-06 11:15:32.945: INFO/DEBUG(31):     44295d0c  e3a070ad  
04-06 11:15:32.945: INFO/DEBUG(31): #00 44295d10  002c43a0  [heap]
04-06 11:15:32.945: INFO/DEBUG(31):     44295d14  002a9900  [heap]
04-06 11:15:32.956: INFO/DEBUG(31):     44295d18  afd46608  
04-06 11:15:32.966: INFO/DEBUG(31):     44295d1c  afd11010  /system/lib/libc.so
04-06 11:15:32.976: INFO/DEBUG(31):     44295d20  002c4298  [heap]
04-06 11:15:32.976: INFO/DEBUG(31):     44295d24  fffffbdf  
04-06 11:15:33.006: INFO/DEBUG(31):     44295d28  000000da  
04-06 11:15:33.006: INFO/DEBUG(31):     44295d2c  afd46450  
04-06 11:15:33.006: INFO/DEBUG(31):     44295d30  000001b4  
04-06 11:15:33.026: INFO/DEBUG(31):     44295d34  afd13857  /system/lib/libc.so
04-06 11:15:33.026: INFO/DEBUG(31): #01 44295d38  afd46450  
04-06 11:15:33.035: INFO/DEBUG(31):     44295d3c  afd13857  /system/lib/libc.so
04-06 11:15:33.056: INFO/DEBUG(31):     44295d40  804ab00d  /data/data/com.example/lib/libAFE.so
04-06 11:15:33.056: INFO/DEBUG(31):     44295d44  44295e8c  
04-06 11:15:33.056: INFO/DEBUG(31):     44295d48  804ab00d  /data/data/com.example/lib/libAFE.so
04-06 11:15:33.056: INFO/DEBUG(31):     44295d4c  804bfec3  /data/data/com.example/lib/libAFE.so
04-06 11:15:33.056: INFO/DEBUG(31):     44295d50  002c43a0  [heap]
04-06 11:15:33.066: INFO/DEBUG(31):     44295d54  44295e8c  
04-06 11:15:33.066: INFO/DEBUG(31):     44295d58  804ab00d  /data/data/com.example/lib/libAFE.so
04-06 11:15:33.076: INFO/DEBUG(31):     44295d5c  002a9778  [heap]
04-06 11:15:33.085: INFO/DEBUG(31):     44295d60  00000078  
04-06 11:15:33.085: INFO/DEBUG(31):     44295d64  afd14769  /system/lib/libc.so
04-06 11:15:33.085: INFO/DEBUG(31):     44295d68  44295e8c  
04-06 11:15:33.085: INFO/DEBUG(31):     44295d6c  805d9763  /data/data/com.example/lib/libAFE.so
04-06 11:15:33.085: INFO/DEBUG(31):     44295d70  44295e8c  
04-06 11:15:33.085: INFO/DEBUG(31):     44295d74  8051dc35  /data/data/com.example/lib/libAFE.so
04-06 11:15:33.085: INFO/DEBUG(31):     44295d78  0000003a  
04-06 11:15:33.085: INFO/DEBUG(31):     44295d7c  002a9900  [heap]
04-06 11:15:37.126: DEBUG/Zygote(33): Process 335 terminated by signal (11)
04-06 11:15:37.146: INFO/ActivityManager(68): Process com.example (pid 335) has died.
04-06 11:15:37.178: ERROR/InputDispatcher(68): channel '406f03a0 com.example/com.example.afeTest (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
04-06 11:15:37.178: ERROR/InputDispatcher(68): channel '406f03a0 com.example/com.example.afeTest (server)' ~ Channel is unrecoverably broken and will be disposed!
04-06 11:15:37.185: INFO/BootReceiver(68): Copying /data/tombstones/tombstone_09 to DropBox (SYSTEM_TOMBSTONE)
04-06 11:15:37.576: DEBUG/dalvikvm(68): GC_FOR_MALLOC freed 266K, 47% free 4404K/8199K, external 3520K/3903K, paused 306ms
04-06 11:15:37.835: DEBUG/dalvikvm(68): GC_FOR_MALLOC freed 203K, 47% free 4457K/8391K, external 3520K/3903K, paused 120ms
04-06 11:15:37.886: INFO/WindowManager(68): WIN DEATH: Window{406f03a0 com.example/com.example.afeTest paused=false}
04-06 11:15:38.095: DEBUG/dalvikvm(68): GC_FOR_MALLOC freed 67K, 47% free 4518K/8391K, external 3511K/3903K, paused 94ms
04-06 11:15:38.095: INFO/dalvikvm-heap(68): Grow heap (frag case) to 10.575MB for 196628-byte allocation
04-06 11:15:38.126: DEBUG/dalvikvm(126): GC_EXPLICIT freed 110K, 51% free 2903K/5895K, external 4701K/5293K, paused 2443ms
04-06 11:15:38.217: DEBUG/dalvikvm(68): GC_FOR_MALLOC freed 1K, 46% free 4708K/8647K, external 3511K/3903K, paused 96ms
04-06 11:15:38.225: INFO/WindowManager(68): WIN DEATH: Window{406f72f8 com.example/com.example.afeTest paused=false}
04-06 11:15:38.405: DEBUG/dalvikvm(68): GC_FOR_MALLOC freed 492K, 50% free 4345K/8647K, external 3511K/3903K, paused 96ms
04-06 11:15:38.485: ERROR/InputDispatcher(68): Received spurious receive callback for unknown input channel.  fd=164, events=0x8

Ответы [ 3 ]

1 голос
/ 17 октября 2011

Это была утечка памяти, которая была исправлена ​​позже.Это сбой программы.

0 голосов
/ 04 января 2019

Ошибочный класс выглядит так

package wolfgang_jakobi.anglerapp;

import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.icu.util.Calendar;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class LexikonBlaetternActivity extends AppCompatActivity
             implements View.OnClickListener {
             protected TextView sqlver;
             protected ImageView img;
             protected TextView txt;
             protected TextView errorText;

    private wolfgang_jakobi.anglerapp.DBUtility dbUtility;
    protected String SQLQuery;
    protected Cursor cur;

    protected LinearLayout btnLayOut;

    protected Button btnBack;
    protected Button btnEnter;
    protected Button btnNext;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        btnLayOut = (LinearLayout) findViewById(R.id.buttonlayout);

        img = (ImageView) findViewById(R.id.main_img);
        txt = (TextView) findViewById(R.id.main_text);

        errorText = (TextView) findViewById(R.id.errormsg);

        btnBack = new Button(this);
        btnBack.setId(R.id.menu11112);
        btnBack.setText(R.string.menu11112);
        btnBack.setTextSize(20);
        btnBack.setGravity(Gravity.CENTER);
        btnLayOut.addView(btnBack); // Stops App
        btnBack.setOnClickListener(this);

        btnEnter = new Button(this);
        btnEnter.setId(R.id.menu11115);
        btnEnter.setText(R.string.menu11115);
        btnEnter.setTextSize(20);
        btnEnter.setGravity(Gravity.CENTER);
        btnLayOut.addView(btnBack);
        btnEnter.setOnClickListener(this);

        btnNext = new Button(this);
        btnNext.setId(R.id.menu11111);
        btnNext.setText(R.string.menu11111);
        btnNext.setTextSize(20);
        btnNext.setGravity(Gravity.CENTER);
        btnLayOut.addView(btnNext);
        btnNext.setOnClickListener(this);

        txt.setText(R.string.title_activity_blaettern);

        String errorString;

        try {
            cur = dbUtility.getCursor(3, null);
        } catch (Exception eronymus) {
            errorString = getString(R.string.ErrorTextStartL,  getString(R.string.title_activity_main)) + eronymus.getMessage();
        errorText.setText(errorString);
        }

        //sqlver.setText(cur.getString(0));
    }

    @Override
    protected void onPause() {
        super.onPause();
        dbUtility.close();
        Toast.makeText(this, "@string/curclosed", Toast.LENGTH_SHORT).show();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_blaettern, menu);
        return true;
    }

    private void getDataSet() {

       /*       CharSequence text = cur.getString(0); // Fischname
                txt.setText(text);

                byte[] image = cur.getBlob(7);
                Bitmap bmp = BitmapFactory.decodeByteArray(image, 0 , image.length);
                img.setImageBitmap(bmp);
                */
                /*int Int = cur.getInt(10);
                SchonzeitStart.setTimeInMillis(Int);
                SchonzeitStart.set(Calendar.YEAR, Heute_Year);
                Int = cur.getInt(11);
                SchonzeitEnd.setTimeInMillis(Int);
                SchonzeitEnd.set(Calendar.YEAR, Heute_Year);*/
    }

    private void enter() {
        getDataSet();
    }

    private void first() {
//        dbHlpr.first();
        getDataSet(); // reads data set and sets all widgeds
    }

    private void last() {
//        dbHlpr.last();
    getDataSet();
}

private void next() {
//        dbHlpr.next();
    getDataSet();
}

private void previous() {
//        dbHlpr.previous();
    getDataSet();
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
        case R.id.menu11100:
            next();
            return true;
        case R.id.menu11200:
            previous();
            return true;
        case R.id.menu11300:
            first();
            return true;
        case R.id.menu11114:
            last();
            return true;
        case R.id.menu11116:
            finish();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

@Override
public void onClick(View v) {
    switch(v.getId()){
        case 11116:
            Toast.makeText(this, "Button back pressed ", Toast.LENGTH_SHORT).show();
            previous();
            break;
        case 11115:
            Toast.makeText(this, "Button enter pressed ", Toast.LENGTH_SHORT).show();
            enter();
            break;
        case 11111:
            Toast.makeText(this, "Button next pressed ", Toast.LENGTH_SHORT).show();
            next();
            break;
    }
}

}

0 голосов
/ 04 января 2019

Я разработал приложение с различными классами, но с одним XML-файлом макета, который я динамически адаптирую в каждом классе.

Макет выглядит так

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:id="@+id/toplayout"
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="32.5sp">

            <TextView
                android:id="@+id/sqliteversion"
                android:layout_width="300dp"
                android:layout_height="32sp"
                android:gravity="start"
                android:text="@string/sqliteversion"
                android:textSize="24sp"
                android:textStyle="normal"
                android:layout_weight="0.03" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/buttonlayout"
            android:layout_marginTop="20sp"
            android:layout_marginBottom="20sp"
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="60sp">
        </LinearLayout>

        <ImageView
            android:id="@+id/main_img"
            android:layout_width="match_parent"
            android:layout_height="164dp"
            android:gravity="center_horizontal"
            android:src="@drawable/appfisch"
            android:contentDescription="@string/contentDescriptionAppFischC" />

        <TextView
            android:id="@+id/main_text"
            android:layout_width="match_parent"
            android:layout_height="62.5sp"
            android:gravity="center_horizontal"
            android:text="@string/app_title"
            android:textSize="50sp"
            android:textStyle="bold" />

        <LinearLayout
            android:id="@+id/schonzeitlayout"
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="32.5sp">
        </LinearLayout>

        <TextView
            android:id="@+id/errormsg"
            android:layout_width="match_parent"
            android:layout_height="118sp"
            android:gravity="top|left"
            android:paddingLeft="8sp"
            android:paddingRight="8sp"
            android:text="@string/errorText"
            android:textSize="12sp"
            android:textStyle="normal" />
    </LinearLayout>


</android.support.constraint.ConstraintLayout>

Сначала я добавил класс, который устанавливает текст в main-text-view и вызывает другой класс, который меняет макет. На этом этапе разработки приложение работало нормально, но после добавления другого класса, который также устанавливает текст в main-text-view и вызывает другой класс, который использует другой макет, и вдруг у меня появился InputDispatcher -Ошибка, более или менее случайно. Я обнаружил, что первый класс вызвал InputDispatcher-Error.

...