前言 今天,我们要揭晓一个 FineUI 隐藏最深的一个BUG,这个问题从 2014-07-30 发布 FineUIPro v1.0.0 就一直存在,直到最新于 2020-01-10 发布的 v6.1.1版本依然存在,之所以一直没有被提上台面,是因为这个BUG的重现场景比较少,特别是现在网络速度越来越快的情况下. 提出问题 这个问题分别由中山市的一个企业客户和美国的一个企业客户独立发现,我们先来看下中山市客户的提问: 发现一个小问题,就是当我打开一个有表格的页面时,表格还没加载完成,我切换别的页…
怎样才能提交一个让开发人员拍手叫好的bug单 软件测试人员写得最多的文档就是测试用例和BUG,现在测试用例和BUG都没有标准的模板,每个公司使用的缺陷管理工具都有可能不一样,如果你换了一家公司就有可能接触到新的缺陷管理工具,但提交bug的方式却是大同小异,今天这篇文章主要讲解怎样才能提交一个高质量的BUG单. 目录 为什么要提交BUG单 缺陷管理工具 编写高质量的BUG单 为什么要提交BUG单 其实要提交BUG单的原因很简单,就是在测试过程中程序中出错了,那么测试人员就要提交BUG单,以便开发人…
今天,分享一个JDK中令人惊讶的BUG,这个BUG的神奇之处在于,复现它的用例太简单了,人肉眼就能回答的问题,JDK中却存在了十几年.经过测试,我们发现从JDK8到14都存在这个问题. 大家可以在自己的开发平台上试试这段代码: public class Hello {      public void test() {          int  i = 8;          while  ((i -= 3) > 0);          System.out.println("i = …
当前,绝大部分招聘都有性能要求或者把其作为加分项(会性能优先),哪怕你不是面试的性能,面试的时候可能会问性能,所以大家才会有"面试造火箭,进去拧螺丝"的共鸣.至于企业为什么重视性能,想必大家都知道,这里就不再赘述.性能分前端性能和服务端性能,需要的知识范畴也比较广,比如,后端性能需要的:linux.nginx.dubbo.mysql.redis.mq.jvm.java.jmeter或loadrunner等等主流的,后续也都将逐一分享这些知识.想必很多人的简历也都是匹配着招聘要求去写的吧…
bug Windows有一个bug,持续了十多年,从Windows Visita开始(2007年),一直存在,直到Windows11(2021年)才修复(其实也不叫修复,后面我再具体说),而Windows10还能重现这个bug,即便把系统更新到最新(2022年10月5日). 这个bug用语言来描述就是:使用Windows Explorer(资源管理器)的树形结构初次展开目录时,滚动条会发生不正确的滚动,使得展开的节点贴近了窗口底部的位置,而不是处于我们期待的顶部位置. 有些难懂?我录了一个视频来…
背景 在博客 恶心的0.5四舍五入问题 一文中看到一个关于 0.5 不能正确的四舍五入的问题.主要说的是 double 转换到 BigDecimal 后,进行四舍五入得不到正确的结果: public class BigDecimalTest { public static void main(String[] args){ double d = 301353.05; BigDecimal decimal = new BigDecimal(d); System.out.println(decima…
近期又一个项目反馈ORA-03113错误: 通信通道的文件结尾.(jdbc程序报出的错误是:无法从套接字读取更多的数据) 发送之前处理过类似问题的解决方法(http://www.cnblogs.com/zhaoguan_wang/p/6142481.html),但现场反馈问题依旧. 客户端错误信息如下: 异常信息(异常类型:System.Data.OracleClient.OracleException) 异常提示:Oracle数据执行异常,请联系管理员处理 异常信息:ORA-03113: 通信…
做侧滑删除网上有很多方案,比如重写Listview实现滑动的监听,今天说下一个SwipeListView,这个是之前一个朋友在网上开源的一个封装组件,能够适用于多种情况,项目地址:https://github.com/baoyongzhang/SwipeMenuListView,我也采用了拿来主义直接拿来用了. 但是在调试运行的滑动删除数据的时候,却出现了一个问题,删除位置错乱,删除的第一个数据,却删除了最后一个,于是找问题呗,我首先用listview试了下,数据是没有问题的,那么说明是删除的时…
一个生产环境,nginx占用cpu很高. top - :: up day, :, users, load average: 13.26, 13.20, 13.20 Tasks: total, running, sleeping, stopped, zombie Cpu(s): 21.3%us, 18.0%sy, 0.0%ni, 57.4%id, 0.0%wa, 0.0%hi, 3.3%si, 0.0%st Mem: 257556M total, 254371M used, 3184M free,…
这是今天下午帮同事查的一个客户端 C++ 的 bug,前人留下的谜之代码.. 具体情况是,客户端实现了有一个简单的内存池,每次申请内存的时候会把新申请到的内存信息存到一个 map 里,据说是为了检查内存泄漏. 大致是像下面这段代码 std::map<unsigned long, int> m; template<typename T> char* jnew(int count) { char* p = new char[sizeof(T) * count]; ) m[(unsign…
今天在编译一个C代码的时候,从别的编译ok的头文件中拷贝了一份在上面做修改,没想到修改好之后一直 无法调用这个头文件中的函数和变量.看了好久,才在预编译宏中找到了问题的根源.代码 如下所示: 头文件A: #ifndef __I2S_LOOP_TEST_H__ #define __I2S_LOOP_TEST_H__ #ifdef __cplusplus extern "C" { #endif ; #ifdef __cplusplus } #endif #endif 插入头文件B: #if…
工作中遇到的这个问题还是很有意思的.其中嵌套了很多奇葩性的问题. (转载请指明出于breaksoftware的csdn博客) 我们来看下故事的发生过程,QA同学发现我们存在如下的bug 看到如此多的串,可以认为这个是典型的溢出问题.后来我咨询解决该问题的同学,他说这个bug在debug模式下不会出现,只有在release下才会出现(这个意味着,该问题很有可能是内存问题引起的,因为debug和release的一个很大的区别就是内存初始化和布局).解决方案就是在筛选器后面加个\0. OPENFILE…
来自:微博@ruanyf, 一本书上说,下面的 C 语言代码可能会产生无限循环.看了半天,才意识到 Bug 在哪里. 完美解答: 数组下标越界.数组a总共有10个值,a[0]~a[9].for循环里面有执行到a[10],此时数组已越界,指向数组a外的下个地址. 而程序运行时分配内存空间,i可能分配到数组a的下一个地址,导致a[10]的地址与i的地址一致,在执行a[10]=0;时,便将i的值置为0,导致继续循环. 可用调试软件试试看,如 gdb,直接查看a[10] 和 i 的地址: (gdb) p…
代码量挺大的,逆起来有难度 功能挺全,啥都有 main函数 add函数,有heaparray并且无pie保护,考虑unlink show函数,可以泄漏地址用 edit函数,有两种edit方式 delete,找不到UAF洞 看了好久,都没找到漏洞,我是five,后来看到了师傅的博客,发现了漏洞点 在add里面没有对size是否小于等于0做检查,在read_input函数里面,有一个有符号整数和无符号整数的比较,漏洞就是二者会强制类型转换为无符号整数,然后size如果输入0的话,就会造成无穷堆溢出…
看代码相当简单直观,觉得怎么都不会出错,可运行结果明明就是错了 - 对着vim摸着脑袋就是想不出哪里有问题,可去掉新加的代码,就又可以了. 没办法,只好祭出杀手锏:一行一行注释掉来观察... 反映问题的代码段相当简单: if condition then local v = create_object(mpr) if condition2 then v.R = "fixedR" end return v.MP .. v.R end 被影响的是和v同类的一些object,可是这个代码里怎…
使用delphi的XML处理单元 XMLDoc XMLIntf 在获取XML文本内容的时候, 高版本的Delphi会丢失编码描述....在D7上却是正常的, 下面是测试源码: procedure TForm1.Button1Click(Sender: TObject); var nXMLDoc: IXMLDocument; i: Integer; nMS: TMemoryStream; nSS: TStringStream; nStr: string; begin nXMLDoc := TXML…
控制台Console抛出的异常: jquery.easyui.min.js:9148 Uncaught TypeError: Cannot read property 'options' of undefined at _664 (jquery.easyui.min.js:9148) at HTMLTableElement.<anonymous> (jquery.easyui.min.js:10989) at Function.each (jquery-1.8.2.min.js:2) at i…
#include <iostream> using namespace std; class A { public: A(int a) {}; A(const A&) = default; }; class B : public A{ public: B(int b) : A(b) {}; B(const A& a) : A(a){ cout << "B copy construction" << endl; }; //B(const…
背景:技术leader拿到一台超薄笔记本,系统标准化安装,笔记本一开机风扇嗡嗡响,键盘也开始发烫,资源占用排名前三的进程都是终端管理软件,一下子就找上门了.处理:进程分析发现异常,卸载入网小助手后恢复.原因:Devcon64.exe 是准入客户端用来获取U盘相关信息的检测进程,但由于未知原因,小助手频繁调用Devcon64.exe 进程去检测U盘信息. ​…
今天聊聊一个经典的布局实例: 实现一个三列布局,其中左侧和右侧的部分宽度固定,中间部分宽度随浏览器宽度的变化而自适应变化 可能很多朋友已经笑了,这玩意儿通过双飞翼布局就能轻松实现.不过,还请容我在双飞翼之外,循序渐进地介绍一下我们可以如何实现一个三列布局. 1. 首先,使用浮动布局来实现一下 See the Pen float-three-column by xal821792703 (@honoka) on CodePen. 左侧元素与右侧元素优先渲染,分别向左和向右浮动 中间元素在文档流的最…
0x00 前言 目前所在的团队实行敏捷开发已经有了一段时间了.敏捷开发中重要的一个话题便是如何对项目进行恰当的版本管理.项目从最初使用svn到之后的Git One Track策略再到现在的GitFlow策略,中间有经验也有教训,所以记录在本文,既是和各位朋友交流也供自己日后查阅. 0x01 基础:Unity项目如何做版本管理? 为什么更喜欢git? 初来项目组到时候,项目还在使用SVN作为版本管理的工具.作为一个不喜欢SVN的人,自然而然想到了换用git来做版本管理.这里当然并不是说svn不如g…
昨天刚参加完一个面试,通过了.写个随笔记录一下. 先介绍一下背景. 我是今年十月份的时候从某个培训机构的HTML5 Web前端培训班毕业的,是一个刚进入IT行业的新人. 本人毕业于某三流学校,在参加培训班之前,我已在校自学了很长一段时间的相关技术,主要是自己买书学习,然后就是逛逛技术博客啥的.因学历背景不够硬,再加上对自己的技术能力不够自信,便在某培训机构的美女小姐姐的强力推荐下报了个HTML5 Web前端开发培训班,两万大洋啊!心疼! 培训班将学习内容共分了三个阶段,换了三个老师,每个阶段一个…
开篇介绍 前些天自己在整理 SSIS 2012 资料的时候发现了一个功能设计上的疑似Bug,在 Script Task 中是可以给只读列表中的变量赋值.我记得以前在 2008 的版本中为了弄明白这个配置,还特意测试过这个细节,获取错误并理解了这个功能.但是现在回去再次测试 2008 的版本时,发现这个功能在 2008 中其实也是错误的,把我印象中的测试结果完全给推翻了,所以到现在已经搞不清楚我当时到底是如果得出这个错误的. 疑似功能 Bug 描述 在 SSIS 包中定义了用户自定义变量 - PV…
用真机调试程序的时候,eclipse 的 Console 总是出现如下的错误"Adb connection Error:远程主机强迫关闭了一个现有的连接". 问题出现的原因:这是 DDMS 调用 adb 引发的.经过一番搜索,发现这是 Windows 环境下,adb 的一个限制,也可以说是 bug.当手机上同时运行的进程数大于 64 时, 就会引发 adb 奔溃.更深层次的原因,就是 Windows API 的 WaitForMultipleObjects 所支持的最大句柄数是 MAX…
前言 testerhome: http://testerhome.com/topics/1480 对于一个差点脱离前沿技术人,想要学习ruby,就意味着要放弃熟悉的操作系统windows,熟悉的ide-eclipse,更重要的是要从java这种重量级编译型语言的编程思想强行转换为ruby这种轻量级解释执行语言编程思想.这个过程远比我想象的要难,总是抱着以前以java编程思想,通吃vb,C#的傲慢,虽然js还算可以,但js的编程思想与java也是很像的,经过这次打击让我意识到我掉队了.但仍有一部分…
回到start_kernel,559行,boot_cpu_init函数,跟start_kernel位于同一文件: 494static void __init boot_cpu_init(void) 495{ 496        int cpu = smp_processor_id(); 497        /* Mark the boot cpu "present", "online" etc for SMP and UP case */ 498        …
先看实际工作中遇到的两个bug:(1)iPhone Qzone有一个导航栏背景随着页面滑动而渐变的体验,当页面滑动到一定距离时,会改变导航栏上title文本的颜色,但是有一个莫名其妙的bug,如下:…
为什么看Python的代码,有时候会在数据结构的最后一项末尾加上逗号.直接来看,这个逗号很多余. 根据PEP81的解释: Trailing commas are usually optional, except they are mandatory when making a tuple of one element 这里说末尾逗号不是必填的,除非你写了一个只有一个元素的元祖. 所以这么多人写的代码风格都是多余的? 不是的.PEP8在上面一句的后来接着写道,末尾的代码可以帮助减少bug: 比如多…
class Solution { public: vector<vector<int>> threeSum(vector<int>& a) { vector<vector<int>> ans; sort(a.begin(),a.end()); int n = a.size(); //for(int k = 0; k < a.size() -2; k++) ; k < n -; k++) //问题在这里.a.size()是uns…
遇到一个crash,log如下: BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff81166504>] s_show+0xe4/0x330 PGD PUD 12666d8067 PMD Oops: [#] SMP last sysfs file: /sys/devices/pci0000:/:::::/expander-:/port-::/end_device-::/target0::/…