fix: ensure timeout not nil to avoid attempt to perform arithmetic on a nil value
error
#214
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
error logs:
![image](https://private-user-images.githubusercontent.com/33000667/319663309-16cb6bfc-0de7-46c7-8626-9acfcbfae00a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyMDIxMDQsIm5iZiI6MTczOTIwMTgwNCwicGF0aCI6Ii8zMzAwMDY2Ny8zMTk2NjMzMDktMTZjYjZiZmMtMGRlNy00NmM3LTg2MjYtOWFjZmNiZmFlMDBhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEwVDE1MzY0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQyY2M3MGJkMDg2NWJiMTIwZTFhZWFhNTRmNjIxZWM4ZTUyMWI3NzY2NjM0MjllYTgyNmRlMGFhMGM3YmQwZTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.1PDOqYW-hXAd8OFj1QeJk9JQPSeBbkXspTCeZJr4o70)
The cause of the issue is that in the function
refresh_jwt_token
, the parametertimeout
of semaphore wait directly uses the parameter passed by the caller without considering that thetimeout
parameter may be nil. If the caller does not pass the parametertimeout
, this error will be triggered:The
timeout
passed to the functionrefresh_jwt_token
is basicallyself.timeout
:Since the
timeout
passed to the functionrefresh_jwt_token
is basicallyself.timeout
, we make a judgment on thetimeout
parameter inrefresh_jwt_token
, If it is nil, just useself.timeout
, ifself.timeout
is nil too, just use 0, to ensure thetimeout
is not nil to avoid the error.