问题标签 [hung]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 用 c# .NET 4 vs2010 编写的 windows 服务将不会安装在 Server 2008 R2 Enterprise 上
我编写了许多版本的 Windows 服务并将它们安装在运行 Server 2008 R2 Enterprise 的 32 GB 的 64 位系统上。
我使用以下配方创建服务:http:
//msdn.microsoft.com/en-us/zt39148a.aspx
“演练:在组件设计器中创建 Windows 服务应用程序”
我在我的 Win 7 笔记本电脑(c#、vs2010 SP1、.NET 4)上创建了.msi和相应的setup.exe 。
正常行为
在我的笔记本电脑上测试 Windows 服务后,我将 .msi 和 setup.exe 复制到 win2008 R2 Enterprise 服务器上的文件夹(通过远程桌面使用复制和粘贴);我使用服务器的控制面板进行卸载,右键单击 .msi 并选择安装,然后浏览安装向导。没问题。大部分时间都在工作。
异常行为
安装可能运行 15 分钟或更长时间;它永远不会结束;最终一个对话框指出
“(?)安装程序不再响应。”
带有 [重试] 或 [取消] 选项。
此时,进度条可能很短,并且在最左侧,“请稍候...”的“P”下方。
单击重试没有帮助。自从我单击重试以来已经超过 30 分钟并且还在计数,并且进度条甚至没有前进一个像素。
更多信息
(a) 服务安装在另一台服务器上没有任何问题,Win 2008 R2 网络版。
(b) 如上所述,Windows 服务在我的 Win 7 开发和测试环境中安装并正常运行。
历史/推测
几周前,我无法从 win 2008 R2 Enterprise 服务器安装服务。我无法在控制面板/卸载中找到它,即使 .msi 声称它已安装并且该服务也继续出现在 services.msc 控制台中。即使禁用该服务也无济于事。出于这个原因,我克隆了代码,稍微更改了服务名称,并成功安装了该服务,该服务已经运行了一段时间而没有出现问题。
今天,发生了类似的事件,唯一的区别是我可以在控制面板卸载中看到该服务。因为它不会卸载,所以我尝试了相同的克隆技巧,但这次失败了。
下一步:使用上面的演练,我创建了一个什么都不做的 Windows 服务,并通过将我的客户端类从原始 c# 项目文件中导入它来使其变得有用。
从头开始重新构建的Windows服务在我的笔记本电脑上按设计工作,但拒绝安装在 R2 Enterprise 服务器上。
有任何想法吗?
谢谢,麻烦您了。
PS:我在so上发布了这个,因为恕我直言,开发人员在将她/他的代码交给系统管理员之前可能会遇到一些事情。
顺便说一句,我找不到任何相关的东西;同上通过谷歌。
hadoop - Hadoop reduce 任务挂起
我建立了一个有 4 个节点的 hadoop 集群,当运行 map-reduce 任务时,map 任务很快完成,而 reduce 任务挂起 27%。我检查了日志,这是reduce任务无法从地图节点获取地图输出。
master 的作业跟踪器日志显示如下消息:
master 的名称节点日志显示如下消息:
但是,“web30.bbn.com.cn”或202.106.199.39、202.106.199.3都不是从节点。我认为出现这样的 ip/domains 是因为 hadoop 无法解析节点(首先在 Intranet DNS 服务器中),然后它转到更高级别的 DNS 服务器,后来到顶部,仍然失败,然后是“垃圾”ip/domains被退回。
但是我检查了我的配置,它是这样的:
conf/core-site.xml:
hdfs-site.xml:
大师:
奴隶:
此外,所有防火墙(iptables)都已关闭,并且每个 2 个节点之间的 ssh 都可以。所以我不知道错误的确切来源。请帮忙。非常感谢。
sftp - JSch session.connect() 与 CoreFTP 挂起
我为 localhost 和下一个代码配置了 CoreFTP:
当程序达到时connect()
,控制台输出会出现两条消息:
......没有更多的事情发生。几分钟后,connection is closed by foreign host
出现异常。
为什么?
谢谢大家!
powershell - 在 Start-Job 脚本块中远程 Get-WmiObject 调用失败
好吧,我试图弄清楚这一点,但认为是时候询问互联网了。我想知道这是一个错误还是什么。
我正在尝试针对多台计算机启动作业,以确定哪些数据库名称驻留在它们上。
我的电脑1 系统设置为:Powershell 2.0、Windows 2k3 Enterprise x64
在 Computer1 上,我可以运行:
并且工作将永远停留在“运行”状态。但如果我在 shell 的作业脚本块之外运行相同的命令,则不会。
我在这里使用本地管理员(与我的域)凭据尝试了这种精确的设置,但结果相同。由于某种原因,它对我不起作用。
我尝试构建一个不使用 gwmi 的自定义 WMI dotnet 对象,但我得到了相同的结果!
-asjob 参数?:这不是解决方案。
使用此参数时,powershell 窗口在 12GB 系统上使用大约 2GB 内存时崩溃;而我可以毫无问题地使用 start-job 到 12GB。我不妨以串行方式运行每个查询。
此外,在 Gwmi 上使用 -Asjob 参数时永远不会回收内存,因此无法继续执行其他作业;即使在运行“remove-job * -force”或“[GC]::Collect()”之后,powershell.exe 的内存消耗仍然保持不变(再次与 start-job 不同)。
由于 SQL 实例名称不同,wmi 类名称也不同。所以我需要对多个类运行多个查询命令。虽然在技术上是可行的,但它更复杂,并且考虑到上述内存要求,限制为 2gb。我希望有人会知道如何让开始工作像它应该的那样工作。
所以我唯一没有尝试过的可能是我必须指定权限参数?
php - 如何检测 PHP CLI 脚本处于挂起状态
我正在使用主管(http://supervisord.org/)来守护一个相当标准的 PHP 脚本。该脚本的结构类似于:
今天,这个脚本(已经相当稳定一段时间了)挂了。它没有崩溃(即发出 SIGHUP 或 SIGTERM 信号),这会提醒 supervisord 重新启动进程。它在处理过程中没有遇到任何错误,这些错误要么被脚本捕获,要么至少触发了致命错误并退出。而不是这些“可捕获”的场景,它只是坐在那里。我们确实有一个 cron 作业设置,每小时运行一次,以通过 supervisorctl 钩子重新启动脚本,因为似乎普遍认为 PHP 脚本在内存方面存在泄漏,如果运行时间很长,最好重新启动。该脚本在重新启动后正常恢复操作。
我的问题:如何检测到该脚本已挂起?如果我没有以某种方式提醒我该状态,我什至无法开始诊断或解决它为什么挂起的问题。我正在寻找解决此问题的软件解决方案,或者我可以采用某种方法自行编写解决方案(在 PHP、Python、perl 或 shell 中)。
该脚本是用 PHP 5.2.6 编写的,并在最新的 RHEL 5 服务器上运行。
请让我知道我是否可以分享任何其他信息,如果它有助于提供更棒的解决方案。
谢谢!
沙希布·R。
java - 使用 ExecutorService 执行异步任务时的问题
我之前问过一个关于 ExecutorService 和 Apache Velocity 初始化的问题。快速回顾一下——我有一个 Java EE 前端,它接受用户请求,然后对于这些请求中的每一个,使用 ExecutorService(SingleThreadedExecutor 设置为守护进程)来启动一个冗长的工作流程。这个工作流程包含在一个库中并且可以工作通过eclipse以独立模式运行时,正如预期的那样。当从网站(servlet)调用时,我观察到工作流一直挂在 Velocity Engine 正在初始化的点(Velocity.init() 或 ve.init())。因此,我前面提到的问题。
当所有答案/建议都不起作用时,我推断这与 Velocity 的启动方式有关,并决定转向 FreeMarker。现在我看到 FreeMarker 实现的工作流也挂在了完全相同的位置。这个“地方”是邮件构建部分,它根据一组传递的数据对象评估模板并返回邮件字符串。调用 Freemark 类和 FreeMark 类的类如下 -
FreeMarkIT 类如下——
现在,从我的日志来看,工作线程似乎挂在了线上
config=new Configuration()
同样,这在从 Eclipse 运行时在独立模式下按预期工作,但在使用 ExecutorService 从 servlet 调用时挂起。
我开始思考/意识到这可能与 Velocity 或 FreeMarker 无关,而与 ExecutorService 有关。任何意见或建议都会有很大帮助。
谢谢
delphi - 在等待 DataSnap 时更新客户端 UI
TSQLConnection
我在 Delphi XE2 中创建了一个 MDI Delphi 应用程序,它通过组件 ( driver = datasnap
)连接到 DataSnap 服务器。在设计时右键单击TSQLConnection
可让我生成 DataSnap 客户端类 (ProxyMethods)。
我的目标是在客户端有一个经过的时钟 [0:00],它显示 DataSnap 请求需要多长时间才能提供服务,每 1 秒更新一次。我尝试过但不起作用的两种方法是:
方法#1
TTimer
在执行 ProxyMethod 时使用1 秒间隔更新经过的时间时钟。我在调用 ProxyMethod 之前启用了计时器。当 ProxyMethod 运行时,OnTimer
事件不会触发——代码中的断点永远不会被命中。
方法#2
与方法 #1 相同,除了计时器是
TJvThreadTimer
. 当 ProxyMethod 运行时,该OnTimer
事件会触发,但OnTimer
直到 ProxyMethod 完成后代码才会执行。这很明显,因为OnEvent
在 ProxyMethod 完成后,代码中的断点会迅速连续命中——就像OnTimer
事件都已在主 VCL 线程中排队一样。
此外,在运行缓慢的 ProxyMethod 时单击客户端应用程序上的任意位置会使应用程序看起来被挂起(标题栏中出现“未响应”)。
我认为最好的解决方案是将 ProxyMethods 的执行移至单独的线程。但是,必须有一个现有的解决方案——因为相关的挂起应用程序问题似乎是一个常见的投诉。我只是找不到解决方案。
任何建议表示赞赏。否则,我将辞职,将 ProxyMethod 执行移到单独的线程中。
c++ - 为什么从 write() 调用 __kernel_vsyscall() 永远不会返回?
我的 C++ 程序挂起,我将它附加到调试器并找到了这个堆栈跟踪,第 0 帧永远不会完成。这里出现问题的可能问题是什么?如果我可以收集更多信息,我仍然可以在调试器中使用它。还有其他线程。
第 10 帧源代码为:
该代码正在尝试打印堆栈跟踪。
process - Autohotkey 杀死挂起的进程
我发现了一种查找挂起进程的方法,但无论我使用什么方法,我似乎都无法杀死它:
现在,程序发现进程挂起并运行文件,但不会关闭。我也尝试过 WinClose - 没有运气。想法?
c# - 使用 windbg 检测挂起的 C# 应用程序中的死锁
我在 C# 2.0 中使用线程池的多线程应用程序每隔几周就会在 prod 中挂起。
我做了一个同步块
我删除了数百行如下所示:
持有 979 个监视器的线程正在锁定一个数组列表,但所有其他正在等待的线程都在尝试获取不同对象上的 readerlock。
我确实知道所有读取器线程都试图获取哪个锁,但我不知道谁持有该锁。我怎么发现?
MonitorHeld = 1 的所有线程都具有类似的 clrstack 和 dso 输出。这是持有 979 个锁 (id = 45) 和等待读取器线程 (id = 290) 的线程的 dso 和 clrstack 输出。同样,当我执行 ~* e !clrstack 时,Monitor.Enter 的所有线程都具有与以下 2 个线程上的 clrstack 相同的堆栈