Thanks, Hans.
My module works again now, with the help of tex.preparelinebreak().

For potential readers:
tex.preparelinebreak(list)  modifyed my list for tex.linebreak(list) to:

<par vmodepar> # by user in advance, necessary
<glue parinitleftskip>
<glue parinitrightskip>
<glue indentskip>   # by user in advance, necessary
...
<penalty linepenalty> # The last glue here, in the end of the list, is removed
<glue parfillleftskip>
<glue parfillskip> # as same as parfillrightskip



黄复雄 <aahuaang@gmail.com> 于2022年7月16日周六 10:02写道:
Thanks, Hans

I modified my list to:

<node :    nil <=   2371 =>   2873 : par vmodepar>
<node :   2371 <=   2873 =>   3113 : glue indentskip>
<node :   2873 <=   3113 =>   3119 : glue parinitleftskip>
<node :   3113 <=   3119 =>   2879 : glue parinitrightskip>
<node :   3119 <=   2879 =>   2891 : glyph unset>
...
<node :    636 <=   3077 =>    639 : glyph unset>  
<node :   3077 <=    639 =>   3089 : kern userkern>
<node :    639 <=   3089 =>   2334 : glue userskip>
<node :   3089 <=   2334 =>   3095 : rule normal>
<node :   2334 <=   3095 =>   3101 : glue spaceskip>
<node :   3095 <=   3101 =>    642 : glue spaceskip>
<node :   3101 <=    642 =>   3107 : penalty userpenalty>
<node :    642 <=   3107 =>    645 : glue userskip>
<node :   3107 <=    645 =>   3125 : penalty userpenalty>
<node :    645 <=   3125 =>   3131 : glue parfillleftskip>
<node :   3125 <=   3131 =>    nil : glue parfillskip>

but the error is the same, so I'll wait the  tex.preparelinebreak(), and observe it's work for more details.

Huang Fusyong(黄复雄)