An assertion in fam fails when it should monitor NFS files/dirs. Fix: Don't know. How-To-Repeat: $ fam -d -v Start kmplayer as a user, who's $HOME is mounted via NFS (gdb) r -f -v Starting program: /usr/local/bin/fam -f -v fam[13539]: log level is LOG_INFO fam[13539]: Shutting down connection fam[13539]: built with IMonNone, so /dev/imon won't be opened. fam[13539]: Couldn't create RPC TCP/IP client: Invalid argument Assertion failed: (!strncmp(local_path, dir(), local_dir_len)), function hl_map_path, file NFSFileSy stem.c++, line 222. Program received signal SIGABRT, Aborted. (gdb) bt #0 0x281ad473 in kill () at {standard input}:15 #1 0x2821827c in abort () at /usr/src/lib/libc/stdlib/abort.c:72 #2 0x281f16ff in __assert () at /usr/src/lib/libc/gen/assert.c:58 #3 0x080579f0 in NFSFileSystem::hl_map_path(char*, char const*, Cred const&) (this=0x8070000, remote_path=0xbfbfe9d0 "$ \a\b\f \006\b\001", path=0x806d400 "/usr/local/share/servicetypes", cr=@0x8071488) at NFSFileSystem.c++:222 #4 0x080578d3 in NFSFileSystem::hl_monitor(ClientInterest*, ClientInterest::Type) ( this=0x8070000, ci=0x8071400, type=DIRECTORY) at NFSFileSystem.c++:194 #5 0x0804e310 in FileSystem::monitor(ClientInterest*, ClientInterest::Type) (this=0x8070000, cip=0x8071400, type=DIRECTORY) at FileSystem.c++:63 #6 0x0804a751 in ClientInterest (this=0x8071400, name=0xbfbfef20 "/usr/local/share/servicetypes", c=0x8072800, r=2, cr=@0xbfbfef00, type=DIRECTORY) at ClientInterest.c++:54 #7 0x0804c80c in Directory (this=0x8071400, name=0xbfbfef20 "/usr/local/share/servicetypes", c=0x8072800, r=2, cr=@0xbfbfef00) at Directory.c++:46 #8 0x08055790 in MxClient::monitor_dir(int, char const*, Cred const&) (this=0x8072800, request=2, path=0xbfbfef20 "/usr/local/share/servicetypes", cred=@0xbfbfef00) at MxClient.c++:92 #9 0x0805fbd8 in TCP_Client::input_msg(char const*, int) (this=0x8072800, msg=0x8072842 "M2 1000 0 /usr/local/share/servicetypes\n", size=75) at TCP_Client.c++:198 #10 0x0805f703 in TCP_Client::input_handler(char const*, unsigned, void*) ( msg=0x8072842 "M2 1000 0 /usr/local/share/servicetypes\n", nbytes=75, closure=0x8072800) at TCP_Client.c++:69 #11 0x0804a4e7 in ClientConnection::input_msg(char const*, unsigned) (this=0x807282c, msg=0x8072842 "M2 1000 0 /usr/local/share/servicetypes\n", nbytes=75) at ClientConnection.c++:40 #12 0x0805816b in NetConnection::deliver_input() (this=0x807282c) at NetConnection.c++:170 #13 0x08058095 in NetConnection::input() (this=0x807282c) at NetConnection.c++:144 #14 0x08057f9f in NetConnection::read_handler(int, void*) (fd=9, closure=0x807282c) at NetConnection.c++:114 #15 0x0805ca92 in Scheduler::handle_io(fd_set const*, Scheduler::FDInfo::FDIOHandler Scheduler::FDIn #16 0x0805cb6c in Scheduler::select() () at Scheduler.c++:343 #17 0x08060fcd in Scheduler::loop() () at Scheduler.h:89 #18 0x0806089a in main (argc=3, argv=0xbfbff65c) at main.c++:290 #19 0x08049f95 in _start () (gdb) f 3 #3 0x080579f0 in NFSFileSystem::hl_map_path(char*, char const*, Cred const&) (this=0x8070000, remote_path=0xbfbfe9d0 "$ \a\b\f \006\b\001", path=0x806d400 "/usr/local/share/servicetypes", cr=@0x8071488) at NFSFileSystem.c++:222 222 { assert(!strncmp(local_path, dir(), local_dir_len)); Current language: auto; currently c++ (gdb) l 217 NFSFileSystem::hl_map_path(char *remote_path, const char *path, const Cred& cr) 218 { 219 char local_path[PATH_MAX]; 220 cr.become_user(); 221 if (realpath(path, local_path)) 222 { assert(!strncmp(local_path, dir(), local_dir_len)); 223 (void) strcpy(remote_path, remote_dir); 224 (void) strcpy(remote_path + remote_dir_len, 225 local_path + local_dir_len); 226 } (gdb) p path $1 = 0x806d400 "/usr/local/share/servicetypes" (gdb) p local_path $2 = "/usr/local/share/servicetypes\0types\0\200\001\a\b\224í¿¿\024s!(\r\0\0\0Ôv\"(øå¿¿ðé¿¿built with IMonNone, so /dev/imon won't be opened.\n(\0\0\0\001Ðá\a(\2200\b(\0\0\0\0dæ¿¿7Å\006(À\221\004\b²\232«\a\0%\b(\001\0\0\0\222v!(\0%\b(\204æ¿\001Ðá\a(=\0\0\0\0\0\0\0äæ¿¿FÃ\006(\236q!(²\232«\a\bÐ\a("... (gdb) p mydir ( dir() is a macro, which returns mydir) $6 = 0x806f2f0 "/usr/home" Where does "/usr/local/share/servicetypes" come from?
State Changed From-To: open->closed Please take this up with the authors of FAM: http://oss.sgi.com/projects/fam/