Git Product home page Git Product logo

tundra's People

Contributors

antont avatar aoh avatar cadaver avatar cvetan5 avatar erno avatar evktalo avatar gjuro avatar heca avatar jesterking avatar joosua avatar juj avatar koste avatar lehtiz avatar marijamarkovic avatar markoskisaso avatar mattiku avatar mattire avatar mcdougallryan avatar melaniet avatar mpavlovski avatar msantala avatar niinata avatar pallarim avatar pavlovski avatar peterclemenko avatar sokarcodes avatar stinkfist0 avatar tofilovski avatar vatjjar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tundra's Issues

tundra2: Splash screen hides crash notifications.

If tundra crashes at startup when the splash screen is showing, the popup window that says "Dump generated to xxx" remains hidden behind the splash screen window, and it looks like tundra just hanged. Alt-tabbing shows that there is a dump popup dialog, but it cannot be activated because of the splash screen stealing foreground activation and focus.

The splash screen should either stay behind any error messages that open up, or disappear if an error message opens up.

The build system requires all ECs to be placed inside the EntityComponents folder.

The AddEntityComponents-macro requires that all the EntityComponents projects are added inside the src\EntityComponents folder. This prohibits external users from using Tundra like an SDK or with their external components in a separate git submodule, since they cannot store their own ECs in their custom folders, but have to embed them inside the Tundra SDK source tree.

It should be possible to place any subprojects outside the source tree (or, if that proves impossible for cmake, at most inside a single directory in the source tree), instead of having to scatter separate subprojects into separate folders.

Pressing space bar in Assets Import dialog does not (de)select an item.

  1. Drag-n-drop a .txml or a .mesh on top of the scene to bring up the Entity and Asset Import dialog.
  2. Select some item(s) in either list widget.
  3. Press space bar.

It's expected that the space bar would toggle the selection status of the highlighted items, but nothing happens.

(Note that if you select the items by clicking on the leftmost column of the list widget, then you are able to toggle the selection using spacebar)

SkyX moon occasionally disappears while camera is moving.

The update order between main camera movement scripts and EC_SkyX is not strictly specified, and it can happen that EC_SkyX updates before the main camera moves. If this happens, the SkyX moon plane can disappear behind the sky plane.

This might be fixable by adding a custom FrameAPI::PostFrameUpdate() signal to enforce the update order between these comopnents. (this does not necessarily help, it was not profiled whether SkyX reacts to position changes in Ogre scene graph update iterations, or manual EC_SkyX update calls)

This bug may cause other graphical artifacs in SkyX and HydraX as well.

tundra2: Running against built-in vs2008 deps crashes in debug.

Trying to run the debug mode built against the deps provided for vs2008 (win_update_deps_vs2008.bat) crashes at startup inside RenderSystem_NULL_d.lib to a double initialization of an Ogre manager singleton.

As a workaround, it is possible to run successfully by deleting the RenderSystem_NULL_d.lib from bin/ directory before startup.

tundra2: Editing material and particle scripts is broken.

This commit
3730ae1#L0R39
broke the editing of material and particle script files. Opening the editor shows incorrect script content, and applying or saving the content generates a script that doesn't work properly for Ogre.

Because the sanitate and desanitate functions are now out of sync, the editors are unable to parse and show the Ogre scripts correctly. See this for discussion http://groups.google.com/group/realxtend-dev/browse_thread/thread/f9ccb07dd344ea6b# .

Copy-delete-pasting the EC_Hydrax component causes a crash.

  1. Load a scene which has the EC_Hydrax component in it.
  2. Open up the scene structure window, find the EC_Hydrax component, right-click and select "Copy".
  3. Delete the EC_Hydrax component you just copied by pressing the Delete button.
  4. Select some other Entity, right-click on it, and select "Paste".

This deterministically causes Tundra to crash inside EC_Hydrax::UpdateAttribute.

.js assets over HTTP on the same computer as the Tundra server are considered untrusted.

If the same machine that hosts the Tundra server also hosts a HTTP server with .js assets, these assets are considered untrusted. If the trust mechanism is to follow the 'same origin policy', then .js assets downloaded from the same server than where Tundra itself is hosted should be safely considered trusted.

As a workaround, remove the .js trusted check in JavascriptInstance.cpp altogether (by forcing trusted_ = true always).

tundra2 repository does not build with Visual Studio Express editions.

Trying to build tundra2 repository in an Express version of Visual Studio fails to a "afxres.h" include file not being found.

The Express editions of Visual Studio do not come with a resource editor (but they do contain the resource compiler), see e.g.
http://msdn.microsoft.com/en-us/library/hs24szh9(v=VS.90).aspx

Because of this difference, the Express version lacks some header files used with resources (notably afxres.h), but those are used commonly only with MFC. (e.g. http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvc/thread/6ef3525a-776a-4c45-bd22-c9b8898ff9d0/ )

To be able to cleanly build also on Express, the tundra.rc file should be modified to not include the (unneeded) afxres.h file.

A workaround is to delete the tundra.rc file from the project altogether. It is not critical.

tundra2: MumbleVoipModule fails at finding PROTOBUF dependency.

Run cmake for a clean tundra2 git clone (after running win_update_deps_vs2008.bat).
The following is printed:

...

** Configuring PROTOBUF
-- Could NOT find PROTOBUF (missing: PROTOBUF_LIBRARY PROTOBUF_INCLUDE_DIR)
-- sagase: trying brute-force search
-- sagase: PROTOBUF Configure Results.
-- -- Include Directories:
-- C:/Projects/Tundra2/deps/vs2008/build_deps/protobuf/include
-- -- Library Directories:
-- C:/Projects/Tundra2/deps/vs2008/build_deps/protobuf/lib
-- -- Libraries:
-- PROTOBUF_LIBRARY-NOTFOUND
-- libprotobuf
-- -- Debug Libraries:
-- libprotobufd

CMake Error: The following variables are used in this project, but they are set
to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake file
s:
PROTOBUF_LIBRARY (ADVANCED)
linked by target "MumbleVoipModule" in directory C:/Projects/Tundra2/src/Appli
cation/MumbleVoipModule

-- Configuring incomplete, errors occurred!

The directory C:\Projects\Tundra2\deps\vs2008\build_deps\protobuf exists, as well as include and lib directories inside it. The include directory has a subfolder google/protobuf which contains multiple .h files. The lib folder contains libprotobuf.lib, libprotobufd.lib, libprotoc.lib and protoc.exe

As a workaround, edit CMakeBuildConfig.txt and comment out (add a '#' at the beginning of the line) the line AddProject(Application MumbleVoipModule)

EC_HoveringText displays text poorly.

Currently EC_HoveringText writes the whole text in to a single texture and displays that as a billboard.
This causes big problems if large texts are to be shown (clipping, poor line breaking, bad GPU fillrate performance).

The EC_HoveringText component should pack font glyphs into a texture and generate appropriate vertex buffer data to render individual glyphs. This will also allow supporting animating the individual characters, the text contents and mipmapping will not kill the performance as it does now.

Log file is not created

The logging mechanism is not yet fully re-implemented feature-wise after removal of PoCo logger as log file is not created.

tundra2: OGRE_HOME environment variable links to Ogre incorrectly on VS2008.

  1. Clone and build (otherwise sagase doesn't understand the passed Ogre directory) the Ogre repository to local computer.
    Either
    2a. set OGRE_HOME to point to the root of that repository, or
    2b. Build the Ogre repository, do cmake install to generate a SDK tree, and set OGRE_HOME to point to that SDK directory.
  2. Run cmake for tundra2.

The generated VS project files incorrectly link against the Ogre libraries provided in the vs_2008 deps, and not the ones in the specified OGRE_HOME. The include directories will point to OGRE_HOME correctly though. If the deps and OGRE_HOME contain different versions of Ogre, running Tundra will crash if built in this configuration.

Add support for storing commandline parameters in the option xml.

Enable specifying commandline parameters in the startup config xml file as well (the one which now only stores plugin and js startup script options). This eases configuring the server startup, so that one doesn't have to maintain both a server startup batch file and an xml file. This can be done in the framework commandline parsing, and the code does not need to even to know whether the config parameter came from cmdline or the config file, they're just startup configuration parameters.

Remember the previous policy selection for asset ref rewrites in the import dialog.

When importing assets to a storage, there's plenty of different options the user can do in the Asset Storage dropdown list. Currently the dialog does not remember the previously used selection, but always resets to the option of rewriting and uploading to the system storage.

Instead, it would be useful to remember the option the user chose previously and offer that as the default option in the dialog. If no default entry is stored in configuration, uploading to the currently set default storage should be given as the default option.

Add support for editing script assets directly in-world.

Implement support for editing script assets inside Tundra.

Either extend the script editor that is used for Ogre material and particle scripts, or generate some other solution.
Bonus points if debugging and profiling can be integrated as well.

Audio asset previewer is broken.

Ever since the new Asset API implementation, audio assets cannot be previewed in the UI anymore (no right-click open for audio assets).

Reimplement the support for audio previewing.

tundra2: Avatars do not always appear when async asset loading is enabled.

Having the asynchronous asset loading enabled, host a scene with all the scene assets over HTTP (including custom avatar descriptions and their meshes).

Connect multiple clients to the server from another computer (using a command line login is a good way to test this).

Observed: Perhaps once every third run, the second or third client to join the scene will not see all the avatars in the scene. Occasionally it is its own avatar not showing, and occasionally it was someone else's.

In one of the runs, the missing avatar appeared after waiting for a minute or two. However, at one other time, even after a substantial amount of waiting, the missing avatar did not appear.

Tested using TCP connection.

tundra2: Ogre D3D9RenderSystem include directories are not added.

On VS2008 and Ogre repository checked out at the 1.7.3 tag:

When running cmake against a custom Ogre build, pointed to by OGRE_HOME env variable, the include directories that get added to the Visual Studio projects for Ogre do not point to proper directories so that TextureAsset.cpp would be able to include D3D9RenderSystem headers.

Preferably it should be possible to set the OGRE_HOME to both the Hg repository root, or the CMake INSTALLed directory root, and have Tundra build against it ok.

As a workaround, manually copying the D3D9 RenderSystem files to follow the same structure than in the vs2008 deps folder works.

Scene Structure window: Converting a local temporary entity to a replicated entity displays incorrect state in Scene Structure window.

Open the Scene Structure window and right-click on a local temporary object. Choose "Convert to replicated". The same entity is re-created, but is shown in black in the scene structure window (denoting replicated non-temporary), when it should be shown as replicated-temporary instead.

Right-click on that object. As the context menu appears, the item text is also repainted, and will now properly show in red with a "(Temporary)" label on it, which hints that this issue is only a Scene Structure item rendering bug, and not due to improper entity conversion.

tundra2: Setting a custom BOOST_ROOT causes both debug and release libraries of boost to be linked against.

On VS2008, specifying the BOOST_ROOT environment variable before running cmake for tundra2 causes project files to be generated which link against both the debug and release versions of the Boost libraries. This causes a crash at startup in release mode in Framework lines where boost::program_options is accessed.

Tested with Boost 1.47.0.

Ideally Tundra cmake should just use FindBoost and autolink to boost, like is recommended - instead of generating project files which force a manual linking against boost libraries.

Debian sid segmentation fault

For the commit cc81a32 on August 18, 2010, I get the following backtrace.

#0  0xb52d24e0 in ?? () from /lib/i686/cmov/libc.so.6
#1  0xb4eec57f in XSetCommand () from /usr/lib/libX11.so.6
#2  0xb4ef1074 in XSetWMProperties () from /usr/lib/libX11.so.6
#3  0xb5fd1d9a in QWidgetPrivate::create_sys(unsigned long, bool, bool) ()
   from /usr/lib/libQtGui.so.4
#4  0xb5f7f20c in QWidget::create(unsigned long, bool, bool) ()
   from /usr/lib/libQtGui.so.4
#5  0xb5f85825 in QWidget::setVisible(bool) () from /usr/lib/libQtGui.so.4
#6  0xb65af949 in ?? () from /usr/lib/libQtGui.so.4
#7  0xb65afd43 in QGraphicsProxyWidget::setWidget(QWidget*) ()
   from /usr/lib/libQtGui.so.4
#8  0xb2d54619 in BackdropWidget (this=0x820ab88)
    at /home/invi/naali/UiModule/Inworld/ControlPanel/BackdropWidget.cpp:13
#9  0xb2d385b5 in ControlPanelManager (this=0x82ecd80, parent=0x82fe0a0, 
    layout_manager=0x82ed158)
    at /home/invi/naali/UiModule/Inworld/ControlPanelManager.cpp:36
#10 0xb2d346e3 in InworldSceneController (this=0x82fe0a0, 
    framework=0xbffff840, ui_view=0x8214960)
    at /home/invi/naali/UiModule/Inworld/InworldSceneController.cpp:41
#11 0xb2ced377 in UiServices::UiModule::Initialize (this=0x82350d8)
    at /home/invi/naali/UiModule/UiModule.cpp:103
#12 0x080ad91e in Foundation::ModuleInterface::InitializeInternal (
    this=0x82350e0) at /home/invi/naali/Interfaces/ModuleInterface.cpp:88
#13 0x0809e011 in Foundation::ModuleManager::InitializeModule (
    this=0x80ffac0, module=0x82350e0)
    at /home/invi/naali/Foundation/ModuleManager.cpp:572
#14 0x0809e165 in Foundation::ModuleManager::InitializeModules (
    this=0x80ffac0) at /home/invi/naali/Foundation/ModuleManager.cpp:319
#15 0x08073234 in Foundation::Framework::LoadModules (this=0xbffff840)
    at /home/invi/naali/Foundation/Framework.cpp:360
#16 0x08075ddc in Foundation::Framework::PostInitialize (this=0xbffff840)
    at /home/invi/naali/Foundation/Framework.cpp:265
#17 0x08075e9a in Foundation::Framework::Go (this=0xbffff840)
    at /home/invi/naali/Foundation/Framework.cpp:322
#18 0x08072777 in run (argc=1, argv=0xbffffa84)
    at /home/invi/naali/Application/main.cpp:106
#19 0x080728b7 in main (argc=1, argv=0xbffffa84)
    at /home/invi/naali/Application/main.cpp:58

The naaili deps are same as the build script for ubuntu and the following debian sid libraries:
libc6 2.11.2-2
libx11-6 2:1.3.3-3
libqtgui4 4:4.6.3-1

Cheers

Line and Polygon class names from Math library conflict with Mac OS X private frameworks' typedefs

The typedefs 'Line' and 'Polygon' exist in QuickDraw framework which is a part of Mac OS X 10.6 SDK, so 'previous declaration errors' appear when compiling.
This QuickDraw framework is infamous for conflicting with class names in other projects as well: http://vim.1045645.n5.nabble.com/Type-conflicts-when-using-with-x-on-Mac-OS-X-td3205912.html

It's nonsense to rename Math library class names for this particular problem, but this could be a good note if Tundra SDK is to be used with other projects that by any chance can have same class names on their own and conflict with Tundra's, the same that is happening right now with Mac's QuickDraw framework. Or maybe just put Math classes into a namespace.

In order to continue compiling, I commented out Line and Polygon typedefs in QuickdrawTypes.h

ISO C++ reports ambiguity in some operator overloads between some classes in the new Math library and Qt classes

Happens on the following classes:
Circle, Frustum, Quat, Sphere, float3

Here is the output when compiling Quat:
tundra2/src/Core/Framework/Math/Quat.cpp: In static member function ‘static Quat Quat::RandomRotation(LCG&)’:
tundra2/src/Core/Framework/Math/Quat.cpp:475: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
tundra2/src/Core/Framework/Math/Quat.h:319: note: candidate 1: Quat Quat::operator/(float) const
/usr/local/Trolltech/Qt-4.7.1/include/QtGui/qquaternion.h:264: note: candidate 2: const QQuaternion operator/(const QQuaternion&, qreal)
tundra2/src/Core/Framework/Math/Quat.cpp:475: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
tundra2/src/Core/Framework/Math/Quat.h:319: note: candidate 1: Quat Quat::operator/(float) const
/usr/local/Trolltech/Qt-4.7.1/include/QtGui/qquaternion.h:264: note: candidate 2: const QQuaternion operator/(const QQuaternion&, qreal)

I got this using Qt 4.7.1 built from source against Carbon API, gcc-4.2 compiler and Mac OS X 10.6.8

As a workaround, objects can be forced to use operators from the class they are instances of. // for example, a * b becomes a.operator*(b) where a:float3 and b:float

The build system requires all modules to be placed inside the src/Core or src/Application folder.

When creating custom modules, the build system expects them to reside either inside src/Core or src/Application. (two new macros use_core_modules and use_app_modules depend on this).

The idea of turning Tundra into an SDK is to enable custom plugins to be developed separately and maintained under separate version control. But now the addition of these two macros have added more restrictions which require the modules to be present inside the Tundra source tree.

This is the wrong direction of development. Instead, the cmake system needs to be reworked to lift these kind of restrictions.

EC_Hydrax clips water when switching to avatar camera

When you are in free camera, most of the time hydrax shows ok. When you move to avatar camera the hydrax water "block" is updated once, but when you turn avatar/camera the water is not updated and clips to emptiness.

tundra2: Splash screen cannot be removed.

Showing the splash screen is not desirable for all applications, and currently it cannot be configured, except by deleting the appropriate code lines.

This should be customizable, perhaps with an option in CMakeBuildConfig.txt.

doubleclicking txml to open it doesn't work in tundra 2.0.0 win release

with 2.0 installer on this celeron xp, doubleclicking pong.txml results in a failure in opening the scene .. for
some reason it adds (null) as default storage, even though --file arg seems correct - http://paste.pocoo.org/show/467897/

doesn't find any assets

Set (null) as the default asset storage.
Error: AssetAPI::RequestAsset: Failed to find a provider for asset ""C:/Program
Files/realXtend/Tundra/scenes/Pong/pong.txml"", type: "Binary"
Error: Asset transfer initialization failed for scene file "C:\Program Files\realXtend\Tundra\scenes\Pong\pong.txml" failed

Jonne looked into it a bit:
https://github.com/realXtend/naali/blob/tundra2_withhistory/src/Core/TundraProtocolModule/TundraLogicModule.cpp#L333
suspect that scenereftype is failing
must be some change in t2
that absolute paths are said not to be local path or relative
but as you can see its the only way it goes to assetapi

Mouse events are not propagating from children to parent.

As the title goes, mouse events (clicks and mouse move when a button is held in particular) never go down to the children, and QMainWindow gets all mouse events contrary to the event filters implemented in Input API.

This issue is as old as Naali 0.3.3 right after QtInputModule dynamic library became Input static library. However, no significant changes in code were noted that could have caused this behavior in Mac OS X.

A workaround / hack has been added in Application's event filter to force mouse events to go downwards the family.

Mouse long-press triggers QPanGesture

A specific example: when someone long-presses left mouse button while not moving the mouse around, a pan gesture is triggered. At first I thought it was my Apple Magic mouse which is touch-sensitive, but later tested with plain USB mouse, producing the same results. According to common sense, mouse clicks should never trigger gestures. Needs some further research about this.

As a workaround, gestures are temporarily disabled on Mac OS X.

Cannot enable access for untrusted .js assets for development purposes.

It should be possible to skip the trusted check altogether for all .js assets for development time purposes. This could be enabled with a --allow-untrusted-script cmdline parameter or something similar.

Currently there is no way to run scripts which access extensions considered untrusted (Qt.uitools for example) on a remote server, because they are always blocked.

As a workaround, remove the .js trusted check in JavascriptInstance.cpp altogether (by forcing trusted_ = true always).

Frameworks Math library Quat::LookAt() not implemented

Would be very useful. EC_Placeable also no longer has this function so essentially you have to write your own implementation, and I think the math lib is intended to be there so we don't have to.

Any prospects when this will be implemented?

sagase doesn't allow building against custom SkyX and Hydrax.

There is no documented mechanism to build Tundra against custom versions of SkyX and Hydrax.

This is needed when building against a custom Ogre build. Using the SkyX and Hydrax DLLs from the vs2008deps with custom-built Ogre DLLs is a mismatch and can cause a crash at startup because SkyX and Hydrax both depend on Ogre. (e.g. if one was built with boost support, and the other without boost).

As a workaround, one can hardcode paths by altering configure_hydrax and configure_skyx. Another workaround is to overwrite the build deps with the manually built SkyX and Hydrax.

Tundra math library is not accessible from Python.

The file TundraWrapper.h has some manually hand-written extensions for Tundra math objects, but the most of the math objects are not exposed to Python.

It is pointless to try to maintain interop classes manually, as these classes are under active development, they change over time and there's just too many of them to sanely hand-maintain (AABB, Circle, Cone, Cylinder, Ellipsoid, float2, float2x2, float2x3, float3, float3x3, float3x4, float4, float4x4, Frustum, LCG, Line, LineSegment, Math, OBB, Plane, Polygon, Polynomial, Quat, Ray, Rect, Sphere, Transform, Triangle). The math library bindings for Python should be generated using an automatic bindings generator.

avatar app first person cam: alt-tabbing out of tundra window

should give the mouse cursor back to normal use in other windows.

tundra2: now works so that tundra stays in mouselook mode, so that even if focus is on some other window, when hovering over the tundra window, the camera rotates.

is even worse with 1.0.8 toy demo, where can't go out of mouselook after alt-tabbing out, at all.

Cannot configure whether a storage is trusted for .js or not.

The trusted check for .js files does not allow any kind of configuration for which asset storage is trusted and which is not.

This causes that scenes with .js content (accessing Qt extensions which are considered in the untrusted category) cannot be hosted over HTTP at all.

As a workaround, remove the .js trusted check in JavascriptInstance.cpp altogether (by forcing trusted_ = true always).

Scene Structure window "Convert to local" is not working.

Open a scene and the Scene Structure window. Right-click on a replicated Entity and choose "Convert to Local". The Entity gets re-created, but it is still replicated, and not local. (or if it really is local, the Scene Structure window doesn't show it).

networking crash in ParseNameValueMap called from HandleOSNE_ObjectUpdate

Assertion failure that looks like this.

#0  0x00007f10f1815a75 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007f10f18195c0 in *__GI_abort () at abort.c:92
#2  0x00007f10f180e941 in *__GI___assert_fail (assertion=0x7f10de0c46b5 "names[0].size() >= 2", file=<value optimized out>, line=273, function=
    0x7f10de0c46e0 "RexTypes::NameValueMap RexTypes::ParseNameValueMap(const std::string&)") at assert.c:81
#3  0x00007f10de08d0f3 in RexTypes::ParseNameValueMap (namevalue=<value optimized out>) at /space/src/naaliclean/naali/RexCommon/RexNetworkUtils.cpp:273
#4  0x00007f10d9279a43 in RexLogic::Avatar::HandleOSNE_ObjectUpdate (this=0x3f0fdf0, data=<value optimized out>)
    at /space/src/naaliclean/naali/RexLogicModule/Avatar/Avatar.cpp:172
#5  0x00007f10d9298d97 in RexLogic::NetworkEventHandler::HandleOSNE_ObjectUpdate (this=0x3f10240, data=0x7fff66fab0d0)
    at /space/src/naaliclean/naali/RexLogicModule/EventHandlers/NetworkEventHandler.cpp:180
#6  0x00007f10d929ac38 in RexLogic::NetworkEventHandler::HandleOpenSimNetworkEvent (this=0x3f10240, event_id=12, data=0x7fff66fab0d0)
    at /space/src/naaliclean/naali/RexLogicModule/EventHandlers/NetworkEventHandler.cpp:94
#7  0x00007f10d9217e0d in boost::_mfi::mf2<bool, RexLogic::NetworkEventHandler, unsigned int, IEventData*>::operator() (function_obj_ptr=<value optimized out>, 
    a0=5621, a1=0x6) at /usr/include/boost/bind/mem_fn_template.hpp:274
#8  operator()<bool, boost::_mfi::mf2<bool, RexLogic::NetworkEventHandler, unsigned int, IEventData*>, boost::_bi::list2<unsigned int&, IEventData*&> > (
    function_obj_ptr=<value optimized out>, a0=5621, a1=0x6) at /usr/include/boost/bind/bind.hpp:375

here's what it crashed on, as the "namevalue" qstring - i couldn't figure out how to dig into the names var in the parse function:

(gdb) up
#1  0x00007f10f18195c0 in *__GI_abort () at abort.c:92
92  abort.c: No such file or directory.
    in abort.c
(gdb) 
#2  0x00007f10f180e941 in *__GI___assert_fail (assertion=0x7f10de0c46b5 "names[0].size() >= 2", file=<value optimized out>, line=273, function=
    0x7f10de0c46e0 "RexTypes::NameValueMap RexTypes::ParseNameValueMap(const std::string&)") at assert.c:81
81  assert.c: No such file or directory.
    in assert.c
(gdb) 
#3  0x00007f10de08d0f3 in RexTypes::ParseNameValueMap (namevalue=<value optimized out>) at /space/src/naaliclean/naali/RexCommon/RexNetworkUtils.cpp:273
273             assert(names[0].size() >= 2);
(gdb) 
#4  0x00007f10d9279a43 in RexLogic::Avatar::HandleOSNE_ObjectUpdate (this=0x3f0fdf0, data=<value optimized out>)
    at /space/src/naaliclean/naali/RexLogicModule/Avatar/Avatar.cpp:172
172             NameValueMap map = ParseNameValueMap(namevalue.toStdString());
(gdb) p namevalue->d->size
$1 = 107
(gdb) x/107x namevalue->d->data
0x698392a:  0x00690046  0x00730072  0x004e0074  0x006d0061
0x698393a:  0x00200065  0x00540053  0x00490052  0x0047004e
0x698394a:  0x00520020  0x00200057  0x00560053  0x006d0020
0x698395a:  0x00640020  0x004c000a  0x00730061  0x004e0074
0x698396a:  0x006d0061  0x00200065  0x00540053  0x00490052
0x698397a:  0x0047004e  0x00520020  0x00200057  0x00560053
0x698398a:  0x003c0020  0x00630063  0x0064006d  0x00760065
0x698399a:  0x00740069  0x00400061  0x00760061  0x00740061
0x69839aa:  0x00720061  0x0072002e  0x00610065  0x0078006c
0x69839ba:  0x00650074  0x0064006e  0x006f002e  0x00670072
0x69839ca:  0x0031003a  0x00300030  0x00310030  0x000a003e
0x69839da:  0x00690054  0x006c0074  0x00200065  0x00540053
0x69839ea:  0x00490052  0x0047004e  0x00520020  0x00200057
0x69839fa:  0x00560053  0x00000020  0x00000000  0x00210000
0x6983a0a:  0x00000000  0x3a800000  0x00000698  0x00000000
0x6983a1a:  0x00000000  0x3a010000  0x00000698  0x00610000
0x6983a2a:  0x00000000  0x003c0000  0x00000000  0x003c0000
0x6983a3a:  0x00000000  0x00000000  0x00000000  0x614c0000
0x6983a4a:  0x614e7473  0x5320656d  0x4e495254  0x57522047
0x6983a5a:  0x20565320  0x6d63633c  0x69766564  0x61406174
0x6983a6a:  0x61746176  0x65722e72  0x74786c61  0x2e646e65
0x6983a7a:  0x3a67726f  0x30303031  0x20003e31  0x00215453
0x6983a8a:  0x00000000  0x00000000  0x00000000  0x3af80000
0x6983a9a:  0x00000698  0x00000000  0x00000000  0x00310000
0x6983aaa:  0x00000000  0x00010000  0x00010000  0x00010000
0x6983aba:  0x00000000  0x3aca0000  0x00000698  0x54400000
0x6983aca:  0x00000064  0x00ff0000  0x00000000
(gdb) 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.