It may be related to the issue that we don't handle low performance InputStreams in POIFS. If you have two processors only one of them can control the PCI bus at any one. So if one attempts to read from the hard drive it may not get anything until the other processor releases the PCI bus.
It is definitely I/O related because somehow the actual byte array that was read from the workbook is being corrupted. Also, it only happens about 50% of the time on my development machine. I have a scsi bus so that may explain why it works for me some of the time and it happens in several different places. I think a SCSI bus is more asynchronous than a pci bus. Avik, I don't think it has anything to do with the memory model because I am running with dual xeon/Windows. The windows jdk uses the native threads which use virtual memory. I can't think of a way that it would allow this to happen. Ryan ----- Original Message ----- From: "Avik Sengupta" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Thursday, June 26, 2003 11:25 AM Subject: RE: Concurrency Issue > Summary for those who came in late: Reading different files using > different HSSFWorkbook objects in different threads works fine on a > single processor box, but doesnt work on a multi processor box. > > I have the sinking feeling that we have hit some nice Java Memory Model > issue. While Java Memory Model does not guarantee that multithreaded > programs behave the same in single and multi-processor boxes, its > actually very rare to see these errors in practice (incorrect concurrent > access to a static variable, for example, will show up in a > multithreaded program even on a single processor box. ) So its something > much more subtle. > > The error is however quite consistent. I have tested on a dual proc > Xeon/Linux and a dual Sparc/Solaris. > > The only workaround for now is that only one thread at a time reads a > file into an HSSFWorkbook. > > Am continuing to look at it..tho am not very hopeful for an immediate > fix.. its a dog to debug! > > On Fri, 2003-06-13 at 22:11, Avik Sengupta wrote: > > [moving to poi dev] > > I have now confirmed this issue. A simple program reading different xls > > files in different threads using different instances of PoifsFileSystem > > and HSSFWorkbook fails. > > > > I am currently unable to say further why this is so, since a quick look > > at both POIFSFileSystem and HSSFWorkbook show no instances of static > > data. Will look into this further. > > > > Regards > > - > > Avik > > > > > > On Wed, 2003-05-14 at 14:41, Avik Sengupta wrote: > > > I do not believe there are static stuff which precludes reading many > > > files at a go, but i could be wrong. > > > > > > I would actually guess that one particular file of yours is throwing up > > > some pre-existing bug in poi. Have you checked that all the files you > > > want to open can be opened sequentially in poi? > > > > > > On Tue, 2003-05-13 at 22:38, [EMAIL PROTECTED] wrote: > > > > Hi Avik, > > > > > > > > Thanks a lot for the response. > > > > I am creating diff. HSSFWorkBook for diff. uploaded files via diff. threads. > > > > But for some reason one of the WorkBook constructor fails. > > > > > > > > Can you please let me know if we have any limit on reading the files concurrently > > > > or any other part of the code( static stuff ) that may be causing this issue. > > > > > > > > By the way, can I have your contact # or do you prefer to have my contact # and > > > > we can have a quick chat. > > > > > > > > Cheers > > > > Vilay > > > > > > > > > > > > -----Original Message----- > > > > From: Avik Sengupta [mailto:[EMAIL PROTECTED] > > > > Sent: Tuesday, May 13, 2003 5:53 AM > > > > To: POI Users List > > > > Subject: Re: Concurrency Issue > > > > > > > > > > > > you cannot use a single HSSFWorkbook object from more than one thread. > > > > you will need to synchronise access to that object. Of course, you can > > > > use different HSSFWorkbook objects in different threads concurrently. > > > > > > > > > > > > > > > > On Tue, 2003-05-13 at 02:00, [EMAIL PROTECTED] wrote: > > > > > Hi Guys, > > > > > > > > > > I am having problem reading more than one file Excel files concurrently. > > > > > Reading individual files seem to be fine. > > > > > > > > > > The exception I get is as follows: > > > > > > > > > > java.lang.reflect.InvocationTargetException: java.lang.ArrayIndexOutOfBoundsException > > > > > at org.apache.poi.util.LittleEndian.getNumber(LittleEndian.java:557) > > > > > at org.apache.poi.util.LittleEndian.getInt(LittleEndian.java:177) > > > > > at org.apache.poi.hssf.record.DimensionsRecord.fillFields(DimensionsRecord.java :121) > > > > > at org.apache.poi.hssf.record.Record.fillFields(Record.java:143) > > > > > at org.apache.poi.hssf.record.Record.<init>(Record.java:105) > > > > > at org.apache.poi.hssf.record.DimensionsRecord.<init>(DimensionsRecord.java:94) > > > > > at java.lang.reflect.Constructor.newInstance(Native Method) > > > > > at org.apache.poi.hssf.record.RecordFactory.createRecord(RecordFactory.java:254 ) > > > > > at org.apache.poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:19 2) > > > > > at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:191) > > > > > at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:158) > > > > > > > > > > > > > > > > > > > > Your help is highly appreciated. > > > > > > > > > > Best Regards, > > > > > Vilay > > > > > > > > > > Visit our website at http://www.ubswarburg.com > > > > > > > > > > This message contains confidential information and is intended only > > > > > for the individual named. If you are not the named addressee you > > > > > should not disseminate, distribute or copy this e-mail. Please > > > > > notify the sender immediately by e-mail if you have received this > > > > > e-mail by mistake and delete this e-mail from your system. > > > > > > > > > > E-mail transmission cannot be guaranteed to be secure or error-free > > > > > as information could be intercepted, corrupted, lost, destroyed, > > > > > arrive late or incomplete, or contain viruses. The sender therefore > > > > > does not accept liability for any errors or omissions in the contents > > > > > of this message which arise as a result of e-mail transmission. If > > > > > verification is required please request a hard-copy version. This > > > > > message is provided for informational purposes and should not be > > > > > construed as a solicitation or offer to buy or sell any securities or > > > > > related financial instruments. > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > Visit our website at http://www.ubswarburg.com > > > > > > > > This message contains confidential information and is intended only > > > > for the individual named. If you are not the named addressee you > > > > should not disseminate, distribute or copy this e-mail. Please > > > > notify the sender immediately by e-mail if you have received this > > > > e-mail by mistake and delete this e-mail from your system. > > > > > > > > E-mail transmission cannot be guaranteed to be secure or error-free > > > > as information could be intercepted, corrupted, lost, destroyed, > > > > arrive late or incomplete, or contain viruses. The sender therefore > > > > does not accept liability for any errors or omissions in the contents > > > > of this message which arise as a result of e-mail transmission. If > > > > verification is required please request a hard-copy version. This > > > > message is provided for informational purposes and should not be > > > > construed as a solicitation or offer to buy or sell any securities or > > > > related financial instruments. > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
