[OpenVPN home] [Date Prev] [Date Index] [Date Next]
[OpenVPN mailing lists] [Thread Prev] [Thread Index] [Thread Next]
Google
 
Web openvpn.net

Re: [Openvpn-users] Re: Tray Showing for OpenVPN GUI Problem


  • Subject: Re: [Openvpn-users] Re: Tray Showing for OpenVPN GUI Problem
  • From: Paul Kendall <paul@xxxxxxxxxxxx>
  • Date: Sun, 11 Sep 2005 12:43:23 +1200

I manually went through the code last time.
You could use something like bounds-checker if you have access to that.

cheers,
Paul

Mathias Sundman wrote:

On Sat, 10 Sep 2005, Lonnie Cumberland wrote:

Mathias Sundman wrote:

On Sat, 10 Sep 2005, Lonnie Cumberland wrote:

Mathias Sundman wrote:

Okay, next attempt:

http://openvpn.se/files/binary/openvpn-gui-1.0.3-debug4.exe

Let me know the content of the logfile - even if it works!

Does it fail also if you only logoff and logon again, or is only after a reboot it fails?

Has it ALWAYS failed after a reboot, or does it sometimes work?

Thanks for your help with testing these debug versions so we can have this issue fixed. It seems to very rare, you're only 4 or 5 people out of 120.000 downloads that has reported this problem...

Ok, here we go:

2005-09-10 14:30:14 Starting OpenVPN GUI v1.0.3-debug4
2005-09-10 14:30:14 Shell32.dll version: 0x60000
2005-09-10 14:30:14 No other instance of OpenVPN GUI is running.
2005-09-10 14:30:14 Registry values read.
2005-09-10 14:30:14 CreateEvent() in CheckVersion() will now be called.
2005-09-10 14:30:14 CreateEvent(openvpn_exit) succeded.
2005-09-10 14:30:23 VersionString: OpenVPN 2.0 Win32-MinGW [SSL] [LZO] built on Apr 17 2005
2005-09-10 14:30:23 OpenVPN version checked.
2005-09-10 14:30:24 WM_CREATE was called.
2005-09-10 14:30:24 s_uTaskbarRestart = 49287
2005-09-10 14:30:24 ShowTrayIcon() was called.
2005-09-10 14:30:24 Shell_NotifyIcon() in ShowTrayIcon() suceeded. The operation completed successfully
2005-09-10 14:30:24 SetTrayIcon(0) was called.
2005-09-10 14:30:24 Shell_NotifyIcon() in SetTrayIcon() suceeded. The operation completed successfully


We have had success now and all seems to be working as it showed up after reboot.

Also, it only use to happen on reboot. Logoff and back on worked fine as well.

Cheers Lonnie :)



Sorry for my late answer - my ADSL line went down for a while!

Hmm - Probably just luck this time! I havn't accually changed anything other than adding more debug log prints and increased the number of attempts to 10, but this time it succeeded first time.

If you have time, could you please try rebooting a few more times and save the content of the log file between each reboot so we can see if it fails at some times and why.

//Mathias

Here's 3 more reboots and it looks like when the system gets busy then the tray function lags.

2005-09-10 15:23:09 Starting OpenVPN GUI v1.0.3-debug4
2005-09-10 15:23:09 Shell32.dll version: 0x60000
2005-09-10 15:23:09 No other instance of OpenVPN GUI is running.
2005-09-10 15:23:09 Registry values read.
2005-09-10 15:23:09 CreateEvent() in CheckVersion() will now be called.
2005-09-10 15:23:09 CreateEvent(openvpn_exit) succeded.
2005-09-10 15:23:16 VersionString: OpenVPN 2.0 Win32-MinGW [SSL] [LZO] built on Apr 17 2005
2005-09-10 15:23:16 OpenVPN version checked.
2005-09-10 15:23:18 WM_CREATE was called.
2005-09-10 15:23:18 s_uTaskbarRestart = 49287
2005-09-10 15:23:18 ShowTrayIcon() was called.
2005-09-10 15:23:22 Shell_NotifyIcon() in ShowTrayIcon failed. This operation returned because the timeout period expired
2005-09-10 15:23:22 Attempt = 1
2005-09-10 15:23:27 Shell_NotifyIcon() in ShowTrayIcon failed. This operation returned because the timeout period expired
2005-09-10 15:23:27 Attempt = 2
2005-09-10 15:23:30 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:23:30 Attempt = 3
2005-09-10 15:23:31 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:23:31 Attempt = 4
2005-09-10 15:23:35 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:23:35 Attempt = 5
2005-09-10 15:23:40 Shell_NotifyIcon() in ShowTrayIcon failed. This operation returned because the timeout period expired
2005-09-10 15:23:40 Attempt = 6
2005-09-10 15:23:41 Shell_NotifyIcon() in ShowTrayIcon() suceeded. The operation completed successfully
2005-09-10 15:23:41 SetTrayIcon(0) was called.
2005-09-10 15:23:42 Shell_NotifyIcon() in SetTrayIcon() suceeded. The operation completed successfully



2005-09-10 15:27:03 Starting OpenVPN GUI v1.0.3-debug4
2005-09-10 15:27:03 Shell32.dll version: 0x60000
2005-09-10 15:27:03 No other instance of OpenVPN GUI is running.
2005-09-10 15:27:03 Registry values read.
2005-09-10 15:27:03 CreateEvent() in CheckVersion() will now be called.
2005-09-10 15:27:03 CreateEvent(openvpn_exit) succeded.
2005-09-10 15:27:10 VersionString: OpenVPN 2.0 Win32-MinGW [SSL] [LZO] built on Apr 17 2005
2005-09-10 15:27:10 OpenVPN version checked.
2005-09-10 15:27:10 WM_CREATE was called.
2005-09-10 15:27:10 s_uTaskbarRestart = 49287
2005-09-10 15:27:10 ShowTrayIcon() was called.
2005-09-10 15:27:15 Shell_NotifyIcon() in ShowTrayIcon failed. This operation returned because the timeout period expired
2005-09-10 15:27:15 Attempt = 1
2005-09-10 15:27:20 Shell_NotifyIcon() in ShowTrayIcon failed. This operation returned because the timeout period expired
2005-09-10 15:27:20 Attempt = 2
2005-09-10 15:27:21 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:27:21 Attempt = 3
2005-09-10 15:27:23 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:27:23 Attempt = 4
2005-09-10 15:27:24 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:27:24 Attempt = 5
2005-09-10 15:27:25 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:27:25 Attempt = 6
2005-09-10 15:27:26 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:27:26 Attempt = 7
2005-09-10 15:27:27 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:27:27 Attempt = 8
2005-09-10 15:27:28 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:27:28 Attempt = 9
2005-09-10 15:27:30 Shell_NotifyIcon() in ShowTrayIcon() suceeded. The operation completed successfully
2005-09-10 15:27:30 SetTrayIcon(0) was called.
2005-09-10 15:27:30 Shell_NotifyIcon() in SetTrayIcon() suceeded. The operation completed successfully



2005-09-10 15:30:55 Starting OpenVPN GUI v1.0.3-debug4
2005-09-10 15:30:55 Shell32.dll version: 0x60000
2005-09-10 15:30:55 No other instance of OpenVPN GUI is running.
2005-09-10 15:30:55 Registry values read.
2005-09-10 15:30:55 CreateEvent() in CheckVersion() will now be called.
2005-09-10 15:30:55 CreateEvent(openvpn_exit) succeded.
2005-09-10 15:31:01 VersionString: OpenVPN 2.0 Win32-MinGW [SSL] [LZO] built on Apr 17 2005
2005-09-10 15:31:01 OpenVPN version checked.
2005-09-10 15:31:02 WM_CREATE was called.
2005-09-10 15:31:02 s_uTaskbarRestart = 49287
2005-09-10 15:31:02 ShowTrayIcon() was called.
2005-09-10 15:31:06 Shell_NotifyIcon() in ShowTrayIcon failed. This operation returned because the timeout period expired
2005-09-10 15:31:06 Attempt = 1
2005-09-10 15:31:11 Shell_NotifyIcon() in ShowTrayIcon failed. This operation returned because the timeout period expired
2005-09-10 15:31:11 Attempt = 2
2005-09-10 15:31:12 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:31:12 Attempt = 3
2005-09-10 15:31:14 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:31:14 Attempt = 4
2005-09-10 15:31:15 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:31:15 Attempt = 5
2005-09-10 15:31:16 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:31:16 Attempt = 6
2005-09-10 15:31:18 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:31:18 Attempt = 7
2005-09-10 15:31:19 Shell_NotifyIcon() in ShowTrayIcon failed. The operation completed successfully
2005-09-10 15:31:19 Attempt = 8
2005-09-10 15:31:23 Shell_NotifyIcon() in ShowTrayIcon() suceeded. The operation completed successfully
2005-09-10 15:31:23 SetTrayIcon(0) was called.
2005-09-10 15:31:24 Shell_NotifyIcon() in SetTrayIcon() suceeded. The operation completed successfully


Hmmm, I don't like the smell of this. The easy way out is to just increase the number of attempts to call Shell_NotifyIcon() but I can feel there is something else causing these problems.

This reminds me of a bug I had in the GUI about a year ago. The symptoms were that on very few number of system a system API call to CreateEvent() failed. I couldn't understand why that call were failing. It turned out to a be a completly diffrent issue - I were calling RegCloseKey() on an handle that hadn't been successfully openend earlier in the code.

So a misstake like that can cause an other system call later to fail for what seems like no reason.

A couple of things makes me beleave we're dealing with the same kind of bug here.

1) In your first log output from OpenVPN GUI 1.0.3-debug2, only two rows were written to log:

2005-09-10 13:10:14 Starting OpenVPN GUI v1.0.3-debug2
2005-09-10 13:10:14 Shell32.dll version: 0x60000

That means that we were not even able to make it to the CheckVersion() function that was the next funtion to write anything to the log. That's before we're even attempting to register the icon.

So with this version you were not even able to make it to the code that tries to register the icon.

2) The only changes I made to the later debug versions was that I added more debug prints. Then you could suddenly make it to part where we're trying to register the icon but it failed.

3) Now that I've increased the number of attempts we call Shell_NotifyIcon() it works, but the log is strange! If we look at your first reboot for instance. The call to Shell_NotifyIcon() failed 6 times, but the errorcode returned with last_error only says "This operation returned because the timeout period expired" 2 times, then is says "The operation completed successfully". That doesn't make sence!

So I'm asking for a little help from the community. Is there anyway to find a misstake like freeing a resource that hasn't been initialized yet other that going though the code manully looking for the faulty code?

Paul, you found the RegCloseKey() bug a year ago. How did you find that one? Just by looking at the code or did you use some tool to track it down?


____________________________________________ Openvpn-users mailing list Openvpn-users@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/openvpn-users


Warning: require_once(../../../archive_common.php) [function.require-once]: failed to open stream: No such file or directory in /home/openvpn/domains/openvpn.net/public_html/archive/openvpn-users/2005-09/msg00119.html on line 424

Fatal error: require_once() [function.require]: Failed opening required '../../../archive_common.php' (include_path='/usr/local/lib/php') in /home/openvpn/domains/openvpn.net/public_html/archive/openvpn-users/2005-09/msg00119.html on line 424