Results 1 to 2 of 2

Thread: Invalid SKAdvice when navigating

  1. #1

    Invalid SKAdvice when navigating

    I am updating Skobbler to version 2.5.2 to fix libpng Google Play Warning (I also tried to update to version 3+), but the navigation stops working properly after the update.

    After onRouteCalculationCompleted I check the advices list using SKRouteManager.getInstance().getAdviceList() and receive valid advices.

    SKRouteAdvice [adviceID=0, timeToDestination=261, distanceToDestination=1234, timeToAdvice=0, distanceToAdvice=0, streetName=Rua Barao do Abiaí, visualAdviceFile=/data/user/0/myapp/files/SKMaps//Advisor/Visual/104962/1.png, advicePosition=[-35.886744260787964,-7.215477737837522], adviceInstruction=Now turn left then turn right , audioFilePlaylist=[now, turn_left, then_open, turn_right], currentStreetType=RESIDENTIAL, currentStreetFCClass=FC3, streetDirection=DIRECTION_LEFT]
    However, while navigating, the advice is a invalid one, like this

    onUpdateNavigationState SKNavigationState [adviceID=-1, currentSpeed=5.304781188371101E-58, currentSpeedLimit=0.0, countryCode=, lastAdvice=false, showSignPost=false, currentAdviceCurrentStreetName=, currentAdviceNextStreetName=, currentAdviceCurrentOsmStreetType=UNDEFINED, currentAdviceNextOsmStreetType=UNDEFINED, currentAdviceDistanceToAdvice=-738480304, currentAdviceTimeToDestination=-738962832, currentAdviceDistanceToDestination=-738480656, currentAdviceVisualAdviceFile=, currentAdviceAudioAdvices=[None], currentAdviceExitNumber=, nextAdviceCurrentStreetName=, nextAdviceNextStreetName=, nextAdviceDistanceToAdvice=-738854288, nextAdviceVisualAdviceFile=, nextAdviceCurrentOsmStreetType=UNDEFINED, nextAdviceNextOsmStreetType=UNDEFINED, distanceToDestination=0.0, firstCrossingDescriptor=SKCrossingDescriptor [crossingType=0, routeAngle=0.0, turnToRight=false, directionUK=false, allowedRoutesAngles=null, forbiddenRoutesAngles=null], secondCrossingDescriptor=SKCrossingDescriptor [crossingType=0, routeAngle=0.0, turnToRight=false, directionUK=false, allowedRoutesAngles=null, forbiddenRoutesAngles=null], adviceInstruction=, viaPointsInfo=null, isLastVisualAdvice=false, currentStreetDirection=DIRECTION_INVALID, nextStreetDirection=DIRECTION_INVALID]

    To check if the advice list remains valid I added a log code before starting the navigation and the app crashes with the following error:

    02-10 12:06:43.769 3236-3236/myapp A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 3236 (urance.myapp)
    02-10 12:06:43.994 4166-4166/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    02-10 12:06:43.995 4166-4166/? A/DEBUG: Build fingerprint: 'google/bullhead/bullhead:7.1.1/N4F26O/3582057:user/release-keys'
    02-10 12:06:43.995 4166-4166/? A/DEBUG: Revision: 'rev_1.0'
    02-10 12:06:43.995 4166-4166/? A/DEBUG: ABI: 'arm'
    02-10 12:06:43.995 4166-4166/? A/DEBUG: pid: 3236, tid: 3236, name: urance.myapp  >>> myapp <<<
    02-10 12:06:43.995 4166-4166/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
    02-10 12:06:43.995 4166-4166/? A/DEBUG:     r0 00000001  r1 d71b69dd  r2 00000002  r3 f1304a40
    02-10 12:06:43.995 4166-4166/? A/DEBUG:     r4 f1323200  r5 eb614ef0  r6 00000000  r7 00000002
    02-10 12:06:43.995 4166-4166/? A/DEBUG:     r8 00000001  r9 ffcd6bb4  sl c39fcd80  fp c4b7b000
    02-10 12:06:43.995 4166-4166/? A/DEBUG:     ip 00000000  sp ffcd6a38  lr d72b8347  pc d72b834c  cpsr 000f0030
    02-10 12:06:43.998 4166-4166/? A/DEBUG: backtrace:
    02-10 12:06:44.000 4166-4166/? A/DEBUG:     #00 pc 0033734c  /data/app/myapp-2/lib/arm/ (_ZN17SkAdviceGenerator14fillAdviceInfoEiiR16NGAdviceTypeEnumR12SkAdviceInfo+671)
    02-10 12:06:44.000 4166-4166/? A/DEBUG:     #01 pc 003367ff  /data/app/myapp-2/lib/arm/ (_ZN17SkAdviceGenerator17generateNewAdviceEibbPK6CRoute+550)
    02-10 12:06:44.000 4166-4166/? A/DEBUG:     #02 pc 00332adb  /data/app/myapp-2/lib/arm/ (_ZN9SkAdvisor22generateAllAdvicesOnceERK6CRouteb+566)
    02-10 12:06:44.000 4166-4166/? A/DEBUG:     #03 pc 0011033f  /data/app/myapp-2/lib/arm/ (NG_GetAdviceList+142)
    02-10 12:06:44.000 4166-4166/? A/DEBUG:     #04 pc 000efcab  /data/app/myapp-2/lib/arm/ (Java_com_skobbler_ngx_routing_SKRouteManager_getadvicelist+38)
    02-10 12:06:44.000 4166-4166/? A/DEBUG:     #05 pc 006cb7d1  /data/app/myapp-2/oat/arm/base.odex (offset 0x658000)
    In which scenario does Skobbler advices become invalid?

    P.S. My code is very similar to Skobbler's demo project. The only difference is that I do the route calculation in one Activity and the navigation in another Activity. But it works properly on verions prior to the libpng fix (2.5.X).

  2. #2
    The problem was caused while setting up SKAdvisorSettings. While updating Skobbler version I forgot to copy my custom advice sound file to the proper location.

    Skobbler could not find the advice and configuration files for some specific languages (custom files) making the navigation not work properly.

    I belive that Skobbler SDK should raise some exception or warning in this case, since the error is not really related to navigation data, like distances and time to destination. The advices should not become invalid just because the advice sound file could not be found.

    So if you are having the same problem, please check if your advice files are in the correct folders.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts