OpenSim.ru

-= Открытый симулятор =-
Сим-хостинг, аренда симов, виртуальная земля в аренду
GRID STATUS: OFFLINE
ALFA REGION: OFFLINE
Users online: 4/1534
    

Проект ИИ

Текущее время: Вт апр 13, 2021 10:39 am



Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Импорт примов из SL в OpenSim - глюки
СообщениеДобавлено: Ср май 12, 2010 7:09 pm 
Не в сети
 Профиль

Зарегистрирован: Ср май 12, 2010 6:59 pm
Сообщений: 16
Всем привет!
Может быть, этот вопрос тут уже задавался (но я не нашла) НО: почему при импорте объекта из XML файла часть текстур становится белыми?
При этом сервер пишет что-то вроде [J2KDecoderModule]: CSJ2K threw an exception... и так далее о том, что он не может декодировать слои.
Версия сервера 0.6.8
В чем проблема??


Вернуться к началу
 
 Заголовок сообщения: Re: Импорт примов из SL в OpenSim - глюки
СообщениеДобавлено: Чт май 13, 2010 12:25 am 
Не в сети
 Профиль

Зарегистрирован: Ср май 12, 2010 6:59 pm
Сообщений: 16
Пообщавшись на канале #opensim я поняла, что 0.6.8 - это старая рухлядь.
Теперь OS обновлен до r/12740 через гит. Компиляция прошла успешно. НО! Снова НО!

Код:
00:24:49 - [ENTITY TRANSFER MODULE]: BasicEntityTransferModule enabled.
00:24:49 - [Serialiser]: Enabled, using save dir "exports/"
00:24:49 - Error loading plugin from OpenSim.Services.FriendsService.dll, exception System.Exception: No StorageProvider configured
  at OpenSim.Services.Friends.FriendsServiceBase..ctor (IConfigSource config) [0x00000]
  at OpenSim.Services.Friends.FriendsService..ctor (IConfigSource config) [0x00000]
  at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
00:24:49 - [FRIENDS]: No Connector defined in section Friends, or failed to load, cannot continue
00:24:49 - [APPLICATION]:
APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs

Exception: System.Exception: Connector load error
  at OpenSim.Region.CoreModules.Avatar.Friends.FriendsModule.Initialise (IConfigSource config) [0x00000]
  at OpenSim.ApplicationPlugins.RegionModulesController.RegionModulesControllerPlugin.Initialise (OpenSim.OpenSimBase openSim) [0x00000]
  at OpenSim.ApplicationPluginInitialiser.Initialise (IPlugin plugin) [0x00000]
  at OpenSim.Framework.PluginLoader`1[OpenSim.IApplicationPlugin].Load () [0x00000]
  at OpenSim.Framework.PluginLoader`1[OpenSim.IApplicationPlugin].Load (System.String extpoint) [0x00000]
  at OpenSim.OpenSimBase.LoadPlugins () [0x00000]
  at OpenSim.OpenSimBase.StartupSpecific () [0x00000]
  at OpenSim.OpenSim.StartupSpecific () [0x00000]
  at OpenSim.Framework.Servers.BaseOpenSimServer.Startup () [0x00000]
  at OpenSim.Application.Main (System.String[] args) [0x00000]

Application is terminating: True


Мне кажется, это что-то связанное с новым ROBUST. Но что?


Вернуться к началу
 
 Заголовок сообщения: Re: Импорт примов из SL в OpenSim - глюки
СообщениеДобавлено: Чт май 13, 2010 10:33 am 
Не в сети
Site Admin
Аватара пользователя
 Профиль

Зарегистрирован: Пн апр 07, 2008 4:39 pm
Сообщений: 382
ROBUST - это новая архитектура грида, которая пошла с версии 0.6.8 и в настоящий момент находится в стадии разработки. Если вам нужен импорт в standalone - сим ROBUST тут не причем нужно копать в другом месте.


Вернуться к началу
 
 Заголовок сообщения: Re: Импорт примов из SL в OpenSim - глюки
СообщениеДобавлено: Чт май 13, 2010 3:26 pm 
Не в сети
 Профиль

Зарегистрирован: Ср май 12, 2010 6:59 pm
Сообщений: 16
Тогда еще вопросик. Насколько я знаю, проблема "белых" текстур встречалась не только мне. На каком этапе ошибка - на этапе экспорта (повреждены текстурные файлы) или на этапе импорта (сервер не может нормально декодировать данные)? Подскажите, плиз, а то будет очень неприятно - перенести все свои объекты, думать что все будет нормально в следующем релизе, а оно окажется неверным. Столько усилий впустую пропадет! =(

А еще кстати: r/12740 (последний ревью из гита на 12-Май-2010) так и не заработал нормально. Скомпилировала под гентой (моно 2.6) - все то же =( Насколько я понимаю, в этом ревью проблема с подключением к БД.
А кстати, кто-нибудь знает, решена ли проблема декодировки в 0.6.9.RC2 ?


Вернуться к началу
 
 Заголовок сообщения: Re: Импорт примов из SL в OpenSim - глюки
СообщениеДобавлено: Вс май 16, 2010 11:05 am 
Не в сети
Site Admin
Аватара пользователя
 Профиль

Зарегистрирован: Пн апр 07, 2008 4:39 pm
Сообщений: 382
Давайте поставим 0.6.9 и попробуем поэкспериментировать с ним. Если появится какой-то результат прошу отписать тут.


Вернуться к началу
 
 Заголовок сообщения: Re: Импорт примов из SL в OpenSim - глюки
СообщениеДобавлено: Вс май 16, 2010 12:00 pm 
Не в сети
 Профиль

Зарегистрирован: Ср май 12, 2010 6:59 pm
Сообщений: 16
Вот появился результат. :D
0.6.9 откомпилировался нормально, запустился нормально, но вьюверы не могут к нему подключиться (ни один!) - застревают на "waiting for region handshake".
Далее: наблюдение $ diff os6d8/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs os6d9/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs
показало: разницы нет!
прим.: в каталоге os6d8 находится release версия 0.6.8, в os6d9 - 0.6.9
Тот же результат по всем файлам которые нашлись
$ find -type f -iname '*J2K*'
./os6d9/bin/CSJ2K.dll
./os6d9/OpenSim/Region/ClientStack/LindenUDP/J2KImage.cs
./os6d9/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs
./os6d9/OpenSim/Region/Framework/Interfaces/IJ2KDecoder.cs
Еще один момент: биб-ка CSJ2K.dll не менялась! Это подтверждают идентичные md5-хэши.

А теперь - бомба! ;)
Попробуйте снять последний гит ($ git clone git://opensimulator.org/git/opensim) и посмотреть что выдаст diff - разница налицо!

Вывод:
Пока что мне не удалось подключиться к серверу 0.6.9, но по результатам анализа исходного кода я делаю вывод, что ключевая (для меня) ошибка - невозможность корректной декодировки некоторых J2000 текстур - в новом релизе по-прежнему актуальна!!!


Вернуться к началу
 
 Заголовок сообщения: Re: Импорт примов из SL в OpenSim - глюки
СообщениеДобавлено: Вс май 16, 2010 2:31 pm 
Не в сети
 Профиль

Зарегистрирован: Ср май 12, 2010 6:59 pm
Сообщений: 16
Примечание к сообщ №2: удалось найти место где происходит обращение к FriendsDatabase и последующий срыв
Замечу: в версии 0.6.9 и более ранних FriendsService отсутствует . Здесь рассматривается гит-ревью.
Services/Friends/FriendsServiceBase.cs
Код:
namespace OpenSim.Services.Friends
{
    public class FriendsServiceBase : ServiceBase
    {
        protected IFriendsData m_Database = null;

        public FriendsServiceBase(IConfigSource config) : base(config)
        {
            string dllName = String.Empty;
            string connString = String.Empty;

            //
            // Try reading the [FriendsService] section first, if it exists
            //
            IConfig friendsConfig = config.Configs["FriendsService"];
            if (friendsConfig != null)
            {
                dllName = friendsConfig.GetString("StorageProvider", dllName);
                connString = friendsConfig.GetString("ConnectionString", connString);
            }

            //
            // Try reading the [DatabaseService] section, if it exists
            //
            IConfig dbConfig = config.Configs["DatabaseService"];
            if (dbConfig != null)
            {
                if (dllName == String.Empty)
                    dllName = dbConfig.GetString("StorageProvider", String.Empty);
                if (connString == String.Empty)
                    connString = dbConfig.GetString("ConnectionString", String.Empty);
            }

            //
            // We tried, but this doesn't exist. We can't proceed.
            //
            if (String.Empty.Equals(dllName))
                throw new Exception("No StorageProvider configured");

            string realm = "Friends";
            if (friendsConfig != null)
                realm = friendsConfig.GetString("Realm", realm);

            m_Database = LoadPlugin<IFriendsData>(dllName, new Object[] { connString, realm });
            if (m_Database == null)
            {
                throw new Exception(
                    string.Format(
                        "Could not find a storage interface {0} in the given StorageProvider {1}", "IFriendsData", dllName));
            }
        }
    }
}


Вот рез-т:
Код:
14:20:51 - [SERVICE BASE]: Failed to load plugin OpenSim.Data.IFriendsData from OpenSim.Data.SQLite.dll with args , FriendsSystem.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Data Source cannot be empty.  Use :memory: to open an in-memory database


Конфиг OpenSim.ini соотв. образом изменен. Пока прогресс слабый. Удалось добиться чтения StorageProvider'а, но с самим подключением к БД пока ничего :cry:


Вернуться к началу
 
 Заголовок сообщения: Re: Импорт примов из SL в OpenSim - глюки
СообщениеДобавлено: Вс май 16, 2010 5:38 pm 
Не в сети
 Профиль

Зарегистрирован: Ср май 12, 2010 6:59 pm
Сообщений: 16
Как просил уважаемый Админ, выкладываю окончательный результат своих изысканий. Сорри, что получилось три поста, просто так боле понятно, что за чем.

После копирования нового декодера (J2KDecoderModule.cs) в старый (0.6.8) релиз, билд не прошел. Nant (точнее, конечно, gmcs) ругнулся на то, что ему нужен конструктор с четырьмя, а не тремя параметрами на входе. Конструктор объекта класса AssetBase. После недолгих поисков был заменен файл AssetBase.cs, однако тут же дали о себе знать перекрестные зависимости (поплыл, ни много ни мало, Framework.dll)
Код:
mix89/OpenSim/Framework/AssetLandmark.cs(41,15): error CS1729: The type `OpenSim.Framework.AssetBase' does not contain a constructor that takes `3' arguments


Следующую подсказку снова дали grep и diff
Код:
61a71
>             m_metadata.CreatorID = String.Empty;
64c74
<         public AssetBase(UUID assetID, string name, sbyte assetType)
---
>         public AssetBase(UUID assetID, string name, sbyte assetType, string creatorID)
76a87
>             m_metadata.CreatorID = creatorID;
79c90
<         public AssetBase(string assetID, string name, sbyte assetType)
---
>         public AssetBase(string assetID, string name, sbyte assetType, string creatorID)

Очевидно не самый важный параметр creatorID можно смело выбросить. Казалось, что куча времени потрачена ни на что =(
Вот финальная строка в J2KDecoderModule.cs:
Код:
AssetBase layerDecodeAsset = new AssetBase(assetID, assetID, (sbyte)AssetType.Notecard); //, m_scene.RegionInfo.RegionID.ToString());

Все собралось и успешно запустилось, но после импорта пробного объекта я снова увидела белые текстуры =((((

---

И вот мрачный и смешной финал:
подозрения на недостаточность текстур должны были быть развеяны командой
$ cat myobject.xml | grep -E --regexp='>[0-9a-f]{8,}-' | sort -dub
но результат оказался хуже опасений. Так что пора брать в руки libopenmetaverse и писать нормальный текстурный экспортер! :cry:
PS до этого исользовался Meerkat.
PPS. если кому интересно, могу потом рассказать о том, что получится с созданием экспортера ;)


Вернуться к началу
 
 Заголовок сообщения: Re: Импорт примов из SL в OpenSim - глюки
СообщениеДобавлено: Вт май 25, 2010 12:31 pm 
Не в сети
Site Admin
Аватара пользователя
 Профиль

Зарегистрирован: Пн апр 07, 2008 4:39 pm
Сообщений: 382
Постараюсь в ближ. время повозиться с новым релизом о результатах сообщу. :roll:


Вернуться к началу
 
 Заголовок сообщения: Re: Импорт примов из SL в OpenSim - глюки
СообщениеДобавлено: Сб июн 26, 2010 9:48 pm 
Не в сети
 Профиль

Зарегистрирован: Вс сен 21, 2008 11:18 pm
Сообщений: 16
Diana Everdark писал(а):
PPS. если кому интересно, могу потом рассказать о том, что получится с созданием экспортера ;)

Конечно, интересно!


Вернуться к началу
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу 1, 2  След.


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
© OpenSim.ru