OSVR / OSVR-Vive

OSVR driver for use with the HTC Vive (including Vive PRE)
Apache License 2.0
62 stars 19 forks source link

ViveDisplayExtractor crashes #24

Open Erhannis opened 7 years ago

Erhannis commented 7 years ago

Windows 10 Home, version 1511, 64-bit Using the build from OSVR-Vive-build57-64bits.zip Using the server installed by OSVR-SDK-v0.6-1363-g92d6d9d-build341-win-64bit.msi

When I run ViveDisplayExtractor, it crashes, without showing any output. When I click debug, Visual Studio reports to me the following error:

Unhandled exception at 0x00007FF68BC3F8CB in ViveDisplayExtractor.exe: 0xC0000005: Access violation reading location 0x0000000000000000.

with the following, probably useless call stack:

>   ViveDisplayExtractor.exe!00007ff68bc3f8cb() Unknown
    ViveDisplayExtractor.exe!00007ff68bc39861() Unknown
    ViveDisplayExtractor.exe!00007ff68bc53903() Unknown

When I try to start the OSVR server, it too crashes, debugging giving the following error:

Unhandled exception at 0x00007FF961E40BEB (com_osvr_Vive.dll) in osvr_server.exe: 0xC0000005: Access violation reading location 0x0000000000000000.

with the following call stack:

>   com_osvr_Vive.dll!00007ff961e40beb()    Unknown
    com_osvr_Vive.dll!00007ff961e3365a()    Unknown
    osvrPluginHost.dll!osvr::pluginhost::PluginSpecificRegistrationContextImpl::triggerHardwareDetectCallbacks() Line 97    C++
    osvrPluginHost.dll!osvr::pluginhost::RegistrationContext::triggerHardwareDetect() Line 219  C++
    osvrServer.dll!osvr::server::ServerImpl::m_update() Line 224    C++
    osvrServer.dll!osvr::server::ServerImpl::m_loop() Line 240  C++
    osvrServer.dll!osvr::server::ServerImpl::start::__l8::<lambda>() Line 146   C++

It's possible that I'm using mismatched versions of the server and plugin, but I don't know how to match them. The server build numbers start at 171, and the vive build numbers stop at 57, so I figured those must not refer to the same thing.

smallccn commented 7 years ago

hello Erhannis,

I meet the similar issue too, osvr server always crashed when I try to use it load com_osvr_vive.dll.

I've added some debug code and find it maybe caused by the latest driver_lighthouse.dll.

in DriverWrapper.h,

    /// This method must be called before calling
    /// startServerDeviceProvider()
    bool isHMDPresent() {
        if (!(foundDriver() && foundConfigDirs() && haveDriverLoaded())) {
            return false;
        }
        if (!loader_) {      <-- it will be crashed at here. 
            throw std::logic_error("Calls to isHMDPresent must occur "
                                   "before startServerDeviceProvider!");
        }
        return loader_->isHMDPresent(locations_.rootConfigDir);
    }

I remember that I've load this driver successfully before, but without any update in osvr side, it can't worked now. I've checked my driver_lighthouse.dll, the version date is 2017.01.04.

I think it maybe worked with the old version, but I can't find it.

smallccn commented 7 years ago

hello Erhannis,

I find an old version of driver_lighthouse.dll(20160917), with this version, all the function can work well.

But I can't upload it to here, could you please leave your email at here, then I can share it with you via email.

Erhannis commented 7 years ago

Oh, thanks! Yeah, erhannis.kirran@gmail.com should work. Do I overwrite the new driver with this older one, or just put this older one in a particular place?

smallccn commented 7 years ago

Hello Erhannis,

I send the old version via email, please refer it.

You can backup the new driver with another name, and pull the old one to the fixed path(Steam\steamapps\common\SteamVR\drivers), then it should be worked.

Erhannis commented 7 years ago

Thanks! I haven't tried it, yet, but hopefully soon I will find time.

MiWiesing commented 7 years ago

Hi,

I've got a similar problem on windows 7 and would like to ask if anyone of you could send me the old driver, too? parzival_rpo@hush.com Best, Parzival

DavidGoedicke commented 7 years ago

Hi,

Is there any progress on actually fixing the issue? I am also trying to get this to work. What could I do to help?

gr. David

cjlong1213 commented 7 years ago

@smallccn hi, would you please sent the old version of lighthouse.dll to me?Thanks. cjlong1213@163.com.cn

gfrolov commented 7 years ago

@Erhannis ,

Please checkout the latest version of the plugin (also available for download at http://access.osvr.com/binary/vive), which fixes the DisplayExtractor crash along with updating to the latest OpenVR SDK version. Let us know if you're still getting the crash when you run the latest version.

Thanks, -Georgiy