Network access seems to be locked down until reboot?
So, what is going on?
I haven't seen this behavior before.
What is the name of your application? What build of Vista is this?
Thank you!
So, when I use Standard User Analyzer, before rebooting (I.E. when the socket calls are failing) it says:
Privs: Requested SeLoadDriverPrivilege (the "Load and unload device drivers" privilege) with RtlAdjustPrivilege successfully
vfluapriv2!NS_LuaPriv::AuditPrivilege+154
vfluapriv2!NS_LuaPriv::VfHookRtlAdjustPrivilege+6e
mswsock!StartWsdpService+726
mswsock!WSPStartup+15b5
mswsock!+7517281d
WS2_32!WSASocketW+9d
WS2_32!socket+62
<code in the product>
And S.U.A says that this is an Error 'Requested a security-relevant privilege.'
So what is the problem exactly? I am making a socket, not loading
a device driver, and it says that the permission check was successful.
William
Hello William,
I have been testing with your app and I have found that if I right click on surge.exe and tell it to run in Windows XP SP2 compat mode then everything works correctly. I have tested this from the "Program Files" folder and when installing the application into an alternate folder.
When the app fails I am presented with a custom error handler and below is the output. The error states FormatFailedException: the error was Too few arguments for format string. I see looking down the stack where you have some Socket errors after you attempt the socket.bind. Can you provide more information about how you are binding? Can you provide any info about the FormatFailedException missing arguments.
Thanks,
Louis Shanks
Microsoft AppCompat
Curl and Surge are trademarks of Sumisho Computer Systems Corp.
that are registered in the United States.Platform: Professional 6.0, (SP version 0.0) [Build 5600]
Executable Name: surgeCurl RTE Version: 5.0.0
Curl Process 3 (first user process), Curl Thread 3, Host Handle 524.
Unexpected throw: FormatFailedException: Too few arguments for format string.
#0 throw-FormatFailedException (0x02ff5536+38)
(args: 0x2f8f9bc 0x21ced70 0x0 0x21ceed4 0x2e5aa4 0x420040)
#1 too-few-format-args-error (0x02ff550e+22)
(args: 0x21ceed4 0x2e5aa4 0x420040 0x1ee818 0x0 0x80)
#2 (0xffffffff)
#3 format-slow (0x020517b3+19)
(args: 0x2f8f67c 0x3 0x0 0x0 0x21cee64 0x21cee40)
#4 low_runtime_call (0x00159ce9+21)
(args: 0x20517a0 0x21ceef0 0x21cef6c 0x0 0x3 0x2f8f3e0)
#5 RuntimeCall.do-call (0x00159a68+292)
(args: 0x2b094c 0x21cf3fc 0x1 0x20517a0 0x2b0cc4 0x2)
#6 runtime-call-in-package (0x00158ffc+2024)
(args: 0x21cf3fc 0x1 0x20517a0 0x2f8f3bc 0x0 0x1edbf1c)
#7 runtime-call-flattening-splices-in-package (0x00158427+1183)
(args: 0x21cf3fc 0x1 0x20517a0 0x2f8f3bc 0x0 0x1edbf1c)
#8 SocketException.default (constructor) (0x02ff536e+270)
(args: 0x1f4f02c 0x0 0x9 0x2f8f338 0x2f793d4 0x2ccc28)
#9 SocketException-from-SocketErrorCode (0x02ff4fb7+235)
(args: 0x9 0x2f8f338 0x2f793d4 0x2ccc28 0x21ee73c 0x0)
#10 AcceptorTCPSocket.bind (0x02ff4b8d+341)
(args: 0x3686cc 0xffffffff 0x9 0x0 0x0 0x0)
#11 simple-accept-async (0x02ff410c+132)
(args: 0x1f4b8fc 0x0 0x1f4f018 0x0 0x0 0x0)
#12 SocketRemoteAcceptor.accept-async (0x02ff4049+49)
(args: 0x1f4b8e0 0xa 0x1f4f018 0x0 0x0 0x0)
#13 SurgeSupport.default (constructor) (0x02ff078c+1368)
(args: 0x3010d6c 0x1 0x3017d14 0x21cf8e4 0x2fefb23 0x3017d14)
#14 initialize-the-surge-support-object (0x02ff01cb+19)
(args: 0x3017d14 0x0 0x1 0x1f0badc 0x2fc5b4c 0x2f8db78)
#15 analyze-surge-switches (0x02fefb22+162)
(args: 0x3017d0c 0x3012e3c 0x3012dd8 0x3017cd4 0x3017d04 0x0)
#16 [initializer for CURL.APPS.SURGE] (0x02fef4c4+228)
(args: 0x18d566 0x20c416c 0x21cf9b4 0x0 0x1837a8 0x21cf998)
#17 (0x021cf987)
#18 really-initialize-package (0x0018d565+93)
(args: 0x21f100c 0x20cd004 0x21cfb3c 0x203cad7 0x21e8d04 0x1)
#19 import-and-run-script (0x02fef372+62)
(args: 0x21e8d04 0x1 0x0 0x20c900c 0x2d3344 0x21cfa08)
#20 init-and-run-curl-in-this-process (0x0203cad6+926)
(args: 0x20cc004 0x203ac0b 0x246 0x21cfe04 0x21cfb8c 0x20ce138)
#21 init-and-run-curl-in-this-process-no-ret (0x0203c70d+13)
(args: 0x20cc004 0x21cfb8c 0x20ce004 0x3 0x1 0x2d6d6c)
#22 ProcessRunnable.run-bound-proc (0x0203ac0a+1246)
(args: 0x20cc004 0x21cfd74 0x203a6ff 0x20c7028 0x21cff1c 0x20361ba)
#23 ProcessRunnable.run (0x0203a726+10)
(args: 0x20c7028 0x21cff1c 0x20361ba 0x20ce004 0x3 0x20ce004)
#24 curl-thread-really-really-call-run-in-runnable (0x0203a6fe+18)
(args: 0x20ce004 0x3 0x20ce004 0x342190 0x21cfe04 0x20ce004)
#25 curl-thread-really-call-run-in-runnable (0x020361b9+233)
(args: 0x20ce004 0x21cff34 0x2b0540 0x2cd04c 0x0 0x0)Curl Process 4 (run-shutdown-process), Curl Thread 4, Host Handle 584.
#0 (0x75aca58d)
#1 EventSystemSemaphore.wait (0x0203dc30+308)
(args: 0x3490ec 0x0 0x0 0x7ff00000 0x2d4ebc 0x2)
#2 EventChecker.filter-or-wait-or-next-or-last (0x0203d7cf+547)
(args: 0x2 0x1 0x2912004 0x0 0x7ff00000 0x0)
#3 EventQueue.dispatch-events-aux (0x0205d2cb+43)
(args: 0x2809020 0x0 0x7ff00000 0x1 0x0 0x0)
#4 EventQueue.dispatch-events (0x0205d1f4+156)
(args: 0x2809020 0x1 0x205d0de 0x202 0x291100c 0x280623c)
#5 dispatch-events (0x0205d119+53)
(args: 0x1 0x28ffb5c 0x28ffd5c 0x203ac0b 0x2806004 0x28ffb8c)
#6 event-loop (?) (0x0205d0dd+9)
(args: 0x203ac0b 0x2806004 0x28ffb8c 0x2808004 0x3 0x1)
#7 (0x028ffd5b)
#8 ProcessRunnable.run-bound-proc (0x0203ac0a+1246)
(args: 0x2806004 0x28ffd74 0x203a6ff 0x280301c 0x28fff1c 0x20361ba)
#9 ProcessRunnable.run (0x0203a726+10)
(args: 0x280301c 0x28fff1c 0x20361ba 0x2808004 0x4 0x2808004)
#10 curl-thread-really-really-call-run-in-runnable (0x0203a6fe+18)
(args: 0x2808004 0x4 0x2808004 0x3421e8 0x28ffe04 0x2808004)
#11 curl-thread-really-call-run-in-runnable (0x020361b9+233)
(args: 0x2808004 0x28fff34 0x2b0540 0x2cd04c 0x0 0x0)CURL SYSTEM LOG:
0: #1: NOTIFY: PC remember-handle, ID 3
1: #1: NOTIFY: PC change-process-state, ID 1
2: #1: WAIT: PC create-host-thread-or-throw-error
3: #1: NOTIFY: PC change-process-state, ID 3
4: #1: NOTIFY: PC ProcessHandle.forget, ID 3
5: #1: WAIT: manage-user-processes handle-count == 3, handle-special == 2
6: #1: WAIT: PC manage-user-processes
7: #3: CREATED: [ProcessHandle @0x00342190 id=3, name='first user process', state=ThreadState.running, ref=1] at [2006-09-27 13:32:30.052000]
8: #3: NOTIFY: PC change-thread-state, ID 3
9: #3: NOTIFY: PC remember-handle, ID 4
10: #1: WAIT: manage-user-processes handle-count == 4, handle-special == 3
11: #1: WAIT: PC manage-user-processes
12: #3: NOTIFY: PC change-process-state, ID 1
13: #3: WAIT: PC create-host-thread-or-throw-error
14: #4: CREATED: [ProcessHandle @0x003421E8 id=4, name='run-shutdown-process', state=ThreadState.running, ref=2] at [2006-09-27 13:32:30.057999]
15: #4: NOTIFY: PC change-thread-state, ID 3
16: #3: NOTIFY: PC ProcessHandle.forget, ID 4
17: #1: WAIT: manage-user-processes handle-count == 4, handle-special == 3
18: #1: WAIT: PC manage-user-processes
19: #4: ASSERT: hwnd == 657256, ok == true
20: #3: PANIC: panic-abort-process Unexpected throw: FormatFailedException: Too few arguments for format string., false, false, 50287927, 35450024
21: #3: NOTIFY: PC panic-abort-process, ID 50287927
22: #1: WAIT: manage-user-processes handle-count == 4, handle-special == 3
23: #1: PANIC: panic-abort-host-process
24: #1: PANIC: panic-abort-host-process******* Aborting! *******
> I have been testing with your app and I have found that if I right click on surge.exe and tell it to run in
> Windows XP SP2 compat mode then everything works correctly. I have tested this from the
> "Program Files" folder and when installing the application into an alternate folder.
That is odd, I tried doing the same thing and it had no effect on the failure. (marking surge.exe as
XP SP2 compat. and then selecting the "control panel" menu item from the Curl RTE section of
the start menu.) (Note also that the problem only happens with the RTE installer, the other bigger
installer seems to some how not have the problem.)
So, I think that you must have rebooted or something and that got it to work, not the compatibility
mode. It is broken after install until you reboot, then it is fine.
> When the app fails I am presented with a custom error handler and below is the output. The error
> states FormatFailedException: the error was Too few arguments for format string. I see looking
> down the stack where you have some Socket errors after you attempt the socket.bind. Can you
> provide more information about how you are binding? Can you provide any info about the
> FormatFailedException missing arguments.
That is a bug in the program because it never expected that socket() might give a host unreachable
error, because that is an insane error code for socket() to give.
William
Hello William
I have created a simple video that illustrates the steps I am performing. I am not rebooting just using the WinXP app compat option and everything seems to work correctly.
In your testing do you see the same behavior as I am seeing when you test on multiple machines?
Link to the video.
http://www.louisshanks.com/vista/curl.wmv
Louis Shanks
App Compat
Hello Wbardwel,
I built a new machine (RC1) and just reinstalled your application and I am no longer able to reproduce the issue. Were you able to make adjustments to Curl to correct the problem that was impacting you?
Thanks,
Louis Shanks
AppCompat.