[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ssh_handle_packets blocking issue
[Thread Prev] | [Thread Next]
[Date Prev] | [Date Next]
- Subject: Re: ssh_handle_packets blocking issue
- From: "jeetu.golani@xxxxxxxxx" <jeetu.golani@xxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Tue, 3 May 2011 13:56:11 +0530
- To: libssh@xxxxxxxxxx, Milo Jhoran <milo.jhoran@xxxxxxxxx>, Aris Adamantiadis <aris@xxxxxxxxxxxx>
Hi guys, Just wanted to know if someone has had luck reproducing (and hopefully resolving :) ) the ssh_handle_packets blocking behaviour I mentioned earlier? Or can someone verify if my code is not at fault? I've tested the master tree of libssh and I still see this behaviour. Earlier on a lot of the X server code was in Milo's personal tree that I was using that has been merged into the the master. Please let me know if there's more info I can provide....would love to see this resolved :) Thanks again. Bye for now On Tue, Apr 12, 2011 at 4:44 PM, jeetu.golani@xxxxxxxxx < jeetu.golani@xxxxxxxxx> wrote: > > ah sadly this seems different from what I am observing :(...though I am > curious if something in my code could somehow be causing this effect....if > someone here could go through my code (sent earlier) or throw any light I'd > appreciate it profusely :) > > > > > On Tue, Apr 12, 2011 at 3:17 PM, Oliver Stöneberg <oliverst@xxxxxxxxx>wrote: > >> Hey, >> >> seems like this was actually my fault. The hang happened in >> ssh_channel_get_exit_status(). After chatting with Aris it turned >> out, that it wasn't enough to just call ssh_channel_send_eof() before >> that, but I also needed to call ssh_channel_close() to assure the >> channel is actually closed. >> >> Also the issue with the poll function I mentioned is already fixed in >> the latest code. I am using an older version at the moment. >> >> Greetings >> Oliver >> >> > Hi, >> > >> > > I just ran into this issues as well using Windows. Here's the >> > > backtrace: >> > >> > Oliver, this is interesting. I'm very intrigued to know if this >> manifests in >> > the >> > same way like how I am seeing? Is your code part of a server or client? >> > In my case this behaviour and blocking occurs on some occasions is that >> > how you are seeing it too? >> > >> > Aris, any luck or anything you would like me to try? >> > >> > Bye for now. >> > >> > >> > >> > On Tue, Apr 12, 2011 at 1:58 PM, Oliver Stöneberg <oliverst@xxxxxxxxx >> >wrote: >> > >> > > I just ran into this issues as well using Windows. Here's the >> > > backtrace: >> > > >> > > ntdll.dll!775ff8c1() >> > > [Frames below may be incorrect and/or missing, no symbols >> loaded >> > > for ntdll.dll] >> > > ntdll.dll!775ff8c1() >> > > mswsock.dll!723d6f0f() >> > > mswsock.dll!723d6d30() >> > > ws2_32.dll!75eb2f7d() >> > > ws2_32.dll!75eb6a28() >> > > shell32.dll!762f11f0() >> > > libssh.dll!bsd_poll(ssh_pollfd_struct * fds=0x06b87ba8, >> unsigned >> > > long nfds=1, int timeout=-1) Line 212 + 0x2e bytes C >> > > > libssh.dll!ssh_poll(ssh_pollfd_struct * fds=0x06b87ba8, >> unsigned >> > > long nfds=1, int timeout=-1) Line 289 + 0x14 bytes C >> > > libssh.dll!ssh_poll_ctx_dopoll(ssh_poll_ctx_struct * >> > > ctx=0x06b8b778, int timeout=-1) Line 635 + 0x17 bytes C >> > > libssh.dll!ssh_handle_packets(ssh_session_struct * >> > > session=0x06b8bbc8, int timeout=-1) Line 390 + 0xd bytes C >> > > libssh.dll!ssh_channel_get_exit_status(ssh_channel_struct * >> > > channel=0x06b8ecb8) Line 2376 + 0xe bytes C >> > > [External Code] >> > > >> > > Pretty strange, that it is using bsd_pool. Looks like an issue in >> > > ssh_poll_init(). It doesn't set ssh_poll_emu to wsa_poll when it is >> > > available. >> > > >> > > >> > > > Hi Aris, >> > > > >> > > > I thought I'll also send across openssh client debug output taken >> both >> > > > when things work and when they fail, maybe this helps somehow too. >> > > > >> > > > Thanks again. >> > > > >> > > > Bye for now >> > > > >> > > > On Wed, Apr 6, 2011 at 8:07 PM, jeetu.golani@xxxxxxxxx >> > > > <jeetu.golani@xxxxxxxxx> wrote: >> > > > > Hi Aris, >> > > > > >> > > > >> I think it's because the options from ssh_session are overriden >> by the >> > > > >> sshbind one. Either use ssh_bind_options_set (I think it's the >> name) >> > > or >> > > > >> call ssh_options_set after the ssh_bind_accept. >> > > > > >> > > > > Yup you were right, although ssh_bind_options_set didn't help but >> when >> > > > > I set log options with ssh_options_set after ssh_bind_accept it >> did >> > > > > the trick :) >> > > > > >> > > > > I'm attaching the logs I've collected along with a text with the >> code >> > > > > wherein things fall apart on some occassions. >> > > > > >> > > > > ... >> > > > > do { >> > > > > ssh_event_dopoll(event, 1000); >> > > > > } while(!ssh_channel_is_closed(chan_x11)); >> > > > > ... >> > > > > >> > > > > this is basically the place where things fail, this is replica >> code >> > > > > from the samplesshd-tty.c file. Is the timeout value of 1000 too >> small >> > > > > here? should I have infinite blocking here too or increase this >> value? >> > > > > >> > > > > I'm also attaching the entire server code that i've been working >> on >> > > > > for eBrainPool (http://ebrain.in)...beware tough it's laden with >> > > > > printfs i've put in for debugging...and heavily laden with bugs I >> > > > > suppose ;)...work in progress. >> > > > > >> > > > > Thanks so much guys for all the help truly appreciate it :) >> > > > > >> > > > > Bye for now >> > > > > >> > > > >> > > >> > > >> > > >> > > >> > >> >> >> >> >
Archive administrator: postmaster@lists.cynapses.org