Skip to main content

[truezip-users] Re: IllegalStateException :….. (already released)

  • From: Ramdev Wudali <vayu.rw@...>
  • To: users@...
  • Subject: [truezip-users] Re: IllegalStateException :….. (already released)
  • Date: Sat, 6 Jul 2013 16:41:32 -0500

Hi Christian :
    Thanks for the response. The deal is I am not accessing random files in 
the tar file, I have to process all the files in the archive. and 
Unfortunately I am running into the problem I mentioned.  I do see the 
location specified in the exception. (i.e the /var/folders directory).

Since I am processing the tar archive file by file, Is it possible to set up 
config to actually delete the file once its been processed ? So that the tmp 
folder does not run out of file handles…..

The reason I would like to use a programatical way of reading the TAR archive 
is to automate a process.. and not 
to have to actually extract the contents of the tar archive and have to deal 
with  post processing issues (i.e. deleting the extracted content). 


anyways… I appreciate your comments and help


Ramdev
 



On Jul 6, 2013, at 3:51 PM, Christian Schlichtherle wrote:

> Hi Ramdev,
> 
> the IllegalStateException is an aftermath of the inability to create a temp 
> file and copy data to it. In TrueVFS, this exception would get 
> Throwable.addSuppressed(), so that you would get the original causing 
> exception (this is a Java SE 7 feature).
> 
> Note that TAR files don't have a central directory, so TrueZIP/TrueVFS has 
> to extract them to a temp directory. If you happen to have a TAR files with 
> many entries and you only need to access a few of these, then this can be 
> very inefficient.
> 
> So my advice is:
> 
> + Consider if you really need to use the TAR file format. Random access to 
> ZIP files is faster and requires less resources.
> + True TrueVFS to get the original exception. Although, there will be 
> little you can do about it anyway because you're apparently hitting an OS 
> limit (file descriptors, file per directory, whatever).
> 
> Regards,
> Christian Schlichtherle
> 
> Am 06.07.2013 um 21:26 schrieb Ramdev Wudali <vayu.rw@...>:
> 
>> Hi All:
>>  I have an application that reads a tar gzip archive. This archive is 
>> built up of many Zip archives and each of the Zip archive contains two 
>> files. Each tar Gzip Archive may contain upwards of 40K such Zip archives. 
>>  However, when the application I wrote, reads around 10K files (10116 
>> files in my case consistently), I start getting Illegalstate Exception 
>> like so : 
>
>> Exception in thread "main" java.lang.IllegalStateException: 
>> /var/folders/0w/0wgwst553_l060bk95gtdmx40000gp/T/tzp7043037030083864275.tmp
>>  (already released)
>>      at 
>> de.schlichtherle.truezip.fs.nio.file.TempFilePool$Buffer.release(TempFilePool.java:99)
>>      at 
>> de.schlichtherle.truezip.socket.IOCache$Buffer.release(IOCache.java:429)
>>      at 
>> de.schlichtherle.truezip.socket.IOCache$InputBufferPool.allocate(IOCache.java:315)
>>      at 
>> de.schlichtherle.truezip.socket.IOCache$Input.getDelegate(IOCache.java:269)
>>      at 
>> de.schlichtherle.truezip.socket.DelegatingInputSocket.getBoundSocket(DelegatingInputSocket.java:43)
>>      at 
>> de.schlichtherle.truezip.socket.DelegatingInputSocket.newReadOnlyFile(DelegatingInputSocket.java:53)
>>      at 
>> de.schlichtherle.truezip.socket.DelegatingInputSocket.newReadOnlyFile(DelegatingInputSocket.java:53)
>>      at 
>> de.schlichtherle.truezip.fs.FsSyncController$Input.newReadOnlyFile(FsSyncController.java:397)
>>      at 
>> de.schlichtherle.truezip.fs.FsLockController$Input$1NewReadOnlyFile.call(FsLockController.java:443)
>>      at 
>> de.schlichtherle.truezip.fs.FsLockController$Input$1NewReadOnlyFile.call(FsLockController.java:440)
>>      at 
>> de.schlichtherle.truezip.fs.FsLockController.locked(FsLockController.java:316)
>>      at 
>> de.schlichtherle.truezip.fs.FsLockController.writeLocked(FsLockController.java:268)
>>      at 
>> de.schlichtherle.truezip.fs.FsLockController$Input.newReadOnlyFile(FsLockController.java:447)
>>      at 
>> de.schlichtherle.truezip.fs.FsFinalizeController$Input.newReadOnlyFile(FsFinalizeController.java:171)
>>      at 
>> de.schlichtherle.truezip.fs.FsFalsePositiveArchiveController$1Input$NewReadOnlyFile.call(FsFalsePositiveArchiveController.java:298)
>>      at 
>> de.schlichtherle.truezip.fs.FsFalsePositiveArchiveController$1Input$NewReadOnlyFile.call(FsFalsePositiveArchiveController.java:291)
>>      at 
>> de.schlichtherle.truezip.fs.FsFalsePositiveArchiveController$TryChild.call(FsFalsePositiveArchiveController.java:507)
>>      at 
>> de.schlichtherle.truezip.fs.FsFalsePositiveArchiveController.call(FsFalsePositiveArchiveController.java:104)
>>      at 
>> de.schlichtherle.truezip.fs.FsFalsePositiveArchiveController$1Input.newReadOnlyFile(FsFalsePositiveArchiveController.java:288)
>>      at 
>> de.schlichtherle.truezip.fs.archive.zip.ZipDriver.newInputShop(ZipDriver.java:479)
>>      at 
>> de.schlichtherle.truezip.fs.FsTargetArchiveController.mount0(FsTargetArchiveController.java:197)
>>      at 
>> de.schlichtherle.truezip.fs.FsTargetArchiveController.mount(FsTargetArchiveController.java:155)
>>      at 
>> de.schlichtherle.truezip.fs.FsFileSystemArchiveController$ResetFileSystem.autoMount(FsFileSystemArchiveController.java:85)
>>      at 
>> de.schlichtherle.truezip.fs.FsFileSystemArchiveController.autoMount(FsFileSystemArchiveController.java:37)
>>      at 
>> de.schlichtherle.truezip.fs.FsBasicArchiveController.autoMount(FsBasicArchiveController.java:113)
>>      at 
>> de.schlichtherle.truezip.fs.FsBasicArchiveController.getEntry(FsBasicArchiveController.java:138)
>>      at 
>> de.schlichtherle.truezip.fs.FsContextController.getEntry(FsContextController.java:66)
>>      at 
>> de.schlichtherle.truezip.fs.FsDecoratingController.getEntry(FsDecoratingController.java:56)
>>      at 
>> de.schlichtherle.truezip.fs.FsDecoratingController.getEntry(FsDecoratingController.java:56)
>>      at 
>> de.schlichtherle.truezip.fs.FsSyncController.getEntry(FsSyncController.java:92)
>>      at 
>> de.schlichtherle.truezip.fs.FsLockController$1GetEntry.call(FsLockController.java:101)
>>      at 
>> de.schlichtherle.truezip.fs.FsLockController$1GetEntry.call(FsLockController.java:98)
>>      at 
>> de.schlichtherle.truezip.fs.FsLockController.locked(FsLockController.java:328)
>>      at 
>> de.schlichtherle.truezip.fs.FsLockController.writeLocked(FsLockController.java:268)
>>      at 
>> de.schlichtherle.truezip.fs.FsLockController.readOrWriteLocked(FsLockController.java:257)
>>      at 
>> de.schlichtherle.truezip.fs.FsLockController.getEntry(FsLockController.java:104)
>>      at 
>> de.schlichtherle.truezip.fs.archive.zip.KeyController.getEntry(KeyController.java:72)
>>      at 
>> de.schlichtherle.truezip.fs.FsDecoratingController.getEntry(FsDecoratingController.java:56)
>>      at 
>> de.schlichtherle.truezip.fs.FsFalsePositiveArchiveController$GetEntry.call(FsFalsePositiveArchiveController.java:153)
>>      at 
>> de.schlichtherle.truezip.fs.FsFalsePositiveArchiveController$GetEntry.call(FsFalsePositiveArchiveController.java:148)
>>      at 
>> de.schlichtherle.truezip.fs.FsFalsePositiveArchiveController$TryChild.call(FsFalsePositiveArchiveController.java:507)
>>      at 
>> de.schlichtherle.truezip.fs.FsFalsePositiveArchiveController.call(FsFalsePositiveArchiveController.java:104)
>>      at 
>> de.schlichtherle.truezip.fs.FsFalsePositiveArchiveController.getEntry(FsFalsePositiveArchiveController.java:145)
>>      at de.schlichtherle.truezip.file.TFile.listFiles(TFile.java:2268)
>>      at de.schlichtherle.truezip.file.TFile.listFiles(TFile.java:2212)
>
>
>> I had at first thought this was a system level issue (i.e. the filesystem 
>> did not allow more than 10K open files. )
>> So I updated the system using ulimit.  However, even after updating the 
>> system limits, I still am getting the error above. 
>
>> I would appreciate any help regarding resolving this particular issue…
>
>> I am using the latest release of trueZip libraries. (7.7.2) 
>> I am wondering if I am supposed to set the TrueVFS settings (i.e. 
>> configure it to have a higher open file limit as well). 
>
>
>
>
>
>> Thanks for the help
>
>> Ramdev
>
>
>
>
>
>
>
> 



[truezip-users] IllegalStateException :….. (already released)

Ramdev Wudali 07/06/2013

[truezip-users] Re: IllegalStateException :….. (already released)

Christian Schlichtherle 07/06/2013

[truezip-users] Re: IllegalStateException :….. (already released)

Ramdev Wudali 07/06/2013

[truezip-users] Re: IllegalStateException :….. (already released)

Christian Schlichtherle 07/06/2013

[truezip-users] Re: IllegalStateException :….. (already released)

Ramdev Wudali 07/07/2013

[truezip-users] Re: IllegalStateException :….. (already released)

Ramdev Wudali 07/07/2013

[truezip-users] Re: IllegalStateException :….. (already released)

Christian Schlichtherle 07/08/2013

[truezip-users] Re: IllegalStateException :….. (already released)

Ramdev Wudali 07/08/2013

[truezip-users] Re: IllegalStateException :….. (already released)

Christian Schlichtherle 07/08/2013

[truezip-users] Re: IllegalStateException :….. (already released)

Christian Schlichtherle 07/08/2013
 
 
Close
loading
Please Confirm
Close