How To Resolve Problem When Commit Big Model?

Hi Team,

I have a problem with send big data now, problem is model too big to can send to speckle. At the moment, we have any to way to split model, or scale or split JSON file to manager with big model ? :face_with_peeking_eye:
With my case is model include 500 file Revit linked or more than 500 file nwc for one project :grimacing:

I also have an idea for that :

  • Allow user to have some option to send one by Category ?
  • When send data, on server will be split limit JSON file and when user open will connect or merge it ?
1 Like

I presume this is from Navisworks. Can you describe more what you are experiencing?

In what way is “can’t send” manifesting?

  • The first problem can see is speckle connector server timeout, because time send to speckle server too long.
    And next :

Can you share what the crash dump shows?

Also, similar: bug(Navisworks): Crash on long idle session · Issue #2021 · specklesystems/speckle-sharp · GitHub

Long send problems to server have been identified as intermittent and the appropriate teams are looking into it.

I have had success sending multiple times or as you suggest in “chunks”.

If you enable the Navisworks developer console you will see the actual failure point. Feel free to share this also.

First case is try to send ~ 22710 children and Navisworks no crash, server timeout
ảnh

ảnh

This is how the known issue that manifests in the Developer Console. For reference, the send was completed the third time trying. Each pass was committing serialized chunks of data; on the 3rd try, it was successful as all the objects were already present on the server.

This is not ideal as the conversion also needed to be completed 3 times :cry:

We’re working on it.

3 Likes

This is detail I read from dump file of navisworks :
The thread tried to read from or write to a virtual address for which it does not have the appropriate access.
dumpinfo.zip (4.5 MB)

Next time it happens, try debugging the .dmp file before closing the app. You will see more detail and context. - and from that screenshots are fine.

Separate from the issue I linked to, this does seem more like the errors I was getting when trying to async parts of the conversion, however. (an abandoned initiative)

1 Like

Can you confirm which version of Speckle Navisworks your were using at the time?

This is latest in dev branch

1 Like

One more debug output when I try snoop :

System.NullReferenceException: Object reference not set to an instance of an object.
   at Autodesk.Navisworks.Gui.Roamer.AutoRecover.AutoRecoverControlImpl.IsModifiedSinceLastAutoSave()
   at Autodesk.Navisworks.Gui.Roamer.AutoRecover.AutoRecoverControlImplBase.OnIdle()
   at Autodesk.Navisworks.Gui.Roamer.MainWindow.OnIdle(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at NetRoamer.RoamerStartup.Run()
   at Autodesk.Navisworks.Api.Interop.AbortOnException.CallAction(Action0 del)
Enumeration yielded no results

When do you get this?

This is when I try debug source code Speckle-Sharp from dev branch, process is sending to speckle
ảnh

but not what causes the crash posted earlier?

Yes, I find a log relate to thread

Started Thread 44044
The calling thread cannot access this object because a different thread owns it.
Starting: Send to Speckle.
1 Like

Thanks for reporting, this is the first we have seen where a failure to send has triggered an exception that escapes the error handling in DUI. Most others result in the UI display as you showed in your screen shot

1 Like

Now I can write some step like that :

  • Debug Speckle-Sharp in dev branch
  • Click button Speckle Connector
  • Select Project from Selection Tree
  • Set Current Selection
  • Click Send to Speckle
  • View A Exception : System.NullReferenceException: Object reference not set to an instance of an object.
  • Navisworks Crash : The thread tried to read from or write to a virtual address for which it does not have the appropriate access

All the time - or intermittent?

@jonathon At the moment with my side is intermittent, I think I need more time to explore this .