alibaba / alibaba/QLExpress

ExpressRunner 线程重入问题:计时器重置导致空指针

Open
#294 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Java
Stars
5.6k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

发现另外一个expressRunner的线程重入的问题,关于计时器reset的问题:
![image](https://github.com/alibaba/QLExpress/assets/6468723/08a13003-e7b2-4580-9008-0c4c363c5f3f)
QLExpressTimer.reset();这句应该移到InstructionSetRunner.executeOuter()里,只在最外层执行结束后才重置计时器。
![image](https://github.com/alibaba/QLExpress/assets/6468723/9b97b7b3-f7c0-460a-a56c-806a10760a2c)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading InstructionSetRunner.executeOuter() and the current QLExpressTimer.reset() call in ExpressRunner. Trace nested execution to confirm that resetting the timer before the outermost execution completes can cause the reported null pointer. Done means the timer is reset only after the outermost execution finishes, with a regression test covering nested or reentrant execution.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.