HarmonyOS 鸿蒙Next修改输入框内容崩溃
HarmonyOS 鸿蒙Next修改输入框内容崩溃
页面上有一个输入框TextInput,一个Button,
点击按钮给worker线程发送消息执行一些网络连接操作(不会修改输入框内容),
再点击输入框手动修改内容,程序大概率崩溃,什么问题呢?
(非常普通的输入框,没有做任何监听)
[on_text_changed_listener_impl.cpp(DeleteBackward)-(-1:100000:singleton)] DeleteBackward length: 1
HandleCommands 831: HandleCommands cmd:29196 error:404
[invalidDomain]signal_chain_handler call 2 rd sigchain action for signal: 6 sca_sigaction=7f9b6b654c noreturn=0
[invalidDomain]DFX_SigchainHandler :: sig(6), pid(7695), tid(7726).
[invalidDomain]Try block main thread.
[invalidDomain]Crash(3) in child thread(7695), lock main thread.
[invalidDomain]g_GetStackIdFunc 0000000000000000.
[invalidDomain]DFX_SigchainHandler :: sig(6), pid(7695), processName(net.infosec.vpnsdkdemo), threadName(IPC_3_7726).
[invalidDomain]start wait processdump read registers
HandleCommands 831: HandleCommands cmd:29197 error:404
[invalidDomain]processdump have get all registers .
[invalidDomain]start wait processdump unwind
[invalidDomain]processdump unwind finish
[invalidDomain]process dump end
[invalidDomain]Finish handle signal(6) in 7695:7726
[invalidDomain]signal_chain_handler call usr sigaction for signal: 6 sig_action.sa_sigaction=0000000018608810
[invalidDomain]Crash in child thread(7695), exit main thread.
[ecmascript] Get crash sanbox path fail.
[invalidDomain]signal_chain_handler call 2 rd sigchain action for signal: 6 sca_sigaction=7f9b6b654c noreturn=0
[invalidDomain]DFX_SigchainHandler :: sig(6), pid(7695), tid(7726).
[invalidDomain]signal_chain_handler call usr sigaction for signal: 6 sig_action.sa_sigaction=0000000019149518
[text_select_controller.cpp(UpdateCaretIndex)-(100000:100000:scope)] newIndex change to 7
[text_field_pattern.cpp(GetMiscTextConfig)-(100000:100000:scope)] textfield 167 MiscTextConfig positionY: 397.000000, height: 69.500000
line: 609, function: OnCursorUpdate,left: 790, top: 407, height: 29
2430:operator():293 <<<=== ffrt black box(BBOX) start ===>>>
line: 643, function: OnSelectionChange,IMC size: 7, range: 8/8/7/7
2431:SaveCurrent:97 <<<=== current status ===>>>
2432:SaveTaskCounter:109 <<<=== task counter ===>>>
2433:SaveTaskCounter:111 FFRT BBOX TaskSubmitCounter:322 TaskEnQueueCounter:321 TaskDoneCounter:316
2434:SaveTaskCounter:113 FFRT BBOX TaskRunCounter:346 TaskSwitchCounter:26 TaskFinishCounter:4
2435:SaveTaskCounter:115 FFRT BBOX TaskWakeCounterInc:0, TaskPendingCounter:0
2436:SaveTaskCounter:119 TaskRunCounter is not equal to TaskSwitchCounter + TaskFinishCounter
2437:SaveWorkerStatus:126 <<<=== worker status ===>>>
2438:SaveWorkerStatus:133 qos 2: worker tid 8981 is running nothing
2439:SaveWorkerStatus:133 qos 2: worker tid 8980 is running nothing
2440:SaveWorkerStatus:133 qos 4: worker tid 8979 is running nothing
2441:SaveReadyQueueStatus:146 <<<=== ready queue status ===>>>
2442:operator():181 <<<=== blocked by synchronization primitive(mutex etc) ===>>>
2443:operator():187 <1/1> id 318 qos 2 name SubmitEvent
Receive GetBacktrace request.
[text_field_pattern.cpp(UpdateCaretInfoToController)-(100000:100000:scope)] UpdateCaretInfoToController, left 790.550354, top 407.500000, width 2.500000, height 29.000000, selectController_ Start 7, end 7
[invalidDomain][input_transfer_station.cpp] OnInputEvent<47>: eventId:4, InputTracking id:101759, Receive keyEvent, windowId:81
[invalidDomain][input_transfer_station.cpp] OnInputEvent<47>: eventId:5, InputTracking id:101760, Receive keyEvent, windowId:81
[invalidDomain][input_transfer_station.cpp] OnInputEvent<47>: eventId:6, InputTracking id:101761, Receive keyEvent, windowId:81
2459:Dispatch:207 qos[4] thread start succ
2461:Dispatch:207 qos[4] thread start succ
[invalidDomain][input_transfer_station.cpp] OnInputEvent<47>: eventId:7, InputTracking id:101762, Receive keyEvent, windowId:81
2464:Dispatch:207 qos[4] thread start succ
2466:Dispatch:207 qos[4] thread start succ
[param_base.c:356]Forbid to open workspace for u:object_r:hiviewdfx_hiview_param:s0 error 13
[param_base.c:530]Selinux check name faultloggerd.priv.mixstack.enabled in u:object_r:hiviewdfx_hiview_param:s0 info [457 0 0]
[param_manager.c:681]Forbid to access faultloggerd.priv.mixstack.enabled label 4408 57
[param_manager.c:732]SystemReadParam failed! name is:faultloggerd.priv.mixstack.enabled, errNum is:1002!
[unwinder.cpp:558] UnwindLocal:: fpUnwind: 0
[unwinder.cpp:719] frames size: 256
2489:CoStart:409 executed by worker suddenly, ignore backtrace
2492:backtrace:261 Tid:9116, Name:IPC_3_7726
#00 pc 0000000000004ca8 /system/lib64/chipset-pub-sdk/libbacktrace_local.so(OHOS::HiviewDFX::GetBacktrace(std::__h::basic_string<char, std::__h::char_traits<char>, std::__h::allocator<char>>&, bool, unsigned long)+144)(13b42c2ef82a12fd7e0f01caf612cff2)
#01 pc 0000000000046dc0 /system/lib64/ndk/libffrt.so(backtrace(int)+60)(4c28d4279502eab3c0715e1a46201957)
#02 pc 00000000000541bc /system/lib64/ndk/libffrt.so(CoYield()+584)(4c28d4279502eab3c0715e1a46201957)
#03 pc 00000000000857c4 /system/lib64/ndk/libffrt.so(ffrt::this_task::sleep_until_impl(std::__h::chrono::time_point<std::__h::chrono::steady_clock, std::__h::chrono::duration<long long, std::__h::ratio<1l, 1000000000l>>> const&)+208)(4c28d4279502eab3c0715e1a46201957)
#04 pc 0000000000085f3c /system/lib64/ndk/libffrt.so(ffrt_usleep+56)(4c28d4279502eab3c0715e1a46201957)
#05 pc 0000000000045694 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#06 pc 0000000000088a84 /system/lib64/ndk/libffrt.so(ffrt::CPUEUTask::Execute()+272)(4c28d4279502eab3c0715e1a46201957)
#07 pc 0000000000055104 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#08 pc 00000000000527fc /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#09 pc 00000000000551f0 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#10 pc 00000000000527fc /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#11 pc 00000000000551f0 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#12 pc 00000000000527fc /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#13 pc 00000000000551f0 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#14 pc 00000000000527fc /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#15 pc 00000000000551f0 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#16 pc 00000000000527fc /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#17 pc 00000000000551f0 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#18 pc 00000000000527fc /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#19 pc 00000000000551f0 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#20 pc 00000000000527fc /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#21 pc 00000000000551f0 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#22 pc 00000000000527fc /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#23 pc 00000000000551f0 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#24 pc 00000000000527fc /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#25 pc 00000000000551f0 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#26 pc 00000000000527fc /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#27 pc 00000000000551f0 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#28 pc 00000000000527fc /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#29 pc 00000000000551f0 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#30 pc 00000000000527fc /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#31 pc 00000000000551f0 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#32 pc 00000000000527fc /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#33 pc 00000000000551f0 /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#34 pc 00000000000527fc /system/lib64/ndk/libffrt.so(4c28d4279502eab3c0715e1a46201957)
#35 pc 00000000000551f0 /system/lib64/ndk/libffrt.so(4c28d427950
2493:operator():181 <<<=== pending task ===>>>
2494:operator():187 <1/1> id 319 qos 2 name SubmitEvent
2495:operator():300 <<<=== ffrt black box(BBOX) finish ===>>>
[invalidDomain]signal_chain_handler call 2 rd sigchain action for signal: 6 sca_sigaction=7f9b6b654c noreturn=0
[invalidDomain]DFX_SigchainHandler :: sig(6), pid(7695), tid(7726).
[invalidDomain]signal_chain_handler SIG_DFL handler for signal: 6
[invalidDomain]pid(7695) rethrow sig(6) success.
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
关于HarmonyOS 鸿蒙Next修改输入框内容崩溃的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。
1 回复
worker线程影响的吧? 可以关了传送消息的那部分代码,看下是不是线程拿到输入框的内容后还在执行,过程中修改输入框引起冲突?