Jungle Monkey BUGS ------------------ Bug reports ----------- Send bug reports to jm-dev@eecs.umich.edu. Please make sure that the bug appears in the latest version of JM before submitting a bug report (so check the website first). Include the version number of JM and the name and version of your OS. Include detailed instructions on how to duplicate the bug (if applicable). Non-conformance to Gnome or Debian standards, when they apply, should be considered a bug. Known bugs ---------- - Gnet dumps core in gnet_get_hostname (in child) when running gdb on it. It's probably gdb's fault. I have a testcase for this. Possible bugs ------------- These are bugs that I can't reproduce or I haven't seen in a while. Write us if you see them, especially if you can consistently duplicate them. Non-bugs -------- - Offer a file in 1, kill 1. Then you can still see the file being offered on the channel in 2. The file in 2 will eventually go away, but it may take some time. This would be difficult to fix. Fixed bugs ---------- - Exiting via File menu sometimes causes warnings about the CList. Fixed 2000-3-14. - Double-clicking the tree and then pressing shift causes the application to seg fault. This is GTK+ bug #5487 on http://bugs.gnome.org/db/pa/lgtk+.html. It was fixed in GTK 1.2.7. - Files rename themselves then disappear. I have no idea why this is happening. I have not been able to reproduce it locally. [0.1.0, 2000-3-16] [fixed in 0.1.1] 2000-3-17: If you start jm and the root channel is down, then create a channel "foo" in the root channel, THEN "foo" will appear in "foo" (and then maybe again). This is probably related to the code that moves a local channel when the parent channel goes down. This is why it happens when I do jm://myhost and the root channel is not up: 1. I call btp_connect_root(myhost, 5656) to connect to channel "root". It attempts to connect to (myhost, 5656), but fails and keeps trying. 2. I call btp_connect_root(0, 0) to create channel "foo". It creates an incoming socket with port 5656, because the port hasn't been used. 3. The connection from 1 succeeds in connecting to "foo", and thinks it's root. The GUI shows "foo" as the root and "foo" as its child. 4. "foo" advertises itself on its parent channel, which happens to be itself, so it appears in itself again. (I think this is right - it might be something else). We can solve this by: 1. Don't let the GUI let you create a channel in a channel that you have not connected to the root of yet. The problem is that the GUI only knows if BTSMP is NULL or not. We could set a flag in BTSMP when BTP has connected to something, or preferably, don't give the backend the BTSMP until BTP has connected. [TODO] 2. Don't use a well-known port number (except for Monkey Central). I'd rather not do this. [WON'T DO] 3. If I attempt to connect to localhost:5656, set use_btp_port to true. [DONE] - If you create 2 or more channels, 100% is used. [0.1.0 and earlier, 2000-3-16] I get this bug on davehome, but not on mofo. davehome has Linux 2.2.14, mofo has 2.2.4. I think I fixed this by not add watches for OUT, ERR, and HUP to the listening socket. - backend warns of bad XML. [Niels, 0.1.0, 2000-3-16] Worked around issue in xmlParseMemory 1.8.7. [2000-3-18] - People create root channels and expect others to see them. The GUI should make this more obvious. [0.1.0, 2000-3-16] Add a "Create root channel" menu item. [2000-3-18] TODO: Add a tooltip. - Searching for " searches for everything. [Closed 2000-3-20] - Announcements from crashed servers should timeout (ie, get garbage collected). [Closed 2000-3-20] - When you join a channel, you will only get 10 announcements. Much later, you will get more. [Closed 2000-3-21] BTSMP cache now has timeouts and is limited by bytes used, not number of announcements. - You shouldn't be able to add channels to a channel you aren't fully connected to yet. [Closed 2000-3-21] Added btp_is_up. GUI uses. - "Join channel" has two different meanings depending whether something is selected or not (and then what that selected thing is). This is confusing - there should be an "Open Channel" menu item. [Closed 2000-3-21] Added "Open Channel" - Many small bugs in the remove/leave channel code. If a channel expires, children channels are recursively made into root channels and files in those channels get removed. This shouldn't be recursive. I don't think a remove advertisement is sent either. [Closed 2000-3-21] Rewrote backend_remove_r. - jmsearchserver uses gnet_gethostname to get the domain name. [Closed 2000-3-22] - Namespace issues with search-servers and other stuff. [Closed 2000-3-26] - You can create channels in channels you haven't joined. [Closed 2000-3-27] - g_return_if_fail (btsmp != NULL) in backend/build_update_recursive sometimes fails. This is because of the goofy was the backend handles advertising channels in channels. Really the backend should view the file space as a forest with the channels as roots. Files would be reference counted so that you could have links. This may have been fixed by the new removal and update code. [Closed? 2000-4-3] - Clicking on File menu causes seg fault. [Andy bug 2000-3-14. Can't reproduce.] [Closed? 2000-4-3] - BTP warns of a weird switch. Cannot duplicate. [Niels, 0.1.0, 2000-3-16] This happens sometimes. Reason noted in contents. [Closed 2000-4-10] - "Broken pipe" message when shutting down. Cannot duplicate. [0.1.0, 2000-3-17, misc]. I think this happens when we write to an IOChannel that has been closed. It can be reproduced (I think) by starting JM without attaching to the root channel and then creating a channel. This is probably fixed in 0.1.1 with the 'Files rename' fix. [Closed? 2000-4-10] - Create a channel on 1, join on 2, delete on 1, recreate on 1, then try to connect on 2, by double-clicking on the original channel. It won't connect and always says 'connecting' afterward, gives channel warning error at command line. [Andy bug #1 (can't reproduce)] [Closed? 2000-4-11] - You get this warning: Gtk-CRITICAL **: file gtkctree.c: line 4051 (gtk_ctree_is_viewable): assertion `node != NULL' failed. when your channel B is in someone else's channel A and channel A is removed. The problem occurs when moving a ctree node to a place where its sibling is NULL. I think this is a problem in GTK 1.2.7. This is bug 8002 on bugs.gnome.org (gtk+ section). [Closed? 2000-4-11] - Bookmarks don't work right. Bookmarked channels appear sometimes twice after bookmarking and then restarting. [Closed 2000-4-14] - Freeze occurs when adding a channel. [0.1.0, 2000-3-17, on misc] Cannot duplicate. Stack trace: #0 0x4037f494 in read () from /lib/libc.so.6 #1 0x4001a5c8 in gnet_binary_age () from /usr/gnu/lib/libgnet-1.0.so.0 #2 0x40029c10 in g_io_add_watch () from /usr/gnu/lib/libglib-1.2.so.0 #3 0x4002b2d9 in g_get_current_time () from /usr/gnu/lib/libglib-1.2.so.0 #4 0x4002b8e3 in g_get_current_time () from /usr/gnu/lib/libglib-1.2.so.0 #5 0x4002ba7c in g_main_run () from /usr/gnu/lib/libglib-1.2.so.0 #6 0x400cad97 in gtk_main () from /usr/gnu/lib/libgtk-1.2.so.0 #7 0x804dbb7 in main (argc=1, argv=0xbffff7c4) at gui.c:316 Maybe it was trying to access a shared library over NFS? [Closed 2000-4-14 - probably related to 100% CPU or fork core dump] - You get a "Search Error" on some searches. I don't know why this happens. (I haven't seen this in 0.1.5) [Closed 2000-5-25] - 100% CPU problem again. This is due to a bug Linux 2.2's poll where it returns EINVAL if you pass it more FD entries than there are file descriptors. This is clearly wrong, but they haven't fixed it yet. There is currently a workaround. [Closed 2000-6-22]