The app crashes almost every time when I'm using navigation and a slip road
I'm supposed to take comes up. I'm using a Oneplus 10 Pro and Finnish TTS
navigation instructions. I've tried all up-to-date builds of OsmAnd and
both Android 12 and 13.
Now that I've loaded the exception log up on my PC instead of just sending
it straight through email on the road, I see the crash is TTS-related and
occurs when it tries and fails to say the word "metrin", which is the
conjugation of the Finnish word for metre used for "X metrin päästä" (in X
metres). I think the TTS voice used to say "undefined" sometimes instead of
"metrin", and this seems like a try-catch has been removed, making the
problem present more severely.
I assume I can avoid this crash by switching the TTS language, but I would
like to be able to use Finnish at least for street and junction names.
Generally speaking, an option to use local language TTS to pronounce map
object names would be excellent, but I assume that has been considered and
judged not worth implementing.
--
You received this message because you are subscribed to the Google Groups
"OsmAnd" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/osmand/085a31ee-1d8c-41f0-bfd3-e1a94813d0acn%40googlegroups.com.
Version OsmAnd+ 4.2.7
14.08.2022 4:28:00
Apk Version : 4.2.7 4207
Exception occured in thread Thread[main,5,main] :
org.mozilla.javascript.EcmaError: ReferenceError: "metrin" is not defined.
(JS#305)
at
org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:4198)
at
org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:4176)
at
org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:4266)
at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1928)
at
org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1558)
at script.take_exit(JS:305)
at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:815)
at
org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
at
org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:405)
at
org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3508)
at
org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:107)
at
net.osmand.plus.voice.JsCommandBuilder.addCommand(JsCommandBuilder.java:240)
at
net.osmand.plus.voice.JsCommandBuilder.takeExit(JsCommandBuilder.java:125)
at
net.osmand.plus.routing.VoiceRouter.playMakeTurnIn(VoiceRouter.java:696)
at
net.osmand.plus.routing.VoiceRouter.updateStatus(VoiceRouter.java:470)
at
net.osmand.plus.routing.RoutingHelper.setCurrentLocation(RoutingHelper.java:471)
at
net.osmand.plus.routing.RoutingHelper.setCurrentLocation(RoutingHelper.java:391)
at
net.osmand.plus.OsmAndLocationProvider.setLocation(OsmAndLocationProvider.java:831)
at
net.osmand.plus.OsmAndLocationProvider.access$200(OsmAndLocationProvider.java:61)
at
net.osmand.plus.OsmAndLocationProvider$1.onLocationResult(OsmAndLocationProvider.java:267)
at
net.osmand.plus.helpers.AndroidApiLocationServiceHelper.onLocationChanged(AndroidApiLocationServiceHelper.java:163)
at
android.location.LocationListener.onLocationChanged(LocationListener.java:63)
at
android.location.LocationManager$LocationListenerTransport$1.operate(LocationManager.java:3317)
at
android.location.LocationManager$LocationListenerTransport$1.operate(LocationManager.java:3314)
at
com.android.internal.listeners.ListenerExecutor.lambda$executeSafely$0(ListenerExecutor.java:127)
at
com.android.internal.listeners.ListenerExecutor$$ExternalSyntheticLambda0.run(Unknown
Source:8)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:240)
at android.os.Looper.loop(Looper.java:351)
at android.app.ActivityThread.main(ActivityThread.java:8321)
at java.lang.reflect.Method.invoke(Native Method)
at
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1012)
Version OsmAnd+ 4.2.7
14.08.2022 5:35:46
Apk Version : 4.2.7 4207
Exception occured in thread Thread[main,5,main] :
org.mozilla.javascript.EcmaError: ReferenceError: "metrin" is not defined.
(JS#305)
at
org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:4198)
at
org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:4176)
at
org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:4266)
at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1928)
at
org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1558)
at script.take_exit(JS:305)
at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:815)
at
org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
at
org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:405)
at
org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3508)
at
org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:107)
at
net.osmand.plus.voice.JsCommandBuilder.addCommand(JsCommandBuilder.java:240)
at
net.osmand.plus.voice.JsCommandBuilder.takeExit(JsCommandBuilder.java:125)
at
net.osmand.plus.routing.VoiceRouter.playMakeTurnIn(VoiceRouter.java:696)
at
net.osmand.plus.routing.VoiceRouter.updateStatus(VoiceRouter.java:470)
at
net.osmand.plus.routing.RoutingHelper.setCurrentLocation(RoutingHelper.java:471)
at
net.osmand.plus.routing.RoutingHelper.setCurrentLocation(RoutingHelper.java:391)
at
net.osmand.plus.OsmAndLocationProvider.setLocation(OsmAndLocationProvider.java:831)
at
net.osmand.plus.OsmAndLocationProvider.access$200(OsmAndLocationProvider.java:61)
at
net.osmand.plus.OsmAndLocationProvider$1.onLocationResult(OsmAndLocationProvider.java:267)
at
net.osmand.plus.helpers.AndroidApiLocationServiceHelper.onLocationChanged(AndroidApiLocationServiceHelper.java:163)
at
android.location.LocationListener.onLocationChanged(LocationListener.java:63)
at
android.location.LocationManager$LocationListenerTransport$1.operate(LocationManager.java:3317)
at
android.location.LocationManager$LocationListenerTransport$1.operate(LocationManager.java:3314)
at
com.android.internal.listeners.ListenerExecutor.lambda$executeSafely$0(ListenerExecutor.java:127)
at
com.android.internal.listeners.ListenerExecutor$$ExternalSyntheticLambda0.run(Unknown
Source:8)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:240)
at android.os.Looper.loop(Looper.java:351)
at android.app.ActivityThread.main(ActivityThread.java:8321)
at java.lang.reflect.Method.invoke(Native Method)
at
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1012)
Version OsmAnd+ 4.2.7
14.08.2022 6:39:56
Apk Version : 4.2.7 4207
Exception occured in thread Thread[main,5,main] :
org.mozilla.javascript.EcmaError: ReferenceError: "metrin" is not defined.
(JS#305)
at
org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:4198)
at
org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:4176)
at
org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:4266)
at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1928)
at
org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1558)
at script.take_exit(JS:305)
at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:815)
at
org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
at
org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:405)
at
org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3508)
at
org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:107)
at
net.osmand.plus.voice.JsCommandBuilder.addCommand(JsCommandBuilder.java:240)
at
net.osmand.plus.voice.JsCommandBuilder.takeExit(JsCommandBuilder.java:125)
at
net.osmand.plus.routing.VoiceRouter.playMakeTurnIn(VoiceRouter.java:696)
at
net.osmand.plus.routing.VoiceRouter.updateStatus(VoiceRouter.java:470)
at
net.osmand.plus.routing.RoutingHelper.setCurrentLocation(RoutingHelper.java:471)
at
net.osmand.plus.routing.RoutingHelper.setCurrentLocation(RoutingHelper.java:391)
at
net.osmand.plus.OsmAndLocationProvider.setLocation(OsmAndLocationProvider.java:831)
at
net.osmand.plus.OsmAndLocationProvider.access$200(OsmAndLocationProvider.java:61)
at
net.osmand.plus.OsmAndLocationProvider$1.onLocationResult(OsmAndLocationProvider.java:267)
at
net.osmand.plus.helpers.AndroidApiLocationServiceHelper.onLocationChanged(AndroidApiLocationServiceHelper.java:163)
at
android.location.LocationListener.onLocationChanged(LocationListener.java:63)
at
android.location.LocationManager$LocationListenerTransport$1.operate(LocationManager.java:3317)
at
android.location.LocationManager$LocationListenerTransport$1.operate(LocationManager.java:3314)
at
com.android.internal.listeners.ListenerExecutor.lambda$executeSafely$0(ListenerExecutor.java:127)
at
com.android.internal.listeners.ListenerExecutor$$ExternalSyntheticLambda0.run(Unknown
Source:8)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:240)
at android.os.Looper.loop(Looper.java:351)
at android.app.ActivityThread.main(ActivityThread.java:8321)
at java.lang.reflect.Method.invoke(Native Method)
at
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1012)