Giter VIP home page Giter VIP logo

sirikata's Introduction

What is Sirikata?
-----------------
Sirikata is a BSD licensed open source platform for games and virtual
worlds. We aim to provide a set of libraries and protocols which can
be used to deploy a virtual world, as well as fully featured sample
implementations of services for hosting and deploying these worlds.

Where can I find out more?
--------------------------
The most up to date information can always be found at
http://www.sirikata.com.  The source code is available from GitHub at
http://github.com/sirikata/sirikata/.

sirikata's People

Contributors

aquach avatar bhupc avatar bmistree avatar danielrh avatar danx0r avatar ewencp avatar harrison8989 avatar jterrace avatar pathorn avatar rbsheth avatar tahirazim 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  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

sirikata's Issues

ASIO does not run callbacks if run or poll are called too early

Calling Network::IOServiceFactory::pollService(ioServ) between ObjectHost init and creating the first network connection causes IOService to fail permanently.
The boost documentation mentions needing to call a "reset" function if there is nothing in the queue to be sent, possibly due to quirks with the select function having nothing to select on, but is there a better way, such as always having at least one event there?

Copy dll's to build directory in windows

Right now users have to track down each and every required dll (and get the zlib.dll from installed-curl not mono) to get a runnable program.
We should have a script copy the dll's to the appropriate build directory in cmake itself

Need way of saving name cache for offline use

Currently, only assets are always saved on disk. Names are only saved in names.txt when you upload files.

One solution would be to have CachedNameLookupManager dump its cached names into a text file when it is destructed

Another solution is a script that grabs all the online names and saves them into names.txt.

Some implementation of an offline name store is a requirement for Bornholm and CCRMA so that we have no issues with a flaky Internet connection.

Enable shadows

Someone should turn on shadows in ogre and see how the objects look with better lighting

Proximity System needs to use time synced to space

The proximity system right now does not sync up with the space to produce the same time. That means if proximity runs on a different computer as space or the space becomes distributed, the proximity system will need to sync up time with the Space

Mechanism to maintain per-space time deltas

Spaces could run ntpd and clients could connect and request time deltas every minute or so (it's surprising how quickly things fall out of sync)
As a fallback a standard ping message could be sent where the protobuf included source time and dest time--then the client could read that back and decide how far off they were.

uploaded mesh is not visible in scene

not clear if this is a user error -- I've looked as deeply as I can, even parsed the mesh in bullet, the vertices appear to be sane.

If you convert the attached scene and run it, you will see the avatar (not attached to camera), but bornholm_material_test_01.mesh is nowhere to be found.

Order of dependency installation makes it impossible to get dotnet-protobufs using dependencies Makefile

The ordering/dependencies of the Makefile for Linux causes protobufs to be installed before mono (because mono is under optional-dependencies). However, because of this, C# protocol buffers cannot be generated, making the mono plugin useless unless you manually delete and reinstall some dependencies.

Ultimately this might mean that a Makefile isn't sufficient to express what we need to do: we have two things that can satisfy a dependency and need to dynamically decide which to use. We might be better off figuring out how to "collect" all the dependencies and issue a single install command.

Extrapolation based on uninitialized values

{{{
==28487== Thread 1:
==28487== Conditional jump or move depends on uninitialised value(s)
==28487== at 0x4B15DEC: Sirikata::ProxyObject::UpdateNeeded::operator()(Sirikata::Location const&, Sirikata::Location const&) const (ProxyObject.cpp:77)
==28487== by 0x4AE8799: Sirikata::TimedWeightedExtrapolatorBase<Sirikata::Location, Sirikata::ProxyObject::UpdateNeeded, Sirikata::Time, Sirikata::Task::DeltaTime>::needsUpdate(Sirikata::Time const&, Sirikata::Location const&) const (Extrapolation.hpp:77)
==28487== by 0x4AE896E: Sirikata::HostedObject::PerSpaceData::updateLocation(Sirikata::HostedObject_) (HostedObject.cpp:88)
==28487== by 0x4AC7784: Sirikata::HostedObject::tick() (HostedObject.cpp:907)
==28487== by 0x4AAD62D: Sirikata::ObjectHost::tick() (ObjectHost.cpp:290)
==28487== by 0x808D90A: main (main.cpp:287)
==28487==
==28487== Conditional jump or move depends on uninitialised value(s)
==28487== at 0x4B15E0B: Sirikata::ProxyObject::UpdateNeeded::operator()(Sirikata::Location const&, Sirikata::Location const&) const (ProxyObject.cpp:77)
==28487== by 0x4AE8799: Sirikata::TimedWeightedExtrapolatorBase<Sirikata::Location, Sirikata::ProxyObject::UpdateNeeded, Sirikata::Time, Sirikata::Task::DeltaTime>::needsUpdate(Sirikata::Time const&, Sirikata::Location const&) const (Extrapolation.hpp:77)
==28487== by 0x4AE896E: Sirikata::HostedObject::PerSpaceData::updateLocation(Sirikata::HostedObject_) (HostedObject.cpp:88)
==28487== by 0x4AC7784: Sirikata::HostedObject::tick() (HostedObject.cpp:907)
==28487== by 0x4AAD62D: Sirikata::ObjectHost::tick() (ObjectHost.cpp:290)
==28487== by 0x808D90A: main (main.cpp:287)
==28487==
==28487== Conditional jump or move depends on uninitialised value(s)
==28487== at 0x4B15E2A: Sirikata::ProxyObject::UpdateNeeded::operator()(Sirikata::Location const&, Sirikata::Location const&) const (ProxyObject.cpp:77)
==28487== by 0x4AE8799: Sirikata::TimedWeightedExtrapolatorBase<Sirikata::Location, Sirikata::ProxyObject::UpdateNeeded, Sirikata::Time, Sirikata::Task::DeltaTime>::needsUpdate(Sirikata::Time const&, Sirikata::Location const&) const (Extrapolation.hpp:77)
==28487== by 0x4AE896E: Sirikata::HostedObject::PerSpaceData::updateLocation(Sirikata::HostedObject*) (HostedObject.cpp:88)
==28487== by 0x4AC7784: Sirikata::HostedObject::tick() (HostedObject.cpp:907)
==28487== by 0x4AAD62D: Sirikata::ObjectHost::tick() (ObjectHost.cpp:290)
==28487== by 0x808D90A: main (main.cpp:287)
}}}

Cap at max framerate + don't hose CPU

The main loop needs a sleep to maintain a max framerate

it may also wish to run 2 or 3 physics frame per graphics frame depending on the framerate (or idle instead of running 1 gfx per phy)

PBJ Generates CastBool with no arguments

6>C:/Documents and Settings/Owner/My Documents/Workspaces/sirikata/liboh/scripts/csharp/protocol/Sirikata.pbj.cs(1649,33): error CS1501: No overload for method CastBool' takes0' arguments


code :

public bool Stateless{ get {
if (HasStateless) {
return PBJ._PBJ.CastBool(super.Stateless);
} else {
return PBJ._PBJ.CastBool();
}
}

FindMono.cmake doesn't work properly with multiple calls to cmake

FindMono.cmake gives inconsistent results with multiple calls to cmake, even if nothing has changed. Specifically, it correctly determines that mono is not available the first time because it cannot find the dev files (include files, specifically), but then claims it is found when cmake is run again.

This causes the monoscript plugin to be built even though not all the required files are available.

PBJ generated headers don't have include guards

The x.pbj.hpp files generated by PBJ don't have include guards, so they currently have to be handled carefully to avoid double includes. Should be pretty easy to add the include guards in the generator code, looks like initNameSpace() and closeNamespace() in PBJParseUtil.cpp would need some minor additions.

Shader Max Distance Cutoff

The shader should forcefully cutoff the light if it is outside of the max_cutoff while avoiding the NVIDIA bug triggered by this.

Assets fail to load sometimes

Seems to happen more often with name lookups on sirikata.com. The download code needs to be more resilient with flakey connections, perhaps have Transfer::ServiceIterator run through all available services 3 times, in case it failed during one of the passes.

sirikata crashes attempting to download asset

version: artist branch ac1355
platform: Ubuntu 8.04, 32-bit

attempting to load a scene with a light, a camera, and this asset:
meru:///terrain_main_video_01.mesh
which is presently mapped to:
mhash:///915fe17b803c76e949bb235c34df69d06df09a61a11518b600baa64a3d5b3a02
(CDN: sirikata.com/content/)

causes a crash that ends with this:

terminate called after throwing an instance of 'Ogre::InternalErrorException'
what(): OGRE EXCEPTION(7:InternalErrorException): Missing geometry data in mesh file in MeshSerializerImpl::readSubMesh at OgreMeshSerializerImpl.cpp (line 1000)
(0) : fatal error C9999: *** exception during compilation ***
Cg compiler terminated due to fatal error

full log is attached

Native x64 build

It is difficult to install the required 32 bit packages and they are often inconveniently shipped with strange symbolic links required.
Ideally a 64 bit build will be ready by release so that average linux users can download the native packages for the individual components and build them in a straightforward manner

Update awesomium build on mac

Awesomium deadlocks on mac and does not have refresh capability
since the other mac libs are now up to speed it may make sense to rebuild things for the mac--on the other hand it may also be sensible to wait until our next refresh to head (when the current font issue is fixed--either on our end or theirs)

ProxyObject crash when parent is deleted

Crashes with a "pure virtual function called" for ProxyObjectListener::destroyed(), for the destruction notification of the children of a given parent object.

gdb crashes when trying to print out the proxy object. This is probably a use-after-free.

One possible solution is to make the list of children separate, and use shared_ptr's for them, because it would be nice to permit walking down through the tree, which is currently not possible.

Crash in Ogre trying to create cube map texture

From this report on the dev-list: http://groups.google.com/group/platformtalk/browse_thread/thread/a0cf32bd813ba3b5/148e119067c1e626#148e119067c1e626

Crashes with this using OpenGL:

16:01:19: OGRE EXCEPTION(3:RenderingAPIException): Zero sized texture
surface on texture ExteriorCubeMap face 0 mipmap 0. Probably, the GL
driver refused to create the texture. in GLTexture::_createSurfaceList
at ..\src\OgreGLTexture.cpp (line 394)

and this using DirectX

16:14:10: OGRE EXCEPTION(3:RenderingAPIException): Error creating
texture: Not available in D3D9Texture::_createCubeTex at
..\src\OgreD3D9Texture.cpp (line 871)

The user thinks he has a VIA/S3G UniChrome IGP.

Crash in mono GC when connecting with second object host

On Ubuntu 9.04 64bit, rev 8fdebf8 I'm getting the following crash (from a GC thread, not the main thread) when I try to connect a second object host:

{{{
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xf290db90 (LWP 17858)]
0xe823cf01 in ?? ()
(gdb) bt
#0 0xe823cf01 in ?? ()
#1 0xf2ce4390 in ?? ()
#2 0xf2f8f307 in mono_jit_runtime_invoke (method=0x3c6f40, obj=0xe4e820, params=0x0, exc=0xf290d1a8) at mini.c:4162
#3 0xf304e353 in mono_runtime_invoke (method=0x9c0783c, obj=0xe4e820, params=0x0, exc=0xf290d1a8) at object.c:2401
#4 0xf306ea89 in run_finalize (obj=0xe4e820, data=0x0) at gc.c:166
#5 0xf313d099 in GC_invoke_finalizers () at finalize.c:787
#6 0xf306ddc2 in mono_gc_invoke_finalizers () at boehm-gc.c:375
#7 0xf306ecbc in finalizer_thread (unused=0x0) at gc.c:961
#8 0xf309677e in start_wrapper (data=0x9902438) at threads.c:623
#9 0xf31219b6 in thread_start_routine (args=0x9905984) at threads.c:286
#10 0xf314a34e in GC_start_routine (arg=0x26f20) at pthread_support.c:1382
#11 0xf6ee64ff in start_thread () from /lib32/libpthread.so.0
#12 0xf4b1eb9e in clone () from /lib32/libc.so.6

(gdb) mono_backtrace
Missing argument 0 in user function.
(gdb) mono_backtrace 10
#0 0xe823cf01 in IronPython.Modules.PythonWeakRef/weakproxy:Finalize () + 0xc9 (0xe823ce38 0xe823cf61) [0x25ee0 - Root Domain]
#1 0xf2ce4390 in (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr) + 0x40 (0xf2ce4350 0xf2ce4407) [0x25ee0 - Root Domain]

sendprox4
#2 0xf2f8f307 in mono_jit_runtime_invoke (method=0x3c6f40, obj=0xe4e820, params=0x0, exc=0xf290d1a8) at mini.c:4162

4162 return runtime_invoke (obj, params, exc, compiled_method);
#3 0xf304e353 in mono_runtime_invoke (method=0x9c0783c, obj=0xe4e820, params=0x0, exc=0xf290d1a8) at object.c:2401

2401 return default_mono_runtime_invoke (method, obj, params, exc);
#4 0xf306ea89 in run_finalize (obj=0xe4e820, data=0x0) at gc.c:166

166 mono_runtime_invoke (finalizer, o, NULL, &exc);
#5 0xf313d099 in GC_invoke_finalizers () at finalize.c:787

787 (*(curr_fo -> fo_fn))((ptr_t)(curr_fo -> fo_hidden_base),
#6 0xf306ddc2 in mono_gc_invoke_finalizers () at boehm-gc.c:375

375 return GC_invoke_finalizers ();
#7 0xf306ecbc in finalizer_thread (unused=0x0) at gc.c:961

961 mono_gc_invoke_finalizers ();
#8 0xf309677e in start_wrapper (data=0x9902438) at threads.c:623

623 start_func (start_arg);
#9 0xf31219b6 in thread_start_routine (args=0x9905984) at threads.c:286

286 thread_exit (thread->start_routine (thread->start_arg),
}}}

The second stack trace is using mono_backtrace to give info about the Mono calls. This occurs in the object host, and only on the one that is connecting.

My first guess would be that something is not being pinned properly, but I'm not sure about that.

Crash after hitting timedOut in SentMessage

Happened soon after typing "cont" from gdb--I was in the debugger long enough to cause a timeout. The timedOut function calls the callback function of the parent SentMessage, which has been deleted by that time.

LocRequest from python script does not generate a return message

modified test.py to send LocRequest to itself (the camera object)

My understanding is this should result in a message -- perhaps ObjLoc? -- specifying the location of the object receiving the LocRequest. I've tried it with other objects as well, and so far I haven't seen any likely candidate as a response message. All I get are the prox messages for each object in the system, regardless of whether I send the LocRequest or not.

the hash for the version I am testing is cecbbbd

Object Host should update Space with Location updates

Right now ObjectHosts track their positions locally without informing space
This causes prox to get out of date and disallows any sort of authority to be placed upon the space re: physics.
HostedObjects should update Loc about position so that can forward these updates to prox

Space::now() must respect multiple space nodes

Right now each space node has its own Time.
Since there's only one that's ok.
If we want multiple space nodes then those space nodes should sync up with a central server so that objects can logically migrate without being told.

this should happen by fixing Space.cpp's now() function and having sync logic between space nodes

Parent link nonfunctional

branch: master
Database references object by private UUID, the space may not have assigned the pub UUID. In practice, cannot attach camera to a physical object

Name query returns not found

branch: master

Querying 'Name' from Python returns with no data field (as called from PersistenceRead in liboh/scripting/ironpython/util.py)

google.protobuf.reflection.py may leak memory

fdf2164 committed a fix to avoid using the weakref class, thereby avoiding SIGSEGV's in mono's GC's call to weakref::finalize

However the fact that Microsoft.Scripting.dll actually implements WeakHandle as a primitive type indicates that there may be a reason for its existence and that I may have inadvertently caused a memory leak.

I would appreciate a pair of eyes to take a look at this in more detail.

Error with transfer manager DiskCache on shutdown

==28621== Invalid read of size 4
==28621== at 0x7CD8540: pthread_mutex_lock (in /lib32/libpthread-2.7.so)
==28621== by 0x80BA0FC: boost::mutex::lock() (mutex.hpp:50)
==28621== by 0x80BA1B8: boost::unique_lockboost::mutex::lock() (locks.hpp:338)
==28621== by 0x80BA1E7: boost::unique_lockboost::mutex::unique_lock(boost::mutex&) (locks.hpp:224)
==28621== by 0x80D885E: Sirikata::Transfer::EventTransferManager::downloadFinished(Sirikata::Transfer::RemoteFileId const&, Sirikata::Transfer::Range const&, Sirikata::Transfer::SparseData const_) (EventTransferManager.hpp:77)
==28621== by 0x80AB9E0: boost::mfi::mf3<void, Sirikata::Transfer::EventTransferManager, Sirikata::Transfer::RemoteFileId const&, Sirikata::Transfer::Range const&, Sirikata::Transfer::SparseData const>::operator()(Sirikata::Transfer::EventTransferManager_, Sirikata::Transfer::RemoteFileId const&, Sirikata::Transfer::Range const&, Sirikata::Transfer::SparseData const_) const (mem_fn_template.hpp:384)
==28621== by 0x80ACA15: void boost::_bi::list4boost::_bi::value<Sirikata::Transfer::EventTransferManager*, boost::_bi::valueSirikata::Transfer::RemoteFileId, boost::_bi::valueSirikata::Transfer::Range, boost::arg<1> >::operator()<boost::_mfi::mf3<void, Sirikata::Transfer::EventTransferManager, Sirikata::Transfer::RemoteFileId const&, Sirikata::Transfer::Range const&, Sirikata::Transfer::SparseData const*>, boost::_bi::list1<Sirikata::Transfer::SparseData const*&> >(boost::_bi::type, boost::_mfi::mf3<void, Sirikata::Transfer::EventTransferManager, Sirikata::Transfer::RemoteFileId const&, Sirikata::Transfer::Range const&, Sirikata::Transfer::SparseData const*>&, boost::_bi::list1<Sirikata::Transfer::SparseData const*&>&, int) (bind.hpp:436)
==28621== by 0x80ACA61: void boost::_bi::bind_t<void, boost::_mfi::mf3<void, Sirikata::Transfer::EventTransferManager, Sirikata::Transfer::RemoteFileId const&, Sirikata::Transfer::Range const&, Sirikata::Transfer::SparseData const*>, boost::_bi::list4boost::_bi::value<Sirikata::Transfer::EventTransferManager*, boost::_bi::valueSirikata::Transfer::RemoteFileId, boost::bi::valueSirikata::Transfer::Range, boost::arg<1> > >::operator()<Sirikata::Transfer::SparseData const*>(Sirikata::Transfer::SparseData const&) (bind_template.hpp:32)
==28621== by 0x80ACA83: boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::mfi::mf3<void, Sirikata::Transfer::EventTransferManager, Sirikata::Transfer::RemoteFileId const&, Sirikata::Transfer::Range const&, Sirikata::Transfer::SparseData const>, boost::_bi::list4boost::bi::value<Sirikata::Transfer::EventTransferManager*, boost::bi::valueSirikata::Transfer::RemoteFileId, boost::bi::valueSirikata::Transfer::Range, boost::arg<1> > >, void, Sirikata::Transfer::SparseData const>::invoke(boost::detail::function::function_buffer&, Sirikata::Transfer::SparseData const) (function_template.hpp:152)
==28621== by 0x4886D7D: boost::function1<void, Sirikata::Transfer::SparseData const*>::operator()(Sirikata::Transfer::SparseData const
) const (function_template.hpp:989)
==28621== by 0x48827DC: Sirikata::Transfer::DiskCacheLayer::workerThread() (DiskCacheLayer.cpp:304)
==28621== by 0x80AE679: boost::mfi::mf0<void, Sirikata::Transfer::DiskCacheLayer>::operator()(Sirikata::Transfer::DiskCacheLayer) const (mem_fn_template.hpp:49)
==28621== Address 0x1b4966b4 is not stack'd, malloc'd or (recently) free'd
cppoh_d: /home/daniel/sirikata/dependencies/installed-boost/include/boost-1_37/boost/thread/pthread/mutex.hpp:50: void boost::mutex::lock(): Assertion `!pthread_mutex_lock(&m)' failed.

Evaluate whether tracking objects locally based on space's time or local time is better

The option is to either use LocalTime at all points except during Serialization/Deserialization or whether to use the Space's time through simulation and computation and then just writing those times out to the wire.

The advantage of the latter is that the Delta offset is stored in the TopLevelSpaceConnection meaning it can easily be probed right before send

Mouse wheel deals in local rather than global coordinates

when you're on the mac and right click-drag and accidentally scroll a few pixels you end up near zero rather than near the scene: this may be because the scroll wheel uses the camera's world coords rather than local coords.
It can be very disorienting to a user since there's no way to undo a small scrollish action

ctl-s to save scene is broken

6b9c9

it's still very useful to write a .csv file, since there is no other efficient way to modify the database. If it's not going to be supported, it should be disabled.

saving new scene as scene_new.csv:
(0) : fatal error C9999: *** exception during compilation ***
Cg compiler terminated due to fatal errorcppoh_d: /home/dbm/bench/museum/dependencies/installed-boost/include/boost-1_37/boost/thread/pthread/mutex.hpp:45: boost::mutex::~mutex(): Assertion `!pthread_mutex_destroy(&m)' failed.

PBJ files built in random (wrong) order and sometimes never generated

Causes errors only on clean builds, and some files simply never get generated when this happens, no matter how many times you rerun make.

One way to force them to build in the right order is by adding all the *_protobuf.cc files to dependencies of libcore (i.e. an earlier dependency in the build process)

This bug has been reproduced on two out of four mac systems in the past week. Does not occur as often on Linux builds, and has not been tested on Windows afaik.

Crash when deleting an object you do not control

{{{
#6 0xf7dc6bfa in Sirikata::ObjectHostProxyManager::destroyViewedObject (

this=0x81c8c68, newObj=@0xed483c24, viewer=0x0)
at /home/daniel/sirikata/liboh/src/ObjectHostProxyManager.cpp:66

66 iter->second.viewers.erase(viewiter);
(gdb) print *viewiter
$3 = (class Sirikata::QueryTracker * const&) @0xed4a8fec: 0x25
(gdb)
}}}

{{{
#4 0xf7dcb568 in boost::unordered_detail::hash_table_data_equivalent_keysstd::allocator<Sirikata::QueryTracker* >::erase (this=0xed49c71c, r=

  {bucket_ = 0xed4a8fe4, node_ = 0xed4a8fe4})
at /home/daniel/sirikata/dependencies/installed-boost/include/boost-1_37/boost/unordered/detail/hash_table_impl.hpp:965

#5 0xf7dcb611 in boost::unordered_multiset<Sirikata::QueryTracker*, boost::hashSirikata::QueryTracker*, std::equal_toSirikata::QueryTracker*, std::allocatorSirikata::QueryTracker* >::erase (this=0xed49c70c, position=

    {<boost::iterator<std::forward_iterator_tag,Sirikata::QueryTracker*,int,Sirikata::QueryTracker* const*,Sirikata::QueryTracker* const&>> = {<boost::detail::iterator_base<std::forward_iterator_tag,Sirikata::QueryTracker*,int,Sirikata::QueryTracker* const*,Sirikata::QueryTracker* const&>> = {<std::iterator<std::forward_iterator_tag,Sirikata::QueryTracker*,int,Sirikata::QueryTracker* const*,Sirikata::QueryTracker* const&>> = {<No data fields>}, <No data fields>}, <No data fields>}, base_ = {bucket_ = 0xed4a8fe4, node_ = 0xed4a8fe4}})
at /home/daniel/sirikata/dependencies/installed-boost/include/boost-1_37/boost/unordered/unordered_set.hpp:585

#6 0xf7dc6bfa in Sirikata::ObjectHostProxyManager::destroyViewedObject (

this=0x81c8c68, newObj=@0xed483c24, viewer=0x0)
at /home/daniel/sirikata/liboh/src/ObjectHostProxyManager.cpp:66

#7 0xf7dc6d82 in Sirikata::ObjectHostProxyManager::destroyObject (

this=0x81c8c68, newObj=@0xed4a339c)
at /home/daniel/sirikata/liboh/src/ObjectHostProxyManager.cpp:79

#8 0xf7bbb3c7 in Sirikata::Graphics::OgreSystem::MouseHandler::deleteObjectsAction (this=0x8494a80)

}}}

crash when visiting http://tinyvid.tv/

{{{
#2 0xf62a9ec5 in (anonymous namespace)::WorkerThread::ThreadMain ()

from /home/daniel/sirikata/dependencies/installed-awesomium/lib/libawesomium.so
#1 0xf5a0e778 in net::CertVerifier::Request::DoVerify ()

from /home/daniel/sirikata/dependencies/installed-awesomium/lib/libawesomium.so
(gdb)
#0 0xf5a2057e in net::X509Certificate::Verify ()

from /home/daniel/sirikata/dependencies/installed-awesomium/lib/libawesomium.so
}}}

Off-axis browser windows

Certain displays need videos using the video tags and others need presence in the 3d world.

Need mechanism to have off-axis browser and click to pull them parallel to the camera plane for interaction.

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.