Simulation.log is empty resulting in Exception

Hi,

I am running gatling locally and for some reason, the simulation log is empty resulting in Exception Below:

Exception in thread "main" java.lang.UnsupportedOperationException: Files List(/Users/cluu/dev/execution-engine-qa/gatling/target/gatling/test-20221004190816728/simulation.log) don't contain any valid run record

Gatling version: 3.8.4
Java version: 1.8

Any suggestion is greatly appreciated.

Any error in the console while running the test?
Does your scenario really contains some requests?

There was no error when running the test. There are plenty of requests in my test
`---- Requests ------------------------------------------------------------------

Global (OK=23 KO=0 )
getToken (OK=1 KO=0 )
Post a model (OK=1 KO=0 )
Post prediction (OK=1 KO=0 )
Status_1_PENDING (OK=1 KO=0 )
Status_1_INPROGRESS (OK=19 KO=0 )`

This is the log before the error

Parsing log file(s)... 15:29:05.880 [INFO ] i.g.c.s.LogFileReader$ - Collected List(/Users/cluu/dev/execution-engine-qa/gatling/target/gatling/feepostpredictiondifferentmodel-20221004202840251/simulation.log) from feepostpredictiondifferentmodel-20221004202840251 15:29:05.896 [INFO ] i.g.c.s.LogFileReader - First pass 15:29:05.900 [INFO ] i.g.c.s.LogFileReader - First pass done: read 0 lines

It seems that I have to run the IDE as root in order to avoid the error. I’m using IntelliJ. This is the first time I encounter such issue. Do you have any idea why it is so?

It seems that I have to run the IDE as root in order to avoid the error.

I’d say that you’ve messed up the file permissions on your filesystem and that only root can write in the target directory.

Hi @cluu12 (any relations with NiNoKuni?),

By chance, did you launch Gatling with root before? or did you install it as root?
Ensure that all directories are reachable by your user.

ie:

chown <youruser>: -R <path/to/your/gatling/project>

Obviously, you need to replace:

  • <youruser> by your “normal” user
  • <path/to/your/gatling/project> by the path to your root directory of your gatling project.

Hope this helps!
Cheers!

It still doesn’t make sense that I can build as my user and cannot run the test. I assume that if I can create a build and the test results are recorded within the build structure, it should be fine right?
I’ll try to recreate to see if it will fix the issue.

@sbrevet, I’m not related to NiNoKuni :slight_smile:

Thank you both for your comments @slandelle and @sbrevet. I greatly appreciate it!

To try to make sense:

target, and its subdirectories classes, resources, etc. may be writable to your “normal” user.
But not the subdirectory where gatling write/read the logs (ie: /Users/cluu/dev/execution-engine-qa/gatling/target/gatling)

Cheers!

Thanks for the clarification. I guess I should not have to do anything special in order to run the test. This is the first time I encounter such issue.

This is a Linux/MacOS user issue, not a Gatling one.
You’ve either run a chown or chmod that broke the existing permission or run Gatling under the root at some point, which created some directories and files your regular user can’t access.

I believe I have found the cause for the error. It seems that if I use loop in my test, in this case it’s asLongAs loop, the encounter the issue. If I remove the loop, the report gets generated normally.

With the additional information, would that help with identifying the cause of the issue? I makes no sense for the behavior to be related to permission if I a report can be generated without using loop.

If so, please provide a SSCCE as explained in How to ask a question.