HI Matthias,

If the fix works just post it to osg-submissions as a complete file
and I can review it.

Thanks,
Robert.

On 4 July 2012 09:55, Matthias Schütze <[email protected]> wrote:
> Hi there,
>
>> A customer is having trouble running our OSG-based application on his 
>> computer. I sent him osgviewer.exe and when he runs "osgviewer.exe cow.osg" 
>> it works, but this message is printed on the console: Warning: RenderBin 
>> "RenderBin" implementation not found, using default RenderBin as a fallback.
>>
>> It's just a warning and he does see the cow, but I'm wondering if this 
>> message is a symptom of some other problem? FWIW, his workstation-class 
>> laptop has a FirePro m8900 video card with up to date drivers.
>
> Some month ago, this post appeared on the forum and was not yet
> finally solved. I found that forum thread because I experienced very
> similar problems:
> - sporadical "Warning: RenderBin "RenderBin" implementation not found,
> using default RenderBin as a fallback"
> - even more sporadical "Warning: RenderBin "DepthSortedBin"
> implementation not found, using default RenderBin as a fallback"
> - the problem occurs, when setting up some scene data for several
> views on program start
> - most likely, the problem occurs only with multi-threaded threading
> models (furthermore, I could observe concurrent initialization of
> static RenderBinPrototypeList while debugging)
>
> Roberts suggestion was:
>
>> This suggests a race condition on the static initialization inside the 
>> static RenderBinPrototypeList* renderBinPrototypeList() method. On technique 
>> we could employ is to use a local static initializer object that forces the 
>> static initialization:
>>
>> struct ForceRenderBinProtypeListInitializer
>> {
>> ForceRenderBinProtypeListInitializer()
>> {
>> OSG_NOTICE<<"Forcing initialization"<<std::endl;
>> renderBinPrototypeList();
>> }
>> };
>>
>> static ForceRenderBinProtypeListInitializer
>> s_ForceRenderBinProtypeListInitializer;
>>
>> This is a bit hacky, but it might work. The alternative would be to add a 
>> static mutex and use this with the renderBinPrototypeList() but this would 
>> have it's usage slower just because of initialization which isn't a good 
>> solution. I've attached a modified version of RenderBin.cpp from svn/trunk, 
>> could you try this out on your system to see if cures the warning?
>
> After recompiling my OSG 3.0.1 with this change, I tried it out on a
> couple of Win 7 x64 machines where the problem occurred from time to
> time. Well, the warnings did not show up in about 500 runs per system.
> As I stated in the web repository of svn trunk, this change was not
> committed yet. Maybe, one could submit it, now?
>
> Cheers,
> Matthias Schütze, Germany
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to