Re: ABCL conflicts with tomcat on ## path names
Alan Ruttenberg <[email protected]>
| Newsgroups | gmane.editors.j.devel |
|---|---|
| Message-ID | <CAFKQJ8k+gsqwD8yj4bf3VufA7i7F8kDA2mVEwa_bAtcDHGL8kA__38431.5491923646$1527716513$gmane$org@mail.gmail.com> |
On Wed, May 30, 2018 at 5:22 PM, Blake McBride <[email protected]> wrote: > Thanks, Alan! > > Perhaps a special case because tomcat requires that the name starts with > "ROOT##". I'm pretty sure it has to be uppercase too. > That's odd. I can certainly start up ABCL in a direct whose name is mixed case. MacOS preserves but doesn't consider case significant. Thanks! > np Alan > > Blake > > > On Wed, May 30, 2018 at 3:59 PM, Alan Ruttenberg <[email protected] > > wrote: > >> Ah. I'll have to defer to Mark on this. What's happening is that >> Pathname.makeURL is being called, I think so as to be able to load classes >> from the ABCL jar file. makeURL creates a file:// URL, and that fails >> because you can't have ## in a URL. >> >> Presumably you get a nastier error than I do because not enough of lisp >> is set up to report it better. >> >> I can think of a number of ways of fixing it, in principle, but I've not >> worked in that are of ABCL and it's delicate enough that I'm not keen to. >> >> Practically, you probably want to situate in a path that doesn't include >> "##" (generic advice "don't do that" :-/) >> >> What's worse is that it seems you will have problems even with a single >> "#" >> (pathname "file:///foo.com/#r") -> #P"/foo.com" >> That's a bug... >> >> Maybe Mark can figure out how it could be delicately fixed... >> >> Alan >> >> On Wed, May 30, 2018 at 4:23 PM, Blake McBride <[email protected]> >> wrote: >> >>> I get that error when I execute the following from Java: >>> >>> interpreter = Interpreter.createInstance(); >>> >>> >>> That is what is at com.arahant.lisp.ABCL.init(ABCL.java:35) >>> >>> >>> >>> On Wed, May 30, 2018 at 2:43 PM, Alan Ruttenberg < >>> [email protected]> wrote: >>> >>>> Can say what you mean by "work"? >>>> >>>> I can make an use pathname with "##" in it without error. >>>> If for pathname I use a URI instead, I get an error about the second >>>> "#" which is illegal in the fragment name. If you were doing that in web >>>> standards you would need to percent-encode the second "#" >>>> >>>> But how to quote inside filenames in lisp is confusing to me. Is it >>>> even specified? >>>> >>>> I made a file called ~/a##b >>>> (probe-file "/Users/alanr/a##b") succeeds >>>> >>>> (probe-file "file:///Users/alanr/a##b") fails: "Improper URI syntax >>>> for 'file:/Users/lori/repos/bfo-theory/tex/a##b': >>>> java.net.URISyntaxException: Illegal character in fragment at index 42: >>>> file:///Users/lori/repos/bfo-theory/tex/a##b" >>>> >>>> (probe-file "file:///Users/lori/repos/bfo-theory/tex/a#%23b") returns >>>> nil >>>> >>>> Still not the same error as you get. >>>> >>>> On Wed, May 30, 2018 at 1:51 PM, Blake McBride <[email protected]> >>>> wrote: >>>> >>>>> With tomcat, if you want to change the root application you can >>>>> either rename the directory ROOT or ROOT##myapp. ROOT#myapp makes a lot of >>>>> sense because it reminds you what's there. However, that naming convention >>>>> seems to conflict with ABCL. My app under ROOT works fine, but when I name >>>>> it to ROOT##myapp ABCL gives: >>>>> >>>>> org.armedbear.lisp.IntegrityError >>>>> at org.armedbear.lisp.Primitives$pf_error.execute(Primitives.ja >>>>> va:1577) >>>>> at org.armedbear.lisp.Primitive.execute(Primitive.java:113) >>>>> at org.armedbear.lisp.Symbol.execute(Symbol.java:803) >>>>> at org.armedbear.lisp.Lisp.error(Lisp.java:383) >>>>> at org.armedbear.lisp.ZipCache.get(ZipCache.java:222) >>>>> at org.armedbear.lisp.ZipCache.get(ZipCache.java:102) >>>>> at org.armedbear.lisp.Pathname.truename(Pathname.java:2275) >>>>> at org.armedbear.lisp.Load.findLoadableFile(Load.java:69) >>>>> at org.armedbear.lisp.Load.loadSystemFile(Load.java:305) >>>>> at org.armedbear.lisp.Interpreter.initializeLisp(Interpreter.java:172) >>>>> at org.armedbear.lisp.Interpreter.createInstance(Interpreter.java:72) >>>>> at com.arahant.lisp.ABCL.init(ABCL.java:35) >>>>> at com.arahant.utils.StartupListener.contextInitialized(Startup >>>>> Listener.java:225) >>>>> at org.apache.catalina.core.StandardContext.listenerStart(Stand >>>>> ardContext.java:4792) >>>>> at org.apache.catalina.core.StandardContext.startInternal(Stand >>>>> ardContext.java:5256) >>>>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.j >>>>> ava:150) >>>>> at org.apache.catalina.core.ContainerBase.addChildInternal(Cont >>>>> ainerBase.java:754) >>>>> at org.apache.catalina.core.ContainerBase.addChild(ContainerBas >>>>> e.java:730) >>>>> at org.apache.catalina.core.StandardHost.addChild(StandardHost. >>>>> java:734) >>>>> at org.apache.catalina.startup.HostConfig.deployDirectory(HostC >>>>> onfig.java:1140) >>>>> at org.apache.catalina.startup.HostConfig$DeployDirectory.run(H >>>>> ostConfig.java:1875) >>>>> at java.util.concurrent.Executors$RunnableAdapter.call(Executor >>>>> s.java:511) >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool >>>>> Executor.java:1149) >>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo >>>>> lExecutor.java:624) >>>>> at java.lang.Thread.run(Thread.java:748) >>>>> ERROR placeholder called with arguments: >>>>> Failed to get cached ZipFile because java.io.FileNotFoundException: >>>>> /home/arahant/apache-tomcat-8.5.31/demo/ROOT (No such file or >>>>> directory) >>>>> Failed to get cached ZipFile because java.io.FileNotFoundException: >>>>> /home/arahant/apache-tomcat-8.5.31/demo/ROOT (No such file or >>>>> directory) >>>>> [ERROR] [utils.StartupListener ] - 2018-05-30 12:42:02 Error >>>>> initializing Lisp. >>>>> org.armedbear.lisp.IntegrityError >>>>> at org.armedbear.lisp.Primitives$pf_error.execute(Primitives.ja >>>>> va:1577) >>>>> at org.armedbear.lisp.Primitive.execute(Primitive.java:113) >>>>> at org.armedbear.lisp.Symbol.execute(Symbol.java:803) >>>>> at org.armedbear.lisp.Lisp.error(Lisp.java:383) >>>>> at org.armedbear.lisp.ZipCache.get(ZipCache.java:222) >>>>> at org.armedbear.lisp.ZipCache.get(ZipCache.java:102) >>>>> at org.armedbear.lisp.Pathname.truename(Pathname.java:2275) >>>>> at org.armedbear.lisp.Load.findLoadableFile(Load.java:69) >>>>> at org.armedbear.lisp.Load.loadSystemFile(Load.java:305) >>>>> at org.armedbear.lisp.Interpreter.initializeLisp(Interpreter.java:172) >>>>> at org.armedbear.lisp.Interpreter.createInstance(Interpreter.java:72) >>>>> at com.arahant.lisp.ABCL.init(ABCL.java:35) >>>>> at com.arahant.utils.StartupListener.contextInitialized(Startup >>>>> Listener.java:225) >>>>> at org.apache.catalina.core.StandardContext.listenerStart(Stand >>>>> ardContext.java:4792) >>>>> at org.apache.catalina.core.StandardContext.startInternal(Stand >>>>> ardContext.java:5256) >>>>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.j >>>>> ava:150) >>>>> at org.apache.catalina.core.ContainerBase.addChildInternal(Cont >>>>> ainerBase.java:754) >>>>> at org.apache.catalina.core.ContainerBase.addChild(ContainerBas >>>>> e.java:730) >>>>> at org.apache.catalina.core.StandardHost.addChild(StandardHost. >>>>> java:734) >>>>> at org.apache.catalina.startup.HostConfig.deployDirectory(HostC >>>>> onfig.java:1140) >>>>> at org.apache.catalina.startup.HostConfig$DeployDirectory.run(H >>>>> ostConfig.java:1875) >>>>> at java.util.concurrent.Executors$RunnableAdapter.call(Executor >>>>> s.java:511) >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool >>>>> Executor.java:1149) >>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo >>>>> lExecutor.java:624) >>>>> at java.lang.Thread.run(Thread.java:748) >>>>> org.armedbear.lisp.IntegrityError >>>>> at org.armedbear.lisp.Primitives$pf_error.execute(Primitives.ja >>>>> va:1577) >>>>> at org.armedbear.lisp.Primitive.execute(Primitive.java:113) >>>>> at org.armedbear.lisp.Symbol.execute(Symbol.java:803) >>>>> at org.armedbear.lisp.Lisp.error(Lisp.java:383) >>>>> at org.armedbear.lisp.ZipCache.get(ZipCache.java:222) >>>>> at org.armedbear.lisp.ZipCache.get(ZipCache.java:102) >>>>> at org.armedbear.lisp.Pathname.truename(Pathname.java:2275) >>>>> at org.armedbear.lisp.Load.findLoadableFile(Load.java:69) >>>>> at org.armedbear.lisp.Load.loadSystemFile(Load.java:305) >>>>> at org.armedbear.lisp.Interpreter.initializeLisp(Interpreter.java:172) >>>>> at org.armedbear.lisp.Interpreter.createInstance(Interpreter.java:72) >>>>> at com.arahant.lisp.ABCL.init(ABCL.java:35) >>>>> at com.arahant.utils.StartupListener.contextInitialized(Startup >>>>> Listener.java:225) >>>>> at org.apache.catalina.core.StandardContext.listenerStart(Stand >>>>> ardContext.java:4792) >>>>> at org.apache.catalina.core.StandardContext.startInternal(Stand >>>>> ardContext.java:5256) >>>>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.j >>>>> ava:150) >>>>> at org.apache.catalina.core.ContainerBase.addChildInternal(Cont >>>>> ainerBase.java:754) >>>>> at org.apache.catalina.core.ContainerBase.addChild(ContainerBas >>>>> e.java:730) >>>>> at org.apache.catalina.core.StandardHost.addChild(StandardHost. >>>>> java:734) >>>>> at org.apache.catalina.startup.HostConfig.deployDirectory(HostC >>>>> onfig.java:1140) >>>>> at org.apache.catalina.startup.HostConfig$DeployDirectory.run(H >>>>> ostConfig.java:1875) >>>>> at java.util.concurrent.Executors$RunnableAdapter.call(Executor >>>>> s.java:511) >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool >>>>> Executor.java:1149) >>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo >>>>> lExecutor.java:624) >>>>> at java.lang.Thread.run(Thread.java:748) >>>>> [ERROR] [utils.StartupListener ] - org.armedbear.lisp.IntegrityEr >>>>> ror >>>>> at org.armedbear.lisp.Primitives$pf_error.execute(Primitives.ja >>>>> va:1577) >>>>> at org.armedbear.lisp.Primitive.execute(Primitive.java:113) >>>>> at org.armedbear.lisp.Symbol.execute(Symbol.java:803) >>>>> at org.armedbear.lisp.Lisp.error(Lisp.java:383) >>>>> at org.armedbear.lisp.ZipCache.get(ZipCache.java:222) >>>>> at org.armedbear.lisp.ZipCache.get(ZipCache.java:102) >>>>> at org.armedbear.lisp.Pathname.truename(Pathname.java:2275) >>>>> at org.armedbear.lisp.Load.findLoadableFile(Load.java:69) >>>>> at org.armedbear.lisp.Load.loadSystemFile(Load.java:305) >>>>> at org.armedbear.lisp.Interpreter.initializeLisp(Interpreter.java:172) >>>>> at org.armedbear.lisp.Interpreter.createInstance(Interpreter.java:72) >>>>> at com.arahant.lisp.ABCL.init(ABCL.java:35) >>>>> at com.arahant.utils.StartupListener.contextInitialized(Startup >>>>> Listener.java:225) >>>>> at org.apache.catalina.core.StandardContext.listenerStart(Stand >>>>> ardContext.java:4792) >>>>> at org.apache.catalina.core.StandardContext.startInternal(Stand >>>>> ardContext.java:5256) >>>>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.j >>>>> ava:150) >>>>> at org.apache.catalina.core.ContainerBase.addChildInternal(Cont >>>>> ainerBase.java:754) >>>>> at org.apache.catalina.core.ContainerBase.addChild(ContainerBas >>>>> e.java:730) >>>>> at org.apache.catalina.core.StandardHost.addChild(StandardHost. >>>>> java:734) >>>>> at org.apache.catalina.startup.HostConfig.deployDirectory(HostC >>>>> onfig.java:1140) >>>>> at org.apache.catalina.startup.HostConfig$DeployDirectory.run(H >>>>> ostConfig.java:1875) >>>>> at java.util.concurrent.Executors$RunnableAdapter.call(Executor >>>>> s.java:511) >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >>>>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool >>>>> Executor.java:1149) >>>>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo >>>>> lExecutor.java:624) >>>>> at java.lang.Thread.run(Thread.java:748) >>>>> >>>>> >>>> >>> >> >