Man, that�s a bugger.  What VM's have you tested?  Does this happen on IBM's
VM for instance?

I need a damn mp box for testing....  Only trouble is that I have expensive
tastes:
http://store.apple.com/1-800-MY-APPLE/WebObjects/AppleStore?family=PowerMac

;-)

-Andy  

On 6/26/03 11:25 AM, "Avik Sengupta" <[EMAIL PROTECTED]> wrote:

> 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.ja
>>>>> va: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:9
>>>>> 4)
>>>>> at java.lang.reflect.Constructor.newInstance(Native Method)
>>>>> at 
>>>>> org.apache.poi.hssf.record.RecordFactory.createRecord(RecordFactory.java:2
>>>>> 54)
>>>>> at 
>>>>> org.apache.poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:
>>>>> 192)
>>>>> 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]
> 

-- 
Andrew C. Oliver
http://www.superlinksoftware.com/poi.jsp
Custom enhancements and Commercial Implementation for Jakarta POI

http://jakarta.apache.org/poi
For Java and Excel, Got POI?


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to