Hi, Could you give a full backtrace? I wonder why u->name == NULL. PARQ doesn't handle empty names as you have noticed. And AFAIK name shouldn't NULL in any case. Do you happen to have a header dump available of the request?
Uploading is not that difficult. You should find almost everythin in uploads.c (starting with upload_request) but I can't check right now as I am not at thome. - Jeroen ps. I CC-ed because I didn't knew if you were subscribed, as this is the first posting I have seen from you here? > Hi, folks. > > I need some technical help on getting gtk-gnutella 0.92.1 working > on Solaris 8 for X86 platforms. I am using the Sun Forte 6.2 > compilers and tools. > > I have a working version of the code built, with debug symbols in > the code. But I have found a problem that occurrs when I try to use > the program, which causes a crash every time. Because there is so > little documentation available on the protocol and how it's > implemented, I have been unable to solve this problem myself. > > What happens is I get an upload request, and the request appears to > be missing a critical piece of information. While the program is > trying to process this information, there is a call to the function > 'upload_get_status()' in uploads.c. This in turn calls the function > 'parq_upload_lookup_queue_no()', which calls 'parq_upload_find()'. > > That function attemps to access the gnutella_upload_t member item > 'u->name', which is null, in order to create an 'ip_and_name' string > to be used by the hash table lookup. But the u->name is NULL, and the > reference to NULL by the sprintf function causes a segment fault. > > It seems pretty clear that the u->name value should never be null. > It is this case which causes the crash. There is a test for an > empty 'ip_and_name', and that passes, because there is a valid IP > address, or at least I believe it's valid. > > But there is no test for an empty name. So the program crashes as > soon as I get a request for an upload. What confuses me even more, > is that there are no files shared for upload, so I don't know why > I am getting requests, unless it's a request for the list of shared > files. But it's not clear to me what kind of request it is, other > than it is an upload request, since I can trace through the creation > of the upload request. > > At the time that the request is placed into the event queue, the > name element is empty, and it still is at the time of the crash. > I cannot find anywhere in the code where this information should > be forced to a value. Yet without a value, it will always cause a > crash. > > I find it almost impossible to believe that this is caused by an > illegal request, because that type of request would crash every > user of the program, making the program and network unusable. > > I also don't think that I am being specifically targeted, because > I have only just gotten the program built, and have not downloaded > or uploaded anything. I haven't been able to keep the program running > long enough to do any useful searches. > > If you could provide me with some insight into how the upload process > is supposed to work, I am sure that I can fix the problem. I just do > not understand the code well enough, nor the data that is normally > encountered in the protocol, to be able to figure this out on my own. > > If you could tell me the steps that an upload request should make, > in order, and at what point the name field should contain data, I > will be able to track down the problem. But at the point when the > upload request is entered into the queue, there is no code that > puts anything into the name. And I am not yet familiar enough with > the event queue process to know where to look, to find where the > name data is added to the request. > > Please let me know as soon as you can, as this is very frustrating > to me. I have spent many hours porting the code over to the SUN > compiler, along with about 12 hours of porting work on all the > support libraries. After all that, it's so close that I can almost > taste it. I'm sure you can imagine how I feel. > > Thank you in advance for any help you can give. If you need any > additional information, please contact me and I will be glad to > provide it to you. > > Regards, > --Carl Erhorn <[EMAIL PROTECTED]> > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Gtk-gnutella-devel mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel > ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Gtk-gnutella-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel
