当前位置:网站首页>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
边栏推荐
- [diary of supplementary questions] [2022 Hangdian summer school 1] c-backpack
- Symbol type
- 中城院真的在帮助供应商解决问题吗?
- Force open web page
- summernote支持自定义视频上传功能
- 自定义log注解,请求抓取
- TP5 framework link promotion project
- Mysql database, grouping function
- SkyWalking分布式系统应用程序性能监控工具-上
- PMP preparation experience | good habits, good process, good results
猜你喜欢

Unity timeline tutorial

TP5 framework link promotion project

Analyze the space practice field required by maker education activities
[email protected] Principle of use"/>(6) Decorator extension [email protected] Principle of use

Essential skills for programmers -- breakpoint debugging (idea version)

记于2022.7.21

Attack and defense world web practice area (weak_auth, simple_php, xff_referer)

攻防世界WEB练习区(webshell、command_execution、simple_js)

UIE: 信息抽取的大一统模型
![[management / upgrade] * 02. View the upgrade path * FortiGate firewall](/img/c7/da6db46d372e7462cd14852b662d6d.png)
[management / upgrade] * 02. View the upgrade path * FortiGate firewall
随机推荐
Symbol type
Make life full of happiness
Description of relevant resolutions in video on demand
如何获取步态能量图gei
Attack and defense world web practice area (view_source, get_post, robots)
Soft test --- fundamentals of programming language (Part 1)
"Why should we do IVX?"—— Interview with IVX CEO Meng Zhiping to understand IVX corporate culture
Unity TimeLine使用教程
软考---程序设计语言基础(上)
Mysql database, sorting and single line processing functions
Super complete PMP reference document summary
Tutoriel sur l'utilisation de la ligne de temps unitaire
数据湖(十五):Spark与Iceberg整合写操作
C from zero
Live800: there is nothing trivial about customer service. Don't let service destroy the reputation of the enterprise
日常杂谈(一)
SSM家庭理财个人理财管理系统记账系统
Share an API Gateway project based on ABP and yarp
Data Lake (XV): spark and iceberg integrate write operations
[untitled]