问题标签 [panic]

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.

0 投票
1 回答
123 浏览

macos - Mac内核恐慌-gutenprint.5.2

最近我的笔记本电脑每隔几天就会出现一次内核恐慌。我找不到某个让它发生的程序,或者我执行的某个任务。

我读到您可以在 .crash 报告中查找可能的原因。所以这是我找到的一个的一部分。

我想知道gutenprint.5.2 是否可能是内核崩溃的原因。如果是这样,我应该删除它吗?安装更新?

谢谢!

0 投票
1 回答
215 浏览

c - mtdoops.c 中的 find_next_position() 函数

我试图了解 mtdoops.c 文件的功能。

MTD 设备分区被视为用于存储内核 oops 消息的循环缓冲区。

在编写任何新的内核 oops 消息之前,我们正在使用以下函数检查 mtd 分区中的空闲页面。

下面是 find_next_position 函数的函数代码。

}

在这里,我们循环遍历 mtd 分区中的所有可用页面。

cxt->oops_pages = (mtd 设备分区大小) / 记录大小,其中记录大小为 4096。

从代码中我们可以了解到,MTD 头信息和魔术指针信息存储在每页的前 16 位中。

请帮助了解此功能的功能。

1) 无法理解 0xffffffff、0x40000000、0xc0000000 等硬编码。

2)所有 if/else 条件都分配了相同的值。为什么只检查那些值?

3) 无法获得有关 MTD_HEADER 格式的足够信息。

mtdoops.c 的完整源代码可以在下面找到。

http://lxr.free-electrons.com/source/drivers/mtd/mtdoops.c

如果任何与 mtdoops 相关的文档链接可以提供很大帮助。提前致谢。

0 投票
1 回答
84 浏览

google-app-engine - 是否可以在 Google App Engine 上使用 Go 设置默认错误页面

我以前使用过 J2EE,可以将此配置添加到web.xml

上面代码的效果是,如果抛出了一个未处理的异常,它会被传递给/error页面,并显示给用户。

当我的 Go web 应用程序在 Google App Engine 上出现恐慌时,有没有办法做类似的事情?

0 投票
1 回答
1274 浏览

go - Golang etcd 观察者恐慌

全部!

我有下面的代码:

但是......当某个节点(例如 172.20.20.11)出现故障时,恐慌会抱怨无效的内存地址或 nil 指针取消引用......

有人可以解释一下发生了什么以及如何使这个简单的示例正常工作吗?非常感谢您的建议!亚历克斯

0 投票
0 回答
688 浏览

linux-kernel - 如何在抢占式内核中生成软锁定?

我已CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC在内核配置中启用,现在我想测试这种行为,即内核在软锁定的情况下应该恐慌,

为了尝试这个,我创建了一个模块,

使用此 CPU 0 正忙于处理任务并报告 ~99.9% 的使用率top

但它不会产生软锁定。

所以,我的问题是我怎样才能做到这一点?

0 投票
1 回答
1356 浏览

file - Golang 羊群文件锁定引发恐慌:运行时错误:无效的内存地址或 nil 指针取消引用

我有一个修改我的配置文件的 go 程序。我正在尝试从 main() 函数中创建一个文件锁,但它抛出了一个panic: runtime error: invalid memory address or nil pointer dereference错误。没有锁,程序可以按预期正常工作。抛出异常的代码是

//这是在一个单独的包中

当我在我的配置文件上调用它时,这同样flock有效,但来自不同的包,而不是主包,但是当我尝试从主包中放置锁时会抛出相同的错误。请帮助我找出我在这里做错了什么。

0 投票
3 回答
13185 浏览

logging - 在 golang 中捕获 panic()

我们有一个使用记录器(实际上是自定义记录器)的大型 golang 应用程序,将输出写入定期轮换的日志文件。

但是,当应用程序崩溃或 panic() 时,这些消息会进入标准错误。

有没有办法覆盖恐慌功能来使用我们的记录器?

0 投票
1 回答
1676 浏览

kernel - 内核恐慌 - 不同步:openstack vm 中断中的致命异常

错误快照我在一个 ubuntu 服务器中设置了 openstack,并在 openstack 中分配了几个 vm。随机一些虚拟机因错误而恐慌(见下文)。任何人都可以提供一些建议吗?谢谢

内核恐慌 - 不同步:中断 build_skb 中的致命异常 __netdev_alloc_skb page_to_skb kvm_clock_get_cycles virtnet_poll net_rx_action __do_softirq irq_exit do_irq common_interrupt native_safe_halt default_idle arch_cpu_idle cpu_startup_entry start_secondary

0 投票
3 回答
2794 浏览

go - 我可以从恐慌中恢复,处理错误,然后再次恐慌并保留原始堆栈跟踪吗?

是否可以“重新抛出”错误recover并保留原始堆栈跟踪?我所知道的最好的办法就是再次恐慌,但这确实会创建一个新的堆栈跟踪。

我想要这个的动机是,除非我的函数正常退出或handleError运行,否则我的程序会死锁。除非我保留原始轨迹,否则我不知道它在哪里坠毁。

0 投票
1 回答
27397 浏览

go - 为什么 Go 在写入封闭通道时会感到恐慌?

为什么 Go 在写入封闭通道时会感到恐慌?

虽然可以使用value, ok := <-channel习语从通道中读取数据,因此可以测试 ok 结果是否命中关闭的通道:

输出:

在Playground上运行“从封闭通道读取”

写入可能关闭的通道更加复杂,因为如果您只是在通道关闭时尝试写入,Go 会恐慌:

输出:

在Playground上运行“写入封闭频道”

据我所知,没有更简单的习惯用法可以在不惊慌的情况下写入可能关闭的频道。为什么不?读写之间这种不对称行为背后的原因是什么?