前言
在接近三年后,我的博客又开张了(也不知道开多久)。之前一年半主要在 CSDN 上发布一些经验,最近想起来还有博客,于是准备多平台同步了(后期还考虑知乎专栏)。本文简单记录一些重新开张过程的琐事。Vercel 似乎被 ban 了有点难受。
昨天远程连接服务器,临走之前关闭了 Jupyter Lab,没想到似乎没有关闭成功,今天看到 Jupyter Lab 处于一个尴尬的状态,占据端口,却又不工作。CTRL+C,只显示:
1 | ^C[C 2021-10-28 03:08:47.593 ServerApp] received signal 2, stopping |
用 CTRL+Z,挂起进程,然后 jobs 查看进程号,然后 kill。得到输出:
1 | [C 2021-10-28 03:06:56.445 ServerApp] received signal 15, stopping |
Orz… CTRL-C 退出不了,Kill 也杀不掉,似乎是程序内部在结束时陷入了死循环,能收到外部信号,却不会执行结束相关的函数……
最近在用 Android 下的 MediaPlayer 发出声音,然而发现不知道为什么 8 秒的音频每次两三秒就自动结束了,Log 上还记录有 Warning:Failed to call close. 之类的,可是难以确定是哪里关闭的 Mediaplayer,因为代码的主体是 Fork 的他人的项目。
在 https://blog.csdn.net/weixin_39644713/article/details/117602300 找到了原因:错误的将 MediaPlayer 对象的引用放到 OnCreate 函数中了,OnCreate 函数结束后,该对象的引用就被释放,于是 MediaPlayer就成了垃圾被清理了……
很好理解问题出在哪,但是真的想不到啊
最近在尝试编译运行一个上古项目 https://github.com/bewantbe/audio-analyzer-for-android ,打开界面猛然发现曾经用过,然而是不知道被转手几次的广告版,下载好代码,还是老项目的日常 bug,各种 deprecated. 一键 refactor 到 Androidx 后,还是出 bug,也就是题目提到的 Read timed out
,有趣的是,不同于其他的 bug ,该 bug 没有任何修复提示。
搜索后可以知道主要原因是 gradle 库下载超时。更换 gradle 源到国内(阿里镜像)即可。