当前位置:网站首页>The process of solving a bug at work
The process of solving a bug at work
2022-07-24 02:49:00 【A dark star】

problem : Use grpc Null pointer crash caused by null listener when calling interface returns
To solve the process : At first, I wanted to find out where to call grpc Interface passed in an empty callback , But there are too many interfaces , It's hard to find , No key information can be found from the log , Later, I want to replace grpc The underlying method , Add try catch, To this end, I also tried to use aspectjx, The experiment succeeded , But introduce aspectjx As a result, the package increases by nearly 4M, It's hard for me to accept , And the introduction of such a huge library is just to avoid the crash , Is not a good solution , Later, I gave up this plan , And I thought , Or find out where in the project null Well ( I went there for a while GitHub Upper grpc Source code issue I've seen it in the library , No one asked this question , So I think it's our own use , I also wondered if the listener object was recycled , Later, it was verified that , Also ruled out this possibility ), Finally, I had a whim , Go with regularity as Can I search ? Do as you say , I didn't find it at first , Later, I adjusted it several times , Finally, I found a code , Listener incoming null, It is an interface to update the location when the location changes , Then I hurried to experiment , Found no collapse ,what? Later, I kept testing , At last it's back bugly On the problem , That is, the request interface will crash again after the network is disconnected , Finally found , However, if you interrupt to see whether there is a network or not, you will go to the bottom of the process try catch in , But the test result is that a network crash will be catch live , Without the Internet, it will collapse , Ah , I don't understand the underlying logic
边栏推荐
- Data Lake (XV): spark and iceberg integrate write operations
- LeetCode-栈和队列刷题
- summernote支持自定义视频上传功能
- How to get gait energy map Gei
- Is it safe to open an account for Xiaobai stock? Can I apply online?
- 理解加载class到JVM的时机
- Mysql数据库,查询篇
- Live800: there is nothing trivial about customer service. Don't let service destroy the reputation of the enterprise
- Zone d'entraînement Web d'attaque et de défense (View source, get Post, robots)
- SSM家庭理财个人理财管理系统记账系统
猜你喜欢
![[datasets] - downloading some datasets of flyingthings3d optical flow](/img/00/5d87b378ebab49e9dc400d8e3634f3.png)
[datasets] - downloading some datasets of flyingthings3d optical flow

Discussion on sending redundant API requests for Spartacus UI transfer state of SAP e-commerce cloud

SSM family financial management personal financial management system accounting system

记于2022.7.21

Unity timeline tutorial

Soft test --- fundamentals of programming language (Part 1)

22 -- 二叉搜索树的范围和

Summernote rich text editor

redis数据类型概念

SSM的技术论坛含前后台
随机推荐
Nodejs builds cloud native microservice applications based on dapr, a quick start guide from 0 to 1
Some consulting questions and answers raised by friends who lack programming foundation and want to change careers in ABAP development post
TCP connection principle
TCP data transmission and performance
数据湖(十五):Spark与Iceberg整合写操作
Openresty Lua resty balancer dynamic load balancing
Symbol类型
22 -- 二叉搜索树的范围和
Mysql database, query
Reading notes: self cultivation of programmers - Chapter 3
22 -- range and of binary search tree
Open source quantum development framework cirq
Summernote supports custom video upload function
JpaRepository扩展接口
Causal learning open source project: from prediction to decision!
通用机环境下安全版单机数据库使用非root用户管理的解决方案
Super complete PMP reference document summary
(六)装饰器扩展之[email protected]使用原理
go log包
redis数据类型概念