termux / termux-app

Termux - a terminal emulator application for Android OS extendible by variety of packages.
https://f-droid.org/en/packages/com.termux
Other
36.21k stars 3.81k forks source link

Termux may crash on font change #1388

Closed ghost closed 4 years ago

ghost commented 4 years ago

Problem description

Changing console font with Termux:Styling may cause application to be force-stopped due to SIGBUS sent to Android runtime.

Issue happens only when screen content is actively updated during font change and is independent of Android OS version used (tried Android 7 - 10).

Steps to reproduce

  1. Execute some command which will continuously output characters to stdout. For example:

    dd if=/dev/urandom bs=1

    If context menu cannot be opened, try to cat some file in cycle:

    while true; do cat ./myfile.txt; done

    or

    while true; do dd if=/dev/urandom bs=1 count=256; usleep 1000; done
  2. Open styling menu and continuously switch between Default and some other font (I picked Anonymous Pro). Crash usually observed when switching back to Default font.

Expected behavior

Font switching should be possible without crash in all cases of terminal state.

Even if this is Android bug, a workaround should be done because it happens on most devices if not all.

Additional information

Logcat (Android 8, Samsung Galaxy S7):

12-19 17:27:06.394 13010 13010 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
12-19 17:27:06.394 13010 13010 F DEBUG   : Build fingerprint: 'samsung/heroltexx/herolte:8.0.0/R16NW/G930FXXS6ESGD:user/release-keys'
12-19 17:27:06.394 13010 13010 F DEBUG   : Revision: '8'
12-19 17:27:06.394 13010 13010 F DEBUG   : ABI: 'arm64'
12-19 17:27:06.394 13010 13010 F DEBUG   : pid: 12527, tid: 12527, name: com.termux  >>> com.termux <<<
12-19 17:27:06.394 13010 13010 F DEBUG   : signal 7 (SIGBUS), code 2 (BUS_ADRERR), fault addr 0x70c931c000
12-19 17:27:06.394 13010 13010 F DEBUG   :     x0   00000070c931c000  x1   0000000000000000  x2   00000070e9868ec0  x3   00000070b2231800
12-19 17:27:06.394 13010 13010 F DEBUG   :     x4   000000000000005f  x5   00000070b2231800  x6   0000007fe133fc70  x7   00000070cc7b3f00
12-19 17:27:06.394 13010 13010 F DEBUG   :     x8   00000070ec4be0f8  x9   081654372e4cc711  x10  00000070c931c000  x11  00000070deccbfe8
12-19 17:27:06.394 13010 13010 F DEBUG   :     x12  00000070decaf610  x13  00000070decaf610  x14  0000000000000018  x15  0000000000000000
12-19 17:27:06.394 13010 13010 F DEBUG   :     x16  00000070ec4bdda0  x17  00000070ec448be4  x18  0000000000000000  x19  00000070e9868ec0
12-19 17:27:06.394 13010 13010 F DEBUG   :     x20  0000000043424454  x21  00000070cc62a500  x22  00000070bed20960  x23  00000070cc4c40f8
12-19 17:27:06.394 13010 13010 F DEBUG   :     x24  00000070cc7b3f00  x25  00000070d717e280  x26  0000007fe133fc70  x27  00000070cc4c40f8
12-19 17:27:06.394 13010 13010 F DEBUG   :     x28  0000007fe133fad8  x29  0000007fe133f760  x30  00000070ec44ec00
12-19 17:27:06.394 13010 13010 F DEBUG   :     sp   0000007fe133f740  pc   00000070ec44ec10  pstate 0000000020000000
12-19 17:27:06.673 13010 13010 F DEBUG   : 
12-19 17:27:06.673 13010 13010 F DEBUG   : backtrace:
12-19 17:27:06.673 13010 13010 F DEBUG   :     #00 pc 000000000000cc10  /system/lib64/libharfbuzz_ng.so (_ZL33_hb_face_for_data_reference_tableP9hb_face_tjPv+68)
12-19 17:27:06.673 13010 13010 F DEBUG   :     #01 pc 000000000000cf38  /system/lib64/libharfbuzz_ng.so (hb_face_reference_table+20)
12-19 17:27:06.673 13010 13010 F DEBUG   :     #02 pc 0000000000015f20  /system/lib64/libminikin.so (_ZN7minikin6Layout8findFaceERKNS_9FakedFontEPNS_13LayoutContextE+196)
12-19 17:27:06.673 13010 13010 F DEBUG   :     #03 pc 00000000000178b0  /system/lib64/libminikin.so (_ZN7minikin6Layout11doLayoutRunEPKtmmmbPNS_13LayoutContextERKNSt3__110shared_ptrINS_14FontCollectionEEE+868)
12-19 17:27:06.674 13010 13010 F DEBUG   :     #04 pc 0000000000017050  /system/lib64/libminikin.so (_ZNK7minikin14LayoutCacheKey8doLayoutEPNS_6LayoutEPNS_13LayoutContextERKNSt3__110shared_ptrINS_14FontCollectionEEE+288)
12-19 17:27:06.674 13010 13010 F DEBUG   :     #05 pc 0000000000017504  /system/lib64/libminikin.so (_ZN7minikin11LayoutCache3getERNS_14LayoutCacheKeyEPNS_13LayoutContextERKNSt3__110shared_ptrINS_14FontCollectionEEE+300)
12-19 17:27:06.674 13010 13010 F DEBUG   :     #06 pc 0000000000016db0  /system/lib64/libminikin.so (_ZN7minikin6Layout12doLayoutWordEPKtmmmbPNS_13LayoutContextEmRKNSt3__110shared_ptrINS_14FontCollectionEEEPS0_Pf+488)
12-19 17:27:06.674 13010 13010 F DEBUG   :     #07 pc 0000000000016858  /system/lib64/libminikin.so (_ZN7minikin6Layout17doLayoutRunCachedEPKtmmmbPNS_13LayoutContextEmRKNSt3__110shared_ptrINS_14FontCollectionEEEPS0_Pf+476)
12-19 17:27:06.674 13010 13010 F DEBUG   :     #08 pc 000000000001656c  /system/lib64/libminikin.so (_ZN7minikin6Layout8doLayoutEPKtmmmiRKNS_9FontStyleERKNS_12MinikinPaintERKNSt3__110shared_ptrINS_14FontCollectionEEE+704)
12-19 17:27:06.674 13010 13010 F DEBUG   :     #09 pc 0000000000039ed0  /system/lib64/libhwui.so (_ZN7android12MinikinUtils8doLayoutEPKNS_5PaintEiPNS_8TypefaceEPKtmmm+376)
12-19 17:27:06.674 13010 13010 F DEBUG   :     #10 pc 000000000003880c  /system/lib64/libhwui.so (_ZN7android6Canvas8drawTextEPKtiiiffiRKNS_5PaintEPNS_8TypefaceE+136)
12-19 17:27:06.674 13010 13010 F DEBUG   :     #11 pc 0000000000171258  /system/lib64/libandroid_runtime.so (_ZN7android9CanvasJNIL13drawTextCharsEP7_JNIEnvP8_jobjectlP11_jcharArrayiiffill+136)
12-19 17:27:06.674 13010 13010 F DEBUG   :     #12 pc 00000000014ae3e4  /system/framework/arm64/boot-framework.oat (offset 0x693000) (android.view.RecordingCanvas.nDrawText [DEDUPED]+244)
12-19 17:27:06.674 13010 13010 F DEBUG   :     #13 pc 00000000014b1378  /system/framework/arm64/boot-framework.oat (offset 0x693000) (android.view.RecordingCanvas.drawText+264)
12-19 17:27:06.674 13010 13010 F DEBUG   :     #14 pc 0000000000003aac  /dev/ashmem/dalvik-jit-code-cache_12527_12527 (deleted)

Logcat (Android 10 AVD):

Click to expand log
12-19 15:32:51.629 12937 12937 F libc    : Fatal signal 7 (SIGBUS), code 2 (BUS_ADRERR), fault addr 0xbf6ea000 in tid 12937 (com.termux), pid 12937 (com.termux)
12-19 15:32:51.946 14966 14966 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
12-19 15:32:51.946 14966 14966 F DEBUG   : Build fingerprint: 'google/sdk_gphone_x86/generic_x86:10/QSR1.191030.002/5978551:userdebug/dev-keys'
12-19 15:32:51.946 14966 14966 F DEBUG   : Revision: '0'
12-19 15:32:51.946 14966 14966 F DEBUG   : ABI: 'x86'
12-19 15:32:51.946 14966 14966 F DEBUG   : Timestamp: 2019-12-19 15:32:51+0000
12-19 15:32:51.946 14966 14966 F DEBUG   : pid: 12937, tid: 12937, name: com.termux  >>> com.termux <<<
12-19 15:32:51.973 14966 14966 F DEBUG   : uid: 10134
12-19 15:32:51.973 14966 14966 F DEBUG   : signal 7 (SIGBUS), code 2 (BUS_ADRERR), fault addr 0xbf6ea000
12-19 15:32:51.973 14966 14966 F DEBUG   :     eax fff4f594  ebx ef1ef334  ecx bf6ea000  edx be6d6e98
12-19 15:32:51.973 14966 14966 F DEBUG   :     edi ef1ef334  esi edea7140
12-19 15:32:51.973 14966 14966 F DEBUG   :     ebp fff4f568  esp fff4f550  eip ef186e68
12-19 15:32:51.981  1747  2406 E GnssHAL_GnssInterface: gnssSvStatusCb: a: input svInfo.flags is 8
12-19 15:32:51.981  1747  2406 E GnssHAL_GnssInterface: gnssSvStatusCb: b: input svInfo.flags is 8
12-19 15:32:52.981  1747  2406 E GnssHAL_GnssInterface: gnssSvStatusCb: a: input svInfo.flags is 8
12-19 15:32:52.982  1747  2406 E GnssHAL_GnssInterface: gnssSvStatusCb: b: input svInfo.flags is 8
12-19 15:32:53.982  1747  2406 E GnssHAL_GnssInterface: gnssSvStatusCb: a: input svInfo.flags is 8
12-19 15:32:53.982  1747  2406 E GnssHAL_GnssInterface: gnssSvStatusCb: b: input svInfo.flags is 8
12-19 15:32:54.307 14966 14966 F DEBUG   : 
12-19 15:32:54.307 14966 14966 F DEBUG   : backtrace:
12-19 15:32:54.307 14966 14966 F DEBUG   :       #00 pc 00041e68  /system/lib/libharfbuzz_ng.so (OT::OpenTypeFontFile::get_face(unsigned int, unsigned int*) const+40) (BuildId: f36fa9d6cf509008f57b13c1926ae553)
12-19 15:32:54.307 14966 14966 F DEBUG   :       #01 pc 000418be  /system/lib/libharfbuzz_ng.so (_hb_face_for_data_reference_table(hb_face_t*, unsigned int, void*)+94) (BuildId: f36fa9d6cf509008f57b13c1926ae553)
12-19 15:32:54.307 14966 14966 F DEBUG   :       #02 pc 00041c3b  /system/lib/libharfbuzz_ng.so (hb_face_reference_table+43) (BuildId: f36fa9d6cf509008f57b13c1926ae553)
12-19 15:32:54.307 14966 14966 F DEBUG   :       #03 pc 0001a7b9  /system/lib/libminikin.so (minikin::LayoutPiece::LayoutPiece(minikin::U16StringPiece const&, minikin::Range const&, bool, minikin::MinikinPaint const&, minikin::StartHyphenEdit, minikin::EndHyphenEdit)+1913) (BuildId: 861b79bcc3e1f5d2abd5c008a0ce098d)
12-19 15:32:54.307 14966 14966 F DEBUG   :       #04 pc 0001803a  /system/lib/libminikin.so (void minikin::LayoutCache::getOrCreate(minikin::U16StringPiece const&, minikin::Range const&, minikin::MinikinPaint const&, bool, minikin::StartHyphenEdit, minikin::EndHyphenEdit, minikin::LayoutAppendFunctor&)+602) (BuildId: 861b79bcc3e1f5d2abd5c008a0ce098d)
12-19 15:32:54.307 14966 14966 F DEBUG   :       #05 pc 00017c9e  /system/lib/libminikin.so (minikin::Layout::doLayoutWord(unsigned short const*, unsigned int, unsigned int, unsigned int, bool, minikin::MinikinPaint const&, unsigned int, minikin::StartHyphenEdit, minikin::EndHyphenEdit, minikin::Layout*, float*)+238) (BuildId: 861b79bcc3e1f5d2abd5c008a0ce098d)
12-19 15:32:54.308 14966 14966 F DEBUG   :       #06 pc 000179c4  /system/lib/libminikin.so (minikin::Layout::doLayoutRunCached(minikin::U16StringPiece const&, minikin::Range const&, bool, minikin::MinikinPaint const&, unsigned int, minikin::StartHyphenEdit, minikin::EndHyphenEdit, minikin::Layout*, float*)+468) (BuildId: 861b79bcc3e1f5d2abd5c008a0ce098d)
12-19 15:32:54.308 14966 14966 F DEBUG   :       #07 pc 00017690  /system/lib/libminikin.so (minikin::Layout::doLayout(minikin::U16StringPiece const&, minikin::Range const&, minikin::Bidi, minikin::MinikinPaint const&, minikin::StartHyphenEdit, minikin::EndHyphenEdit)+256) (BuildId: 861b79bcc3e1f5d2abd5c008a0ce098d)
12-19 15:32:54.308 14966 14966 F DEBUG   :       #08 pc 002dc1a1  /system/lib/libhwui.so (android::MinikinUtils::doLayout(android::Paint const*, minikin::Bidi, android::Typeface const*, unsigned short const*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, minikin::MeasuredText*)+289) (BuildId: 10d1e316b7aa14d35052a448bd944fde)
12-19 15:32:54.310 14966 14966 F DEBUG   :       #09 pc 002dbbec  /system/lib/libhwui.so (android::Canvas::drawText(unsigned short const*, int, int, int, int, int, float, float, minikin::Bidi, android::Paint const&, android::Typeface const*, minikin::MeasuredText*)+108) (BuildId: 10d1e316b7aa14d35052a448bd944fde)
12-19 15:32:54.310 14966 14966 F DEBUG   :       #10 pc 000fbadf  /system/lib/libandroid_runtime.so (android::CanvasJNI::drawTextChars(_JNIEnv*, _jobject*, long long, _jcharArray*, int, int, float, float, int, long long)+303) (BuildId: 6ceb9761bceb97a18c92f8a4b7072247)
12-19 15:32:54.310 14966 14966 F DEBUG   :       #11 pc 002b6f4b  /system/framework/x86/boot-framework.oat (art_jni_trampoline+283) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.310 14966 14966 F DEBUG   :       #12 pc 00675afe  /system/framework/x86/boot-framework.oat (android.graphics.BaseRecordingCanvas.drawText+206) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.311 14966 14966 F DEBUG   :       #13 pc 0200ca95  /memfd:/jit-cache (deleted) (com.termux.view.d.a+1829)
12-19 15:32:54.311 14966 14966 F DEBUG   :       #14 pc 0200ae83  /memfd:/jit-cache (deleted) (com.termux.view.d.a+1715)
12-19 15:32:54.311 14966 14966 F DEBUG   :       #15 pc 0201493e  /memfd:/jit-cache (deleted) (com.termux.view.TerminalView.onDraw+206)
12-19 15:32:54.311 14966 14966 F DEBUG   :       #16 pc 009e6307  /system/framework/x86/boot-framework.oat (android.view.View.draw+167) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.311 14966 14966 F DEBUG   :       #17 pc 00a02e15  /system/framework/x86/boot-framework.oat (android.view.View.updateDisplayListIfDirty+981) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.312 14966 14966 F DEBUG   :       #18 pc 00a8a730  /system/framework/x86/boot-framework.oat (android.view.ViewGroup.dispatchGetDisplayList+224) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.312 14966 14966 F DEBUG   :       #19 pc 00a02b47  /system/framework/x86/boot-framework.oat (android.view.View.updateDisplayListIfDirty+263) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.312 14966 14966 F DEBUG   :       #20 pc 00a8a730  /system/framework/x86/boot-framework.oat (android.view.ViewGroup.dispatchGetDisplayList+224) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.312 14966 14966 F DEBUG   :       #21 pc 00a02b47  /system/framework/x86/boot-framework.oat (android.view.View.updateDisplayListIfDirty+263) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.312 14966 14966 F DEBUG   :       #22 pc 00a8a730  /system/framework/x86/boot-framework.oat (android.view.ViewGroup.dispatchGetDisplayList+224) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.312 14966 14966 F DEBUG   :       #23 pc 00a02b47  /system/framework/x86/boot-framework.oat (android.view.View.updateDisplayListIfDirty+263) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.312 14966 14966 F DEBUG   :       #24 pc 00a8a730  /system/framework/x86/boot-framework.oat (android.view.ViewGroup.dispatchGetDisplayList+224) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.312 14966 14966 F DEBUG   :       #25 pc 00a02b47  /system/framework/x86/boot-framework.oat (android.view.View.updateDisplayListIfDirty+263) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.313 14966 14966 F DEBUG   :       #26 pc 00a8a730  /system/framework/x86/boot-framework.oat (android.view.ViewGroup.dispatchGetDisplayList+224) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.313 14966 14966 F DEBUG   :       #27 pc 00a02b47  /system/framework/x86/boot-framework.oat (android.view.View.updateDisplayListIfDirty+263) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.317 14966 14966 F DEBUG   :       #28 pc 009d6ab2  /system/framework/x86/boot-framework.oat (android.view.ThreadedRenderer.updateViewTreeDisplayList+98) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.317 14966 14966 F DEBUG   :       #29 pc 009d682a  /system/framework/x86/boot-framework.oat (android.view.ThreadedRenderer.updateRootDisplayList+106) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.317 14966 14966 F DEBUG   :       #30 pc 009d6b60  /system/framework/x86/boot-framework.oat (android.view.ThreadedRenderer.draw+128) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.317 14966 14966 F DEBUG   :       #31 pc 00a0cc12  /system/framework/x86/boot-framework.oat (android.view.ViewRootImpl.draw+2242) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.317 14966 14966 F DEBUG   :       #32 pc 00a11ed6  /system/framework/x86/boot-framework.oat (android.view.ViewRootImpl.performDraw+726) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.317 14966 14966 F DEBUG   :       #33 pc 00a162cf  /system/framework/x86/boot-framework.oat (android.view.ViewRootImpl.performTraversals+13999) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.317 14966 14966 F DEBUG   :       #34 pc 00a1a1a5  /system/framework/x86/boot-framework.oat (android.view.ViewRootImpl.doTraversal+165) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.317 14966 14966 F DEBUG   :       #35 pc 0053c299  /system/framework/x86/boot-framework.oat (android.content.ContextWrapper.getAutofillClient [DEDUPED]+57) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.317 14966 14966 F DEBUG   :       #36 pc 0091c329  /system/framework/x86/boot-framework.oat (android.view.Choreographer.doCallbacks+921) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.317 14966 14966 F DEBUG   :       #37 pc 0091cd0e  /system/framework/x86/boot-framework.oat (android.view.Choreographer.doFrame+1630) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.317 14966 14966 F DEBUG   :       #38 pc 009c926b  /system/framework/x86/boot-framework.oat (android.view.Choreographer$FrameDisplayEventReceiver.run+75) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.317 14966 14966 F DEBUG   :       #39 pc 0072986d  /system/framework/x86/boot-framework.oat (android.os.Handler.dispatchMessage+77) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.317 14966 14966 F DEBUG   :       #40 pc 0072cbe3  /system/framework/x86/boot-framework.oat (android.os.Looper.loop+1555) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.317 14966 14966 F DEBUG   :       #41 pc 004e081d  /system/framework/x86/boot-framework.oat (android.app.ActivityThread.main+749) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.318 14966 14966 F DEBUG   :       #42 pc 0013e9a2  /apex/com.android.runtime/lib/libart.so (art_quick_invoke_static_stub+418) (BuildId: a0a062684495092d1756e30ba2dff37d)
12-19 15:32:54.318 14966 14966 F DEBUG   :       #43 pc 00149a7a  /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+298) (BuildId: a0a062684495092d1756e30ba2dff37d)
12-19 15:32:54.318 14966 14966 F DEBUG   :       #44 pc 0055a513  /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+99) (BuildId: a0a062684495092d1756e30ba2dff37d)
12-19 15:32:54.318 14966 14966 F DEBUG   :       #45 pc 0055c32f  /apex/com.android.runtime/lib/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+1327) (BuildId: a0a062684495092d1756e30ba2dff37d)
12-19 15:32:54.318 14966 14966 F DEBUG   :       #46 pc 004c9153  /apex/com.android.runtime/lib/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+83) (BuildId: a0a062684495092d1756e30ba2dff37d)
12-19 15:32:54.318 14966 14966 F DEBUG   :       #47 pc 000c6bf8  /system/framework/x86/boot.oat (art_jni_trampoline+168) (BuildId: 7913dbaef2e8d9971cb7619ef0d566987f8326a7)
12-19 15:32:54.318 14966 14966 F DEBUG   :       #48 pc 00991099  /system/framework/x86/boot-framework.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+137) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.318 14966 14966 F DEBUG   :       #49 pc 00998b08  /system/framework/x86/boot-framework.oat (com.android.internal.os.ZygoteInit.main+1816) (BuildId: 41fe5c80759ed5c2fadba05ffd76ea31825a7e50)
12-19 15:32:54.318 14966 14966 F DEBUG   :       #50 pc 0013e9a2  /apex/com.android.runtime/lib/libart.so (art_quick_invoke_static_stub+418) (BuildId: a0a062684495092d1756e30ba2dff37d)
12-19 15:32:54.318 14966 14966 F DEBUG   :       #51 pc 00149a7a  /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+298) (BuildId: a0a062684495092d1756e30ba2dff37d)
12-19 15:32:54.318 14966 14966 F DEBUG   :       #52 pc 0055a513  /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+99) (BuildId: a0a062684495092d1756e30ba2dff37d)
12-19 15:32:54.319 14966 14966 F DEBUG   :       #53 pc 0055a1ae  /apex/com.android.runtime/lib/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, char*)+430) (BuildId: a0a062684495092d1756e30ba2dff37d)
12-19 15:32:54.319 14966 14966 F DEBUG   :       #54 pc 004305cd  /apex/com.android.runtime/lib/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+893) (BuildId: a0a062684495092d1756e30ba2dff37d)
12-19 15:32:54.319 14966 14966 F DEBUG   :       #55 pc 003d93bf  /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, char*, art::Primitive::Type, art::InvokeType)+2847) (BuildId: a0a062684495092d1756e30ba2dff37d)
12-19 15:32:54.319 14966 14966 F DEBUG   :       #56 pc 003c7509  /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+73) (BuildId: a0a062684495092d1756e30ba2dff37d)
12-19 15:32:54.319 14966 14966 F DEBUG   :       #57 pc 000b25fe  /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+62) (BuildId: 6ceb9761bceb97a18c92f8a4b7072247)
12-19 15:32:54.319 14966 14966 F DEBUG   :       #58 pc 000b628a  /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector const&, bool)+794) (BuildId: 6ceb9761bceb97a18c92f8a4b7072247)
12-19 15:32:54.319 14966 14966 F DEBUG   :       #59 pc 00003632  /system/bin/app_process32 (main+1490) (BuildId: b7a60bc7d078521421fd5a8d201915ae)
12-19 15:32:54.319 14966 14966 F DEBUG   :       #60 pc 000898e8  /apex/com.android.runtime/lib/bionic/libc.so (__libc_init+120) (BuildId: 76290498408016ad14f4b98c3ab6c65c)
ghost commented 4 years ago

Adding hook to pause scrolling during font change reduces probability of crash. I guess if we will be able to completely freeze TerminalView rendering during font change, the issue will be solved.

fornwall commented 4 years ago

It would be nice to reproduce the issue in a minimal test case, started https://github.com/fornwall/fontchanger for that.

fornwall commented 4 years ago

Fixed in Termux:Styling app, https://github.com/termux/termux-styling/pull/66.