The bridge server is unresponsive

After upgrade to newest version, the tool no longer to scan the project where they have around 80K line of code

10:31:10.649 INFO  SonarScanner CLI 6.2.1.4610
10:31:10.652 INFO  Java 17.0.12 Eclipse Adoptium (64-bit)
10:31:10.654 INFO  Linux 5.14.0-427.42.1.el9_4.x86_64 amd64
10:31:10.710 INFO  User cache: /root/.sonar/cache
10:31:11.672 INFO  JRE provisioning: os[linux], arch[x86_64]
10:31:11.862 INFO  Communicating with SonarQube Server 10.7.0.96327
10:31:12.493 INFO  Starting SonarScanner Engine...
10:31:12.496 INFO  Jav

a 17.0.11 Eclipse Adoptium (64-bit)

The code is not increase super huge and i already try to increase the mem to 32GB for testing with parameter -Dsonar.javascript.node.maxspace, the issues still the same

10:38:06.858 INFO  280/768 files analyzed, current file: xxx/stagePaymentForm.tsx
10:38:08.364 ERROR Failure during analysis
java.lang.IllegalStateException: The bridge server is unresponsive
        at org.sonar.plugins.javascript.bridge.BridgeServerImpl.request(BridgeServerImpl.java:415)
        at org.sonar.plugins.javascript.bridge.BridgeServerImpl.analyzeTypeScript(BridgeServerImpl.java:375)
        at org.sonar.plugins.javascript.analysis.AbstractAnalysis.analyzeFile(AbstractAnalysis.java:110)
        at org.sonar.plugins.javascript.analysis.AnalysisWithProgram.analyzeProgram(AnalysisWithProgram.java:137)
        at org.sonar.plugins.javascript.analysis.AnalysisWithProgram.analyzeFiles(AnalysisWithProgram.java:90)
        at org.sonar.plugins.javascript.analysis.JsTsSensor.analyzeFiles(JsTsSensor.java:128)
        at org.sonar.plugins.javascript.analysis.AbstractBridgeSensor.execute(AbstractBridgeSensor.java:77)
        at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:88)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:61)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:79)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:61)
        at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:82)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
        at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:204)
        at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:200)
        at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:173)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
        at org.sonar.scanner.bootstrap.SpringScannerContainer.doAfterStart(SpringScannerContainer.java:351)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
        at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:144)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
        at org.sonar.scanner.bootstrap.ScannerMain.runScannerEngine(ScannerMain.java:149)
        at org.sonar.scanner.bootstrap.ScannerMain.run(ScannerMain.java:66)
        at org.sonar.scanner.bootstrap.ScannerMain.main(ScannerMain.java:52)
Caused by: java.net.http.HttpTimeoutException: request timed out
        at java.net.http/jdk.internal.net.http.HttpClientImpl.send(Unknown Source)
        at java.net.http/jdk.internal.net.http.HttpClientFacade.send(Unknown Source)
        at org.sonar.plugins.javascript.bridge.BridgeServerImpl.request(BridgeServerImpl.java:406)
        ... 28 common frames omitted

10:38:08.366 INFO  Hit the cache for 0 out of 280
10:38:08.373 INFO  Miss the cache for 280 out of 280: ANALYSIS_MODE_INELIGIBLE [280/280]
10:38:18.190 ERROR The analysis will stop due to the Node.js process running out of memory (heap size limit 8240 MB)
10:38:18.191 ERROR You can see how Node.js heap usage evolves during analysis with "sonar.javascript.node.debugMemory=true"
10:38:18.191 ERROR Try setting "sonar.javascript.node.maxspace" to a higher value to increase Node.js heap size limit
10:38:18.191 ERROR If the problem persists, please report the issue at https://community.sonarsource.com
10:38:20.825 ERROR Error during SonarScanner Engine execution
java.lang.IllegalStateException: Analysis of JS/TS files failed
        at org.sonar.plugins.javascript.analysis.AbstractBridgeSensor.execute(AbstractBridgeSensor.java:102)
        at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:88)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:61)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:79)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:61)
        at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:82)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
        at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:204)
        at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:200)
        at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:173)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
        at org.sonar.scanner.bootstrap.SpringScannerContainer.doAfterStart(SpringScannerContainer.java:351)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
        at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:144)
        at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:226)
        at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:205)
        at org.sonar.scanner.bootstrap.ScannerMain.runScannerEngine(ScannerMain.java:149)
        at org.sonar.scanner.bootstrap.ScannerMain.run(ScannerMain.java:66)
        at org.sonar.scanner.bootstrap.ScannerMain.main(ScannerMain.java:52)
Caused by: java.lang.IllegalStateException: The bridge server is unresponsive
        at org.sonar.plugins.javascript.bridge.BridgeServerImpl.request(BridgeServerImpl.java:415)
        at org.sonar.plugins.javascript.bridge.BridgeServerImpl.analyzeTypeScript(BridgeServerImpl.java:375)
        at org.sonar.plugins.javascript.analysis.AbstractAnalysis.analyzeFile(AbstractAnalysis.java:110)
        at org.sonar.plugins.javascript.analysis.AnalysisWithProgram.analyzeProgram(AnalysisWithProgram.java:137)
        at org.sonar.plugins.javascript.analysis.AnalysisWithProgram.analyzeFiles(AnalysisWithProgram.java:90)
        at org.sonar.plugins.javascript.analysis.JsTsSensor.analyzeFiles(JsTsSensor.java:128)
        at org.sonar.plugins.javascript.analysis.AbstractBridgeSensor.execute(AbstractBridgeSensor.java:77)
        ... 22 common frames omitted
Caused by: java.net.http.HttpTimeoutException: request timed out
        at java.net.http/jdk.internal.net.http.HttpClientImpl.send(Unknown Source)
        at java.net.http/jdk.internal.net.http.HttpClientFacade.send(Unknown Source)
        at org.sonar.plugins.javascript.bridge.BridgeServerImpl.request(BridgeServerImpl.java:406)
        ... 28 common frames omitted

hello @hiepduong,

could you pls share the whole debug log of the JS analysis and configure the memory option mentioned in the logs sonar.javascript.node.debugMemory=true?

sonar.txt (584.6 KB)

@saberduck , pls check the attachment

Hi @hiepduong,

I’m sorry for the delay. Even from the detailed logs, I was not able to determine the reason for failure. Would it be possible to share the source of the project privately with us?

Hi @saberduck ,

Yes i can, can you show me how to?

I’ve sent you a private message, let’s continue there

HI @saberduck ,

Any update from your end?

I have received the files, but I haven’t had time to investigate yet. I will review them next week. Thank you for your patience.

1 Like

I tried to upgrade to version 10.8.1 and increase the node mem to 48G with total 64GB. It still fail

any update from ur end @saberduck

Hey there @hiepduong

Sorry to get back to you much later. I was able to analyze the project you sent Tibor, but I had to exclude one specific file from the analysis. I’ll send you the name privately so you can add it to your exclusions.

On our side, it’s worth investigating why this file caused so much trouble. It’s not particularly large, so hopefully we can improve our analyzer by digging into it further.

@hiepduong , sorry for the huge delay, but I have some news. We were able to identify the issue: rule S6440 is running endlessly whenever it analyzes the file mentionned by @Colin.

This seems to be coming from the underlying ESLint plugin that S6440 depends on: eslint-plugin-react-hooks - npm.

I created a GitHub repository that reproduces the problem using only ESLint and the said plugin.

Would you mind pulling and installing the project locally, to double check that you also encounter the issue there? If you confirm that ESLint runs endlessly, I will open an issue in eslint-plugin-react-hooks tracker, with the reproducer.

Note that the project is private because it contains the source code of the file that you shared with us. I sent you a private message so that you can share with me the email address that I can use to share the project with you.

I was finally able to write a minimal reproducer that triggers the issue and that is not the code you shared with us. I set the repository back to public.

Thanks a lot for your help.

Eric.

3 Likes

I have opened an issue on our side to track this bug: JS-606

2 Likes