Jump to content

ftrack-connect-rv crash


tokejepsen

Recommended Posts

Hey,

I'm trying to setup RV but getting a crash without any warning or logging messages, when loading in components.

When launching RV I get a warning about the "ftrack.connect" location:

2017-05-29 09:53:03,763 - ftrack-location-compatibility - WARNING - Location u'ftrack.connect' does not have a configured accessor configured in <ftrack_api.session.Session object at 0x000000000D7B18D0>. Setting up proxy for legacy api location. Consider rewriting this location to a ftrack-python-api location.

I'm not using this location, and the location I'm using does not get any warnings. When I try to load a version, RV crashes and exits.

I'm a bit blank as to where to go with this, as I'm getting no messages about errors.

Link to comment
Share on other sites

Troubleshooting the RV integration is a bit hard, since it tends to segmentation fault without any traceback on exceptions.

In version 3.4 we are using the ftrack-location-compatibility package to allow importing components in both locations defined in the new API and the legacy API to allow for a smooth transition to the new API. You can disregard from the warning if you are not using the ftrack.connect location.

I've found a potential issue which might be causing the issues you are seeing. Is the problem occurring when you load a particular item for the second time? 

Regards,
Lucas

Link to comment
Share on other sites

3 minutes ago, Lucas Correia said:

I've found a potential issue which might be causing the issues you are seeing. Is the problem occurring when you load a particular item for the second time? 

No, it crashes when loading an item the first time.

I don't get any debug messages, so I'm assuming its the communication between the web widget and RV. Is there any way, for testing, to just intercept the execution and print instead?

Link to comment
Share on other sites

I've typically seen segmentation faults occurring when an unhandled exception occurs in the Python part of the RV plugin/package. To troubleshoot the issue further, it would be helpful if you are able to edit the code and see if you are able to catch the exception.

The file of interest is `Python/ftrack_rv_api.py` within the directory RV installs packages to (~/Library/Application Support/RV/Python/ftrack_rv_api.py on macOS). You can try wrapping the contents of the `loadPlaylist` and `_getFilePath` functions in a try-except-block and print the execption.


def loadPlaylist(playlist, index=None, includeFrame=None):
    '''Load a playlist into RV.

    Load a specified *playlist* into RV and jump to an optional *index*. If
    *includeFrame* is an optional frame reference.

    '''
    try:
        _setWipeMode(False)
        ...
    except Exception as e:
        logger.error(e)

 

Link to comment
Share on other sites

I tried this, but I still getting a crash without any messages.

What is the execution sequence? Seems like when pressing "Load selected", nothing from the gets printed even in debug mode.

On a different note, the hook gets registered twice and when launching RV gets launched twice.

Link to comment
Share on other sites

Hi Toke,

Thanks for following up. I've released a fix for the first issue as ftrack-connect-rv 3.5 which can be downloaded from the integrations page.

I've reproduced the segmentation fault when uploading annotations and reported it as a high-priority bug. Hopefully we'll be able to address it soon.

To give you some more details, the issue is coming from the following statement in `ftrack.mu`, which triggers an external RVIO process. I've verified that the command is successful if I run it manually,  so I am not yet sure what the root cause is. 

rvio("Export Annotated Frames", args, uploadAll);

 

Link to comment
Share on other sites

  • 4 weeks later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...