血案专题

一行超长日志引发的 “血案” - Containerd 频繁 OOM 背后的真相

案发现场:混沌初现 2024年6月10日,本应是平静的一天。但从上午 9 点开始,Sealos 公有云的运维监控告警就开始不停地响。北京可用区服务器节点突然出现大量 “not ready” 告警,紧接着,系统自动触发 004 节点重启,让服务暂时恢复了正常。 就在我以为这只是个小插曲的时候,7分钟后,广州可用区服务器也沦陷了!001 节点不得不重启以求自保。事情似乎并没有那么简单。 “发

一封邮件引发的血案——对自己问题的思考

暑假的时候,给老师发了个邮件,是关于为什么没把视频带回家给家长看的。由于之前新装过系统,Foxmail也是新装的,把联系人导入了一下,就开始用了,这样问题就出现了:发给老师的邮件,老师只能看到我的账号,而不是我的名字。好吧,结果大家都懂的。。于是,老师就一针见血的指出了我的问题,真的很佩服老师,通过现象看本质,一下子便看出了我的问题所在——不具有积极主动性。这的确也是我自

一个由PROGUARD与FASTJSON引起的血案

一个由PROGUARD与FASTJSON引起的血案 更多内容请看这里: https://ahangchen.gitbooks.io/windy-afternoon/content/ 更新微信sdk导致ComposeData中的内部类ComposeDataSender方法被混淆 根本原因,fastjson使用姿势不对。 问题描述: 一个发件人列表里,应当呈现的数据(这里命名为Compos

crontab 的% 而引发的血案

使用linux crontab 设定了一些任务,但却发现没有执行。。。。 各种找原因,依次排除如下可能: 1、crond服务没有启动;【排除】--进程存在 2、cron任务没有执行;【排除】--增加了一个最简单的任务 * * * * * echo "hello word" >> /tmp/cron_run.log 3、任务有bug;【排除】手动执行,可以获得正确的结果

ExecutorService引发的血案(三)ThreadPoolExecutor

前面我们提到了ExecutorService结构中的一个工厂类,Executors。这个类提供了一系列构造ExecutorService实例的方法。 这些方法的核心就是两个类,分别是 ThreadPoolExecutor 和 ScheduledThreadPoolExecutor 类。(当然还有别的类,比较常用的就是这两个) 今天介绍的就是 ThreadPoolExecutor。 简介 这

ExecutorService引发的血案(二)ExecutorService使用

上一节中讲到了ExecutorService中有一些管理Thread的方法 execute(Runnable)submit(Runnable)submit(Callable)invokeAny(...)invokeAll(...) execute(Runnable) 这个方法使用的参数是 java.lang.Runnable 包中的对象,调用这个方法之后将会异步执行runnable。

ExecutorService引发的血案(一)结构

最近使用了github上面的一个多线程下载的库 MultiThreadDownloader,发现挺好用。于是打开看了一下源码,发现了ExecutorService这个东西。之前多多少少接触到了这个东西,知道是java并发编程里面使用的,但是一直不是很了解所以花点时间看了一下。 下面这张图,就是ExecutorService的结构图 (ScheduledThreadPoolExecutor稍

strpos与“===”引发的“血案”

一、问题描述 1、需求:扫描参数二维码时,要执行scanMsg方法 2、因为strpos使用不当,导致本要执行sanMsg()方法,变成执行了subscribeMsg(); 问题代码:   正确代码: 二、解决问题 strpos()函数,查找字符串在另一字符串中第一次出现的位置,位置从0开始,有匹配时返回位置index,无匹配时返回false; 如下代码: 在“qrsce

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 引发的血案

故事背景 今天在跑项目(SpringBoot+mybatis)时,当通过service调用DAO时,系统抛出了异常: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 很奇怪的异常,异常堆栈也没有关键的信息。从这句话大概的分析可以知道原因是:mybatis的Mapper接口不能

Android shrinkResources true 引发的血案

Android shrinkResources true 引发的血案 今天在众测我的App,发现我在代码里面动态调去取之前的图片资源时 一直报 Resources$NotFoundException: Resource ID #0x4 异常 。 但是我在正常debug情况下却没有这个问题 STEPS TO REPRODUCE:1. Create a dummy app th

SpringMVC Controller 层没有使用 @ResponseBody 注解引发的血案(api访问404)

问题现象: 项目组的一个同事发现在请求该接口时候,总是报 404 错误,又找不到错误日志,一时之间不知道该如何去着手解决问题,我帮他排查问题的时候,发现该接口两次经过拦截器的 preHandle 方法,并且通过 debug 断点调试发现,两次请求的路径不一样,这一下我也不知道该如何解决该问题了,现象如下: 现象复现测试代码,非原代码(原代码不宜公开): @Controller@Reques

一个斜杠引起的血案

别名 spring boot 问题一则 项目中使用spring boot框架,需要使用外部配置,使用spring.config.location配置来进行目录设置,未设置具体文件。 具体脚本如下: #!/bin/bashBEH_HOME=$(cd `dirname $0`/..;pwd)echo "$BEH_HOME"JAVA_OPTS="-server -Xms512m -Xm

关于一条‘/‘引发的‘血案’(jar包上线视图解析器错误)

今天上线一个springboot项目的时候,直接在IDEA运行项目是正常的,但是在打包完成后访问index页面没什么问题,但是进行视图跳转的时候报了500错误?????,控制台报错: org.thymeleaf.exceptions.TemplateInputException 后面发现是在进行视图跳转的controller中的返回值习惯性写成了/xxx,后面改成xxx就正常了。

【踩坑】异常捕获的时机不正确,引发的惨痛血案

在做业务的时候犯了一个低级错误,由于异常的捕获方式没对,导致出现了一个线上偶现崩溃 来看看问题复现的demo代码 /*** 这是一个view的扩展kotlin方法*/private inline fun View.loadIcon() {thread {try {//捕获异常post {//这个地方实际上发生了线程切换,这里嵌套比较浅,容易发现,但是如果嵌套很深就很难发现了throw Nu

一段代码引发血案(查看你的杀毒软件灵敏度)

一段代码引发血案(查看你的杀毒软件灵敏度) 前言:标题纯属好玩。如有雷同,纯属抄我!不过这段代码还是值得大家一试!看看你的杀毒软件能不能干吧!    鸣谢欧洲计算机防病毒协会提供本测试病毒代码。本代码尽管测试,无任何危险。测试代码:---------------------请复制下面的代码到文本中保存-------------------X5O!P%@AP[4/PZX54(P^)7CC)7}$E

Jsch版本升级引发的血案

背景 我们项目需要通过SFTP对接大量上下游获取数据,但是由于某一个上游需要更换AWS Transfer Family作为他们的SFTP服务,他们的SFTP服务使用更高版本的OpenSSH服务,原有的一些密钥算法已经不再支持,我们目前使用的Jcraft公司发布的Jsch版本已经没办法满足,需要进行升级。但是Jcraft公司的Jsch0.1.55版本从2018年开始就停止维护,我们不得不升级到另一

《JAVA代码审计》(1)JAXB血案之 XML外部实体注入漏洞(XXE)

1.漏洞描述 XML外部实体注入漏洞,即XXE(XML External Entity),此漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起dos攻击等危害。 2.JAXB是什么? JAXB实现了java对象与xml之间的转换,使用的注解主要有: (1)@XmlRootElement:用于类级别的注

四个dll文件引发的“血案”——调用DLL中的函数

喵哥项目的合作公司最近给喵哥出了个难题——项目中激光雷达的模块是公司一个工程师负责的,工程师比较务实,在网上一个VB.NET代码的基础修改了一些细节,就交差了,的确可以用,但是最近工程师退出了这个项目,boss打算让喵哥接手这个模块,喵哥很慌,但还是硬着头皮上了。 面临的问题 1.一个用VB.NET(我不熟悉的语言)编写的程序;         因此我打算把它改写成VC++的形式 2.只有四

CI/CD平台,部署中空格引发的两个血案

1. 前端static部署             微服务前端js,编译打包成的tar包,在部署阶段,需要解压缩到与这个微服务对应的location,这个过程分别在流水线的“代码打包”和“部署”这两个阶段完成。      代码打包:              通过下面的命令完成:                  cd xxx-yyy && yarn --update-checksums

一个“Sprng轮子”引发的“血案”(3)

在“Spring轮子”丢出来以后,本人接着写了几篇针对Spring新手的教程式文章,分别用三种MVC框架来实现同一个添删改查的例子。文章标题如下,玩玩Spring之struts+hibernate+spring添删改查示例(一),玩玩Spring之hibernate+ webwork+ spring添删改查示例,玩玩Spring之八卦MVC框架与 “中庸”之道。作为一名有了6年工作经

一个“Spring轮子”引发的“血案”(5)

《80前》一文,前面说了引出前面两种不那么高明的“春迷”用一种小孩子都能选择正确与错误的语言及方式来攻击我与所在的EasyJF开源团队。如果说前面这种“春迷”有的可能是“伪春迷”并只凭满腔热情的爆发,一不小心丢了“春迷”的脸的话,那么对于下面的这些真正的“春迷”所发出反对EasyJF开源团队的人,可谓是手段高明得多。  这就是第三类人,他们也非常反对EasyJF,只不过他们不那么露骨而已

Ubuntu16.4 上一条命令引发的血案

sudo apt-get remove python3.5 就是它! 因为Ubuntu系统上默认自带python2.7和python3.5,而且系统很多应用都是基于它编码的,所以删除会导致系统崩溃。本人在它删除一半的时候及时ctrl+z制止住了,但是还是没能挽回像gedit和apt-get等命令的消失。痛定思痛,现在最好不要动你的桌面,不要关闭任何窗口,甚至重启系统,比如终端现在都暂时还可以使

力荐:一条update语句引发的“血案”

有一次得到应用同学的反馈,有一个前端应用登录很慢,已经开始影响业务登录了,稍后DBA介入,发现是由于CPU使用率过高导致,为了能够缓解问题和进一步分析,做了一些改进措施,最后问题得到了化解,但是对于这个问题后续也进行了更多的分析,也算是事后诸葛亮吧。   整个分享的思路如下: 问题背景 提出疑问 问题的对比测试 问题的验证 问题总结       问题背景     查看慢日志的情况如下:

delete in (select) 引起的血案!!!oracle与mysql都存在

author:石鲁坤 今天在数据库技术群中,有人提出在select id from a where id in (select id from b ) 中如果b表中没有id字段子查询报错,就会查询 a全表,我使用scott用户测试后,发现果真如此,同时测试delete in (select)的情况会怎么,后果非常严重,可能造成全表被删!!! 过程如下: 版本最主流的11.2.0.4

一个ConcurrentModificationException引发的血案

这个错误时比较常见的,今天我们源码分析下里边的机制,这个是我们在遍历list或map时经常会看到这样的错误java.util.ConcurrentModificationException:at java.util.HashMap$HashIterator.nextNode(HashMap.java:1437) 这个场景一般是我们是我循环遍历,根据某个条件来移除这个list或map中的对象 我

业内同行盆友来稿:对libc.so下毒手引发的惨痛血案,围观大型翻车现场...

写在开篇 为了在线上安装环境依赖,给glibc库升级,由于线上环境libc.so版本低,不支持安装,所以手贱把动态库中的libc.so.6给移走了,直接导致Linux系统崩溃,系统瘫痪,所有用户均被强制退出。 意识到缺少对libc.so的认识,以为跟普通的lib包类似,直接把新版的so软连过去就可以满足安装和升级,现在哦豁… 软链不软链已经不重要了,反正腿是软趴趴的。 1、什么是libc