[Mono-devel-list] Some information in the problems with FileSystemWatcher on FC3 (gamin-related)

Rafael Teixeira monoman at gmail.com
Tue Mar 22 22:03:34 EST 2005


First, the scenario: Running Monodevelop from HEAD (with Mono from
HEAD), in my newly upgraded FC3, I started to get a crash when
creating a new project in the solution.

After some hours googling and looking at sources, I've found that FC3
uses now a package called gamin (I'm using gamin-0.25) that replaces
FAM. It uses a per session daemon, instead of system-wide one like
FAM, to make things more secure. It also emulates the libfam API/ABI.
Creator is Daniel Veillard from RedHat.

Turning gamin's debugging support on (export GAM_DEBUG=), I got some
more detailed information: the problem was ocurring because it was
rejecting a request-number while trying to call FAMCancelMonitor.

I made a few changes in my local copy of System/System.IO/FAMWatcher
to have a cleaner more easily debuggable managed code, and added two
debugging messages.  I wanted to assess if FAMWatcher was doing
something wrong, but it seems that the culprit is gamin.

See the transcript:

[rafael at fedora System]$ monodevelop
Entering VB.NET parser
Reading /home/rafael/.config/MonoDevelop/CodeCompletionData/mscorlib_1.0.5000.0_b77a5c561934e089.pidb
Creating DefaultWorkbench
looking for type: got text/plain
WARNING Could not find stock gtk-open
Started: FAMData: /home/rafael/projects/nexus/cliente/nexus/* Request #1
Stopping: FAMData: /home/rafael/projects/nexus/cliente/nexus/* Request #1
Started: FAMData: /home/rafael/projects/nexus/cliente/nexus/* Request #2
Started: FAMData: /home/rafael/projects/nexus/cliente/nexus/teste/* Request #3
Stopping: FAMData: /home/rafael/projects/nexus/cliente/nexus/teste/* Request #3
Started: FAMData: /home/rafael/projects/nexus/cliente/nexus/teste/* Request #4
Started: FAMData:
/home/rafael/Desktop/Nexus/cliente/customizadordenotas/* Request #5
Stopping: FAMData:
/home/rafael/Desktop/Nexus/cliente/customizadordenotas/* Request #5
Started: FAMData:
/home/rafael/Desktop/Nexus/cliente/customizadordenotas/* Request #6
Reading /home/rafael/projects/nexus/cliente/nexus/Nexus.pidb
Reading /home/rafael/projects/nexus/cliente/nexus/teste/Teste.Nexus.pidb
Reading /home/rafael/.config/MonoDevelop/CodeCompletionData/nunit.framework_2.2.0.0_96d09a1eb7f44a77.pidb
Reading /home/rafael/.config/MonoDevelop/CodeCompletionData/System_1.0.5000.0_b77a5c561934e089.pidb
Reading /home/rafael/.config/MonoDevelop/CodeCompletionData/System.Xml_1.0.5000.0_b77a5c561934e089.pidb
Reading /home/rafael/.config/MonoDevelop/CodeCompletionData/gtk-sharp_2.0.0.0_35e10195dab3c99f.pidb
Reading /home/rafael/.config/MonoDevelop/CodeCompletionData/glib-sharp_2.0.0.0_35e10195dab3c99f.pidb
Reading /home/rafael/.config/MonoDevelop/CodeCompletionData/gdk-sharp_2.0.0.0_35e10195dab3c99f.pidb
Reading /home/rafael/.config/MonoDevelop/CodeCompletionData/pango-sharp_2.0.0.0_35e10195dab3c99f.pidb
Reading /home/rafael/.config/MonoDevelop/CodeCompletionData/atk-sharp_2.0.0.0_35e10195dab3c99f.pidb
Reading /home/rafael/.config/MonoDevelop/CodeCompletionData/glade-sharp_2.0.0.0_35e10195dab3c99f.pidb
WARNING Could not find stock gtk-save
Stopping: FAMData: /home/rafael/projects/nexus/cliente/nexus/* Request #2
Started: FAMData: /home/rafael/projects/nexus/cliente/nexus/* Request #7
Stopping: FAMData: /home/rafael/projects/nexus/cliente/nexus/teste/* Request #4
Started: FAMData: /home/rafael/projects/nexus/cliente/nexus/teste/* Request #8
Stopping: FAMData:
/home/rafael/Desktop/Nexus/cliente/customizadordenotas/* Request #6
Started: FAMData:
/home/rafael/Desktop/Nexus/cliente/customizadordenotas/* Request #9
Stopping: FAMData: /home/rafael/projects/nexus/cliente/nexus/* Request #7
Started: FAMData: /home/rafael/projects/nexus/cliente/nexus/* Request #10
Stopping: FAMData: /home/rafael/projects/nexus/cliente/nexus/teste/* Request #8
Started: FAMData: /home/rafael/projects/nexus/cliente/nexus/teste/* Request #11
Stopping: FAMData:
/home/rafael/Desktop/Nexus/cliente/customizadordenotas/* Request #9
Started: FAMData:
/home/rafael/Desktop/Nexus/cliente/customizadordenotas/* Request #12
Started: FAMData:
/home/rafael/projects/nexus/cliente/nexus/teste/Teste_Pessoa.cs
Request #13
Started: FAMData: /home/rafael/projects/nexus/cliente/nexus/Pessoa.cs
Request #14
Started: FAMData:
/home/rafael/projects/nexus/cliente/nexus/teste/Teste_Empresa.cs
Request #15
Started: FAMData: /home/rafael/projects/nexus/cliente/nexus/Empresa.cs
Request #16
Reading /home/rafael/.config/MonoDevelop/CodeCompletionData/System_1.0.5000.0_b77a5c561934e089.pidb
*** Parsing assembly: System.dll
Writing /home/rafael/.config/MonoDevelop/CodeCompletionData/System_1.0.5000.0_b77a5c561934e089.pidb
Reading /home/rafael/.config/MonoDevelop/CodeCompletionData/System_1.0.5000.0_b77a5c561934e089.pidb
end from FAM server connection
end from FAM server connection
Failed to write bytes to socket 83
end from FAM server connection

** ERROR **: file gam_tree.c: line 146 (gam_tree_remove): assertion
failed: (g_node_n_children(node->node) == 0)
aborting...
end from FAM server connection
end from FAM server connection
end from FAM server connection
WARNING Could not find stock gtk-save
Started: FAMData: /home/rafael/Desktop/Nexus/cliente/emissor/* Request #1
Stopping: FAMData: /home/rafael/Desktop/Nexus/cliente/emissor/* Request #1

Unhandled Exception: System.ComponentModel.Win32Exception: Some sort
of w32 error occurred: 0
in <0x00054> System.IO.FAMWatcher:StopMonitoringDirectory
(System.IO.FAMData data)
in <0x0007f> System.IO.FAMWatcher:StopDispatching
(System.IO.FileSystemWatcher fsw)
in <0x0001b> System.IO.FileSystemWatcher:Stop ()
in (wrapper remoting-invoke-with-check) System.IO.FileSystemWatcher:Stop ()
in <0x00038> System.IO.FileSystemWatcher:set_EnableRaisingEvents (Boolean value)
in (wrapper remoting-invoke-with-check)
System.IO.FileSystemWatcher:set_EnableRaisingEvents (bool)
in <0x00016> MonoDevelop.Internal.Project.Project:UpdateFileWatch ()
in <0x00021> MonoDevelop.Internal.Project.Project:set_FileName
(System.String value)
in <0x000c8> MonoDevelop.Services.ProjectService:WriteFile
(System.String file, MonoDevelop.Internal.Project.CombineEntry entry,
IProgressMonitor monitor)
in <0x00038> MonoDevelop.Internal.Project.CombineEntry:Save
(IProgressMonitor monitor)
in <0x0001d> MonoDevelop.Internal.Project.CombineEntry:Save
(System.String fileName, IProgressMonitor monitor)
in <0x015f3> MonoDevelop.Internal.Templates.ProjectDescriptor:CreateProject
(MonoDevelop.Internal.Templates.ProjectCreateInformation
projectCreateInformation, System.String defaultLanguage)
in <0x00388> MonoDevelop.Internal.Templates.CombineDescriptor:CreateCombine
(MonoDevelop.Internal.Templates.ProjectCreateInformation
projectCreateInformation, System.String defaultLanguage)
in <0x00082> MonoDevelop.Internal.Templates.ProjectTemplate:CreateProject
(MonoDevelop.Internal.Templates.ProjectCreateInformation
projectCreateInformation)in <0x0049c>
MonoDevelop.Gui.Dialogs.NewProjectDialog:OpenEvent (System.Object
sender, System.EventArgs e)
in (wrapper delegate-invoke)
System.MulticastDelegate:invoke_void_object_EventArgs
(object,System.EventArgs)
in <0x00096> GLib.Signal:voidObjectCallback (IntPtr handle, IntPtr gch)
in (wrapper native-to-managed) GLib.Signal:voidObjectCallback (intptr,intptr)
in <0x00000> <unknown method>
in (wrapper managed-to-native) Gtk.Application:gtk_main ()
in <0x00007> Gtk.Application:Run ()
in <0x0040e> MonoDevelop.Commands.StartWorkbenchCommand:Run ()
in <0x00a8e> MonoDevelop.SharpDevelopMain:Main (System.String[] args)




More information about the Mono-devel-list mailing list