-
Notifications
You must be signed in to change notification settings - Fork 106
Loading fsharp projects hang if vi mode are enabled #244
Comments
Perhaps there is some relation to issue 227. Don's comment about something never terminating could be interesting to look into. #227 |
Feel free to look into it, can't say I've ever used the vi mode ... |
I just turned on the vi mode and everything loaded as normal. |
Odd. I can reproduce reliably here. I wonder if there is anything On Tuesday, 12 November 2013, Dave Thomas wrote:
Karl Nilsson |
My XS 4.0.13 on Windows hangs as well. |
With the latest fsharp bindings? On Tuesday, 12 November 2013, Ronnie Holm wrote:
Karl Nilsson |
Yes, the most recent fsharp bindings. I created a dump file from the busy XS and opened it with Windbg. See stack trace of busy thread at the bottom. It looks like calling
|
I'm no expert at reading Windbg output, but the above stacktrace is for managed code only. Gtk is unmanaged code as well and looking at the top of the unmanaged stack, I notice calls to mutex_lock. Perhaps Gtk is busy waiting because of a deadlock.
|
Great - I wouldn't even know how to do that on mono. Need to figure that from the monodevelop source it looks like the AllocateArea method could
Gdk.Rectangle allocation) On 12 November 2013 09:26, Ronnie Holm notifications@github.com wrote:
Karl Nilsson |
Well, it doest look like an issue in the F# binding, you should just raise this as an issue with MonoDevelop via bugzilla |
Dave - it doesn't happen for csharp projects so I am not sure it is a On 12 November 2013 09:51, Dave Thomas notifications@github.com wrote:
Karl Nilsson |
There're no F# binding frames visible in the stacktrace, so it doesn't look like an F# binding issue. |
@kjnilsson Theres only a tiny bit of UI in the F# binding, and thats in the C# project here |
The BuildOrderWidget needs to be removed too, thats been obsolete for a while now. |
This may be because of the F# binding accessing the UI in the wrong thread. To discover this kind of issues, I recommend using the gui-thread-check (only works with Mono, not .NET, so setting it in Linux is easier I guess): https://github.com/slluis/gui-thread-check/ |
After doing some further testing I can confirm this is not isolated to the fsharp addin. It happens with other addidns including c#. I will create a monodevelop bug report and close this one. |
Discussing it with the MD guys here: https://bugzilla.xamarin.com/show_bug.cgi?id=15596 |
XS versions tested: 4.2 (beta channel) (4.1.13 alpha channel)
fsharp bindings built from source (commit: 8d640f2) + latest available in add-in manager (3.2.20 or 3.2.21).
The problem appears to occur whilst loading a file (rather than project loading). If you load an fsharp project with the vi mode disabled you can later enable and use it. The issue only occurs during or after project load.
I am not sure if the issue is in the fsharp bindings or the vi mode. The code for the vi mode is not the most elegant I have ever seen and there are a few bugs there that I would like to fix anyway so unless someone has a good idea of why this has started happening I am happy to investigate this issue further. (I guess the number of vi users that use fsharp in XS at this time isn't massive large :))
The text was updated successfully, but these errors were encountered: