View Issue Details

IDProjectCategoryView StatusLast Update
0001157SAS.ПланетаБаг / Bugpublic10-10-2012 11:48
Reporterrudepravo Assigned Tovasketsov  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
PlatformWindowsOSXPOS VersionSP3
Product Version.Nightly 
Target Version120808Fixed in Version120808 
Summary0001157: Падение на загрузке GPX-трека
DescriptionПри загрузке GPX-трека созданный SASPlanet программа падает. Лог ошибки и gpx-трек в приложении.
Tagsgpx, локаль, региональные настройки
Attached Files
track_with_fault.zip (972,964 bytes)

Activities

Tolik

05-02-2012 06:06

manager   ~0005334

Last edited: 05-02-2012 06:09

У меня на той же самой версии (вчерашней ночнушке) загрузился без проблем.

Старый ноутбук XP SP2, xerseslib.dll

rudepravo

05-02-2012 08:58

reporter   ~0005335

А с прикреплённого к инциденту gpx-трека не падает?

zed

05-02-2012 09:17

manager   ~0005336

C xerces не падает, a с msxml, да - падает.

vasketsov

05-02-2012 12:00

manager   ~0005337

Погляжу как смогу, сегодня не обещаю.
А вообще крайне рекомендуется пользоваться xerses. И сильно быстрее, и косяков меньше из-за опенсорсности.

vasketsov

05-02-2012 17:07

manager   ~0005343

Мелкомягкий парсер умирает при виде строки типа "<speed>.15</speed>".
Добавление ведущего нуля не решает проблему. Всё равно ошибка:

Element content is invalid according to the DTD/Schema.'#$D#$A'Expecting: {http://www.topografix.com/GPX/1/1}ageofdgpsdata, {http://www.topografix.com/GPX/1/1}dgpsid, {http://www.topografix.com/GPX/....
Line: 31
<speed>0.15</speed>

Похоже, это глюк не собственно мелкомягкого парсера, а его провайдера xmldom. Так как GPSMapEdit этот трек загружает (а он умеет использовать только msxml, зато использует его напрямую). Если я всё правильно понимаю, то баг исчезнет не раньше, чем перейти на более новую версию Delphi, так как провайдер поставляется со средой.

Так что workaround один, пользоваться xerces. Это даже не workaround в привычном смысле, это просто рекомендуется изо всех сил.

Правда есть одна непонятка. В файле gpx везде отсутствуют ведущие нули в числовых значениях. Что конечно может и допустимо, но только странно, ибо у меня писалось до последнего запуска всё с ведущими нулями.

Впрочем, изменения в репо всё же внёсу, сделаю получение текста ошибки и выдачу его в виде исключения. А то запускать верификатор gpx на этом треке бессмысленно, ибо он основан на xerces и (если поправить ссылку на SasGpxExtensionsv1.xsd) сообщает только о незаконном теге speed.

Tolik

05-02-2012 17:07

manager   ~0005344

Так давайте включим эти херсы в дистрибутив и закроем вопрос.
Ну и что, что лишние 2 мб. При нынешних ценах на интернет и на диски это не имеет значения.

Tolik

05-02-2012 17:08

manager   ~0005345

Last edited: 05-02-2012 17:09

Я думаю, этот парсер падает от того, что в региональных настройках у вас десятичная запятая, а не точка. У меня вот не падает (у меня точка).

vasketsov

05-02-2012 17:11

manager   ~0005346

Пусть пункт повисит, не закрывайте. Глаза мне помозолит. Погляжу может чего в провайдере подкрутить можно. А xerces можно будет включить в новый релиз, реально не вижу смысла совать его в ночнушки.

vasketsov

05-02-2012 18:08

manager   ~0005347

Отключил (только для msxml) дополнительные проверки (валидатор) при загрузке файла xml. На приаттаченном файле msxml стал работать.

Tolik

05-02-2012 18:31

manager   ~0005348

А гипотезу про региональные настройки проверили?

vasketsov

05-02-2012 19:55

manager   ~0005351

Региональные настройки влияли только на обрезание ведущих нулей в числах в логе gpx. Там был мой глупый косяк, что я сравнивал разделитель с текущим системным, а не с тем, который использовался строчкой выше для конвертации. Заодно ещё в паре мест поправил.

Tolik

06-02-2012 04:29

manager   ~0005352

Ну, ведущие нули не очень-то и нужны, наверно.
А дурацкая идея мелкомягких сделать для России десятичную запятую очень часто приводит к проблемам. Когда я был маленький, :) все отлично знали: на компьютере надо писать через точку. И все были довольны, никаких проблем это не вызывало. А вот молодое поколение часто даже не догадывается, что бывают нерусские форточки и другие (правильные!) региональные настройки.

Так что, проблема решена?
Да ладно, закрывайте сами, когда считаете нужным.

Issue History

Date Modified Username Field Change
05-02-2012 05:05 rudepravo New Issue
05-02-2012 05:05 rudepravo File Added: track_with_fault.zip
05-02-2012 06:06 Tolik Note Added: 0005334
05-02-2012 06:09 Tolik Note Edited: 0005334
05-02-2012 08:58 rudepravo Note Added: 0005335
05-02-2012 09:17 zed Note Added: 0005336
05-02-2012 12:00 vasketsov Note Added: 0005337
05-02-2012 12:05 vasketsov Assigned To => vasketsov
05-02-2012 12:05 vasketsov Status new => assigned
05-02-2012 17:07 vasketsov Note Added: 0005343
05-02-2012 17:07 Tolik Note Added: 0005344
05-02-2012 17:08 Tolik Note Added: 0005345
05-02-2012 17:09 Tolik Note Edited: 0005345
05-02-2012 17:11 vasketsov Note Added: 0005346
05-02-2012 18:08 vasketsov Note Added: 0005347
05-02-2012 18:31 Tolik Note Added: 0005348
05-02-2012 19:55 vasketsov Note Added: 0005351
06-02-2012 04:29 Tolik Note Added: 0005352
06-02-2012 08:39 vasketsov Status assigned => resolved
06-02-2012 08:39 vasketsov Fixed in Version => .Nightly
06-02-2012 08:39 vasketsov Resolution open => fixed
06-02-2012 08:44 Tolik Fixed in Version .Nightly => 120808
06-02-2012 08:44 Tolik Target Version => 120808
29-02-2012 11:41 gpsMax Tag Attached: gpx
29-02-2012 11:41 gpsMax Tag Attached: локаль
29-02-2012 11:41 gpsMax Tag Attached: региональные настройки
10-10-2012 11:48 Tolik Status resolved => closed
08-08-2025 13:22 zed Category Баг => Баг / Bug