Dan:

That put me on to the solution. There was a <fileName> element
following 'reindex.cpp' that didn't have file extension [a
cut/paste error in the pom file], like

   <fileName>abc</fileName>

Mea culpa.

Even so, I would think that things shouldn't crater with such
an obscure error. Basically, the named file didn't exist in
the source directory.

Maybe AbstractCompiler shouldn't attempt to construct the object
filename (and perhaps perform other operations) until it has been
determined that the source file actually exists in the source
directory.

Thanks.

Brad

> -----Original Message-----
> From: dan tran [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, September 20, 2006 6:03 PM
> To: Maven Users List
> Subject: Re: Error: java.lang.StringIndexOutOfBoundsException [MORE]
> 
> 
> reindex.cpp compilation is ok,
> 
> The compilation after reindex.cpp is the main problem
> 
> -Dan
> 
> On 9/20/06, dan tran <[EMAIL PROTECTED]> wrote:
> >
> >  Hi Brad, thanks for looking into this problem, do you have 
> reproducable
> > test case?
> >
> > -D
> >
> >
> >  On 9/20/06, Brad Harper <[EMAIL PROTECTED]> wrote:
> > >
> > > Looking at the source code for classes
> > >
> > >   org.codehaus.mojo.natives.compiler.AbstractCompiler
> > >
> > > and
> > >
> > > org.codehaus.plexus.util.FileUtils
> > >
> > > it seems singularly odd that String.substring() would
> > > suddenly be receiving an index with a value of -17
> > > passed by the FileUtils.basename() methods.
> > >
> > > I haven't been able to affect the outcome by altering
> > > the order or names of the files involved.
> > >
> > > Method AbstractCompiler.getObjectFile() is attempting to
> > > construct the string name of the object file associated
> > > with the current source file. Looking in the target/
> > > directory, I see that the object file for source file
> > > 'reindex.cpp' has been created and exists with the expected
> > > name: 'reindex.obj'.
> > >
> > > Brad
> > >
> > > > -----Original Message-----
> > > > From: Brad Harper
> > > > Sent: Wednesday, September 20, 2006 9:38 AM
> > > > To: users
> > > > Subject: Error: java.lang.StringIndexOutOfBoundsException
> > > >
> > > >
> > > > Hello:
> > > >
> > > > See the FATAL ERROR from captured maven output below.
> > > >
> > > > In context, the native maven plugin is being used to 
> compile a C++
> > > > source file, prior to linking an .exe application.
> > > >
> > > > Has anyone seen this sort of thing before? Thanks.
> > > >
> > > > Brad
> > > >
> > > > ....
> > > > recmods.cpp
> > > > [INFO] cl /MT /W3 /GX /DWINDOWS-X86 /DWIN32 /D_WINDOWS /Zi
> > > > /Od /DDEBUG /DHAVE_DONGLE
> > > > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.
> > > > epsiia.dxr\include\common
> > > > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.
> > > > epsiia.dxr\include\gui
> > > > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.
> > > > epsiia.dxr\include\crypt
> > > > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.
> > > > epsiia.dxr\include\record
> > > > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.
> > > > epsiia.dxr\bin\dxrecord
> > > > /Fop:\exodus\dxr\WINDOWS-X86\dxrecord\target\recorder.obj -c
> > > > p:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.ep
> > > > siia.dxr\bin\dxrecord\recorder.cpp
> > > > Microsoft (R) 32-bit C/C++ Optimizing Compiler Version
> > > > 12.00.8804 for 80x86
> > > > Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
> > > >
> > > > recorder.cpp
> > > > p:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.ep
> > > > siia.dxr\bin\dxrecord\recorder.cpp(4050) : warning C4101:
> > > > 'ucplogrek' : unreferenced local variable
> > > > [INFO] cl /MT /W3 /GX /DWINDOWS-X86 /DWIN32 /D_WINDOWS /Zi
> > > > /Od /DDEBUG /DHAVE_DONGLE
> > > > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.
> > > > epsiia.dxr\include\common
> > > > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.
> > > > epsiia.dxr\include\gui
> > > > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.
> > > > epsiia.dxr\include\crypt
> > > > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.
> > > > epsiia.dxr\include\record
> > > > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.
> > > > epsiia.dxr\bin\dxrecord
> > > > /Fop:\exodus\dxr\WINDOWS-X86\dxrecord\target\reindex.obj -c
> > > > p:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.ep
> > > > siia.dxr\bin\dxrecord\reindex.cpp
> > > > Microsoft (R) 32-bit C/C++ Optimizing Compiler Version
> > > > 12.00.8804 for 80x86
> > > > Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
> > > >
> > > > reindex.cpp
> > > > [INFO]
> > > > --------------------------------------------------------------
> > > > ----------
> > > > [ERROR] FATAL ERROR
> > > > [INFO]
> > > > --------------------------------------------------------------
> > > > ----------
> > > > [INFO] String index out of range: -17
> > > > [INFO]
> > > > --------------------------------------------------------------
> > > > ----------
> > > > [DEBUG] Trace
> > > > java.lang.StringIndexOutOfBoundsException: String index out
> > > > of range: -17
> > > >       at java.lang.String.substring(String.java:1768)
> > > >       at
> > > > org.codehaus.plexus.util.FileUtils.basename (FileUtils.java:215)
> > > >       at
> > > > org.codehaus.plexus.util.FileUtils.basename(FileUtils.java:200)
> > > >       at
> > > > org.codehaus.mojo.natives.compiler.AbstractCompiler.getObjectF
> > > > ile(AbstractCompiler.java :120)
> > > >       at
> > > > org.codehaus.mojo.natives.compiler.AbstractCompiler.compile(Ab
> > > > stractCompiler.java:66)
> > > >       at
> > > > org.codehaus.mojo.natives.plugin.NativeCompileMojo.execute(Nat
> > > > iveCompileMojo.java:162)
> > > >       at
> > > > org.apache.maven.plugin.DefaultPluginManager.executeMojo(Defau
> > > > ltPluginManager.java:412)
> > > >       at
> > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoa
> > > > ls(DefaultLifecycleExecutor.java:534)
> > > >       at
> > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoa
> > > > lWithLifecycle(DefaultLifecycleExecutor.java:475)
> > > >       at
> > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoa
> > > > l(DefaultLifecycleExecutor.java:454)
> > > >       at
> > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoa
> > > > lAndHandleFailures(DefaultLifecycleExecutor.java:306)
> > > >       at
> > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTas
> > > > kSegments(DefaultLifecycleExecutor.java:273)
> > > >       at
> > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(De
> > > faultLifecycleExecutor.java :140)
> > > >       at
> > > > org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
> > > >       at 
> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
> > > >       at org.apache.maven.cli.MavenCli.main (MavenCli.java:256)
> > > >       at 
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > > >       at
> > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
> > > > orImpl.java:39)
> > > >       at
> > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
> > > > odAccessorImpl.java:25)
> > > >       at java.lang.reflect.Method.invoke(Method.java:585)
> > > >       at
> > > > org.codehaus.classworlds.Launcher.launchEnhanced 
> (Launcher.java:315)
> > > >       at 
> org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> > > >       at
> > > > 
> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
> > > >       at org.codehaus.classworlds.Launcher.main 
> (Launcher.java:375)
> > > > [INFO]
> > > > --------------------------------------------------------------
> > > > ----------
> > > > [INFO] Total time: 4 minutes 56 seconds
> > > > [INFO] Finished at: Wed Sep 20 09:35:18 CDT 2006
> > > > [INFO] Final Memory: 8M/16M
> > > > [INFO]
> > > > --------------------------------------------------------------
> > > > ----------
> > > >
> > > > 
> ---------------------------------------------------------------------
> > > > 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]

Reply via email to