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

Reply via email to