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)

Reply via email to