diff --git a/zh-cn/device-dev/faqs/Readme-CN.md b/zh-cn/device-dev/faqs/Readme-CN.md index 19965fa5128e6016e1a136844be2a63ba87b95d6..b9e4704c7cad8ebf65016507c4b1369a9cba784a 100644 --- a/zh-cn/device-dev/faqs/Readme-CN.md +++ b/zh-cn/device-dev/faqs/Readme-CN.md @@ -8,4 +8,3 @@ - [移植常见问题](faqs-porting.md) - [启动恢复常见问题](faqs-startup.md) - [系统应用常见问题](faqs-system-applications.md) - diff --git a/zh-cn/device-dev/faqs/faqs-startup.md b/zh-cn/device-dev/faqs/faqs-startup.md index 8c6ddeb853932dda48dac9294d68b84917b03892..d6d077178dbf89c9ee5392080e554bb4342660b9 100644 --- a/zh-cn/device-dev/faqs/faqs-startup.md +++ b/zh-cn/device-dev/faqs/faqs-startup.md @@ -1,7 +1,8 @@ -# 启动恢复常见问题 +# startup常见问题 +## 启动恢复常见问题 -## 系统启动过程中打印“parse failed!”错误后停止启动 +### 系统启动过程中打印“parse failed!”错误后停止启动 **现象描述** @@ -20,7 +21,7 @@ 仔细检查init.cfg文件,确保其格式符合json格式要求。 -## 系统启动过程未结束就自动重启,如此反复持续 +### 系统启动过程未结束就自动重启,如此反复持续 **现象描述** @@ -43,7 +44,7 @@ 2. 也可以将崩溃/报错退出的服务的“importance”属性改为0,然后重新烧写镜像,这样即使其退出,init也不会重启单板。 -## 参数正确的情况下调用SetParameter/GetParameter返回失败 +### 参数正确的情况下调用SetParameter/GetParameter返回失败 **现象描述** @@ -58,7 +59,7 @@ 无需处理 -## ueventd服务启动后报获取socket失败,尝试创建 +### ueventd服务启动后报获取socket失败,尝试创建 **现象描述** @@ -80,8 +81,7 @@ ueventd服务启动后,首先出现打印 “Failed to get uevent socket, try 对于原因2,则需要查看所有cfg文件找到重复配置的ueventd服务,并将其删除,最终只保留一个有效的ueventd服务配置。 - -## ueventd服务轮询socket超时,并自动退出 +### ueventd服务轮询socket超时,并自动退出 **现象描述** @@ -95,8 +95,7 @@ ueventd服务启动一段时间后,出现打印 “poll ueventd socket timeout 正常行为,无需解决。 - -## 配置了ondemand属性的服务无法被正确解析启动 +### 配置了ondemand属性的服务无法被正确解析启动 **现象描述** @@ -111,7 +110,7 @@ ueventd服务启动一段时间后,出现打印 “poll ueventd socket timeout 确认该服务是否要做成按需启动的服务,如果不是,就不需要配置ondemand属性;如果是,则在配置了ondemand属性后,不可再配置critical属性,若是需要critical中的服务异常退出次数限制,请将critical属性数组中的第一个值配置为0再加次数限制,例如"critical" : [0, 15, 5],代表该服务在5秒钟内启动退出超过15次,将不再启动该服务,并且不会导致系统重启。 -## 配置了ondemand属性的服务不受并行启动控制 +### 配置了ondemand属性的服务不受并行启动控制 **现象描述** @@ -125,8 +124,7 @@ ueventd服务启动一段时间后,出现打印 “poll ueventd socket timeout 若要一个服务加入并行启动,不应为其配置ondemand属性。 - -## SA按需启动服务无法实现按需拉起 +### SA按需启动服务无法实现按需拉起 **现象描述** @@ -139,3 +137,130 @@ ueventd服务启动一段时间后,出现打印 “poll ueventd socket timeout **解决办法** 在按需启动的SA服务中使用samgr提供的动态加载接口LoadSystemAbility(int32_t systemAbilityId, const sptr& callback)。 + +### dac配置不合理 + +**现象描述** + +dac 配置错误,会导致配置失效,报错如下: + ``` +4.619955] [pid=1 0][Init][ERROR][init_capability.c:119]service=multimodalinput not support caps = CAP_DC_OVERRIDE caps 41 +[ 4.620014] [pid=1 0][Init][ERROR][init_service_manager.c:818]GetServiceSecon secon section not found, skip +[ 4.620216] [pid=1 0][Init][ERROR][init_service_manager.c:818]GetServiceSecon secon section not found, skip +[ 4.620608] [pid=1 0][Init][ERROR][init_capability.c:119]service=mmi_uinput_service not support caps = CAP_DC_OVERRIDE caps 41 +``` +**可能原因** + +1. caps配置问题,防止配置最大属性。 +2. 带CAP和非CAP开头的解析能力。 +3. const问题。 + +**解决办法** + +1. 支持带CAP和非CAP开头的解析能力。 +2. 解决caps配置问题,防止配置最大属性。 +3. 添加const属性文件,修复可以产品覆盖平台的。 + +### critical属性配置不生效 + +**现象描述** + +配置critical 不生效。 + +**可能原因** + +1. critical 配置格式是否有效。 +2. 配置critical 的服务是否拉起。 +3. 修改的配置文件是否生效。 + +**解决办法** + +1. 修改配置文件格式可能存在问题。 +2. 配置critical的服务可能不存在。 +3. 不同设备对应的配置文件不同。3516设备修改init.cfg, RK3568设备修改init.without_two_stages.cfg。 + +### 不支持socket类进程按需启动 + +**现象描述** + +不支持socket类进程按需启动。 + +**可能原因** + +ueventd按需启动,DISABLE_INIT_TWO_STAGES宏的修改失效。 + +**解决办法** + +在startUeventd中关闭socket,未能在在创建socket函数中增加了对socket有效性的检查, 故可能未做socket有效性检查导致的异常。 + + +### 小型系统编译告警 + +**现象描述** + +warning: implicit declaration of function 'usleep' is invalid in C99。 +warning: implicit declaration of function 'setgroups' is invalid in C99。 + +**可能原因** + +头文件可能包含错误, _GNU_SOURCE宏可能未打开。 + +**解决办法** + +检查对应头文件是否包含正确, 如果正确, _GNU_SOURCE宏是否打开。 + +## Appspawn应用孵化常见问题 + +### 系统启动中,appspawn启动失败 + +**现象描述** + +系统启动过程中,系统停止开机动画中, 进入appspawn失败。 + +**可能原因** + +1. 开机动画未能正常退出。 +2. 拉起系统应用失败, 导致appspawn启动失败。 + +**解决办法** + +需要通过日志确认崩溃或报错退出的服务,并解决其崩溃/报错的问题,然后重新烧写镜像即可。 + +### 冷启动应用失败 + +**现象描述** + +通过冷启动命令拉起应用失败。 + ``` + aa start -d 12345 -a $name -b $package -C + ``` + +**可能原因** + +1. 冷启动未能生效。 +2. 确认冷启动命令正确。 + +**解决办法** + +1. 需要设置 param set appspawn.cold.boot true 确认冷启动时候生效。 +2. 确认冷启动命令正确。 + +### 应用沙盒创建失败 + +**现象描述** + +systemui启动失败,卡顿在OpenHarmony开机动画中,或者计算器应用无法点击, 字体不能正常显示等。hilog日志中报错: + - bind mount `` to `` failed errno ``。 + - private mount to `` failed errno ``。 + - symlink failed, ``, errno is ``。 + +**可能原因** + +1. 沙盒流程创建是否正确。 +2. com.ohos.systemui 沙盒创建失败。 +3. 沙盒应用依赖的文件配置失败。 + +**解决办法** + +1. 查看hilog日志中,出现的相关hilog报错信息,针对报错修改对应的json文件。 +2. 查看对应应用的pid情况,排查沙盒建立过程的代码逻辑,以及相应的json配置的正确性。 \ No newline at end of file