【BUG记录】TypeError: 'bool' object is not iterable
Traceback (most recent call last):File "/www/server/panel/BTPanel/__init__.py", line 1762, in publicObject return run_exec().run(toObject, defs, get)File "/www/server/panel/BTPanel/__init__.py", line 1710, in run result = getattr(toObject,get.action)(get)File "class/panelProjectController.py", line 76, in model result = run_object(pdata)File "/www/server/panel/class/projectModel/nodejsModel.py", line 1353, in stop_project if pids: self.kill_pids(pids=pids)File "/www/server/panel/class/projectModel/nodejsModel.py", line 1171, in kill_pids pids = sorted(pids,reverse=True)TypeError: 'bool' object is not iterable您好,您这个是node项目内操作停止时报错的吗?还是做了什么操作提示错误信息 node 项目停止和删除都会报这个错 流年时光岁月 发表于 2022-3-4 21:41
node 项目停止和删除都会报这个错
经过测试,并未复现此问题;
可以尝试自助修复,删除面板依赖的python,然后执行修复命令,修复不会影响现有数据
rm -rf /www/server/panel/pyenv
curl http://download.bt.cn/install/update_panel.sh|bash 堡塔安全赤井秀一 发表于 2022-3-4 22:58
经过测试,并未复现此问题;
可以尝试自助修复,删除面板依赖的python,然后执行修复命令,修复不会影响 ...
发现了同样的问题 7.9.0 lrvinye 发表于 2022-3-24 11:07
发现了同样的问题 7.9.0
按照楼上的方法重新下载python环境试试 本帖最后由 lrvinye 于 2022-3-24 11:47 编辑
lrvinye 发表于 2022-3-24 11:07
发现了同样的问题 7.9.0
7.9.0 版本 出现此错误
已找到BUG,请BT官方及时处理
在 /www/server/panel/class/projectModel/nodejsModel.py 文件中
1159行
应该返回 all_pids 参数而 不是 True
修改为如下代码后修复此错误
def get_project_state_by_cwd(self,project_name):
'''
@name 通过cwd获取项目状态
@author hwliang<2022-01-17>
@param project_name<string> 项目名称
@return bool or list
'''
project_find = self.get_project_find(project_name)
self._pids = psutil.pids()
if not project_find: return []
all_pids = []
for i in self._pids:
try:
p = psutil.Process(i)
if p.cwd() == project_find['path']:
pname = p.name()
if pname in ['node','npm','pm2','yarn'] or pname.find('node ') == 0:
cmdline = ','.join(p.cmdline())
if cmdline.find('God Daemon') != -1:continue
env_list = p.environ()
if 'name' in env_list:
if not env_list['name'] == project_name: continue
if 'NODE_PROJECT_NAME' in env_list:
if not env_list['NODE_PROJECT_NAME'] == project_name: continue
all_pids.append(i)
except: continue
if all_pids:
pid_file = "{}/{}.pid".format(self._node_pid_path,project_name)
public.writeFile(pid_file,str(all_pids))
return all_pids
return False
但是停止项目后,任然会自动重新启动
堡塔安全赤井秀一 发表于 2022-3-24 11:08
按照楼上的方法重新下载python环境试试
7.9.0 版本 出现此错误
已找到BUG,请BT官方及时处理
在 /www/server/panel/class/projectModel/nodejsModel.py 文件中
1159行
应该返回 all_pids 参数而 不是 True
修改为如下代码后修复此错误
但是停止项目后,任然会自动重新启动
def get_project_state_by_cwd(self,project_name):
'''
@name 通过cwd获取项目状态
@author hwliang<2022-01-17>
@param project_name<string> 项目名称
@return bool or list
'''
project_find = self.get_project_find(project_name)
self._pids = psutil.pids()
if not project_find: return []
all_pids = []
for i in self._pids:
try:
p = psutil.Process(i)
if p.cwd() == project_find['path']:
pname = p.name()
if pname in ['node','npm','pm2','yarn'] or pname.find('node ') == 0:
cmdline = ','.join(p.cmdline())
if cmdline.find('God Daemon') != -1:continue
env_list = p.environ()
if 'name' in env_list:
if not env_list['name'] == project_name: continue
if 'NODE_PROJECT_NAME' in env_list:
if not env_list['NODE_PROJECT_NAME'] == project_name: continue
all_pids.append(i)
except: continue
if all_pids:
pid_file = "{}/{}.pid".format(self._node_pid_path,project_name)
public.writeFile(pid_file,str(all_pids))
return all_pids
return False
lrvinye 发表于 2022-3-24 12:08
7.9.0 版本 出现此错误
已找到BUG,请BT官方及时处理
非常感谢您的反馈,我们核对下
你好,此问题已经修复,请前往首页--右上角点击修复面板;宝塔币已经发送到论坛绑定的手机号中 9.2.0也会出现
页:
[1]