IMHO this looks like a valid use case that should be solved in some upcoming release, on all relevant target platforms (Windows/non-Windows, 32/64-bit).
Is there a bug created yet? We can look to the JVM/JDK for info on how native large file support is implemented, e.g. we might need separate implementations for Windows and Linux/Solaris since O_LARGEFILE is not supported on Windows. /Robert > -----Original Message----- > From: David Holmes > Sent: den 10 oktober 2011 08:27 > To: wynne.wang > Cc: [email protected] > Subject: Re: Fwd: large jar file failed > > FYI my initial response to the openjdk lists have been held for > moderator approval due to my use of bcc :( > > On 10/10/2011 4:17 PM, wynne.wang wrote: > > Thanks for your kind reply of the issue. > > > > Yes, it seems more like a launcher issue. And if we use 32bit jvm with > > -d64 option (it will auto launch the 64bit jvm) > > it appears an Open() error of EOVERFLOW. And if we use 64bit jvm > > directly , it appears to be an Lseek() error of EINVAL. > > > > I doubt if there is any workaround such as a jvm option. > > If the issue is with the launcher then I think the only option would be > to try and use a custom launcher that uses 64-bit file operations. > > David > > > Thanks > > > > Wynne Wang > > > > > > δΊ 2011/10/10 11:22, David Holmes ει: > >> I've bcc'ed the hotspot lists and redirected this to serviceability as > >> this is a launcher issue not a JVM issue. > >> > >> On 9/10/2011 8:30 PM, wynne.wang wrote: > >>> Hi Experts > >>> > >>> I need help to solve a JDK issue. > >>> > >>> It is easy to repeat, one created a jar file> 2GB , and it failed to > run. > >>> > >>> By the deeper investigation, I found the error was thrown from the > >>> SelectVersion() method in JVM . > >> What was the error? I suspect it may have been EOVERFLOW as the jar > file > >> was not opened with O_LARGEFILE set. > >> > >> David Holmes > >> ------------ > >> > >>> Inside the openjdk source code(/share/bin/java.c), I found some > >>> interesting notes as: > >>> > >>> * A NOTE TO DEVELOPERS: For performance reasons it is important that > >>> * the program image remain relatively small until after SelectVersion > >>> * CreateExecutionEnvironment have finished their possibly recursive > >>> * processing. Watch everything, but resist all temptations to use Java > >>> * interfaces. > >>> > >>> OK, the fact is , now there is a jar file>2GB , and if it could pass > >>> the SelectVersion() check in JVM? > >>> Or any advice ? > >>> > >>> Thanks > >>> > >>> Wynne > >>> > >>> > >>> > >
