Jump to content

[Solved] Forge can't find files that are obviously there


Asweez

Recommended Posts

After taking a small break, I have resumed work on building my mod with sphinx4 speech recognition. I have figured out how to include it in the jar and almost everything works. When I try to start the speech recognition in Minecraft, it says it can't find the dictionary model that I specified. However, when I extract the jar and look where it specifies, the file is there. Is there something wrong here?

 

Error:

Exception in thread "Thread-12" [13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: java.lang.RuntimeException: Allocation of search manager resources failed
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.allocate(WordPruningBreadthFirstSearchManager.java:247)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.decoder.AbstractDecoder.allocate(AbstractDecoder.java:103)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.recognizer.Recognizer.allocate(Recognizer.java:164)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.api.LiveSpeechRecognizer.startRecognition(LiveSpeechRecognizer.java:47)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at com.apmods.hpspells.speech.SpeechThread.run(SpeechThread.java:22)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.lang.Thread.run(Thread.java:745)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: Caused by: java.io.FileNotFoundException: ~snip~/minecraft/mods/hpspells-1.7.10-1.0-universal.jar!/assets/hpspells/speech/spells.txt (No such file or directory)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.io.FileInputStream.open0(Native Method)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.io.FileInputStream.open(FileInputStream.java:195)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.io.FileInputStream.<init>(FileInputStream.java:138)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.io.FileInputStream.<init>(FileInputStream.java:93)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.net.URL.openStream(URL.java:1045)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.linguist.dictionary.TextDictionary.allocate(TextDictionary.java:180)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.linguist.lextree.LexTreeLinguist.allocate(LexTreeLinguist.java:332)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.allocate(WordPruningBreadthFirstSearchManager.java:243)
[13:43:48] [Thread-12/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	... 5 more

 

This is the path that I specify for Sphinx4:

		String urlDic = getClass().getClassLoader().getResource("assets/hpspells/speech/spells.txt").getPath();

 

Side note: It works in the dev environment, just not when built

 

Thanks

Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.

Link to comment
Share on other sites

Are you sure the file's path in the JAR is exactly the same as the path you're trying to load, including case? Paths in JARs are case-sensitive, paths on Windows (NTFS) drives aren't.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

It seems that assets folder is ignored on the real mc enviroment, compared to dev environment where resources are just read.

You can simply omit the 'assets' part, so it becomes "/hpspells/speech/spells.txt". This worked well for me.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

That doesn't work either, not even in the dev environment. Here is the error after trying to run it in eclipse.

 

 

09:39:00.417 INFO dictionary           Loading dictionary from: file:/hpspells/speech/spells.txt
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: java.lang.RuntimeException: Allocation of search manager resources failed
Exception in thread "Thread-13" [09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.allocate(WordPruningBreadthFirstSearchManager.java:247)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.decoder.AbstractDecoder.allocate(AbstractDecoder.java:103)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.recognizer.Recognizer.allocate(Recognizer.java:164)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.api.LiveSpeechRecognizer.startRecognition(LiveSpeechRecognizer.java:47)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at com.apmods.hpspells.speech.SpeechThread.run(SpeechThread.java:22)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.lang.Thread.run(Thread.java:745)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: Caused by: java.io.FileNotFoundException: /hpspells/speech/spells.txt (No such file or directory)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.io.FileInputStream.open(Native Method)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.io.FileInputStream.<init>(FileInputStream.java:146)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.io.FileInputStream.<init>(FileInputStream.java:101)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.net.URL.openStream(URL.java:1037)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.linguist.dictionary.TextDictionary.allocate(TextDictionary.java:180)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.linguist.lextree.LexTreeLinguist.allocate(LexTreeLinguist.java:332)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.allocate(WordPruningBreadthFirstSearchManager.java:243)
[09:39:00] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	... 5 more

 

Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.

Link to comment
Share on other sites

Found out that I omitted the assets on the resource folder.

"/assets/hpspells/speech/spells.txt" will work.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

That doesn't work either, not even in eclipse. I get an NullPointerException on this line:

 

		String urlDic = getClass().getClassLoader().getResource("/assets/hpspells/speech/spells.txt").getPath();

Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.

Link to comment
Share on other sites

If what you need is the location to provide the api, why just gets around with ClassLoader#getResource?

It seems that getPath only gives input string for ClassLoader#getResource again.

Try this:

String urlDic = "/assets/hpspells/speech/spells.txt"

 

Also are there no other types of the input?

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

Same error with that, too.

 

 

13:07:27.298 INFO dictionary           Loading dictionary from: file:/assets/hpspells/speech/spells.txt
Exception in thread "Thread-13" [13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: java.lang.RuntimeException: Allocation of search manager resources failed
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.allocate(WordPruningBreadthFirstSearchManager.java:247)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.decoder.AbstractDecoder.allocate(AbstractDecoder.java:103)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.recognizer.Recognizer.allocate(Recognizer.java:164)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.api.LiveSpeechRecognizer.startRecognition(LiveSpeechRecognizer.java:47)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at com.apmods.hpspells.speech.SpeechThread.run(SpeechThread.java:22)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.lang.Thread.run(Thread.java:745)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: Caused by: java.io.FileNotFoundException: /assets/hpspells/speech/spells.txt (No such file or directory)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.io.FileInputStream.open(Native Method)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.io.FileInputStream.<init>(FileInputStream.java:146)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.io.FileInputStream.<init>(FileInputStream.java:101)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at java.net.URL.openStream(URL.java:1037)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.linguist.dictionary.TextDictionary.allocate(TextDictionary.java:180)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.linguist.lextree.LexTreeLinguist.allocate(LexTreeLinguist.java:332)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.allocate(WordPruningBreadthFirstSearchManager.java:243)
[13:07:27] [Thread-13/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: 	... 5 more

 

Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.

Link to comment
Share on other sites

I found about sphinx, and found out that it needs domain to read jar in , like "resource:"

http://cmusphinx.sourceforge.net/wiki/tutorialsphinx4

 

It was actually obvious, since there is nothing like File in jar. But you didn't specified any domain there, which resulted in it trying to read from the File...

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

Property exception component:'simpleNGramModel' property:'location' - Can't locate resource:assets/hpspells/speech/spells.lm
edu.cmu.sphinx.util.props.InternalConfigurationException: Can't locate resource:assets/hpspells/speech/spells.lm
at edu.cmu.sphinx.util.props.ConfigurationManagerUtils.getResource(ConfigurationManagerUtils.java:468)
at edu.cmu.sphinx.linguist.language.ngram.SimpleNGramModel.newProperties(SimpleNGramModel.java:99)
at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:518)
at edu.cmu.sphinx.util.props.PropertySheet.getComponent(PropertySheet.java:296)
at edu.cmu.sphinx.linguist.lextree.LexTreeLinguist.newProperties(LexTreeLinguist.java:305)
at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:518)
at edu.cmu.sphinx.util.props.PropertySheet.getComponent(PropertySheet.java:296)
at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.newProperties(WordPruningBreadthFirstSearchManager.java:211)
at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstLookaheadSearchManager.newProperties(WordPruningBreadthFirstLookaheadSearchManager.java:156)
at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:518)
at edu.cmu.sphinx.util.props.PropertySheet.getComponent(PropertySheet.java:296)
at edu.cmu.sphinx.decoder.AbstractDecoder.newProperties(AbstractDecoder.java:81)
at edu.cmu.sphinx.decoder.Decoder.newProperties(Decoder.java:36)
at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:518)
at edu.cmu.sphinx.util.props.PropertySheet.getComponent(PropertySheet.java:296)
at edu.cmu.sphinx.recognizer.Recognizer.newProperties(Recognizer.java:86)
at edu.cmu.sphinx.util.props.PropertySheet.getOwner(PropertySheet.java:518)
at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(ConfigurationManager.java:163)
at edu.cmu.sphinx.api.Context.<init>(Context.java:73)
at edu.cmu.sphinx.api.Context.<init>(Context.java:45)
at edu.cmu.sphinx.api.AbstractSpeechRecognizer.<init>(AbstractSpeechRecognizer.java:44)
at edu.cmu.sphinx.api.LiveSpeechRecognizer.<init>(LiveSpeechRecognizer.java:34)
at com.apmods.hpspells.main.HPSpells.init(HPSpells.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:737)
at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:597)
at net.minecraft.client.Minecraft.run(Minecraft.java:942)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)

Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.

Link to comment
Share on other sites

Did you put '/' between the domain and the location? (So it would like 'resource:/(location)')

Also did you tried removing 'assets'?

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.