Page 1 of 1

Official RKMPI example causes kernel panic on custom glibc-based system

Posted: 2026-07-24 6:44
by rrudolf98

Hi,

I'm trying to run the official RKMPI example application:
https://github.com/LuckfoxTECH/luckfox_ ... pi_example

Hardware setup:
Luckfox Pico Ultra W
SC3336 image sensor

On the official Luckfox Buildroot image the example works correctly without any modifications (last commits both SDK and example).

However, I'm porting the application to a Yocto-based system (Scarthgap, GCC 13, glibc). The application builds successfully, and I copied the libraries directly from the official example package (the glibc directory). The kernel and U-Boot are built from the latest commits available in the official Luckfox SDK. Despite that, the encoder crashes with a kernel panic (log from application and full panic at the end).

The panic always occurs inside the MPP driver:
mpp_packet_append()
-> mpp_enc_impl_reg_cfg()
-> mpp_enc_cfg_reg()

One important observation is that the camera pipeline itself appears to work correctly. By slightly modifying the example application, I'm able to initialize the sensor/ISP and capture a valid image from the camera, which can be saved successfully. This suggests that the sensor, ISP and image acquisition pipeline are working correctly, and the problem appears only when the encoder is used.

To rule out configuration issues, I compared my system with the official Buildroot image:
kernel configuration (using the official Buildroot defconfig), device tree, CMA configuration, memory layout, /proc/meminfo, /proc/buddyinfo, /proc/pagetypeinfo, vmalloc usage.

After aligning the kernel configuration with the official Buildroot defconfig, I still get exactly the same panic. I also could not find any significant differences in the device tree or memory configuration that would explain the issue.

One possibility I'm considering is that I may still be missing some runtime components. I copied the libraries from the example package, but I did not copy the entire userspace from the official Buildroot image. Are there any additional libraries, firmware files, configuration files, or other runtime components required specifically by the encoder that are easy to overlook? Are there any files besides the obvious .so libraries that should be copied from the official Buildroot image for the encoder to work correctly?

My main question is:
Has anyone successfully run the official RKMPI encoder examples on a glibc-based system? If yes, on which distribution or environment? I understand that the official Luckfox SDK uses uClibc and its own Buildroot toolchain. However, since the example package also provides a separate glibc library directory, I'm wondering whether those libraries have actually been tested on a glibc-based system.

At the moment I'm starting to suspect either a compatibility issue between the closed-source multimedia libraries and the kernel driver, or that I'm missing some runtime component required by the encoder. Since the multimedia libraries are closed-source, it's difficult to investigate further.

Has anyone encountered a similar kernel panic or can suggest what else I should check?

Any hints would be greatly appreciated.

Thank you!

Create Pool success !
rkaiq log level ff1
XCORE:K:rk_aiq_init_lib, ISP HW ver: 32
XCORE:K:
************************** VERSION INFOS **************************
version release date: 2024-2-18
AIQ: AIQ v5.0x5.0

git logs:
null
************************ VERSION INFOS END ************************

ID: 0, sensor_name is m00_b_sc3336 4-0030, iqfiles is /etc/iqfiles
XCORE:K:rk_aiq_uapi_sysctl_preInit_devBufCnt: dev_ent:rkraw_rx, buf_cnt:2
XCORE:E:invalid main scene len!

IPCSERVER:K:cid[0] Process path:/tmp/UNIX.domain0, sockfd:15
XCORE:K:cid[0] rk_aiq_uapi_sysctl_init success. iq:/etc/iqfiles/sc3336_CMK-OT2119-PC1_30IRC-F16.json
XCORE:K:cid[0] rk_aiq_uapi_sysctl_prepare success. mode:0
rk_aiq_uapi2_sysctl_init/prepare succeed
CAMHW:K:cid[0] start success. isGroup:0, isOnline:1, isMultiIsp:0, init_ens:0x1bfc0ffc4729
XCORE:K:cid[0] rk_aiq_uapi_sysctl_start success.
rk_aiq_uapi2_sysctl_start succeed
rockit log path (null), log_size = 0, can use export rt_log_path=, export rt_log_size= change
log_file = (nil)
RTVersion 18:52:44-093 {dump :064} ---------------------------------------------------------
RTVersion 18:52:44-094 {dump :065} rockit version: git-4720dc10a Tue Apr 30 15:47:55 2024 +0800
RTVersion 18:52:44-094 {dump :066} rockit building: built- 2024-04-30 15:53:43
RTVersion 18:52:44-095 {dump :067} ---------------------------------------------------------
(null) 18:52:44-095 {log_level_init :207}

please use echo name=level > /tmp/rt_log_level set log level
name: all cmpi mb sys vdec venc rgn vpss vgs tde avs wbc vo vi ai ao aenc adec
log_level: 0 1 2 3 4 5 6

rockit default level 4, can use export rt_log_level=x, x=0,1,2,3,4,5,6 change
(null) 18:52:44-097 {read_log_level :098} text is all=6

(null) 18:52:44-097 {read_log_level :100} module is all, log_level is 6
RKSockServer 18:52:44-098 {initServer :056} proto:tcp, hostname:127.0.0.1, path:, port:3893
RKSockServer 18:52:44-099 {initNetServer :071} binding to host:127.0.0.1, port:3893
RKSockServer 18:52:44-099 {initNetServer :093} sock server initialize succeed
rt_pthread 18:52:44-100 {start :155} create thread(name=ipcs_server, err=0) completed
cmpi 18:52:44-100 {sys_runtime_librar:122} success to open /dev/mpi/valloc,fd = 35
cmpi 18:52:44-101 {sys_runtime_librar:122} success to open /dev/mpi/vsys,fd = 36
cmpi 18:52:44-101 {sys_runtime_librar:122} success to open /dev/mpi/vrgn,fd = 37
cmpi 18:52:44-101 {sys_runtime_librar:122} success to open /dev/mpi/venc,fd = 38
cmpi 18:52:44-101 {sys_runtime_librar:122} success to open /dev/mpi/vpss,fd = 39
cmpi 18:52:44-102 {sys_runtime_librar:122} success to open /dev/mpi/vvi,fd = 40
cmpi 18:52:44-102 {sys_runtime_librar:122} success to open /dev/mpi/avs,fd = 41
cmpi 18:52:44-102 {sys_runtime_librar:122} success to open /dev/mpi/vrga,fd = 42
cmpi 18:52:44-103 {sys_runtime_librar:122} success to open /dev/mpi/venc,fd = 43
cmpi 18:52:44-103 {sys_runtime_librar:122} success to open /dev/mpi/aiisp,fd = 44
cmpi 18:52:44-103 {sys_runtime_librar:129} VSYS_IOCTL_VERSION
cmpi 18:52:44-103 {sys_runtime_librar:132} vsys version: 1.0, name:vsys
rt_pthread 18:52:44-103 {thread_looping :069} call, pthread_looper(name:ipcs_server tid:4048)
(null) 18:52:44-106 {monitor_log_level :149} #Start monitor_log_level thread, arg:(nil)
[INFO rtsp_demo.c:280:rtsp_new_demo] rtsp server demo starting on port 554
[DEBUG rtsp_demo.c:480:rtsp_new_session] add session path: /live/0
rtsp streamq_alloc size is 1753484
vi_dev_init
RKViDev 18:52:44-108 {vi_get_dev_pipe_st:413} attr.devStatus = 00000000, ret:0
cmpi 18:52:44-109 {vi_get_dev_enabled:507} get_dev_pipe_status: VI_NOT_CONFIG, ret:0xa0088007
RKViDev 18:52:44-109 {vi_get_dev_pipe_st:413} attr.devStatus = 00000000, ret:0
cmpi 18:52:44-110 {vi_get_dev_enabled:507} get_dev_pipe_status: VI_NOT_CONFIG, ret:0xa0088007
RKViDev 18:52:44-110 {vi_set_dev_attr :612} VI_DEV_ATTR_S all parameter reserved
RKViDev 18:52:44-110 {vi_set_status :426} attr.devStatus = 00000001
RKViDev 18:52:44-110 {vi_get_dev_pipe_st:413} attr.devStatus = 00000001, ret:0
cmpi 18:52:44-110 {vi_get_dev_enabled:507} get_dev_pipe_status: VI_NOT_CONFIG, ret:0xa0088007
RKViDev 18:52:44-111 {vi_get_dev_pipe_st:413} attr.devStatus = 00000001, ret:0
cmpi 18:52:44-111 {vi_get_dev_enabled:507} get_dev_pipe_status: VI_NOT_CONFIG, ret:0xa0088007
RTChips 18:52:44-111 {readEfuse :119} open /sys/bus/nvmem/devices/rockchip-efuse0/nvmem error
RTIsp3x 18:52:44-111 {ispInitDevice :563} current parsing ### /dev/media0 ###
RTIsp3x 18:52:44-113 {getCifSubdevs :212} getCifSubdevs enter >>>
RTIsp3x 18:52:44-113 {ispInitDevice :591} sensor name = m00_b_sc3336 4-0030
RTIsp3x 18:52:44-114 {ispInitDevice :596} sensor_index = 0 model:rkcif-mipi-lvds
RTIsp3x 18:52:44-114 {getSensorRawResolu:491} VIDIOC_ENUM_FRAMESIZES, index=0, pixel_format=0x30314742, ret_frame=0, errno_frame=22
RTIsp3x 18:52:44-115 {get_v4l2_frmsizeen:434} framesize = { .index=0, .pixel_format=0x30314742, .type=3
RTIsp3x 18:52:44-115 {get_v4l2_frmsizeen:456} .stepwise = { .min_width=64, .max_width=2304, .step_width=8, .min_height=64, .max_height=1296, .step_height=8 },
RTIsp3x 18:52:44-115 {getSensorRawResolu:491} VIDIOC_ENUM_FRAMESIZES, index=1, pixel_format=0x30314742, ret_frame=-1, errno_frame=22
RTIsp3x 18:52:44-115 {ispInitDevice :602} sensor raw reso: w = 2304 , h = 1296
RTIsp3x 18:52:44-118 {ispInitDevice :563} current parsing ### /dev/media1 ###
RTIsp3x 18:52:44-120 {ispInitDevice :621} devUri:/dev/media1 have not found sensor info
RTIsp3x 18:52:44-120 {getCifSubdevs :212} getCifSubdevs enter >>>
RTIsp3x 18:52:44-120 {getCifSubdevs :219} This media device is not cif device
RTIsp3x 18:52:44-121 {getIspSubdevs :068} getIspSubdevs enter >>>
RTIsp3x 18:52:44-121 {getIspSubdevs :201} rawrd1_l_path entity is NULL
RTIsp3x 18:52:44-121 {getCifHwInfo :676} getCifHwInfo enter >>>
RTIsp3x 18:52:44-122 {getCifHwInfo :677} find cif count: 1, Current selected: 0
RTIsp3x 18:52:44-122 {getCifHwInfo :680} Find cam 0 in CifTopologyList at pos: 0
cmpi 18:52:44-122 {dev_open :855} RKVIPipe param: w:2304 h:1296 pix:image:bggr10 bufT:1 memT:0 bufc:3
rt_valloc 18:52:44-123 {drm_open :044} success to open drm device(/dev/mpi/valloc)
RTDeviceSensorV4 18:52:44-123 {ispInitParams :578} w:2304 h:1296 pix:131076 bufT:1 memT:0 bufC:3 bufS:1 eName:/dev/video0
RTDeviceSensorV4 18:52:44-123 {ispOpenDevice :502} v4l2_open(/dev/video0), handler=48
rt_valloc 18:52:44-123 {drm_open :044} success to open drm device(/dev/mpi/valloc)
RTDeviceSensorV4 18:52:44-124 {ispInitParams :578} w:2304 h:1296 pix:131076 bufT:1 memT:0 bufC:3 bufS:1 eName:/dev/v4l-subdev2
RTDeviceSensorV4 18:52:44-124 {ispOpenDevice :502} v4l2_open(/dev/v4l-subdev2), handler=50
RKViDev 18:52:44-124 {vi_set_status :426} attr.devStatus = 0000000b
RTDeviceSensorV4 18:52:44-124 {close :112} do RTDeviceSensorV4L2 close
RTDeviceSensorV4 18:52:44-125 {close :112} do RTDeviceSensorV4L2 close
RKViDev 18:52:44-125 {vi_set_pipe_status:455} attr.devStatus = 00000001
RTIsp3x 18:52:44-127 {getIspHwInfo :694} getIspHwInfo enter >>>
RTIsp3x 18:52:44-128 {getIspHwInfo :698} find isp count: 1, Current selected: 0
RTIsp3x 18:52:44-128 {getIspHwInfo :701} Find ispVir 0 in ispTopologylist at pos: 0
RTIsp3x 18:52:44-128 {getIspVideoName :821} entityName = rkisp_mainpath
RTIsp3x 18:52:44-128 {getIspHwInfo :694} getIspHwInfo enter >>>
RTIsp3x 18:52:44-128 {getIspHwInfo :698} find isp count: 1, Current selected: 0
RTIsp3x 18:52:44-128 {getIspHwInfo :701} Find ispVir 0 in ispTopologylist at pos: 0
RTIsp3x 18:52:44-128 {getIspVideoName :821} entityName = rkisp_selfpath
RTIsp3x 18:52:44-128 {getIspHwInfo :694} getIspHwInfo enter >>>
RTIsp3x 18:52:44-128 {getIspHwInfo :698} find isp count: 1, Current selected: 0
RTIsp3x 18:52:44-129 {getIspHwInfo :701} Find ispVir 0 in ispTopologylist at pos: 0
RTIsp3x 18:52:44-129 {getIspVideoName :821} entityName = rkisp_bypasspath
RKViDev 18:52:44-129 {vi_get_ch_status :474} pipe = 0, ch = 0, enable = 0, streamOn = 0
RKViDev 18:52:44-129 {vi_get_ch_status :474} pipe = 0, ch = 1, enable = 0, streamOn = 0
RKViDev 18:52:44-129 {vi_get_ch_status :474} pipe = 0, ch = 2, enable = 0, streamOn = 0
RKViDev 18:52:44-129 {vi_get_ch_status :474} pipe = 0, ch = 3, enable = 0, streamOn = 0
RKViDev 18:52:44-130 {vi_get_ch_status :474} pipe = 0, ch = 4, enable = 0, streamOn = 0
RKViDev 18:52:44-130 {vi_get_ch_status :474} pipe = 0, ch = 5, enable = 0, streamOn = 0
RKViDev 18:52:44-130 {vi_set_pipe_status:455} attr.devStatus = 00000003
cmpi 18:52:44-130 {vi_set_dev_bind_pi:1321} pipe_num:1 ispbase:0x8955c8
RKViDev 18:52:44-130 {vi_set_dev_bind_pi:1332} dev:0xa3c6a0 state :0X7
rt_valloc 18:52:44-130 {drm_open :044} success to open drm device(/dev/mpi/valloc)
cmpi 18:52:44-131 {RKVIChannel :204} vi chn:0 mChnState = 1 (not create yet)
cmpi 18:52:44-131 {prepareRuntime :349} VVI_IOCTL_VERSION
RKViChn 18:52:44-132 {prepareRuntime :354} ---------------------------------------------------------
RKViChn 18:52:44-132 {prepareRuntime :356} vi version: 1.22, name:vvi
RKViChn 18:52:44-132 {prepareRuntime :357} rockit-ko version: vmpi:28ee389dbc33
RKViChn 18:52:44-132 {prepareRuntime :358} rockit-ko building: -2024-05-24-18:15:06
RKViChn 18:52:44-132 {prepareRuntime :359} ---------------------------------------------------------
RTAllocatorStore 18:52:44-132 {fetchCommAllocator:151} create common allocator[0x895c68], type 0, flag 0
cmpi 18:52:44-133 {prepareRuntime :378} mb pool create success, MBCnt= 2
RKViDev 18:52:44-133 {vi_get_ch_status :474} pipe = 0, ch = 0, enable = 0, streamOn = 0
RTIsp3x 18:52:44-133 {ispInitDevice :563} current parsing ### /dev/media0 ###
RTIsp3x 18:52:44-134 {getCifSubdevs :212} getCifSubdevs enter >>>
RTIsp3x 18:52:44-135 {ispInitDevice :591} sensor name = m00_b_sc3336 4-0030
RTIsp3x 18:52:44-135 {ispInitDevice :596} sensor_index = 0 model:rkcif-mipi-lvds
RTIsp3x 18:52:44-136 {getSensorRawResolu:491} VIDIOC_ENUM_FRAMESIZES, index=0, pixel_format=0x30314742, ret_frame=0, errno_frame=22
RTIsp3x 18:52:44-136 {get_v4l2_frmsizeen:434} framesize = { .index=0, .pixel_format=0x30314742, .type=3
RTIsp3x 18:52:44-137 {get_v4l2_frmsizeen:456} .stepwise = { .min_width=64, .max_width=2304, .step_width=8, .min_height=64, .max_height=1296, .step_height=8 },
RTIsp3x 18:52:44-137 {getSensorRawResolu:491} VIDIOC_ENUM_FRAMESIZES, index=1, pixel_format=0x30314742, ret_frame=-1, errno_frame=22
RTIsp3x 18:52:44-137 {ispInitDevice :602} sensor raw reso: w = 2304 , h = 1296
RTIsp3x 18:52:44-137 {ispInitDevice :563} current parsing ### /dev/media1 ###
RTIsp3x 18:52:44-138 {ispInitDevice :621} devUri:/dev/media1 have not found sensor info
RTIsp3x 18:52:44-139 {getCifSubdevs :212} getCifSubdevs enter >>>
RTIsp3x 18:52:44-139 {getCifSubdevs :219} This media device is not cif device
RTIsp3x 18:52:44-139 {getIspSubdevs :068} getIspSubdevs enter >>>
RTIsp3x 18:52:44-139 {getIspSubdevs :201} rawrd1_l_path entity is NULL
RTIsp3x 18:52:44-140 {getCifHwInfo :676} getCifHwInfo enter >>>
RTIsp3x 18:52:44-140 {getCifHwInfo :677} find cif count: 1, Current selected: 0
RTIsp3x 18:52:44-140 {getCifHwInfo :680} Find cam 0 in CifTopologyList at pos: 0
RTIsp3x 18:52:44-140 {getIspHwInfo :694} getIspHwInfo enter >>>
RTIsp3x 18:52:44-141 {getIspHwInfo :698} find isp count: 1, Current selected: 0
RTIsp3x 18:52:44-141 {getIspHwInfo :701} Find ispVir 0 in ispTopologylist at pos: 0
RKViChn 18:52:44-141 {createRuntime :633} pipe:0 link_type:2
cmpi 18:52:44-141 {createRuntime :634} >>>>>>>>> Sensor link info dump: <<<<<<<<<
cmpi 18:52:44-141 {createRuntime :636} vicap media name : /dev/media0
cmpi 18:52:44-141 {createRuntime :637} vicap model name : rkcif-mipi-lvds
cmpi 18:52:44-141 {createRuntime :638} camera id : 0
cmpi 18:52:44-142 {createRuntime :639} sensor name : m00_b_sc3336 4-0030
cmpi 18:52:44-142 {createRuntime :641} stream_cif_mipi_id0 video name: /dev/video0
cmpi 18:52:44-142 {createRuntime :642} stream_cif_mipi_id1 video name: /dev/video1
cmpi 18:52:44-142 {createRuntime :643} stream_cif_mipi_id2 video name: /dev/video2
cmpi 18:52:44-142 {createRuntime :644} stream_cif_mipi_id3 video name: /dev/video3
cmpi 18:52:44-142 {createRuntime :646} sensor raw width : 2304
cmpi 18:52:44-142 {createRuntime :647} sensor raw height : 1296
cmpi 18:52:44-142 {createRuntime :648} ---------------------------------------------------------
cmpi 18:52:44-142 {createRuntime :654} isp media name : /dev/media1
cmpi 18:52:44-142 {createRuntime :655} isp model name : rkisp0
cmpi 18:52:44-142 {createRuntime :656} isp driver name : rkisp-vir0
cmpi 18:52:44-142 {createRuntime :657} isp dev name : /dev/v4l-subdev3
cmpi 18:52:44-142 {createRuntime :659} isp rawrd0_m_path : /dev/video17
cmpi 18:52:44-142 {createRuntime :660} isp rawrd1_l_path :
cmpi 18:52:44-143 {createRuntime :661} isp rawrd2_s_path : /dev/video18
cmpi 18:52:44-143 {createRuntime :664} mainpath video name : /dev/video11
cmpi 18:52:44-143 {createRuntime :665} selfpath video name : /dev/video12
cmpi 18:52:44-143 {createRuntime :666} bypasspath video name : /dev/video13
cmpi 18:52:44-143 {createRuntime :667} sensor link type : 2
cmpi 18:52:44-143 {createRuntime :668} sensor is united : 0
cmpi 18:52:44-143 {createRuntime :672} ---------------------------------------------------------
cmpi 18:52:44-143 {createRuntime :711} [non-WRAP MODE]: buff size = 3133440
cmpi 18:52:44-143 {createRuntime :722} viNodeInf.buffSize = 3133440, viNodeInf.buffCnt = 2
cmpi 18:52:44-143 {createRuntime :786} video model type is: isp
cmpi 18:52:44-143 {createRuntime :788} VVI_IOCTL_NODE_CREATE
cmpi 18:52:44-150 {open :877} enCaptureType = 1
cmpi 18:52:44-151 {open :1019} vi chn:0, mChnState = 1
RTDeviceV4L2 18:52:44-151 {ispInitParams :686} camera init paremeters1:
resolution : 1920 * 1080
bufferCnt : 0
useLibV4l2 : 1
pixFormat : 0x0
memoryType : 0x4
captureType : 0x1
colorSpace : 0
RTDeviceV4L2 18:52:44-152 {ispInitParams :701} camera init paremeters2:
entityName : rkisp_mainpath
cameraIndex : 0
fbcMode : 0x0
runInko : 1
chnState : 1
wrapLine : 0
fps : 0

RTIsp3x 18:52:44-153 {ispInitDevice :563} current parsing ### /dev/media0 ###
RTIsp3x 18:52:44-154 {getCifSubdevs :212} getCifSubdevs enter >>>
RTIsp3x 18:52:44-155 {ispInitDevice :591} sensor name = m00_b_sc3336 4-0030
RTIsp3x 18:52:44-155 {ispInitDevice :596} sensor_index = 0 model:rkcif-mipi-lvds
RTIsp3x 18:52:44-156 {getSensorRawResolu:491} VIDIOC_ENUM_FRAMESIZES, index=0, pixel_format=0x30314742, ret_frame=0, errno_frame=22
RTIsp3x 18:52:44-156 {get_v4l2_frmsizeen:434} framesize = { .index=0, .pixel_format=0x30314742, .type=3
RTIsp3x 18:52:44-157 {get_v4l2_frmsizeen:456} .stepwise = { .min_width=64, .max_width=2304, .step_width=8, .min_height=64, .max_height=1296, .step_height=8 },
RTIsp3x 18:52:44-157 {getSensorRawResolu:491} VIDIOC_ENUM_FRAMESIZES, index=1, pixel_format=0x30314742, ret_frame=-1, errno_frame=22
RTIsp3x 18:52:44-158 {ispInitDevice :602} sensor raw reso: w = 2304 , h = 1296
RTIsp3x 18:52:44-158 {ispInitDevice :563} current parsing ### /dev/media1 ###
RTIsp3x 18:52:44-159 {ispInitDevice :621} devUri:/dev/media1 have not found sensor info
RTIsp3x 18:52:44-160 {getCifSubdevs :212} getCifSubdevs enter >>>
RTIsp3x 18:52:44-160 {getCifSubdevs :219} This media device is not cif device
RTIsp3x 18:52:44-160 {getIspSubdevs :068} getIspSubdevs enter >>>
RTIsp3x 18:52:44-161 {getIspSubdevs :201} rawrd1_l_path entity is NULL
RTDeviceV4L2 18:52:44-161 {open :137} cameraIndex:0, entityName:rkisp_mainpath
RTIsp3x 18:52:44-161 {getIspHwInfo :694} getIspHwInfo enter >>>
RTIsp3x 18:52:44-161 {getIspHwInfo :698} find isp count: 1, Current selected: 0
RTIsp3x 18:52:44-161 {getIspHwInfo :701} Find ispVir 0 in ispTopologylist at pos: 0
RTIsp3x 18:52:44-162 {getIspVideoName :821} entityName = rkisp_mainpath
RTDeviceV4L2 18:52:44-162 {open :143} open video name(/dev/video11)
RTDeviceV4L2 18:52:44-162 {ispOpenDevice :539} v4l2_open(/dev/video11), handler=52
RKViChn 18:52:44-162 {setFrameRate :1469} [vi] dev(0) ch(0) illegal param s32SrcFrameRate(0) s32DstFrameRate(0)
cmpi 18:52:44-163 {prepare :1163} start dev:0 chn:0 prepare
RTDeviceV4L2 18:52:44-163 {ispCameraInfo :556} camera information:
RTDeviceV4L2 18:52:44-163 {ispCameraInfo :557} device name : /dev/video11
RTDeviceV4L2 18:52:44-163 {ispCameraInfo :558} driver name : rkisp_v7
RTDeviceV4L2 18:52:44-163 {ispCameraInfo :559} card name : rkisp_mainpath
RTDeviceV4L2 18:52:44-163 {ispCameraInfo :560} bus info : platform:rkisp-vir0
RTDeviceV4L2 18:52:44-163 {ispCameraInfo :562} version : 2.5.0
RTDeviceV4L2 18:52:44-163 {ispCameraInfo :567} current device:/dev/video11 isn't compatible(cap:0x84201000) device,memoryType:4, retry:0
RTDeviceV4L2 18:52:44-163 {prepare :438} mV4L2Ctx->wrapInfo->height = 0 width = 0
RTDeviceV4L2 18:52:44-163 {prepare :439} setIspWrapLine 0 to isp driver
RTIsp3x 18:52:44-164 {setIspWrapLine :920} setIspWrapLine enter >>>
RTIsp3x 18:52:44-164 {setIspWrapLine :927} isp set wrap line: 0, set wrap width:0
RTIsp3x 18:52:44-164 {setIspWrapLine :930} setIspWrapLine leave <<<
RTDeviceV4L2 18:52:44-164 {ispInitFormat :717} before VIDIOC_S_FMT, origin size: 1920 x 1080
RTDeviceV4L2 18:52:44-164 {ispInitFormat :767} ioctl VIDIOC_S_FMT OK
cmpi 18:52:44-164 {startRuntime :821} VVI_IOCTL_NODE_START
cmpi 18:52:44-165 {start :1093} =========== vi Start startRuntime ===========
cmpi 18:52:44-165 {streamOn :1191} start dev:0 chn:0 stream on
RTDeviceV4L2 18:52:44-168 {ispStreamOn :458} do ispStreamOn start
RTIsp3x 18:52:44-168 {setIspMirrorFlip :1060} setIspMirrorFlip enter >>>
RTIsp3x 18:52:44-169 {setIspMirrorFlip :1061} mirror = 0 flip = 0
RTIsp3x 18:52:44-169 {setIspMirrorFlip :1069} isp set mirror flip: mirror:0 fip: 0
RTIsp3x 18:52:44-169 {setIspMirrorFlip :1072} setIspMirrorFlip leave <<<
CAMHW:K:camId:0, notify_isp_stream_status on
RTDeviceV4L2 18:52:44-205 {ispStreamOn :511} do ispStreamOn done
RKViDev 18:52:44-205 {vi_set_ch_status :490} pipe = 0, ch = 0, enable = 1, streamOn=1
venc_init
MpiHwInterface 18:52:44-206 {MpiHwInterface :034} MpiHwInterface
cmpi 18:52:44-207 {venc_create_chn :193} venc version: 1.0, name:venc
RKVencChannel 18:52:44-207 {create :369} venc chn need to be rebuild
MpiHwInterface 18:52:44-208 {create :079} create: type = 3
=== 0 ===
MpiAdapterEncode 18:52:44-209 {ma_encode_create :1743} ringbuf buf_size 3112960
MpiAdapterEncode 18:52:44-219 {ma_encode_create :1782} mem_fd = 54
EncRc 18:52:44-222 {ma_encode_set_rc_a:347} not find rc attr!
EncRc 18:52:44-223 {ma_encode_calculat:237} bps_target:23328000, min:21870000, max:24786000, stat_time:3
MpiAdapterEncode 18:52:44-224 {ma_encode_change_c:851} set rc attr
EncRc 18:52:44-224 {ma_encode_set_rc_a:342} find rc attr!
EncRc 18:52:44-225 {ma_encode_calculat:237} bps_target:10240000, min:9600000, max:10880000, stat_time:3
cmpi 18:52:44-225 {startRecvFrame :1807} VENC_IOCTL_NODE_CREATE
cmpi 18:52:44-226 {startRecvFrame :1839} VENC_IOCTL_NODE_START
init success
cmpi 18:52:44-241 {mb_get_buffer_by_i:433} allocated buffer(this=0x8b4d48, data=(nil), size=0, id=-1)
cmpi 18:52:44-241 {getFrameRuntime :1334} buffer fd = -1 mpi_id = 175
cmpi 18:52:44-241 {getFrameRuntime :1341} get fd = 55 from id = 175
cmpi 18:52:44-241 {getFrameRuntime :1347} -------------------------------vviBuf->buf_size: 3133440
=== 1 ===
(null) 18:52:44-324 {venc_send_frame :609} VENC_IOCTL_NODE_SEND_FRAME
cmpi 18:52:44-769 {mb_get_buffer_time:397} allocated buffer(this=0x8b8fb0, data=(nil), size=0, id=-1)
ANALYZER:E:AWB stats invalid, ignore

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.437513] Internal error: Oops - BUG: c06 [#1] THUMB2

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.587992] Process vcodec_thread_0 (pid: 306, stack limit = 0x58aa931c)

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.594685] Stack: (0xb8063dd8 to 0xb8064000)

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.599042] 3dc0: b0fd7cd8 b0fd7618

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.607219] 3de0: b0f70000 b8334f14 b8334f00 af9648a5 00000000 00000000 00000000 00000000

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.615394] 3e00: 00000000 00000000 00000000 00000000 00000001 00000000 00000003 00000002

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.623570] 3e20: 00000002 b0f70000 b0f71510 af9a4e6c b0f71500 b4a5b018 00000000 af9a15f4

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.631745] 3e40: 00000000 af96238d b0f70000 b4a5b018 00000064 af9a15d0 00000000 00000000

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.639920] 3e60: b8199c00 af9f8628 af9a4be8 af9a15f4 00000000 af956707 af9844e0 00000000

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.648095] 3e80: 00000000 cd8d2e9d 00000000 b4a5b018 00000000 b2b012b8 00000000 00000000

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.656270] 3ea0: 00000000 b8199c00 00000000 00000000 00000000 00000000 00000780 00000438

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.664444] 3ec0: 00001680 00000438 00000000 00000000 00000000 00010006 00000000 00000000

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.672620] 3ee0: 0fb21fb8 00000000 ffffffff 00000000 000000ac 00000000 00000000 00000000

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.680795] 3f00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.688969] 3f20: b0489640 af9a49dc af9a4be8 00000001 b7e95c00 b7e95c28 af9a4e20 b80138a0

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.697143] 3f40: 00000000 af9569c5 b7fe3880 559f1c96 0000003d af956b0d af956ab9 b7fe38c8

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.705318] 3f60: b8062000 ffffe000 b0595d70 b7fe38c8 b8005df0 b0022d3d 00000000 b8013880

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.713494] 3f80: b801df80 b8062000 b0022ced b0022965 b801df80 b00228ab 00000000 00000000

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.721668] 3fa0: 00000000 00000000 00000000 b00082e9 00000000 00000000 00000000 00000000

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.729842] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.738017] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.746628] [<af959140>] (mpp_packet_append [mpp_vcodec]) from [<af9648a5>] (mpp_enc_impl_reg_cfg+0x3c9/0x978 [mpp_vcodec])

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.758078] [<af9648a5>] (mpp_enc_impl_reg_cfg [mpp_vcodec]) from [<af96238d>] (mpp_enc_cfg_reg+0xfd/0x154 [mpp_vcodec])

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.769251] [<af96238d>] (mpp_enc_cfg_reg [mpp_vcodec]) from [<af956707>] (enc_chan_process_single_chan+0x3ab/0x43c [mpp_vcodec])

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.781195] [<af956707>] (enc_chan_process_single_chan [mpp_vcodec]) from [<af9569c5>] (mpp_vcodec_enc_routine+0x65/0x94 [mpp_vcodec])

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.793561] [<af9569c5>] (mpp_vcodec_enc_routine [mpp_vcodec]) from [<af956b0d>] (vcodec_thread_worker+0x55/0xbc [mpp_vcodec])

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.805092] [<af956b0d>] (vcodec_thread_worker [mpp_vcodec]) from [<b0022d3d>] (kthread_worker_fn+0x51/0x98)

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.814923] [<b0022d3d>] (kthread_worker_fn) from [<b0022965>] (kthread+0xbb/0xc6)

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.822489] [<b0022965>] (kthread) from [<b00082e9>] (ret_from_fork+0x11/0x28)

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.829711] Exception stack(0xb8063fb0 to 0xb8063ff8)

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.834766] 3fa0: 00000000 00000000 00000000 00000000

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.842941] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.851114] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000

Broadcast message from systemd-journald@luckfox-pico (Thu 2025-05-29 18:52:44 UTC):

kernel[359]: [ 263.857725] Code: 6a63 6a6a 4413 6263 (e7ea) bf00


Re: Official RKMPI example causes kernel panic on custom glibc-based system

Posted: 2026-07-30 10:36
by Crocodile

I noticed that the kernel error was triggered after the allocated buffer, so you can appropriately increase the CMA allocation and check whether the driver loading order under /oem/usr/ko is correct.
The glibc libraries were originally prepared for the Ubuntu system. Later, due to copyright warnings, we did not continue maintaining Ubuntu. Other users in the forum have shared Ubuntu images, which you can try.