Infinite recursion detected:

本文深入探讨了在使用XWork2框架时遇到的递归调用问题,并提供了修正代码的具体步骤。通过修改指定参数,避免了无限循环的情况,确保了应用程序的正常运行。

Infinite recursion detected: [/que/listQuestion!findCurpageQue, /que/listQuestion, /que/listQuestion] - [unknown location]
com.opensymphony.xwork2.ActionChainResult.execute(ActionChainResult.java:203)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(Validatio

错误产生的原因是产生了递归 一直需找/que/listQuestion

<!-- 试题添加成功 跳转到显示第一页 Question信息 -->
<action name="listQuestion" class="QueAction" method="findCurpageQue">
<result name="success" type="chain">listQuestion</result>
<result name="input">/index.jsp</result>
</action>

解决的方法是:

<!-- 试题添加成功 跳转到显示第一页 Question信息 -->
<action name="listQuestion" class="QueAction" method="findCurpageQue">
<result name="success">/main.jsp</result>
<result name="input">/index.jsp</result>
</action>

把代码中的type="chain" 去掉就OK
lzy@lzy-VMware-Virtual-Platform:~/Desktop/xv6-labs-2020$ make qemu riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/cat.o user/cat.c riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/ulib.o user/ulib.c riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/printf.o user/printf.c riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/umalloc.o user/umalloc.c riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/statistics.o user/statistics.c riscv64-linux-gnu-ld -z max-page-size=4096 -N -e main -Ttext 0 -o user/_cat user/cat.o user/ulib.o user/usys.o user/printf.o user/umalloc.o user/statistics.o riscv64-linux-gnu-ld: warning: user/_cat has a LOAD segment with RWX permissions riscv64-linux-gnu-objdump -S user/_cat > user/cat.asm riscv64-linux-gnu-objdump -t user/_cat | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$/d' > user/cat.sym riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/echo.o user/echo.c riscv64-linux-gnu-ld -z max-page-size=4096 -N -e main -Ttext 0 -o user/_echo user/echo.o user/ulib.o user/usys.o user/printf.o user/umalloc.o user/statistics.o riscv64-linux-gnu-ld: warning: user/_echo has a LOAD segment with RWX permissions riscv64-linux-gnu-objdump -S user/_echo > user/echo.asm riscv64-linux-gnu-objdump -t user/_echo | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$/d' > user/echo.sym riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/forktest.o user/forktest.c # forktest has less library code linked in - needs to be small # in order to be able to max out the proc table. riscv64-linux-gnu-ld -z max-page-size=4096 -N -e main -Ttext 0 -o user/_forktest user/forktest.o user/ulib.o user/usys.o riscv64-linux-gnu-ld: warning: user/_forktest has a LOAD segment with RWX permissions riscv64-linux-gnu-objdump -S user/_forktest > user/forktest.asm riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/grep.o user/grep.c riscv64-linux-gnu-ld -z max-page-size=4096 -N -e main -Ttext 0 -o user/_grep user/grep.o user/ulib.o user/usys.o user/printf.o user/umalloc.o user/statistics.o riscv64-linux-gnu-ld: warning: user/_grep has a LOAD segment with RWX permissions riscv64-linux-gnu-objdump -S user/_grep > user/grep.asm riscv64-linux-gnu-objdump -t user/_grep | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$/d' > user/grep.sym riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/init.o user/init.c riscv64-linux-gnu-ld -z max-page-size=4096 -N -e main -Ttext 0 -o user/_init user/init.o user/ulib.o user/usys.o user/printf.o user/umalloc.o user/statistics.o riscv64-linux-gnu-ld: warning: user/_init has a LOAD segment with RWX permissions riscv64-linux-gnu-objdump -S user/_init > user/init.asm riscv64-linux-gnu-objdump -t user/_init | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$/d' > user/init.sym riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/kill.o user/kill.c riscv64-linux-gnu-ld -z max-page-size=4096 -N -e main -Ttext 0 -o user/_kill user/kill.o user/ulib.o user/usys.o user/printf.o user/umalloc.o user/statistics.o riscv64-linux-gnu-ld: warning: user/_kill has a LOAD segment with RWX permissions riscv64-linux-gnu-objdump -S user/_kill > user/kill.asm riscv64-linux-gnu-objdump -t user/_kill | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$/d' > user/kill.sym riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/ln.o user/ln.c riscv64-linux-gnu-ld -z max-page-size=4096 -N -e main -Ttext 0 -o user/_ln user/ln.o user/ulib.o user/usys.o user/printf.o user/umalloc.o user/statistics.o riscv64-linux-gnu-ld: warning: user/_ln has a LOAD segment with RWX permissions riscv64-linux-gnu-objdump -S user/_ln > user/ln.asm riscv64-linux-gnu-objdump -t user/_ln | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$/d' > user/ln.sym riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/ls.o user/ls.c riscv64-linux-gnu-ld -z max-page-size=4096 -N -e main -Ttext 0 -o user/_ls user/ls.o user/ulib.o user/usys.o user/printf.o user/umalloc.o user/statistics.o riscv64-linux-gnu-ld: warning: user/_ls has a LOAD segment with RWX permissions riscv64-linux-gnu-objdump -S user/_ls > user/ls.asm riscv64-linux-gnu-objdump -t user/_ls | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$/d' > user/ls.sym riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/mkdir.o user/mkdir.c riscv64-linux-gnu-ld -z max-page-size=4096 -N -e main -Ttext 0 -o user/_mkdir user/mkdir.o user/ulib.o user/usys.o user/printf.o user/umalloc.o user/statistics.o riscv64-linux-gnu-ld: warning: user/_mkdir has a LOAD segment with RWX permissions riscv64-linux-gnu-objdump -S user/_mkdir > user/mkdir.asm riscv64-linux-gnu-objdump -t user/_mkdir | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$/d' > user/mkdir.sym riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/rm.o user/rm.c riscv64-linux-gnu-ld -z max-page-size=4096 -N -e main -Ttext 0 -o user/_rm user/rm.o user/ulib.o user/usys.o user/printf.o user/umalloc.o user/statistics.o riscv64-linux-gnu-ld: warning: user/_rm has a LOAD segment with RWX permissions riscv64-linux-gnu-objdump -S user/_rm > user/rm.asm riscv64-linux-gnu-objdump -t user/_rm | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$/d' > user/rm.sym riscv64-linux-gnu-gcc -Wall -Werror -O -fno-omit-frame-pointer -ggdb -DSOL_PGTBL -DLAB_PGTBL -MD -mcmodel=medany -ffreestanding -fno-common -nostdlib -mno-relax -I. -fno-stack-protector -fno-pie -no-pie -c -o user/sh.o user/sh.c user/sh.c: In function ‘runcmd’: user/sh.c:58:1: error: infinite recursion detected [-Werror=infinite-recursion] 58 | runcmd(struct cmd *cmd) | ^~~~~~ user/sh.c:89:5: note: recursive call 89 | runcmd(rcmd->cmd); | ^~~~~~~~~~~~~~~~~ user/sh.c:109:7: note: recursive call 109 | runcmd(pcmd->left); | ^~~~~~~~~~~~~~~~~~ user/sh.c:116:7: note: recursive call 116 | runcmd(pcmd->right); | ^~~~~~~~~~~~~~~~~~~ user/sh.c:95:7: note: recursive call 95 | runcmd(lcmd->left); | ^~~~~~~~~~~~~~~~~~ user/sh.c:97:5: note: recursive call 97 | runcmd(lcmd->right); | ^~~~~~~~~~~~~~~~~~~ user/sh.c:127:7: note: recursive call 127 | runcmd(bcmd->cmd); | ^~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make: *** [<内置>:user/sh.o] 错误 1 出现了什么问题,怎么解决
06-13
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值