Closed harrr closed 6 months ago
What do you mean "running in parallel"? You have different threads calling XSSFCell.ToString() on the same cell?
What do you mean "running in parallel"? You have different threads calling XSSFCell.ToString() on the same cell?
No. Tests use different files. So cells are also different
I checked the following code. It has been commented out for a long time. Are you sure you are using 2.7.0? https://github.com/nissl-lab/npoi/blob/20a5569622b85119e6db1a987bdafc65d82c7029/main/SS/UserModel/DateUtil.cs#L517
And what's your environment and timezone? Are these tests running in Docker container?
I diged dipper to the solution and found another library, which used an older version. So, I guess, the issue may be closed
NPOI Version
2.7.0
File Type
Upload the Excel File
ASAP_Report_success.xlsx ASAP_Report_failed.xlsx Please attach your original Excel File to help us reproduce the issue
Reproduce Steps
The issue was found while running tests. The test downloads report about training process and tries to parse it. When test has read date from 'General info' tab, cell B6, cell.ToString() method is called to log test step result. When tests are run in parallel, this step fails with the following trace (file ASAP_Report_failed.xlsx): Object reference not set to an instance of an object.
at NPOI.Util.LocaleUtil.GetLocaleCalendar(TimeZone timeZone) at NPOI.Util.LocaleUtil.GetLocaleCalendar() at NPOI.SS.UserModel.DateUtil.GetJavaCalendar(Double date, Boolean use1904windowing, TimeZone timeZone, Boolean roundSeconds) at NPOI.SS.UserModel.DateUtil.GetJavaDate(Double date, Boolean use1904windowing) at NPOI.XSSF.UserModel.XSSFCell.get_DateCellValue() at NPOI.XSSF.UserModel.XSSFCell.ToString()
When I run a single test, it successfully passes (file ASAP_Report_success.xlsx).
Issue Description
'Object reference not set to an instance of an object' in XSSFCell.ToString() when running in parallel