osfans / trime

同文安卓輸入法平臺3.x/Android-rime/Rime Input Method Engine for Android
http://osfans.github.io/trime/
GNU General Public License v3.0
3.18k stars 377 forks source link

无法学习自造词 #1490

Closed caom0202 closed 1 month ago

caom0202 commented 1 month ago

摘要 / Summary

如题, trime 无法记录自造词。重新部署后会恢复正常,但一段时间后会再次无法学习自造词。出现问题时尝试导出日志会失败,提示 java.util.ConcurrentModificationException 。

重现步骤 / Steps to Reproduce

部署,一段时间(通常若干小时)后尝试输入自造词,随即再次尝试输入该词,会发现该词没有被记住,仍然需要手动选字。

预期行为 / Expected Behavior

自造词应当能够被学习记住。

日志 / Log

如上所述,发生问题时的日志无法输出。

以下为刚部署完成时的日志:

Log ``` --------- Device Info OS Name: SP1A.210812.016.G9730ZCU8HWE2 OS Version: 4.14.190-25741239-abG9730ZCU8HWE2 (G9730ZCU8HWE2) OS API Level: 31 Device: beyond1q Model (product): SM-G9730 (beyond1qltezc) Manufacturer: samsung Tags: release-keys Screen Size: 1080 x 2042 Screen Density: 2.625 Screen orientation: Portrait --------- Build Info Package Name: com.osfans.trime Builder: F-Droid Version Code: 20240701 Version Name: v3.2.19-0-ge46046ab-release Build Time: 2024-07-03T00:17:08Z Build Git Hash: e46046abfb030a2687033f74ad00d1b2693af433 --------- beginning of main 10-13 01:00:40.071 I/rime.trime(16992): closed db 'luna_pinyin'. 10-13 01:00:40.093 I/Dialog (16992): mIsDeviceDefault = false, mIsSamsungBasicInteraction = false, isMetaDataInActivity = false 10-13 01:00:40.094 I/DecorView(16992): [INFO] isPopOver=false, config=false 10-13 01:00:40.094 I/DecorView(16992): updateCaptionType >> DecorView@d5d45c0[], isFloating=true, isApplication=true, hasWindowControllerCallback=false, hasWindowDecorCaption=false 10-13 01:00:40.094 D/DecorView(16992): setCaptionType = 0, this = DecorView@d5d45c0[] 10-13 01:00:40.096 D/ScrollView(16992): initGoToTop 10-13 01:00:40.097 D/ScrollView(16992): initGoToTop 10-13 01:00:40.106 I/[rime-main](16992): Starting up Rime APIs ... 10-13 01:00:40.106 I/rime.trime(16992): registering core components. 10-13 01:00:40.106 I/ViewRootImpl@fdcffbb[PrefLauncherAlias](16992): setView = com.android.internal.policy.DecorView@d5d45c0 TM=true 10-13 01:00:40.106 I/rime.trime(16992): registering component: config_builder 10-13 01:00:40.106 I/rime.trime(16992): registering component: config 10-13 01:00:40.106 I/rime.trime(16992): registering component: schema 10-13 01:00:40.106 I/rime.trime(16992): registering component: user_config 10-13 01:00:40.106 I/rime.trime(16992): registering components from module 'dict'. 10-13 01:00:40.106 I/rime.trime(16992): registering component: tabledb 10-13 01:00:40.106 I/rime.trime(16992): registering component: stabledb 10-13 01:00:40.106 I/rime.trime(16992): registering component: plain_userdb 10-13 01:00:40.106 I/rime.trime(16992): registering component: userdb 10-13 01:00:40.106 I/rime.trime(16992): registering component: corrector 10-13 01:00:40.106 I/rime.trime(16992): registering component: dictionary 10-13 01:00:40.106 I/rime.trime(16992): registering component: reverse_lookup_dictionary 10-13 01:00:40.106 I/rime.trime(16992): registering component: user_dictionary 10-13 01:00:40.106 I/rime.trime(16992): registering component: userdb_recovery_task 10-13 01:00:40.107 I/rime.trime(16992): registering components from module 'gears'. 10-13 01:00:40.107 I/rime.trime(16992): registering component: ascii_composer 10-13 01:00:40.107 I/rime.trime(16992): registering component: chord_composer 10-13 01:00:40.107 I/rime.trime(16992): registering component: express_editor 10-13 01:00:40.107 I/rime.trime(16992): registering component: fluid_editor 10-13 01:00:40.107 I/rime.trime(16992): registering component: fluency_editor 10-13 01:00:40.107 I/rime.trime(16992): registering component: key_binder 10-13 01:00:40.107 I/rime.trime(16992): registering component: navigator 10-13 01:00:40.107 I/rime.trime(16992): registering component: punctuator 10-13 01:00:40.107 I/rime.trime(16992): registering component: recognizer 10-13 01:00:40.107 I/rime.trime(16992): registering component: selector 10-13 01:00:40.107 I/rime.trime(16992): registering component: speller 10-13 01:00:40.107 I/rime.trime(16992): registering component: shape_processor 10-13 01:00:40.107 I/rime.trime(16992): registering component: abc_segmentor 10-13 01:00:40.107 I/rime.trime(16992): registering component: affix_segmentor 10-13 01:00:40.107 I/rime.trime(16992): registering component: ascii_segmentor 10-13 01:00:40.107 I/rime.trime(16992): registering component: matcher 10-13 01:00:40.107 I/rime.trime(16992): registering component: punct_segmentor 10-13 01:00:40.107 I/rime.trime(16992): registering component: fallback_segmentor 10-13 01:00:40.107 I/rime.trime(16992): registering component: echo_translator 10-13 01:00:40.107 I/rime.trime(16992): registering component: punct_translator 10-13 01:00:40.107 I/rime.trime(16992): registering component: table_translator 10-13 01:00:40.107 I/rime.trime(16992): registering component: script_translator 10-13 01:00:40.107 I/rime.trime(16992): registering component: r10n_translator 10-13 01:00:40.107 I/rime.trime(16992): registering component: reverse_lookup_translator 10-13 01:00:40.107 I/rime.trime(16992): registering component: schema_list_translator 10-13 01:00:40.107 I/rime.trime(16992): registering component: switch_translator 10-13 01:00:40.107 I/rime.trime(16992): registering component: history_translator 10-13 01:00:40.107 I/rime.trime(16992): registering component: simplifier 10-13 01:00:40.107 I/rime.trime(16992): registering component: uniquifier 10-13 01:00:40.112 I/rime.trime(16992): registering component: charset_filter 10-13 01:00:40.112 I/rime.trime(16992): registering component: cjk_minifier 10-13 01:00:40.112 I/rime.trime(16992): registering component: reverse_lookup_filter 10-13 01:00:40.112 I/rime.trime(16992): registering component: single_char_filter 10-13 01:00:40.112 I/rime.trime(16992): registering component: shape_formatter 10-13 01:00:40.112 I/rime.trime(16992): registering component: codepoint_translator 10-13 01:00:40.112 I/rime.trime(16992): registering component: charset_filter 10-13 01:00:40.112 W/rime.trime(16992): replacing previously registered component: charset_filter 10-13 01:00:40.112 I/rime.trime(16992): registering components from module 'lua'. 10-13 01:00:40.114 I/rime.trime(16992): rime.lua info: rime.lua should be either in the rime user data directory or in the rime shared data directory 10-13 01:00:40.114 I/rime.trime(16992): registering component: lua_translator 10-13 01:00:40.115 I/rime.trime(16992): registering component: lua_filter 10-13 01:00:40.115 I/rime.trime(16992): registering component: lua_segmentor 10-13 01:00:40.115 I/rime.trime(16992): registering component: lua_processor 10-13 01:00:40.115 I/rime.trime(16992): registering components from module 'grammar'. 10-13 01:00:40.115 I/rime.trime(16992): registering component: grammar 10-13 01:00:40.115 I/rime.trime(16992): registering component: predictor 10-13 01:00:40.115 I/rime.trime(16992): registering component: predict_translator 10-13 01:00:40.115 I/rime.trime(16992): registering components from module 'levers'. 10-13 01:00:40.115 I/rime.trime(16992): registering component: detect_modifications 10-13 01:00:40.115 I/rime.trime(16992): registering component: installation_update 10-13 01:00:40.115 I/rime.trime(16992): registering component: workspace_update 10-13 01:00:40.115 I/rime.trime(16992): registering component: schema_update 10-13 01:00:40.115 I/rime.trime(16992): registering component: config_file_update 10-13 01:00:40.115 I/rime.trime(16992): registering component: prebuild_all_schemas 10-13 01:00:40.115 I/rime.trime(16992): registering component: user_dict_upgrade 10-13 01:00:40.115 I/rime.trime(16992): registering component: cleanup_trash 10-13 01:00:40.115 I/rime.trime(16992): registering component: user_dict_sync 10-13 01:00:40.115 I/rime.trime(16992): registering component: backup_config_files 10-13 01:00:40.115 I/rime.trime(16992): registering component: clean_old_log_files 10-13 01:00:40.117 W/rime.trime(16992): couldn't list directory './': filesystem error: in directory_iterator::directory_iterator(...): Permission denied [./] 10-13 01:00:40.117 I/rime.trime(16992): updating rime installation info. 10-13 01:00:40.117 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/installation.yaml'. 10-13 01:00:40.118 I/ViewRootImpl@fdcffbb[PrefLauncherAlias](16992): Relayout returned: old=(0,112,1080,2154) new=(28,939,1052,1326) req=(1024,387)0 dur=8 res=0x7 s={true -5476376643687510944} ch=true fn=-1 10-13 01:00:40.119 D/OpenGLRenderer(16992): eglCreateWindowSurface 10-13 01:00:40.119 I/rime.trime(16992): installation info exists. installation id: 9074fed1-9eba-4db3-b59b-f374ca81fd0f 10-13 01:00:40.119 I/rime.trime(16992): sync dir: /sdcard/rime/sync_dir 10-13 01:00:40.119 I/rime.trime(16992): previous distribution: trime 10-13 01:00:40.119 I/rime.trime(16992): previous distribution version: v3.2.19 10-13 01:00:40.119 I/rime.trime(16992): previous Rime version: 1.11.2 10-13 01:00:40.119 I/rime.trime(16992): starting work thread for 3 tasks. 10-13 01:00:40.119 I/ViewRootImpl@fdcffbb[PrefLauncherAlias](16992): [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:11420 android.view.ViewRootImpl.performTraversals:4193 android.view.ViewRootImpl.doTraversal:2919 10-13 01:00:40.120 I/rime.trime(16992): running deployment tasks: 10-13 01:00:40.120 I/rime.trime(16992): updating workspace. 10-13 01:00:40.120 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/build/default.yaml'. 10-13 01:00:40.122 I/BufferQueueProducer(16992): [ViewRootImpl@fdcffbb[PrefLauncherAlias]#717(BLAST Consumer)717](id:4260000002cd,api:1,p:16992,c:16992) queueBuffer: queued for the first time. 10-13 01:00:40.124 I/rime.trime(16992): source file changed: /storage/emulated/0/rime/default.yaml 10-13 01:00:40.124 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/default.yaml'. 10-13 01:00:40.124 I/ViewRootImpl@fdcffbb[PrefLauncherAlias](16992): [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$addFrameCompleteCallbackIfNeeded$3$ViewRootImpl:4995 android.view.ViewRootImpl$$ExternalSyntheticLambda16.run:6 android.os.Handler.handleCallback:938 10-13 01:00:40.124 I/ViewRootImpl@fdcffbb[PrefLauncherAlias](16992): [DP] rdf() 10-13 01:00:40.124 D/ViewRootImpl@fdcffbb[PrefLauncherAlias](16992): reportDrawFinished (fn: -1) 10-13 01:00:40.126 I/rime.trime(16992): auto-patch default:/__patch: default.custom:/patch? 10-13 01:00:40.126 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/punctuation.yaml'. 10-13 01:00:40.129 I/rime.trime(16992): auto-patch punctuation:/__patch: punctuation.custom:/patch? 10-13 01:00:40.131 W/rime.trime(16992): nonexistent config file '/storage/emulated/0/rime/punctuation.custom.yaml'. 10-13 01:00:40.131 I/rime.trime(16992): optional resource not loaded: punctuation.custom 10-13 01:00:40.131 I/rime.trime(16992): resolved: Patch(punctuation.custom:patch ) 10-13 01:00:40.131 I/rime.trime(16992): resolved: Include(punctuation:/full_shape) 10-13 01:00:40.131 I/rime.trime(16992): resolved: PendingChild(default:/punctuator/full_shape) 10-13 01:00:40.131 I/rime.trime(16992): resolved: Include(punctuation:/half_shape) 10-13 01:00:40.132 I/rime.trime(16992): resolved: PendingChild(default:/punctuator/half_shape) 10-13 01:00:40.132 I/rime.trime(16992): resolved: PendingChild(default:/punctuator) 10-13 01:00:40.132 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/key_bindings.yaml'. 10-13 01:00:40.135 I/rime.trime(16992): auto-patch key_bindings:/__patch: key_bindings.custom:/patch? 10-13 01:00:40.136 W/rime.trime(16992): nonexistent config file '/storage/emulated/0/rime/key_bindings.custom.yaml'. 10-13 01:00:40.136 I/rime.trime(16992): optional resource not loaded: key_bindings.custom 10-13 01:00:40.136 I/rime.trime(16992): resolved: Patch(key_bindings.custom:patch ) 10-13 01:00:40.137 I/rime.trime(16992): patching __append 10-13 01:00:40.137 I/rime.trime(16992): resolved: Patch(key_bindings:/emacs_editing) 10-13 01:00:40.137 I/rime.trime(16992): patching __append 10-13 01:00:40.137 I/rime.trime(16992): resolved: Patch(key_bindings:/move_by_word_with_tab) 10-13 01:00:40.137 I/rime.trime(16992): patching __append 10-13 01:00:40.137 I/rime.trime(16992): resolved: Patch(key_bindings:/paging_with_minus_equal) 10-13 01:00:40.137 I/rime.trime(16992): patching __append 10-13 01:00:40.137 I/rime.trime(16992): resolved: Patch(key_bindings:/paging_with_comma_period) 10-13 01:00:40.137 I/rime.trime(16992): patching __append 10-13 01:00:40.137 I/rime.trime(16992): resolved: Patch(key_bindings:/numbered_mode_switch) 10-13 01:00:40.137 I/rime.trime(16992): resolved: PendingChild(default:/key_binder/bindings) 10-13 01:00:40.137 I/rime.trime(16992): resolved: PendingChild(default:/key_binder) 10-13 01:00:40.137 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/default.custom.yaml'. 10-13 01:00:40.138 I/rime.trime(16992): patching schema_list 10-13 01:00:40.138 I/rime.trime(16992): resolved: Patch(default.custom:patch ) 10-13 01:00:40.138 I/rime.trime(16992): resource 'key_bindings.custom' not loaded. 10-13 01:00:40.138 I/rime.trime(16992): resource 'punctuation.custom' not loaded. 10-13 01:00:40.138 I/rime.trime(16992): saving config file '/storage/emulated/0/rime/build/default.yaml'. 10-13 01:00:40.141 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/build/default.yaml'. 10-13 01:00:40.142 I/ViewRootImpl@58f5a78[PrefLauncherAlias](16992): MSG_WINDOW_FOCUS_CHANGED 0 1 10-13 01:00:40.144 I/ViewRootImpl@fdcffbb[PrefLauncherAlias](16992): MSG_WINDOW_FOCUS_CHANGED 1 1 10-13 01:00:40.146 I/rime.trime(16992): updating schemas. 10-13 01:00:40.146 I/rime.trime(16992): schema: double_pinyin_flypy 10-13 01:00:40.146 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/double_pinyin_flypy.schema.yaml'. 10-13 01:00:40.149 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/build/double_pinyin_flypy.schema.yaml'. 10-13 01:00:40.183 I/rime.trime(16992): source file changed: /storage/emulated/0/rime/symbols.yaml 10-13 01:00:40.183 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/double_pinyin_flypy.schema.yaml'. 10-13 01:00:40.185 I/rime.trime(16992): auto-patch double_pinyin_flypy.schema:/__patch: double_pinyin_flypy.custom:/patch? 10-13 01:00:40.186 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/double_pinyin_flypy.custom.yaml'. 10-13 01:00:40.187 I/rime.trime(16992): patching punctuator 10-13 01:00:40.187 I/rime.trime(16992): patching recognizer/patterns/punct 10-13 01:00:40.187 I/rime.trime(16992): resolved: Patch(double_pinyin_flypy.custom:patch ) 10-13 01:00:40.187 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/default.yaml'. 10-13 01:00:40.189 I/rime.trime(16992): auto-patch default:/__patch: default.custom:/patch? 10-13 01:00:40.189 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/punctuation.yaml'. 10-13 01:00:40.192 I/rime.trime(16992): auto-patch punctuation:/__patch: punctuation.custom:/patch? 10-13 01:00:40.194 W/rime.trime(16992): nonexistent config file '/storage/emulated/0/rime/punctuation.custom.yaml'. 10-13 01:00:40.194 I/rime.trime(16992): optional resource not loaded: punctuation.custom 10-13 01:00:40.194 I/rime.trime(16992): resolved: Patch(punctuation.custom:patch ) 10-13 01:00:40.194 I/rime.trime(16992): resolved: Include(punctuation:/full_shape) 10-13 01:00:40.194 I/rime.trime(16992): resolved: PendingChild(default:/punctuator/full_shape) 10-13 01:00:40.194 I/rime.trime(16992): resolved: Include(punctuation:/half_shape) 10-13 01:00:40.194 I/rime.trime(16992): resolved: PendingChild(default:/punctuator/half_shape) 10-13 01:00:40.194 I/rime.trime(16992): resolved: PendingChild(default:/punctuator) 10-13 01:00:40.194 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/key_bindings.yaml'. 10-13 01:00:40.197 I/rime.trime(16992): auto-patch key_bindings:/__patch: key_bindings.custom:/patch? 10-13 01:00:40.199 W/rime.trime(16992): nonexistent config file '/storage/emulated/0/rime/key_bindings.custom.yaml'. 10-13 01:00:40.199 I/rime.trime(16992): optional resource not loaded: key_bindings.custom 10-13 01:00:40.199 I/rime.trime(16992): resolved: Patch(key_bindings.custom:patch ) 10-13 01:00:40.199 I/rime.trime(16992): patching __append 10-13 01:00:40.199 I/rime.trime(16992): resolved: Patch(key_bindings:/emacs_editing) 10-13 01:00:40.199 I/rime.trime(16992): patching __append 10-13 01:00:40.199 I/rime.trime(16992): resolved: Patch(key_bindings:/move_by_word_with_tab) 10-13 01:00:40.199 I/rime.trime(16992): patching __append 10-13 01:00:40.199 I/rime.trime(16992): resolved: Patch(key_bindings:/paging_with_minus_equal) 10-13 01:00:40.199 I/rime.trime(16992): patching __append 10-13 01:00:40.199 I/rime.trime(16992): resolved: Patch(key_bindings:/paging_with_comma_period) 10-13 01:00:40.199 I/rime.trime(16992): patching __append 10-13 01:00:40.199 I/rime.trime(16992): resolved: Patch(key_bindings:/numbered_mode_switch) 10-13 01:00:40.199 I/rime.trime(16992): resolved: PendingChild(default:/key_binder/bindings) 10-13 01:00:40.199 I/rime.trime(16992): resolved: PendingChild(default:/key_binder) 10-13 01:00:40.199 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/default.custom.yaml'. 10-13 01:00:40.201 I/rime.trime(16992): patching schema_list 10-13 01:00:40.201 I/rime.trime(16992): resolved: Patch(default.custom:patch ) 10-13 01:00:40.201 I/rime.trime(16992): interpreting key_binder/import_preset: default 10-13 01:00:40.201 I/rime.trime(16992): interpreting punctuator/import_preset: symbols 10-13 01:00:40.201 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/symbols.yaml'. 10-13 01:00:40.237 I/rime.trime(16992): auto-patch symbols:/__patch: symbols.custom:/patch? 10-13 01:00:40.238 W/rime.trime(16992): nonexistent config file '/storage/emulated/0/rime/symbols.custom.yaml'. 10-13 01:00:40.238 I/rime.trime(16992): optional resource not loaded: symbols.custom 10-13 01:00:40.238 I/rime.trime(16992): resolved: Patch(symbols.custom:patch ) 10-13 01:00:40.238 I/rime.trime(16992): interpreting recognizer/import_preset: default 10-13 01:00:40.238 I/rime.trime(16992): resource 'key_bindings.custom' not loaded. 10-13 01:00:40.238 I/rime.trime(16992): resource 'punctuation.custom' not loaded. 10-13 01:00:40.238 I/rime.trime(16992): resource 'symbols.custom' not loaded. 10-13 01:00:40.238 I/rime.trime(16992): saving config file '/storage/emulated/0/rime/build/double_pinyin_flypy.schema.yaml'. 10-13 01:00:40.252 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/build/double_pinyin_flypy.schema.yaml'. 10-13 01:00:40.283 I/rime.trime(16992): preparing dictionary 'luna_pinyin'. 10-13 01:00:40.283 I/rime.trime(16992): compiling dictionary for /storage/emulated/0/rime/build/double_pinyin_flypy.schema.yaml 10-13 01:00:40.327 I/rime.trime(16992): loading table file: /storage/emulated/0/rime/build/luna_pinyin.table.bin 10-13 01:00:40.329 I/rime.trime(16992): loading prism file: /storage/emulated/0/rime/build/double_pinyin_flypy.prism.bin 10-13 01:00:40.330 I/rime.trime(16992): found double array image of size 1024. 10-13 01:00:40.330 I/rime.trime(16992): /storage/emulated/0/rime/luna_pinyin.dict.yaml[1 file(s)] (2144820021) 10-13 01:00:40.330 I/rime.trime(16992): /storage/emulated/0/rime/build/double_pinyin_flypy.schema.yaml (3328625214) 10-13 01:00:40.330 I/rime.trime(16992): loading reversedb: /storage/emulated/0/rime/build/luna_pinyin.reverse.bin 10-13 01:00:40.333 I/rime.trime(16992): building prism... 10-13 01:00:40.333 I/rime.trime(16992): loading table file: /storage/emulated/0/rime/build/luna_pinyin.table.bin 10-13 01:00:40.336 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/build/double_pinyin_flypy.schema.yaml'. 10-13 01:00:40.378 I/rime.trime(16992): creating file '/storage/emulated/0/rime/build/double_pinyin_flypy.prism.bin'. 10-13 01:00:40.384 I/rime.trime(16992): opening file for read/write access. 10-13 01:00:40.385 I/rime.trime(16992): saving prism file: /storage/emulated/0/rime/build/double_pinyin_flypy.prism.bin 10-13 01:00:40.385 I/rime.trime(16992): shrinking file to fit data size. capacity: 24204 10-13 01:00:40.385 I/rime.trime(16992): resize file to: 14824 10-13 01:00:40.387 I/rime.trime(16992): dictionary 'luna_pinyin' is ready. 10-13 01:00:40.389 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/build/double_pinyin_flypy.schema.yaml'. 10-13 01:00:40.415 I/rime.trime(16992): schema: stroke 10-13 01:00:40.415 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/stroke.schema.yaml'. 10-13 01:00:40.417 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/build/stroke.schema.yaml'. 10-13 01:00:40.426 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/build/stroke.schema.yaml'. 10-13 01:00:40.432 I/rime.trime(16992): preparing dictionary 'stroke'. 10-13 01:00:40.433 I/rime.trime(16992): compiling dictionary for /storage/emulated/0/rime/build/stroke.schema.yaml 10-13 01:00:40.479 I/rime.trime(16992): loading table file: /storage/emulated/0/rime/build/stroke.table.bin 10-13 01:00:40.482 I/rime.trime(16992): loading prism file: /storage/emulated/0/rime/build/stroke.prism.bin 10-13 01:00:40.484 I/rime.trime(16992): found double array image of size 597248. 10-13 01:00:40.484 I/rime.trime(16992): /storage/emulated/0/rime/stroke.dict.yaml[1 file(s)] (471132485) 10-13 01:00:40.484 I/rime.trime(16992): /storage/emulated/0/rime/build/stroke.schema.yaml (1938213404) 10-13 01:00:40.484 I/rime.trime(16992): loading reversedb: /storage/emulated/0/rime/build/stroke.reverse.bin 10-13 01:00:40.486 I/Dialog (16992): mIsDeviceDefault = false, mIsSamsungBasicInteraction = false, isMetaDataInActivity = false 10-13 01:00:40.488 I/DecorView(16992): [INFO] isPopOver=false, config=false 10-13 01:00:40.488 I/DecorView(16992): updateCaptionType >> DecorView@3a8d738[], isFloating=true, isApplication=true, hasWindowControllerCallback=false, hasWindowDecorCaption=false 10-13 01:00:40.488 D/DecorView(16992): setCaptionType = 0, this = DecorView@3a8d738[] 10-13 01:00:40.492 D/ScrollView(16992): initGoToTop 10-13 01:00:40.494 D/ScrollView(16992): initGoToTop 10-13 01:00:40.498 I/rime.trime(16992): dictionary 'stroke' is ready. 10-13 01:00:40.500 I/rime.trime(16992): finished updating schemas: 2 success, 0 failure. 10-13 01:00:40.500 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/user.yaml'. 10-13 01:00:40.502 I/rime.trime(16992): write: var/last_build_time 10-13 01:00:40.502 I/rime.trime(16992): saving config file '/storage/emulated/0/rime/user.yaml'. 10-13 01:00:40.505 I/rime.trime(16992): clean up trash. 10-13 01:00:40.507 I/ViewRootImpl@558bf13[PrefLauncherAlias](16992): setView = com.android.internal.policy.DecorView@3a8d738 TM=true 10-13 01:00:40.511 I/rime.trime(16992): 3 tasks ran: 3 success, 0 failure. 10-13 01:00:40.511 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/build/default.yaml'. 10-13 01:00:40.515 I/rime.trime(16992): starting engine. 10-13 01:00:40.515 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/user.yaml'. 10-13 01:00:40.518 I/rime.trime(16992): updated option: simplification 10-13 01:00:40.518 I/rime.trime(16992): loading config file '/storage/emulated/0/rime/build/double_pinyin_flypy.schema.yaml'. 10-13 01:00:40.523 D/InputTransport(16992): Input channel destroyed: 'ClientS', fd=91 10-13 01:00:40.523 D/OpenGLRenderer(16992): setSurface called with nullptr 10-13 01:00:40.524 D/InputTransport(16992): Input channel destroyed: 'ClientS', fd=93 10-13 01:00:40.525 I/ViewRootImpl@558bf13[PrefLauncherAlias](16992): Relayout returned: old=(0,112,1080,2154) new=(28,766,1052,1500) req=(1024,734)0 dur=6 res=0x7 s={true -5476376643687197024} ch=true fn=-1 10-13 01:00:40.525 D/ScrollView(16992): onsize change changed 10-13 01:00:40.526 D/ScrollView(16992): onsize change changed 10-13 01:00:40.526 D/OpenGLRenderer(16992): eglCreateWindowSurface 10-13 01:00:40.527 I/ViewRootImpl@558bf13[PrefLauncherAlias](16992): [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:11420 android.view.ViewRootImpl.performTraversals:4193 android.view.ViewRootImpl.doTraversal:2919 10-13 01:00:40.534 I/BufferQueueProducer(16992): [ViewRootImpl@558bf13[PrefLauncherAlias]#718(BLAST Consumer)718](id:4260000002ce,api:1,p:16992,c:16992) queueBuffer: queued for the first time. 10-13 01:00:40.536 I/ViewRootImpl@558bf13[PrefLauncherAlias](16992): [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$addFrameCompleteCallbackIfNeeded$3$ViewRootImpl:4995 android.view.ViewRootImpl$$ExternalSyntheticLambda16.run:6 android.os.Handler.handleCallback:938 10-13 01:00:40.536 I/ViewRootImpl@558bf13[PrefLauncherAlias](16992): [DP] rdf() 10-13 01:00:40.536 D/ViewRootImpl@558bf13[PrefLauncherAlias](16992): reportDrawFinished (fn: -1) 10-13 01:00:40.545 I/ViewRootImpl@fdcffbb[PrefLauncherAlias](16992): MSG_WINDOW_FOCUS_CHANGED 0 1 10-13 01:00:40.550 I/rime.trime(16992): updated option: _auto_commit 10-13 01:00:40.550 I/rime.trime(16992): loading dictionary 'luna_pinyin'. 10-13 01:00:40.550 I/rime.trime(16992): loading table file: /storage/emulated/0/rime/build/luna_pinyin.table.bin 10-13 01:00:40.552 I/rime.trime(16992): loading prism file: /storage/emulated/0/rime/build/double_pinyin_flypy.prism.bin 10-13 01:00:40.554 I/rime.trime(16992): found double array image of size 1024. 10-13 01:00:40.561 I/ViewRootImpl@558bf13[PrefLauncherAlias](16992): MSG_WINDOW_FOCUS_CHANGED 1 1 10-13 01:00:40.661 I/rime.trime(16992): ConcreteEngine::InitializeOptions 10-13 01:00:40.661 I/rime.trime(16992): found switch option: ascii_mode, reset: 0 10-13 01:00:40.661 I/rime.trime(16992): updated option: ascii_mode 10-13 01:00:40.661 I/rime.trime(16992): found switch option: full_shape, reset: -1 10-13 01:00:40.661 I/rime.trime(16992): found switch option: simplification, reset: -1 10-13 01:00:40.661 I/rime.trime(16992): found switch option: ascii_punct, reset: -1 10-13 01:00:40.666 I/[rime-main](16992): Loading config file /storage/emulated/0/rime/build/double_pinyin_flypy.schema.yaml 10-13 01:00:41.446 D/OpenGLRenderer(16992): setSurface called with nullptr 10-13 01:00:41.446 D/OpenGLRenderer(16992): setSurface() destroyed EGLSurface 10-13 01:00:41.446 D/OpenGLRenderer(16992): destroyEglSurface 10-13 01:00:41.446 I/ViewRootImpl@fdcffbb[PrefLauncherAlias](16992): dispatchDetachedFromWindow 10-13 01:00:41.453 D/InputTransport(16992): Input channel destroyed: '1fc4ac0', fd=107 10-13 01:00:41.811 I/ViewRootImpl@558bf13[PrefLauncherAlias](16992): ViewPostIme pointer 0 10-13 01:00:41.900 I/ViewRootImpl@558bf13[PrefLauncherAlias](16992): ViewPostIme pointer 1 10-13 01:00:41.923 D/OpenGLRenderer(16992): setSurface called with nullptr 10-13 01:00:41.923 D/OpenGLRenderer(16992): setSurface() destroyed EGLSurface 10-13 01:00:41.923 D/OpenGLRenderer(16992): destroyEglSurface 10-13 01:00:41.923 D/OpenGLRenderer(16992): endAllActiveAnimators on 0xb4000074b8c55280 (RippleDrawable) with handle 0xb4000073c8d77c40 10-13 01:00:41.924 I/ViewRootImpl@558bf13[PrefLauncherAlias](16992): dispatchDetachedFromWindow 10-13 01:00:41.941 D/InputTransport(16992): Input channel destroyed: '759a411', fd=129 10-13 01:00:41.965 I/ViewRootImpl@58f5a78[PrefLauncherAlias](16992): MSG_WINDOW_FOCUS_CHANGED 1 1 10-13 01:00:41.969 D/InputMethodManager(16992): startInputInner - Id : 0 10-13 01:00:41.969 I/InputMethodManager(16992): startInputInner - mService.startInputOrWindowGainedFocus 10-13 01:00:41.971 D/InputMethodService(16992): checkDisplayOfStartInputAndUpdateKeyboard display Id 0last 0 10-13 01:00:44.789 I/ViewRootImpl@58f5a78[PrefLauncherAlias](16992): ViewPostIme pointer 0 10-13 01:00:44.863 I/ViewRootImpl@58f5a78[PrefLauncherAlias](16992): ViewPostIme pointer 1 10-13 01:00:45.662 I/ViewRootImpl@58f5a78[PrefLauncherAlias](16992): ViewPostIme pointer 0 10-13 01:00:45.740 I/ViewRootImpl@58f5a78[PrefLauncherAlias](16992): ViewPostIme pointer 1 10-13 01:00:45.772 I/DecorView(16992): [INFO] isPopOver=false, config=true 10-13 01:00:45.772 I/DecorView(16992): updateCaptionType >> DecorView@920ad2b[], isFloating=false, isApplication=true, hasWindowControllerCallback=true, hasWindowDecorCaption=false 10-13 01:00:45.772 D/DecorView(16992): setCaptionType = 0, this = DecorView@920ad2b[] 10-13 01:00:45.772 I/DecorView(16992): getCurrentDensityDpi: from real metrics. densityDpi=420 msg=resources_loaded 10-13 01:00:45.785 I/ViewRootImpl@8915064[LogActivity](16992): setView = com.android.internal.policy.DecorView@920ad2b TM=true 10-13 01:00:45.794 I/ViewRootImpl@8915064[LogActivity](16992): Relayout returned: old=(0,0,1080,2280) new=(0,0,1080,2280) req=(1080,2280)0 dur=6 res=0x7 s={true -5476376643687510944} ch=true fn=-1 10-13 01:00:45.794 D/OpenGLRenderer(16992): eglCreateWindowSurface 10-13 01:00:45.795 I/ViewRootImpl@8915064[LogActivity](16992): [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:11420 android.view.ViewRootImpl.performTraversals:4193 android.view.ViewRootImpl.doTraversal:2919 10-13 01:00:45.798 I/BufferQueueProducer(16992): [ViewRootImpl@8915064[LogActivity]#719(BLAST Consumer)719](id:4260000002cf,api:1,p:16992,c:16992) queueBuffer: queued for the first time. 10-13 01:00:45.799 I/ViewRootImpl@8915064[LogActivity](16992): [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$addFrameCompleteCallbackIfNeeded$3$ViewRootImpl:4995 android.view.ViewRootImpl$$ExternalSyntheticLambda16.run:6 android.os.Handler.handleCallback:938 10-13 01:00:45.799 I/ViewRootImpl@8915064[LogActivity](16992): [DP] rdf() 10-13 01:00:45.799 D/ViewRootImpl@8915064[LogActivity](16992): reportDrawFinished (fn: -1) 10-13 01:00:45.804 I/ViewRootImpl@58f5a78[PrefLauncherAlias](16992): MSG_WINDOW_FOCUS_CHANGED 0 1 10-13 01:00:45.830 I/ViewRootImpl@8915064[LogActivity](16992): MSG_WINDOW_FOCUS_CHANGED 1 1 10-13 01:00:45.830 D/InputMethodManager(16992): startInputInner - Id : 0 10-13 01:00:45.830 I/InputMethodManager(16992): startInputInner - mService.startInputOrWindowGainedFocus 10-13 01:00:45.832 D/InputMethodService(16992): checkDisplayOfStartInputAndUpdateKeyboard display Id 0last 0 10-13 01:00:46.198 I/ViewRootImpl@58f5a78[PrefLauncherAlias](16992): handleAppVisibility mAppVisible=true visible=false 10-13 01:00:46.213 D/OpenGLRenderer(16992): setSurface called with nullptr 10-13 01:00:46.213 D/OpenGLRenderer(16992): setSurface() destroyed EGLSurface 10-13 01:00:46.213 D/OpenGLRenderer(16992): destroyEglSurface 10-13 01:00:46.220 I/ViewRootImpl@58f5a78[PrefLauncherAlias](16992): Relayout returned: old=(0,0,1080,2280) new=(0,0,1080,2280) req=(1080,2280)8 dur=5 res=0x5 s={false 0} ch=true fn=147 10-13 01:00:46.225 I/ViewRootImpl@58f5a78[PrefLauncherAlias](16992): stopped(true) old=false 10-13 01:00:46.250 I/ViewRootImpl@58f5a78[PrefLauncherAlias](16992): Relayout returned: old=(0,0,1080,2280) new=(0,0,1080,2280) req=(1080,2280)8 dur=3 res=0x5 s={false 0} ch=false fn=-1 10-13 01:00:47.034 I/ViewRootImpl@8915064[LogActivity](16992): ViewPostIme pointer 0 10-13 01:00:47.105 I/ViewRootImpl@8915064[LogActivity](16992): ViewPostIme pointer 1 10-13 01:00:47.168 I/ViewRootImpl@8915064[LogActivity](16992): MSG_WINDOW_FOCUS_CHANGED 0 1 10-13 01:00:47.594 D/InputTransport(16992): Input channel destroyed: 'ClientS', fd=120 10-13 01:00:47.597 D/InputMethodService(16992): checkDisplayOfStartInputAndUpdateKeyboard display Id 0last 0 10-13 01:00:47.608 I/ViewRootImpl@8915064[LogActivity](16992): handleAppVisibility mAppVisible=true visible=false 10-13 01:00:47.608 I/ViewRootImpl@8915064[LogActivity](16992): stopped(true) old=false 10-13 01:00:47.618 D/OpenGLRenderer(16992): setSurface called with nullptr 10-13 01:00:47.618 D/OpenGLRenderer(16992): setSurface() destroyed EGLSurface 10-13 01:00:47.618 D/OpenGLRenderer(16992): destroyEglSurface 10-13 01:00:47.628 I/ViewRootImpl@8915064[LogActivity](16992): Relayout returned: old=(0,0,1080,2280) new=(0,0,1080,2280) req=(1080,2280)8 dur=4 res=0x5 s={false 0} ch=false fn=-1 10-13 01:00:49.057 I/ViewRootImpl@8915064[LogActivity](16992): handleAppVisibility mAppVisible=false visible=true 10-13 01:00:49.073 D/OpenGLRenderer(16992): setSurface called with nullptr 10-13 01:00:49.076 I/ViewRootImpl@8915064[LogActivity](16992): Relayout returned: old=(0,0,1080,2280) new=(0,0,1080,2280) req=(1080,2280)4 dur=2 res=0x1 s={false 0} ch=false fn=-1 10-13 01:00:49.077 I/ViewRootImpl@8915064[LogActivity](16992): stopped(false) old=true 10-13 01:00:49.079 I/ViewRootImpl@8915064[LogActivity](16992): stopped(false) old=false ```

截图 / Screenshot

No response

附加信息 / Additional Context

使用默认配置;主题为同文风;方案为小鹤双拼,并增加以下配置:

# double_pinyin_flypy.custom.yaml

patch:
  punctuator:
    import_preset: symbols
  recognizer/patterns/punct: '^/([0-9]0?|[A-Za-z]+)$'

系统版本 / OS Version

OneUI 4.1, Android 12

应用版本 / App Version

v3.2.19-0-ge46046ab-release

构建信息 / Build Information

构建者:F-Droid Git 仓库:https://github.com/osfans/trime 构建 Git 哈希:e46046abfb030a2687033f74ad00d1b2693af433 构建时间:2024年7月3日 08:17:08

WhiredPlanck commented 1 month ago

你是否自造词上屏后 3 秒内退格删除了?如果是的话这是一个特性,可以防止造错的词被过早记录。

WhiredPlanck commented 1 month ago

另外我们的 app 的正式发布版(F-Droid 版)已经更新到 9 月 1 日发布的 3.3.0,请你安装新版或者每夜版再尝试能否复现此问题。

caom0202 commented 1 month ago

你是否自造词上屏后 3 秒内退格删除了?如果是的话这是一个特性,可以防止造错的词被过早记录。

没有删除,是在已经上屏的自造词后面接着输入该词。也尝试了等待3秒后再输入,同样没有被记录。

另外我们的 app 的正式发布版(F-Droid 版)已经更新到 9 月 1 日发布的 3.3.0,请你安装新版或者每夜版再尝试能否复现此问题。

在每夜版仍能复现:

更新日志 nightly-0-gefe0d773-release 构建信息 构建者:Nightly CI Git 仓库:https://github.com/osfans/trime 构建 Git 哈希:efe0d7730c9d352a5f593f8abe55c9e71d8a538c 构建时间:2024年10月14日 00:06:13

WhiredPlanck commented 1 month ago

检查你的各个配置里是否有:

dictionary:
  enable_user_dict: false
caom0202 commented 1 month ago

检查你的各个配置里是否有:

dictionary:
  enable_user_dict: false

在 rime 文件夹下 grep -r enable_user_dict 没有结果。

刚部署完的时候是可以记录自造词的,大概不是配置的问题?

linzianabc commented 1 month ago

检查你的各个配置里是否有:

dictionary:
  enable_user_dict: false

在 rime 文件夹下 grep -r enable_user_dict 没有结果。

刚部署完的时候是可以记录自造词的,大概不是配置的问题?

没有遇到过。

caom0202 commented 1 month ago

找到原因了,是三星智能管理器 app 的“每日自动优化”的原因,这个功能默认每天凌晨三点运行一次,之后 trime 就无法记录自造词了……

FYI,三星对这个功能的描述是“无用的文件将被删除”,“后台应用程序将被关闭,但不会关闭您最近使用的应用程序”。不太清楚到底是 rime 文件夹中的文件受到了影响,还是 rime 的后台进程受到影响(我之前有对 trime 关闭电池优化等确保它可以后台常驻运行)?

对我个人来说关掉这个功能就好了,如果开发者也认为 trime 方面不需要做什么的话,请直接关闭这个 issue 。