2024年6月29日 星期六

[Linux] fclose close /proc下檔案導致當機

/proc is a virtual file system
 
//From chatgpt  
在 Linux 中,/proc 文件系統是一個虛擬文件系統,提供了訪問內核數據結構的接口,/proc 下的文件並不是真正的磁盤文件,而是由內核動態生成的,這些文件的行為可能與普通文件有所不同,尤其是在處理方式上.

在/proc除了是虛擬文件系統,裡面的檔案可能有其他process matain,也就是說有其他process 在操作此檔案,那fclose就可以free到錯誤的memory address

有時候在/proc的檔案大小還會是0






如果要讀取fopen /proc下檔案,把它導到 /tmp下再操作,即可避免當機問題.

[OpenWRT] Missing lto (liblto_plugin.so)

1. 少了lto
plugin needed to handle lto object
這其實是一個error,但卻沒顯示error,還把.a建出來,他的意思是組libubusd_library.a時找不到liblto_plugin.so
[ 62%] Linking C static library libubusd_library.a
toolchain-aarch64_xxx/bin/aarch64-openwrt-linux-ar: CMakeFiles/ubusd_library.dir/ubusd.c.o: plugin needed to handle lto object
toolchain-aarch64_xxx/bin/aarch64-openwrt-linux-ar: CMakeFiles/ubusd_library.dir/ubusd_proto.c.o: plugin needed to handle lto object
toolchain-aarch64_xxx/bin/aarch64-openwrt-linux-ar: CMakeFiles/ubusd_library.dir/ubusd_id.c.o: plugin needed to handle lto object